Unreal Engine, creado por Epic, es uno de los motores de videojuegos más utilizado, desde pequeños juegos independientes hasta grandes superproducciones lo emplean e incluso en su versión 5 se ha comenzado a utilizar en otras producciones audiovisuales. Aunque cada vez está pensado para facilitar más el trabajo a los desarrolladores y cuenta con una buena cantidad de herramientas como Blueprints, programación visual basada en nodos que se suele utilizar para que departamentos como los diseñadores de juego puedan incluir directamente algunas interacciones o ítems en el juego, por ejemplo, pero no siempre se amolda a las necesidades de todos los estudios.
Los alumnos que cursan el máster en Programación del Centro Universitario de Tecnología y Arte Digital (U-tad) aprenden primero los fundamentos teóricos, incluida la implementación de entornos 2D y 3D en Unreal Engine 5 y después se dividen en grupos que se unen con otros alumnos de los másteres en Game Design y en Arte y Diseño Visual de Videojuegos para crear estudios con un mínimo de 15 personas que crearán un videojuego como si se tratase de un desarrollo comercial, es el llamado método U-tad.
Howl of Iron ve en Unreal una ayuda inestimable
Este año hay tres equipos que trabajan en el survival horror Maskerade: The Deadpan Cry(Spiky Duck) , la aventura de acción Howl of Iron(16 Gears) y el juego de puzles y terror Nox (The Buua Studio), tres proyectos muy diferentes en los que el proceso de desarrollo está siendo muy diferente para los programadores. En el caso de Howl of Iron, Unreal está siendo una ayuda inestimable. El protagonista es un hombre lobo mecánico que busca enemigos a los que atacar con rapidez saliendo del sigilo para desaparecer igual de veloz antes de que acudan más rivales. Marco Antonio Fernández García, programador de 16 Gears, explica: "gracias al plugin de Gameplay Ability System (GAS) que da Unreal, somos capaces de modularizar las acciones del hombre lobo, tanto nosotros como diseño", de forma que se puede aplicar la modificación de la vida al ataque o las ejecuciones sin repetir mucho código. El equipo está utilizando GAS y otras herramientas de Unreal para que los diseñadores puedan trabajar por su cuenta; por ejemplo, los disparos, los ataques físicos y las barras de vida se han hecho totalmente con blueprints, y, explica Guillermo Suárez Callejo, les están resultado muy útiles herramientas como Gameplay Debugger que "permite un sinfín de personalización y pestañas para facilitarnos el trabajo".
Uno de los prototipos iniciales de Howl of Iron.
El proceso de creación de juegos -que serán el TFM de los alumnos- en U-tad comienza definiendo los propios alumnos qué juego van a crear y estudiando sus características, en 16 Gears, informa el programador Pablo Bermejo Villarán, se dieron cuenta de lo importante que era la inteligencia artificial (IA) de los enemigos, por lo que "tuvimos una serie de reuniones al inicio para plantear una base sólida de la IA que nos ha permitido trabajar y añadir mecánicas nuevas de manera sencilla".
Un comportamiento de la IA natural pero desafiante
Howl of Iron tendrá varios tipos de enemigos, pero la base de todos es la misma, de manera que los programadores solo deben variar comportamientos. "Quizás lo más complejo es hacer que su comportamiento en equipo se sienta natural a la vez que desafiante", afirma el programador Marcos Romano, quien añade que están trabajando en el pulido para que la demo jugable que deben tener el octubre quede bien.
El departamento de programación de 16 Gears está siguiendo la planificación prevista. Los alumnos de cada proyecto deciden como organizarse, y en su caso han optado por el trabajo presencial. Antes de empezar una tarea, los programadores se reúnen para ir a tiro hecho y no perder el tiempo. El estudio asegura que está siendo conservador en la planificación del tiempo aunque prevé que irán un poco más apurados cuando llegue el desarrollo del nivel de la demo.
La inexperiencia ha llevado a realizar reajustes en la planificación
Para los programadores de Spiky Duck esta es su primera experiencia con Unreal Engine "por suerte, este juego no es excesivamente técnico, por lo que la exigencia hacia la programación nunca ha sido muy alta", dice Manuel Jesús Segura Peña. La falta de experiencia sí les ha llevado a tener que reajustar las estimaciones de trabajo, "lo bueno es que no hemos tenido que recortar en nada, siempre se ha trabajado en lo que se ha podido, y lo que no, simplemente se ha movido a más adelante", explica Segura, quien también afirma que Unreal permite que "con poco trabajo el juego tenga una calidad gráfica muy alta, lo cual es muy deseable para Maskerade. Además, su arquitectura nos empuja a crear código desacoplado y escalable, lo cual nos ha permitido implementar un sistema de interacción extremadamente flexible".
Maskerade cuenta la historia de Catalina, una joven que se ha visto obligada a trabajar como bailarina en un cabaré de fantasía de terror y debe encontrar la manera de zafarse de las garras de la madame que lo regenta. El jugador volverá a zonas en las que ya ha estado pero descubrirá áreas nuevas gracias a las habilidades nuevas que haya conseguido, el conocido como backtracking, pero esto no es un problema porque, afirma Segura, "tenemos un sistema de guardado robusto que lo tiene en cuenta y un sistema de streaming de niveles que funciona bidireccionalmente. Modificar esos sistemas para que acepten el backtracking ha sido trivial y no ha supuesto, hasta la fecha, mayor carga de trabajo".
Aunque las decisiones respecto a cada juego las toman sus creadores, U-tad cuenta con un equipo específico para los proyectos que incluye una productora académica y un director de proyectos. En Spiky Duck afirman que este último les ha ayudado "orientando siempre a la viabilidad y al buen gusto. Por otra parte, el tutor de programación nos ha ayudado desde el minuto 1 a tener una buena arquitectura que permita la flexibilidad que se requiere en un proyecto de naturaleza tan cambiante". Segura destaca la buena comunicación entre los programadores y los diseñadores que permite que estos diseñen teniendo en cuenta las advertencias de los primeros.
Unreal no está pensado para gravedades distintas a la real
En Nox el jugador encarna a Gabi, un adolescente (o una, ya que no tiene género establecido) que sufre parálisis del sueño y terrores nocturnos. Hay que sumergirse en sus sueños para descubrir y solucionar los traumas que se los provocan. Los programadores de este proyecto se han enfrentado a problemas diferentes debido a la naturaleza de su juego, en tercera persona y con puzles basados en ocasiones en la perspectiva. Unreal, dicen desde el departamento de programación de The Buua Studio, no está pensado para trabajar con gravedades diferentes a la real, "por lo tanto, muchas de las funcionalidades básicas que proporciona (generación de NavMeshes, componentes de movimiento…) no sirven a la hora de desarrollar Nox y por ello hemos tenido que desarrollar nuestras propias soluciones". Además -añaden- la documentación de Unreal "no es extensa en los apartados que más hemos estado usando (generación de NavMeshes, sistemas de portales, modificación en tiempo real de meshes…)". Las soluciones que han encontrado los alumnos del máster en Programación de U-tad les han permitido no tener que modificar la planificación prevista para el desarrollo del juego.
Los programadores de The Buua Studio explican que han implementado una funcionalidad "propia sobre el sistema base de movimiento de Unreal que le permite cambiar de plano de forma suave, de manera que ese plano se convierta en su nuevo suelo. Y para los enemigos hemos tenido que desarrollar herramientas que sustituyan la NavMesh básica de Unreal, ya que esta no puede ser calculada para los planos que no sean el suelo".
En el lado contrario a estas dificultad que ha supuesto Unreal, los puzles de perspectiva o aquellos en los que la gravedad de ciertos elementos cambia con la del jugador resultaron más fáciles de implementar de lo que el estudio había calculado.