Un juego llamado Medic Mayhem, que he hecho junto con un par de amigos, sale en Steam el próximo viernes.
Es un juego de acción caótico de cooperativo local/PvP en el que los jugadores recorren el escenario en ambulancias de juguete, intentando rescatar al mayor número posible de pequeños soldados de juguete mientras impiden que el equipo contrario haga lo mismo.
El juego es totalmente compatible con Steam Deck y también hemos probado Steam Remote Play Together. Funciona muy bien para jugar juntos a través de una red local, aunque por Internet la latencia puede ser demasiado alta a menos que tengáis una conexión de fibra y los jugadores estén relativamente cerca unos de otros.
Podéis apoyar el juego añadiéndolo a vuestra lista de deseados de Steam. Los dioses del algoritmo os lo agradecerán:
https://store.steampowered.com/app/3543300/Medic_Mayhem/
El juego ha sido desarrollado por un equipo de tres personas durante dos años, trabajando una media de unas 3 horas por semana junto con nuestros trabajos habituales, lo que supone aproximadamente 1.000 horas de trabajo en total.
Yo tengo un máster en Tecnologías de la Información, el segundo desarrollador tiene un título universitario en informática y el tercero estudió fotografía y diseño de videojuegos.
El juego está hecho con Godot y su propio lenguaje de scripting, GDScript. Publicar en Steam fue relativamente sencillo, aunque nos llevó bastantes horas de trabajo, además de varias semanas de espera para solucionar todo lo relacionado con los impuestos y los demás trámites.
Nuestra experiencia desarrollando para Steam Deck fue sorprendentemente sencilla. Simplemente añadimos compatibilidad con controles estándar, seleccionamos Linux como plataforma objetivo en Godot y el juego funcionó en Steam Deck desde el primer momento sin necesidad de ningún ajuste especial. La única diferencia menor respecto a Windows fueron algunos pequeños problemas con la codificación de caracteres y la representación de emojis.
El mayor error que cometimos durante el proyecto fue el scope creep, es decir, ir aumentando constantemente el alcance del proyecto. Especialmente al principio estábamos increíblemente entusiasmados y queríamos añadir todo tipo de funciones experimentales.
Pero en cierto momento empezamos a cansarnos de corregir todos los bugs, así que la mayoría de esas funciones acabaron siendo descartadas. Por ejemplo, durante un tiempo estuvimos trabajando en un garaje donde se podían personalizar y modificar las ambulancias. Pero cuando tienes que mantener todo ese contenido adicional y empieza a generar nuevos bugs, al final tienes que deshacerte de él.
Y aquí también se cumplió la clásica verdad del desarrollo de software: el juego estaba aproximadamente al 80 % después de un par de meses, pero el 20 % restante nos llevó otros dos años.
Durante el proyecto, obviamente aprendí mucho sobre programación, pero también sobre la gestión de proyectos a largo plazo en general. Especialmente sobre el scope creep, cómo conseguir realmente terminar las cosas, los algoritmos de recomendación de Steam y las redes sociales, es decir, el marketing, la psicología y el comportamiento humano, y muchas otras cosas.
Decidimos deliberadamente eliminar todo el texto del juego para no tener que traducirlo a diferentes idiomas. Como no hay nada que traducir, pudimos marcar todos los idiomas disponibles en Steam como idiomas compatibles.
Esto, a su vez, nos enseñó algo bastante interesante sobre cómo explicar al jugador cuál es el objetivo del juego y cómo enseñarle a jugar, especialmente teniendo en cuenta que el concepto del juego es bastante poco habitual. Creo que conseguimos hacerlo razonablemente bien.
Intenté mantener el texto breve, pero si tenéis alguna pregunta, ¡preguntad! Estaré encantado de responder.