Resumen General
Stitched Souls es un juego de plataformas 2D en el que el jugador controla a un peluche poseído cuyo objetivo es llegar hasta una niña.
- Motor: Godot 4.5
- Audio: música y efectos de Newgrounds y FreeSound.
- Herramientas: Krita y Audacity.
Objetivo del Diseño
La idea principal es un ritmo más pausado, para que el jugador tenga tiempo de observar el entorno, explorar y planificar.
- Salto cargado y movimiento lento: el peluche debe cargar el salto, lo que ralentiza un poco el gameplay ya que no se puede spamear como en juegos de plataformas clásicos.
- Modo alma con tiempo limitado: permite explorar con libertad durante un periodo corto, pero manteniendo el movimiento lento para aumentar la tensión y favorecer decisiones rápidas.
- Progresión guiada (A → B): el nivel suele llevar al jugador hacia el objetivo, con bloqueos suaves (cámara, enemigos o rutas cerradas) que redirigen la exploración en ciertos momentos.
- Exploración ligera: cada nivel incluye 3 coleccionables.
- Señalización: el juego guía mediante colores, efectos de sonido y gating.
Scope: por limitaciones de tiempo, el proyecto consta solo de 3 niveles cortos con un final cerrado y rápido.
Checkpoints: se incluyen para que el avance no resulte tedioso en caso de morir, aunque los niveles sean pequeños.
Gameplay
Peluche
- Movimiento básico con gravedad usando las teclas WASD
- Salto cargado manteniendo el espacio
- Cambiar al modo alma con la Q
Alma
- Movimiento libre sin gravedad
- Repeler espíritus con el Shift para abrir paso por el nivel
- Volver al peluche con la Q
El objetivo de alternar entre el peluche y el alma era que el jugador se defendiera de una forma distinta, pero también incentivar ligeramente la exploración del terreno y servir como método principal para recoger coleccionables a lo largo de los niveles.
Checkpoints
Se marcan con una lámpara. Al tocarla, se enciende para dar feedback de que se ha activadoy el jugador reaparece ahí en caso de morir.
Enemigos
Los enemigos son espíritus que se mueven sin una lógica compleja, pero siguen lentamente al jugador cuando lo perciben cerca y matan de un solo golpe.
- La herramienta principal para sobrevivir es el modo alma, que permite repelerlos y abrirse paso.
- Como no se pueden eliminar, el diseño busca que el jugador los evite y gestione el espacio con cuidado.
Diseño de niveles
Nivel 1
El jugador empieza junto a un sillón, donde fue olvidado por la niña.
- Introducción de las mecánicas básicas.
- Puzle sencillo para enseñar la interacción con el entorno, como apagar la tv, despertar al gato y desbloquear el camino.
- Primer checkpoint para familiarizar al jugador con el sistema de checkpoints.
- Coleccionables visibles para incentivar al jugador el uso del modo alma para recogerlos.
- Enemigos esparcidos o en sitios clave para hacer que el jugador se familiarice con la mecánica de repulsión.
Nivel 2
- Nivel de transición centrado en reforzar las mecánicas aprendidas previamente especialmente el salto cargado y la repulsión de enemigos.
- Introducción del gato como elemento sobre el que se puede andar.
Nivel 3
- Nivel final orientado a combinar el resto de cosas introducidas en los niveles previos.
- Se introduce una situación de backtracking planificada mediante una zona visible pero inaccesible al inicio.
- El jugador reutiliza el conocimiento adquirido en el Nivel 2 (usar al gato como plataforma) para resolver el último obstáculo con ayuda de los efectos de sonido.
- Mayor protagonismo de los enemigos en espacios reducidos para dificultar el avance por el nivel u obtención de coleccionables.
Cierre: al final, el jugador llega a la cama. La niña se despierta, abraza al peluche y dice “gracias, papá”, como parte de un sueño. (Nota: Esto último no fue introducido exactamente así debido al ajuste del scope final).
Estilo Visual
Se busca que los niveles transmitan la casa de una familia: cuadros de una pareja, fotos de una niña, de un bebé, del gato, etc.
- Estilo sencillo: outline negro, colores planos y un difuminado en objetos del fondo, para tratar de esconder un poco la baja calidad que tienen debido al scope.
- Integración de arte y diseño de nivel: objetos que tienen sentido dentro del escenario y, a la vez, sirven como plataformas o elementos de progreso en los niveles.
Problemas y Limitaciones
Por el poco tiempo disponible (programación, búsqueda de sonidos, efectos visuales, creación de assets y diseño), faltaron varios elementos de feedback y pulido:
- Sonido o señal clara cuando los enemigos detectan al jugador.
- Partículas o feedback visual durante la carga del salto.
- Zona de meta más evidente (para indicar claramente el final).
- Ajustes visuales como la iluminación o las cortinas finales del Nivel 3.
Además, los enemigos tienen una lógica muy simple y faltó desarrollarlos más para que tuvieran un impacto mayor en el diseño de niveles o para dar más variedad.
Problema con los assets: al ser mi primer juego, creé sprites demasiado grandes y los reescalé desde el editor, lo que complicó el pipeline. Más adelante tuve que reajustar cada sprite manualmente a una escala menor y adaptar el lienzo, con los niveles ya montados.
Aprendizajes
- Mejoré en programación con GDScript, ya que empecé con poca experiencia.
- Tener más en cuenta la resolución de los assets y el tamaño de la interfaz.
- Aprendí a definir mejor el scope y recortar ideas a tiempo.
- Me ayudó a entender el flujo general de Godot (venía de Unreal Engine y de programación con Blueprints y POO en Java).