Los proyectos que desarrollan los alumnos de los másteres en videojuegos del Centro Universitario Digital U-tad utilizan el motor Unreal -desarrollado por Epic- versátil y potente, aunque más complicado de aprender que otros motores y el más utilizado en los juegos AAA, desde Final Fantasy VII Remake a Ace Combat o Days Gone. Unreal une la programación en C++ con Blueprints, un sistema de programación visual que utiliza nodos para definir acciones, por lo que no hay que escribir código, y que se suele utilizar para que los propios artistas o los diseñadores puedan trabajar directamente en el motor.
Objetivo: mejorar las habilidades en C++
Con estas herramientas han lidiado los programadores de Banana Crunch, creadores de Shards of Hope y An Otter Studio, autores de Naamu: The Lost Essence para elegir las mejores opciones acorde con cada juego. En el caso de Banana Crunch, el equipo decidió evitar Blueprint "en la medida de los posible, ya que nuestro objetivo ha sido mejorar nuestras habilidades de programación en C++", afirma el programador Antonio Hervás. Así, añade, "los sistemas se han desarrollado en código, pero orientados a Blueprints para que los diseñadores fuesen lo más libres posible a la hora de trabajar con ellos. Aun así, en alguna ocasión no nos ha quedado más remedio que utilizarlos. Son bastante sencillos de manejar, pero difícilmente escalables". Otro miembro del equipo, Andrés Molina, apunta que inicialmente les costó un poco acostumbrarse a pensar que su trabajo "tenía que ser completado por el equipo de diseño mediante Blueprints".
En los tres másteres en Programación de Videojuegos, Arte y Diseño Visual de Videojuegos y en Game Design de U-tad los alumnos reciben formación teórica hasta finales de enero y la compaginan con la creación de un videojuego de la manera más parecida a un desarrollo real; los alumnos crean grupos multidisciplinares que eligen qué tipo de proyecto quieren construir. Para conseguir el mejor juego posible en los diez meses que tienen los equipos para desarrollar el que es su TFM, los programadores de Banana Crunch establecieron los distintos apartados (personajes, navegación, IA…), y en cada uno de ellos trabajó uno o dos personas "aunque realmente todos hemos tocado un poco de cada palo porque siempre nos hemos estado ayudando unos a otros", afirma Hervás.
Kyr, ha sido uno de los retos más importante para los programadores del estudio. Kyr es hijo de la diosa del sueño y su misión es liberar a los niños de sus peores pesadillas. Banana Crunch quería que la navegación de Kyr fuese "lo más precisa posible y que, además, no fuese dependiente del framerate de la máquina, para que así un dash o el movimiento de un golpe hiciesen que Kyr siempre recorriera el mismo espacio", explica Molina.
Un sistema de bullet hell versátil
Aparte de haber resuelto esas complicaciones, el equipo está especialmente orgulloso, dice el programador Héctor Domínguez, del sistema de bullet hell (lluvia de balas) "que hemos armado desde cero y ha acabado siendo muy versátil. De hecho, muchas de sus funcionalidades ni siquiera han llegado a utilizarse en el juego por limitaciones de tiempo pero ¿quién sabe?, puede que en próximas ediciones sí aparezcan haciendo que las pesadillas que atormentan a nuestros jugadores sean aún más duras de pelar", apuntando a una posible continuación del juego.
Otra de las características previstas en Shards of Hope es que el protagonista es capaz de cambiar de armas rápido en cualquier momento, incluso durante un combo. Si bien para el juego en general el solucionador de físicas de Unreal provocó al equipo algunos dolores de cabeza, en este cambio de armas el motor jugó a su favor con el sistema de animaciones. Según informa el programador Gio Aguado: "Como el combate visualmente depende de las animaciones y es en lo que se va a fijar el jugador, nos basamos en crear ventanas de actuación a lo largo de la animación en las que se permite que el jugador cambie de arma, salte, haga un dash, etc. La única parte más intrincada es que hay que considerar que, si una animación encadena otra, estas ventanas pueden fallar si no se han medido bien los frames en los que funcionan. Si una animación se mezcla mal con la siguiente, puede generar resultados inimaginables. Darse cuenta de esto fue más complicado de lo que pueda parecer".
Satisfechos con los resultados
Algunos de los miembros de An Otter Studio conocían ya el motor Unreal, y el resto ha seguido la curva de aprendizaje y adaptación, de forma que el equipo de programación ha obtenido "resultados con los que estamos satisfechos para el proyecto, coordinándonos con diseñadores y artistas", afirma el programador Tai Nuño.
Otro miembro del equipo de programadores, Imanol Gómez, explica que se asignaron las funciones según los intereses de cada uno. Al igual que Banana Crunch, el estudio se propuso no utilizar BluePrints en la medida de lo posible e implementar todo desde código con la intención de "obtener más eficiencia y control sobre la ejecución del programa. De esta forma conseguimos más conocimiento que nos será de ayuda en proyectos futuros", dice Gómez.
En Naamu: The Lost Essence el combate es rápido y el reto ha sido encontrar la sensación que el equipo deseaba. El programador Asier Tamayo informa de que al principio no estaba asentada la idea de cómo lo querían aunque sí tenían claro "que necesitaríamos un sistema de combos que fuese suficientemente ágil y dinámico". Todos los sistemas referentes al combate se diseñaron de forma que todos los personajes que intervienen en él, tanto la protagonista, Naamu, que intenta salvar el bosque de la corrupción que lo ha invadido, como los enemigos pueden usarlos.
Los estudios creados por alumnos de los másteres, como el resto de alumnos de U-tad, se adaptaron rápido a las nuevas condiciones impuestas por la pandemia. ya que la universidad proveyó de los medios necesarios para comunicarse y con el sistema de control de versiones que usaron el equipo.
Nuño, del equipo de Naamu: The Lost Essence, afirma que en su trabajo ha sido realizar las tareas de forma telemática y, concluye, "de forma incidente ahorramos bastante tiempo de desplazamiento y tareas del día a día que no debíamos realizar desde telemático". En el caso de Shards of Hope y según indica el programador Nacho Martínez, "hemos estado muy unidos desde el principio y no hemos dejado que se nos caiga nadie del equipo", quien también bromea diciendo que el confinamiento "es poco más que el estilo de vida habitual de los programadores".