Wars of Prasia, el MMO de Nexon desarrollado bajo el nombre clave Project: ER, representa un desafío técnico mayúsculo al integrar asedios de castillos con cientos de jugadores en tiempo real. Su motor, Unreal Engine 4, gestiona un ciclo día/noche dinámico mediante iluminación global, mientras que las herramientas Maya y Substance Suite definen un pipeline de assets pensado para la eficiencia tanto en PC como en dispositivos móviles.
Pipeline de assets y sistema de iluminación global dinámica 🎨
El equipo de Nexon utiliza Maya para la creación de modelos poligonales de alta calidad, que luego son procesados en Substance Painter y Substance Designer para generar texturas con mapas de normales y oclusión ambiental. Estos assets pasan por un proceso de optimización donde se reducen los LOD (niveles de detalle) y se implementa un sistema de streaming de texturas. La iluminación global dinámica, clave para el ciclo día/noche, se apoya en Lightmass para el horneado de luces estáticas y en Distance Field Shadows para sombras en tiempo real durante los asedios. Para el juego cruzado, se aplican escalados dinámicos de resolución y sombreado por vértices en móviles, mientras que PC mantiene reflejos en espacio de pantalla y post-procesado completo.
Gestión de rendimiento en asedios multijugador masivos ⚔️
El mayor reto técnico es mantener 30 FPS estables con cientos de jugadores en pantalla. Wars of Prasia recurre a la instanciación de mallas para muros y catapultas, occlusion culling mediante volúmenes precalculados y un sistema de priorización de personajes que reduce la frecuencia de actualización de animaciones para los avatares más lejanos. En móviles, se desactivan partículas y sombras dinámicas, y se usa un sombreador simplificado para el terreno, logrando así una experiencia unificada sin sacrificar la jugabilidad estratégica.
Que técnicas de optimización en Unreal Engine 4 implementó el equipo de Wars of Prasia para mantener un rendimiento estable durante los asedios masivos de hasta cien jugadores simultáneos, considerando además la sincronización requerida para el juego cruzado entre plataformas?
(PD: los shaders son como la mayonesa: si se cortan, empieza todo de nuevo)