Dentro de Killzone: Shadow Fall
Digital Foundry analiza el post-mortem del estreno de Guerrilla en PlayStation 4.
Guerrilla Games ha publicado su propio post-mortem de la demo de Killzone: Shadow Fall mostrada durante el PlayStation Meeting, un documento que ofrece información sobre la potencia de PlayStation 4 y el funcionamiento del nuevo hardware. En él se incluyen un montón de estadísticas, entre ellos el hecho de que la demo utilizaba 4.6GB de memoria, 3GB de las cuales se reservaban únicamente para los gráficos.
La charla empieza con unos pocos datos básicos, como que Killzone: Shadow Fall es un título de lanzamiento de PlayStation 4 y que el objetivo - para el anuncio de la demo, al menos - son treinta frames por segundo "sólidos" a la resolución nativa de 1080p. El estudio también desvela que este es sólo uno de los dos proyectos en los que está trabajando, describiendo el otro como "una IP todavía por anunciar".
Lo que viene después es un desglose de casi todas las facetas técnicas de la demo, pero lo que nos llamó más la atención fue el generoso uso de la memoria GDDR5 de PlayStation 4 - 3GB de RAM se reservan para componentes gráficos, incluyendo la geometría de las mallas. Guerrilla también desvela que usa la técnica de post-proceso FXAA de Nvidia como solución de anti-aliasing, así que las 3GB no están infladas artificialmente por una técnica AA como podría ser el multi-sampling. Se menciona que "todavía" no hay MSAA, pero Guerrilla habla específicamente de estar trabajanado con el Advanced Technology Group (ATG) de Sony en una nueva forma de anti-aliasing, llamada "TMAA".
Teniendo en cuenta que esto es sólo la demo de un título de lanzamiento y primera generación, 3GB es una cantidad enorme de memoria para generar una imagen 1080p, y como ya nos advirtieron hace poco varios desarrolladores la falta de video RAM podría ser un problema clave para el PC durante la transición a la nueva era de consolas.
Guerrilla también describe su filosofía para el uso de la CPU de ocho núcleos de PlayStation, una vez más corroborando la opinión de otros desarrolladores sobre cómo sacar el mejor rendimiento posible a la solución de AMD. Guerrilla ha evolucionado el modelo que desarrolló para PlayStation 3 - en el usaba una hilo como "organizador" (esto sería la PPU en PS3), planificando las tareas que luego se paralelizan en cada núcleo. Está es la técnica "basada en tareas" que ya se ha usado en muchos títulos de la actual generación para sacar el máximo a los seis hilos de Xbox 360 o las seis SPUs disponibles en PS3. Al ser más "amplia" con varios núcleos, Guerrilla sube el listón: en PS3 el 80% del código de renderizado se hacía por "tareas", el 10% de la lógica del juego y el 20% del código de la IA. En PS4 esas cifras aumentan al 90%, 80% y 80%, respectivamente.
Resulta interesante que la presentación de Guerrilla diga de forma explícita que se usan "todos" los núcleos, pero que en las capturas de las herramientas de análisis - desarrolladas por el propio equipo debido a que el software de Sony no estaba terminado - sólo se identifiquen explícitamente cinco hilos de tareas. Ahora mismo no tenemos ni idea de cuanta CPU consume el nuevo sistema operativo de PS4 ni cuanto deja libre para los desarrolladores, así que asumimos que es un aspecto que aún está en el aire. Sin embargo, la herramienta de análisis muestra que ahora hay efectivamente cinco hilos de tareas más el "organizador", y cada uno de ellos está ligado a un único núcleo. Lo que extraemos de ello es que aunque la reserva del SO no esté decidida del todo los desarrolladores tiene acceso por lo menos a seis de los ocho núcleos de PS4.
En términos de optimización real, la "contención de hilos" - el proceso en el que un hilo de la CPU se mantiene suspendido hasta obtener los resultados de otro - demostró ser un problema para Guerrilla. En vez de hacerlo a bajo nivel y trabajar directamente con la CPU, la desarrolladora apunta a que las optimizaciones a alto nivel son la clave para obtener el mejor rendimiento.
En la parte gráfica es donde se aprecian mejor las mejoras hechas por Guerrilla respecto a Killzone 3. En los personajes ingame el juego de PS3 usaba tres modelos con diferente LOD (con más polígonos cuanto más cerca estás de ellos), con hasta 10.000 polígonos y texturas de 1024x1024. Las cosas cambian significativamente en PlayStation 4, con siete modelos LOD y un máximo de 40.000 polígonos y hasta seis texturas de 2048x2048.
La pasada de geometría consume más tiempo de proceso en la GPU que cualquier otro sistema, pero Guerrilla admite abiertamente que el detalle extra ofrece "una mejora incremental de calidad" respecto a Killzone 3, el cual proviene de la variedad de recursos utilizados, del modelo de iluminación y de otros cambios en el motor. También parece por la presentación que Guerrilla aún está buscando la mejor forma de optimizar, específicamente en términos de pixel y vertex shaders, lo cual abriría la puerta a la opción de doblar la cantidad de polígonos.
La iluminación luce simplemente fenomenal en Killzone: Shadow Fall (hasta el punto que Guerrilla ha publicado otra presentación sobre su funcionamiento) con un sistema lineal con HDR que es una clara evolución de las técnicas utilizadas en Killzone 2 y su secuela. Una nueva característica que tiene, eso sí, es similar a la que hemos visto en el Unreal Engine 4 y en el FOX Engine de Kojima Productions: el paso a iluminación física. Antes los objetos ingame tenían hasta cierto punto parte de la iluminación "cocinada" en el propio objeto. Ahora, sus propiedades físicas - su composición, su suavidad/dureza, etc. - son variables que define el artista, y la forma en que se iluminan depende de las fuentes de luz reales que hay en cada escena.
Es un cambio enorme y fundamental en la forma en que se crean los recursos ingame, el cual requiere cierto entrenamiento en la plantilla de Guerrilla hasta que gradualmente llegue a un punto en el que tanto los especialistas en render como los artistas estén contentos con el grado de control en sus manos y el resultado final en pantalla. Durante toda esta evolución todas las luces de una determinada escena se convierten en "luces de área" - pueden influenciar el mundo a su alrededor y todas las luces tienen también volumen real. Todo lo que hay en pantalla tiene reflejos en tiempo real según las fuentes de iluminación. Una mezcla de técnicas como ray-casting o iluminación basada en objetos produce resultado excepcionales.
Sólo podemos cubrir lo más básico de esta presentación (sólo las técnicas de iluminación ya son inmensamente complejas), pero parece que Guerrilla se ha adentrado en territorio desconocido y que se ha sorprendido a si misma con los resultados obtenidos durante el proceso de aprendizaje. La conclusión general que sacamos es que el desarrollo next-gen está en sus primeros estadios y, por muy impresionante que sea, la demo de Killzone: Shadow Fall es un work-in-progress, con lo cual debería haber bastante mejora en el juego final. El propio equipo está muy satisfecho con la facilidad de desarrollo en PlayStation 4 y ha identificado el paralelismo basado en tareas como la mejor forma de sacar el máximo de la arquitectura multinúcleo, mientras que aunque la GPU se considera muy rápida sigue siendo vital optimizar los shaders para que rinda lo mejor posible.
Lo que es muy interesante es que la desarrolladora diga que la memoria GDDR5 realmente "da alas" al sistema, y que aplauda los 176GB/s de ancho de banda disponible. No es, claro, un recurso ilimitado: sigue siendo necesario usar formatos de pixel pequeño para maximizar el rendimiento. Teniendo en cuenta la enorme pool de memoria unificada con RAM de gran ancho de banda es una de las grandes ventajas de PS4 con respecto al PC y a la próxima Xbox, será interesante ver el resultado en los proyectos multiplataforma.
También resulta fascinante que Guerrilla admita que no usa demasiado la funcionalidad Compute del núcleo gráfico de PS4 - en las conclusiones de su presentación dicen que sólo hay un único trabajo con Compute en la demo, y que se usa para defragmentar la memoria. Teniendo en cuenta lo mucho que ha alabado Sony esta tecnología durante la presentación de PS4, es revelador de lo mucho que queda por aprovechar de esta tecnología, pese a las muchas similitudes existentes con el hardware de PC.
Traducción por Josep Maria Sempere.