Post-mortem del jam


Hace unos días finalicé mi participación en el Jam Jam Talentum Online. Mi juego, Mythos, es un juego de plataformas y puzzle, que tiene la particularidad de jugarse en 4 instancias del juego a la vez (es decir, el juego debe ejecutarse 4 veces al empezar a jugar). Poco después de finalizar (unas cuantas horas después), escribí este post-mortem contando un poco cómo fue el proceso de desarrollo del juego. Lo he publicado hasta ahora porque quería evitar que los jurados del concurso lo leyeran y de alguna forma sesgaran sus decisiones (sobre todo, en un sentido negativo :P).

El tema del jam fue "Norte, Sur, Este, Oeste". Me pareció una temática bastante peculiar, y me costó algo de trabajo decidir qué tipo de juego hacer. Mis ideas originalmente giraron alrededor de conceptos como "brújula", "navegación", "perderse y encontrar", "barcos" y "países". Después, sin embargo, empecé a pensar en mitología, primero en los cuatro vientos (el viento del Norte, el viento del Sur, etc.) y luego en los distintos panteones que existen, esta última idea reforzada por un webcomic del que soy seguidor, y en el que aparecen panteones de dioses divididos por punto cardinal.

Al final, decidí que haría un juego con 4 personajes principales, cada uno de ellos una deidad de un panteón. Investigué un rato y finalmente me decanté por la mitología nórdica (norte), la griega (sur), la china (este) y la de América precolombina (oeste), eligiendo a un personaje representativo de cada una.

En cuanto a las mecánicas del juego, finalmente me decanté por hacer un juego de plataformas-puzzle. Sin embargo, esta vez quise intentar algo diferente. Aprovechando que hace poco conocí el fantástico HopSlide, en el cual deben jugarse dos juegos distintos a la vez, decidí que los 4 personajes se tendrían que jugar simultáneamente, cada uno en una instancia independiente del juego, y la ventana de cada personaje estaría ubicada en el sector correspondiente de la pantalla (el norte arriba, el sur abajo, etc.). Mi idea original era que parte del puzzle fuese descubrir que era necesario ejecutar el juego varias veces simultáneamente para jugar a la vez con todos los personajes, pero finalmente decidí dar "pistas" claras al jugador de que debía hacerlo, ya que no quería correr el riesgo de que los jurados del jam no entendieran el juego.

La cronología del desarrollo fue, más o menos, la siguiente:

6 de octubre

  • Decidí empezar por dominar la habilidad de establecer el tamaño y la ubicación de la ventana del juego, ya que si no lo lograba, podría readaptar el juego sin haberlo empezado. Empecé haciendo pruebas en Unity. Unity no tiene soporte nativo para ese efecto, por lo que debía utilizar una librería de la API de Windows para conseguirlo. Tras un rato, sin embargo, empecé a perder la paciencia porque tenía que compilar el juego para Windows cada vez que quería probar.
  • Tras un rato de no lograr nada útil con Unity, pensé que era un buen momento de probar Defold. Defold es un framework de desarrollo de videojuegos 2D que está tomando cierta fuerza, y que me llamó la atención desde hace tiempo. Buscando un poco, encontré que había una librería gratuita llamada DefOS, que producía el efecto que estaba buscando. Descargué Defold (teniendo, por cierto, problemas extraños con la web al abrirla en Chrome), hice pruebas un rato y finalmente logré obtener un efecto decente (aunque noté que DefOS al parecer tiene algunos errores).
  • Empecé a hacer un tutorial básico oficial de Defold, consistente en un infinite runner. A medida que avanzaba, sin embargo, me di cuenta de que extrañaba fuertemente la potencia de C# y sus ventajas como lenguaje tipado, y de que el workflow de Defold no se me hacía, en principio, tan ventajoso como imaginé. Aunque todavía quisiera darle un chance a la herramienta, decidí probar en Unity de nuevo.
  • No me tardé demasiado en hacer funcionar las ventanas ajustables en Unity. Era cuestión de tener un poco de cuidado. Con esto funcionando, me di luz verde para empezar el juego.
  • Empecé a crear el arte. Primero intenté arte vectorial, pero ante mi incompetencia decidí probar pixel art, y me fue un poco mejor.

7 de octubre

  • Seguí creando el arte. Terminé los personajes del norte y el sur y sus animaciones, y la brújula.
  • Primer problema a futuro: ajustar bien la resolución y el tamaño de las ventanas (que no quede muy pequeña la resolución en pantallas muy grandes, o al revés).
  • Hice las primeras pruebas de ejecución de varios escenarios a la vez (norte y oeste). Tras lidiar un buen rato con la comunicación entre procesos por medio de archivos, lo logro. Era necesario, sin embargo, optimizar para que esto se hiciera cada cierto tiempo y no de manera permanente.
  • Añadí un efecto de nieve al escenario del norte.

8 de octubre

  • Concluí que no iba a alcanzar jamás a hacer todo el arte del juego, así que empecé a adaptar arte en dominio público de Kenney a la paleta de colores del juego.
  • Creé plataformas con tiling que se ajustaba automáticamente su tamaño. Salió bastante bien, y por fin dominé el tema en Unity.

9 (y 10) de octubre

  • El lunes tenía que ir a trabajar todo el día, así que empecé de noche y pasé de largo hasta la madrugada del martes (el jam terminaba a las 5:00 a.m. hora local). En este sprint final, me dediqué a diseñar el nivel de juego (que debía hacerse en simultáneo para los 4 personajes) y a corregir errores que aparecían por ahí, especialmente relacionados con la sincronización entre las 4 partidas simultáneas.

Qué salió bien

  • En general, el juego se juega bien. Creo que el movimiento de los personajes se siente bien.
  • Me gustan los personajes que creé. Obviamente hay espacio amplio para mejorar, pero creo que el trabajo gráfico estuvo decente, y hay coherencia visual en los personajes y sus escenarios. Aunque incompleto, el arte en general quedó decente. La paleta de colores que elegí para el juego produjo un resultado agradable y funcional.
  • Creo que utilicé el tema del concurso de una forma interesante y no tan obvia.
  • El tener que jugar con cada personaje en una ventana resultó en algo interesante. La sensación de desacople y aislamiento entre los personajes (porque cada uno está en un confín distinto de la Tierra) se siente mucho más de ese modo.

Qué pudo mejorar

  • Como suele suceder en estos eventos, el tiempo jugó en mi contra, pero esta vez tuve un obstáculo mayor al intentar algo poco convencional. Desafortunadamente, la sincronización de partidas me tomó mucho tiempo tanto inicialmente como en corrección de errores posteriores de concurrencia. Eso hizo que el juego quedara incompleto en varios frentes, especialmente en la jugabilidad -Atena no tiene habilidad especial, lo cual es funesto- y el diseño del mapa -el mapa no me parece desafiante intelectualmente sino más bien es un escenario de plataformas glorificado-.
  • No tuve tiempo de implementar audio.

En general, la experiencia fue interesante, y estuve motivado por el jam. Me gustaría poder sacar algo de tiempo más adelante para pulir el juego y dejarlo bien cerrado.

Get Mythos

Leave a comment

Log in with your itch.io account to leave a comment.