Hola, somos Caspar Michel, productor, y Marco Unger, artista principal de efectos visuales/entorno 3D de ROCKFISH Games. Formamos parte de un pequeño equipo con sede en Hamburgo, Alemania, dedicado a la creación de juegos de acción ambientados en el espacio con nuestra serie EVERSPACE. Nuestro título más reciente, EVERSPACE 2, se lanzó para PC en abril de 2023 y para Xbox y PlayStation en agosto de 2023. Más recientemente, nuestra actualización Incursions del 29 de abril de 2024 incluía ya la migración de EVERSPACE 2 de Unreal Engine 4 a Unreal Engine 5.3. Estamos aquí para compartir algunas de las ventajas y de los desafíos encontrados durante el proceso de migración que hemos llevado a cabo en ROCKFISH.
Nuestro objetivo al migrar EVERSPACE 2 de una versión básica de UE4 a UE 5.3 era garantizar la sostenibilidad del juego a largo plazo, así como poder realizar un desarrollo continuo y fluido para futuras expansiones de contenido. Se trataba de una actualización estratégica para evitar interrupciones durante las siguientes fases de desarrollo y actualizaciones: pensamos que el trabajo realizado ahora nos ahorraría posibles dolores de cabeza en el futuro.
La mezcla de luz estelar ambiental y de varias fuentes de luz en Prescott Station ofrece una excelente oportunidad para que Lumen (imagen de la derecha) se muestre en todo su esplendor.
Solemos usar las tecnologías más recientes y actualizar el motor regularmente durante el desarrollo, dependiendo en gran medida de las extensiones de plataforma, algunas de las cuales ya no funcionarían correctamente con un SDK obsoleto. Si no tuviéramos planes de continuar con el desarrollo de EVERSPACE 2, probablemente podríamos habernos quedado en UE4, pero dado que nuestra voluntad es ir creando contenido de expansión, encontrar soluciones para las herramientas obsoletas habría supuesto una importante pérdida de tiempo.
Activación de Lumen
EVERSPACE 2 está considerado por muchos como uno de los títulos ambientados en el espacio más atractivos del mercado actual. Estamos especialmente orgullosos de la iluminación del juego, que utiliza una combinación de solución GI precalculada e iluminación global del espacio de la pantalla (SSGI) para todo tipo de zonas repartidas por varios sistemas solares del juego. Sin embargo, los mapas de luz muy detallados tardan varios días en calcularse, incluso con el potentísimo hardware de nuestro estudio.
La iluminación global indirecta de Lumen (imagen de la derecha) consiste en simular la luz que rebota en las superficies (normalmente un cálculo muy costoso) para crear un detalle de sombras más realista (o de mayor fidelidad), dotando de más carácter a una escena o zona.
La implementación de Lumen fue tan sencilla como cambiar una variable en nuestra configuración (*.ini) a "True". La característica funcionó desde el primer momento, ¡una rareza en el desarrollo de juegos! Aunque al principio éramos escépticos en cuanto a la implementación del sistema de reflejos e iluminación global dinámica, enseguida vimos cómo Lumen tomaba imágenes ya de por sí impresionantes y las mejoraba hasta extremos que nunca antes habían sido posibles con mapas de luz de iluminación global baked.
Los huesos de esta arcaica criatura parecen aún más desgastados con Lumen activado (imagen de la derecha).
Aunque la implementación de Lumen requirió solo unos pocos clics, hicimos ajustes adicionales en el archivo INI para aumentar el radio de selección de escenas de trazado de rayos a fin de adaptarlo a nuestros entornos de gran envergadura, además de permitir el uso de la oclusión ambiental del espacio en pantalla (SSAO) en combinación con Lumen. Se trató más bien de una elección artística y, aunque no fuera especialmente realista, añadió mucha profundidad a lo que se ve en pantalla.
El resultado final con Lumen activado es espectacular, especialmente en situaciones de iluminación de alto contraste en las que la luz de las estrellas se refleja en la intrincada geometría de las estaciones espaciales, las estructuras antiguas y las plataformas mineras.
Las sombras con Lumen activado (imagen de la derecha) añaden aún más detalles a esta ajetreada colonia minera.
Sin embargo, no se trató simplemente de activar Lumen. Junto con la migración, surgieron algunos problemas relacionados con los sistemas de partículas de Niagara, que recibieron algunos cambios significativos. Algunos módulos quedaron obsoletos, mientras que otros se fusionaron, lo que generó errores cuando el editor intentó convertir/actualizar automáticamente los sistemas existentes. Con la eliminación del desplazamiento de material, también tuvimos que rediseñar gran parte de los efectos visuales, una tarea nada sencilla para un juego repleto de vistosos láseres y coloridas explosiones. Sin embargo, creemos que a largo plazo todo este esfuerzo habrá valido la pena y nos permitirá estar a la altura de los próximos lanzamientos.
Desafíos, errores y obstáculos
En total, nuestros programadores dedicaron varios cientos de horas a la migración inicial, incluyendo desarrollo, reuniones, resolución de problemas y la corrección de numerosos errores generados por la migración.
Si bien teníamos experiencia en la migración entre versiones principales en Unreal Engine 4, al migrar a Unreal Engine 5.3 nos encontramos con varios problemas iniciales. Desde el principio, nos enfrentamos a la presencia de numerosos errores e incompatibilidades del sistema. Entre ellos, sombreadores, materiales, escenas, efectos visuales, partículas, física y texturas estiradas rotos, elementos de la interfaz de usuario parpadeantes y rotos y rayos láser cortados. Aunque no se trata de una lista exhaustiva de los problemas hallados, permite hacerse una idea del tipo de errores y contratiempos registrados por nuestro equipo de control de calidad y nuestros testers externos.
Poco después de habernos embarcado en el proyecto de migración a Unreal Engine 5, publicamos una breve entrada de blog en la que detallamos algunos de los errores visuales surgidos a fin de anunciar a nuestra comunidad que el proyecto estaba en marcha y mostrar el proceso de desarrollo de videojuegos de una forma divertida.
Aunque muchas localizaciones ya tienen un aspecto fantástico, la iluminación de Lumen (imagen de la derecha) ayuda a resaltar el carácter de cada asteroide para dar más textura visual a las superficies rugosas.
Uno de los errores iniciales que detectamos nada más empezar a trabajar con UE5 fue el brillo de las juntas de las naves, que se explicaba por la asociación errónea de algunos sombreadores de materiales. Nuestra comunidad comenzó a pedir de inmediato el estilo "Tron" para las naves de los jugadores, algo que hemos recreado desde entonces en el DLC cosmético especial del paquete de colaborador.
Comenzamos la migración del motor el 28 de noviembre de 2023 y lo hemos ido optimizando continuamente a lo largo del proyecto. El mayor problema al que tuvimos que enfrentarnos fue una pérdida de rendimiento generalizada que afectó especialmente a PlayStation 5 y Xbox Series X y S. En algunos niveles, la PlayStation 5 y la Xbox Series X bajaban de los 60 fps estables a menos de 30 fps. Este hecho no tenía una única causa, sino que era fruto de la acumulación de varios problemas pequeños. Estos problemas de rendimiento se han resuelto en gran medida mediante la eliminación de naves PNJ de fondo innecesarias en las zonas problemáticas, la nativización de blueprints y la optimización de las tasas de tic de los actores/componentes.
La iluminación dinámica de Lumen (imagen de la derecha) mejora enormemente el aspecto visual de las plataformas del espacio exterior, como las estaciones espaciales.
Características y ventajas
Además de Lumen, el paso a Unreal Engine 5 nos ha permitido implementar características de juego que pueden activarse y desactivarse, como la reducción de latencia y la generación de fotogramas de NVIDIA Reflex, el ampliador de escala Intel XeSS y el ampliador de escala AMD FSR 3.0 con interpolación de fotogramas para los jugadores de PC con GPU de gama alta. Como no todos nuestros jugadores disponen del hardware necesario para disfrutar de estas características, hemos añadido botones para cada una de ellas.
Ahora, el mantenimiento de EVERSPACE 2 y el desarrollo de futuros contenidos deberían resultar considerablemente más fluidos que antes de llevar a cabo la migración. A medida que vamos adoptando las herramientas actuales, Unreal también está en mejores condiciones de satisfacer nuestras necesidades de desarrollo. Ahora mismo, ya podemos ver cómo las nuevas herramientas y características de Unreal Engine 5, como las mejoras continuas en el analizador de perfiles de Unreal Insights, acelerarán el trabajo en la próxima expansión.
Lumen (imagen de la derecha) ayuda a hacer que las superficies naturales parezcan menos desvaídas a la luz del día.
Consejos para otros desarrolladores
Migrar de un motor a otro es una tarea que puede resultar abrumadora, especialmente para un proyecto que ya ha alcanzado la versión 1.0, y no debe tomarse a la ligera. Sin embargo, para un juego como el nuestro, que tiene por delante una larga vida útil de contenido compatible, creemos que el esfuerzo vale la pena.
Descubrimos que Lumen es una característica que merece la pena implementar en EVERSPACE 2 y que dicha implementación es mucho más sencilla de lo que pudiera parecer. Como ya hemos mencionado, en UE4 utilizamos una combinación de iluminación baked y SSGI, lo que significa que creamos el contenido de una forma específica para admitir la iluminación precalculada con mapas de luz UV en cada objeto. Pero, dado que Lumen es un sistema de iluminación dinámica, funciona bien con el contenido creado previamente mediante una solución de iluminación distinta. A Lumen no le importa si el objeto se creó con iluminación dinámica o preconsolidada, por lo que tuvimos que hacer muy pocos ajustes en los contenidos migrados a UE5.
Aunque nuestra comunidad está entusiasmada con el concepto de migración, somos muy conscientes de las preocupaciones expresadas por los jugadores en relación con los problemas de rendimiento. La realización de comprobaciones de rendimiento automatizadas antes de la migración y en los momentos clave de la misma proporcionará un punto de referencia e indicadores de oportunidades de optimización. Este fue un descuido que corregimos al poco de haber iniciado el proyecto; asimismo, tuvimos que dedicar bastante tiempo a desarrollar metodologías de prueba, añadir características de apoyo al juego y aprender a trabajar con los datos obtenidos. La rápida búsqueda y resolución de los problemas relacionados con el rendimiento nos permitió abordar numerosos factores que podían afectar a la experiencia de los jugadores.
El tiempo es siempre un factor clave. Siempre surgen más problemas de los esperados, pero pese al número de errores generados, la mayoría de ellos eran menores y resultaron sencillos de solucionar. Revelar información sobre el proceso de desarrollo y ser transparente con la comunidad sobre el proyecto que se está llevando a cabo favorece que los fans reconozcan el trabajo realizado.
Por último, la migración ha llamado poderosamente la atención sobre la actualización de juegos vinculada a Unreal Engine 5. Tanto la prensa como nuestros socios han demostrado un gran interés en las capacidades del motor y las características que aporta. Como estudio independiente, la visibilidad es crucial, por lo que esto es una sorprendente recompensa a nuestros esfuerzos.
Los entornos industriales, con numerosas fuentes de iluminación y varios tipos de superficies duras, destacan más que nunca gracias a la activación de Lumen (imagen de la derecha).
Conclusión
A corto plazo, la migración a UE5 ha abierto oportunidades para añadir nuevas características y reexaminar los procesos, a la vez que se implementan nuevas características como Lumen y se activan complementos para los ampliadores de escala más recientes. E, igual de importante, ha dado al equipo la oportunidad de conocer UE5 y sus características como ventaja para los próximos proyectos. A largo plazo, esperamos que el desarrollo de los futuros contenidos de EVERSPACE 2 sea mucho más fluido que antes de iniciar este proyecto.
Aunque nos quedan por resolver algunos pequeños escollos relacionados con la optimización, creemos que la implementación de Lumen y la migración a Unreal Engine 5 deberían ser un éxito para el equipo y para EVERSPACE 2.
¡Hazte ya con Unreal Engine!
Consigue la herramienta de creación más abierta y avanzada del mundo.
Unreal Engine incluye todas las funciones y acceso ilimitado al código fuente, ¡listo para usar!
Recibe los últimos recursos gratuitos y actualizaciones sobre las novedades de