Inside Immortals of Aveum: la entrevista técnica de Digital Foundry

Blog

HogarHogar / Blog / Inside Immortals of Aveum: la entrevista técnica de Digital Foundry

Jul 03, 2023

Inside Immortals of Aveum: la entrevista técnica de Digital Foundry

Detrás de escena del primer juego que no es de Epic que se incluye con todas las funciones de próxima generación de Unreal Engine 5. Desde una perspectiva tecnológica, Immortals of Aveum de Ascendente Studios es un juego muy importante.

Detrás de escena del primer juego que no es de Epic que se incluye con todas las funciones de próxima generación de Unreal Engine 5.

Desde una perspectiva tecnológica, Immortals of Aveum de Ascendente Studios es un juego muy importante. Excluyendo Fortnite, creado por el propio Epic Games, es el primer juego triple A que se envía con todas las características de vanguardia de Unreal Engine 5. Se trata de Nanite, basado en microgeometría, capaz de alcanzar niveles de detalle asombrosos, junto con Lumen, una solución de iluminación global basada en trazado de rayos más mapas de sombras virtuales. Antes de Fortnite, The Matrix Awakens fue el único lanzamiento UE5 basado en consola que vimos con esas características: se veía increíble pero con problemas obvios de rendimiento.

Ascendente no solo utiliza todas las funciones UE5, sino que también apunta a 60 fps en consolas. Entonces es un juego muy ambicioso, pero como reveló la revisión de DF de ayer, el cálculo de la GPU solo puede llegar hasta cierto punto, por lo que la calidad de la imagen necesariamente tiene que verse afectada, con FSR 2.2.1 usado para mejorar desde una resolución básica de 720p en Xbox Series X y PlayStation. 5.

Al comenzar el proceso de revisión, estábamos muy motivados por descubrir más sobre lo que hace que el juego funcione, por lo que cuando EA nos ofreció la oportunidad de hablar con el equipo de desarrollo, aprovechamos la oportunidad. Alex Battaglia y Tom Morgan hablaron con Mark Maratea, Julia Lichtblau y Joe Hall de Ascendente Studios, y aquí está esa conversación.

¿Cuánto tiempo lleva Immortals en desarrollo? ¿La idea siempre fue producir algo parecido a un shooter mágico en primera persona o evolucionó durante el proyecto?

Marcos Maratea : La compañía se formó para hacer este juego, y tomó una cantidad significativa de tiempo avanzar... luego llegó Covid, por lo que [el tiempo invertido] en la contratación de personal se convirtió en un período de tiempo muy interesante. Este juego tiene cinco años, para todos los efectos.

Julia Lichtblau : Un par de meses después de que Brett [Robbins] fundara el estudio, nos entregó a Dave Bogan, el director de arte senior, y a mí este documento de presentación de 60 páginas, que aparentemente era un disparador mágico. Tenía la premisa básica de Jack [protagonista] y este gran arco argumental. Obviamente, las cosas cambiaron, como las complejidades del combate, pero sabía que Brett sabía que quería hacer este juego de disparos mágico porque era algo que no existía antes, y era un juego que realmente quería jugar. y quería hacer.

Según el momento, me imagino que el juego no se inició en Unreal Engine 5 porque no existía; entonces, ¿se inició en Unreal Engine 4 y migró a UE5? ¿Como fue eso?

Marcos Maratea : El proyecto comenzó a utilizar UE 4.20, que salió en julio, y la empresa se formó en agosto [2018]. Cuando la empresa comenzó, todo se hacía en planos sin cambios en el código del motor, como si fuera un proyecto independiente más pequeño para crear un prototipo... Esto podría haber cambiado; La realidad de las decisiones comerciales en torno a esto es que si alguien asumiera el rol de editor tres meses después y dijera: "vas a venir, pero usarás Frostbite o lo que sea", eso habría [requerido] un giro. Tenemos la suerte de contar con una fuente de financiación muy generosa... un socio increíble, lo que nos ha dado la autonomía para tomar estas decisiones. Comenzamos con Vanilla 4.20, Vanilla 4.21, motor personalizado 4.23, 4.25, 4.26, vista previa de UE5, UE5 actual, UE5.1 y ahora estamos enviando como UE 5.1.1.

Entonces mencionaste que comenzaste con planos y cambios mínimos de código, pero con 4.23 trasladado al motor personalizado, ¿cuáles fueron esos cambios más importantes que lo hicieron divergente?

Marcos Maratea : Sabes, el comienzo de todos estos cambios solía ser "...y luego un diseñador o un artista pidió algo imposible, por lo que tuvimos que hacer un cambio de motor". Para el nivel de ruinas en particular, tuvimos que hacer algo de magia en la versión UE4 debido a la forma en que estaba distribuido el nivel; De hecho, tuvimos que mover el sol en el cielo. Esto no parece gran cosa hasta que recuerdas que UE4 está [basado en] iluminación horneada, por lo que en realidad se convirtió en un gran problema y requirió mucho trabajo.

Este juego siempre ha sido 10 libras de caza en una bolsa de cinco libras. Nuestro sistema de combate ha evolucionado y se ha convertido en la génesis de muchos de nuestros cambios en el motor, ya que construimos nuestro sistema de combate en el Unreal Gameplay Ability System, que fue diseñado para un MOBA. Es un buen marco para un sistema de habilidades replicado en red y lo usamos para cada tipo de arma en el juego (armas de fuego rápido, armas dirigidas y controladas), así que realmente nos salimos de los límites de ese sistema. Así que el primer gran conjunto de cambios fue tomar el sistema de jugabilidad del juego y hacerlo funcionar de la manera que queremos que funcione el combate.

El siguiente gran avance fue la composición del mundo: cómo se transmiten los datos del juego, dónde vive todo. Hicimos grandes cambios en ese sistema para acomodar estos mundos extragrandes y realizar la transición a través de ellos y mantenerlos dentro de nuestro presupuesto de memoria... y luego ocurre la magia de UE5, y la composición mundial ya no existe porque la desaprobaron. . Como puedes imaginar, fue una transición para todos nosotros: ingeniería, todos nuestros equipos de contenido, artistas de niveles y diseñadores de niveles en particular. Éramos nosotros diciendo "aquí está la nueva biblia sobre cómo crear un juego" y ellos diciendo "primero, ustedes necesitan aprender a escribir... y luego, segundo, eso es una locura". Fue un gran proyecto de innovación a nivel de estudio, tuvimos que crear un prototipo de cuál era la forma correcta, establecer las reglas, descubrir qué no hizo bien Epic, cambiar la forma en que funcionaba nuestro juego, reescribir las reglas nuevamente, y eso fue un proceso continuo. proceso incluso hasta los últimos seis meses.

Tomamos 5.1 en Navidad y pasé mis vacaciones navideñas integrando [esa versión]... cuando pasamos a 5.1, no pudimos cargar ningún recurso en el juego, así que básicamente tuve que reescribir todo el cargador de recursos en dos días para No hagamos eso para no perder todo nuestro progreso.

Entonces ese es el costo de mantenerse actualizado, ¿no?

Marcos Maratea: Sí, pero valió la pena.

¿Seleccionó alguna [característica] de almacenamiento en caché previo de sombreador de 5.11 o 5.2?

De hecho, estoy en medio de una discusión en Slack sobre si necesitamos sacar algo de 5.2 para ayudar con esto. Entonces, el almacenamiento en caché de PSO en 5.1 funciona, pero si ingresa al código, la primera línea es un comentario que dice "esto no funciona, no use esto", y tiene salidas anticipadas para ir a otras secciones del código. . Estaban intentando hacer un caché previo adaptativo, lo que provocó pérdidas de memoria y eventualmente fallas al liberar activos, lo cual es malo, pero en 5.2 todo esto está solucionado. Desafortunadamente, estamos justo en la cúspide entre la versión 5.1.0 y la versión 5.2 [que cada una] funciona de cierta manera, y la 5.1.1, que intentaron hacer funcionar pero no funciona del todo.

Así que hemos tenido que cambiar algunas cosas, estamos utilizando el almacenamiento en caché previo de PSO combinado con el caché normal de DX12. Hay una línea desechable en la documentación [de Epic] que dice: "cuando realizas el almacenamiento en caché de PSO, de forma predeterminada almacenará en caché todos los PSO que pueda encontrar y luego los cargará todos a la vez". Y esa parte de "cargarlos todos a la vez" [es problemática]. Tenemos muchos sombreadores en nuestro juego, creamos un sistema increíble y diferente que utiliza ramificaciones dinámicas y, de hecho, reescribimos parte del proceso de sombreado, lo que nos da entre 3 y 4 ms de reducción en nuestros tiempos de renderizado, algo realmente serio. La desventaja es que aumenta las permutaciones de sombreadores, por lo que tenemos 5,7 millones de sombreadores con permutaciones completas... eso genera 563 mil objetos PSO, por lo que cuando inicias el juego intenta cargar medio millón de PSO.

¿Eso explica lo que vi cuando cargué el juego sin el archivo .ini? [nota: el código de revisión de la PC se envió sin un archivo .ini crucial, lo que provocó que los problemas iniciales se resolvieran rápidamente] Estoy acostumbrado a ver la CPU funcionar completamente [cuando hago la precompilación del sombreador], pero aquí era como si la CPU estuviera teniendo problemas incluso para alcanzar la plena utilización.

Marcos Maratea : Sí, todo es E/S. Es la peor versión de E/S porque estás cargando los PSO del caché en la memoria, procesándolos y guardándolos nuevamente en tu unidad C:. Y entonces estás omitiendo todas las optimizaciones porque tiene que ir a una unidad diferente (la mayoría de las personas ya no tienen su biblioteca de Steam en su unidad C:) y estás omitiendo cosas de DMA y DirectStorage no funciona. entonces te penalizas un poco.

Mencionaste DirectStorage: ¿lo estás usando en consolas de la serie Xbox o en PC?

Marcos Maratea : Sí, si [DirectStorage] está allí, Unreal intentará aprovecharlo automáticamente. También aprovechamos la computación asíncrona, que es un maravilloso aumento de velocidad cuando se combina con DirectStorage, ya que nos permite cargar sombreadores de computación directamente en la GPU y luego hacer cálculos mágicos y hacer que el juego se vea mejor y sea más impresionante. Nos permite ejecutar partículas de GPU desde Niagara sin provocar una carga asíncrona en la CPU y no provoca que el hilo del juego se bloquee.

Jugué los primeros 25 minutos del juego y no tuve ningún problema de compilación de sombreadores, lo cual es raro en un juego de Unreal Engine.

Marcos Maratea : No tendrás ningún problema de PSO en todo el juego. Lo digo en voz alta ahora mismo, públicamente, está grabado.

¿Cómo fue implementar Nanite en el juego y cómo se compara con la creación habitual de LOD? ¿Fue fácil trabajar con él?

Julia Lichtblau : En el aspecto artístico, en realidad comenzamos a construir este juego en Unreal 4, por lo que muchos de nuestros primeros kits se iniciaron siguiendo ese proceso tradicional. Cuando cambiamos a Nanite y UE5, hubo mucho entusiasmo porque podíamos incluir muchos más detalles en los activos mismos... [Originalmente] había un [modelo] de alta poli hecho en ZBrush, que se incorporó al Textura y material clásicos para darle forma manteniendo un bajo recuento de poliéster. Pero cuando cambiamos a Nanite, de repente pudimos volver a los activos de alta poli. Descubrir cómo desenvolver algo de esa densidad fue definitivamente un gran replanteamiento del flujo de trabajo, porque ahora estás lidiando con muchos más polígonos, por millones... Una vez que estuvo en el motor, fue bastante increíble. comenzar a agregar millones y millones y millones de polis en el motor y que no colapse por completo.

Hubo algunas ocasiones durante la importación en las que la bandera de Nanite no se pegaba, y estábamos reimportando una estantería de polietileno multimillonaria y nos preguntábamos por qué el motor tartamudeaba cuando mirábamos en esa dirección. Podrías ver a Unreal sin saber cómo manejar eso, pero tan pronto como marcas esa casilla, simplemente se encarga de todo. Está haciendo el tipo de LOD dinámico y los clústeres justo hasta el punto en que nuestro flujo de trabajo se aceleró de manera tan significativa, y fue bastante sorprendente saltar a la vista de Nanite y ver cómo se ajustan los clústeres en tiempo real y ver cómo se optimizan. Nos permitió construir este juego mucho más rápido con un equipo tan pequeño.

¿Cómo decidiste lo que se hacía a través de Nanite?

Julia Lichtblau : Cuando cambiamos por primera vez a Unreal [5], activamos Nanite en todo lo que pudimos. Creo que 5.0 no era [compatible con] el follaje, eso llegó un poco más tarde, pero tan pronto como pudimos tener el follaje Nanite lo activamos. Luego comenzamos a alejarnos de eso y [preguntamos] "¿realmente tiene que ser Nanite?" Nos encontramos con algunos activos que [eran problemáticos debido a] su construcción y la forma en que se configuraron las carcasas UV, por lo que tuvimos que reelaborar algunos de esos activos para hacerlos viables con Nanite o cambiarlos por completo y volver al método tradicional. No podíamos usar [Nanite] para cosas que se movieran, como banderas. Realmente arrojamos todo al cubo de Nanite para aprender de ello. Ahora hemos podido crear una enorme página de Confluence [wiki corporativa] sobre cómo se debe manejar Nanite en el futuro.

¿Cómo se traducen Nanite y los mapas de sombras virtuales a consolas como PS5 y Series X/S?

Julia Lichtblau: En el aspecto artístico, realmente no hemos tenido que ajustar nada, pero tal vez Mark haya estado haciendo cosas en la parte trasera para que eso funcione, ¡para que los artistas no tengamos que preocuparnos tanto!

Marcos Maratea : Yo diría que en algunos aspectos funciona mejor en consolas, aunque parezca extraño. La geometría virtualizada de Nanite requiere mucho flujo y se trata de E/S de disco. Entonces UE5 está reescribiendo el proceso de E/S y las optimizaciones que hicieron para los SSD NVMe. Está diseñado para funcionar en consolas. En PC, no tengo idea de cuál es el ancho de banda de E/S de nadie... El único inconveniente en la consola es que cuando usas Nanite, realmente necesitas usar texturas virtuales en streaming, realmente necesitas un grupo de texturas virtuales muy grande. Las consolas tienen memoria fija, pero [una sola tarjeta gráfica] puede tener más memoria que la PS5. Por lo tanto, optimizar ambos aspectos es realmente difícil.

Nanite hace un buen trabajo al usar la memoria que tiene disponible, pero la excepción es que los grupos de texturas virtuales en UE no se pueden cambiar de tamaño: deben inicializarse al arrancar el motor y no se pueden tocar nuevamente, [lo que proporciona] espacios contiguos completamente asignados. memoria, lo cual es maravilloso desde el punto de vista del rendimiento, pero [puedes tener problemas donde, por ejemplo] hay una copa muy lejos en la distancia, dos píxeles, y necesita una pieza de una textura [de una asignación de grupo de 500 MB], y no No recupere nada de eso hasta que la textura desaparezca. A la PC no le importa [si te quedas sin memoria]; En el peor de los casos, va a la memoria virtual. La consola dice "No tengo memoria virtual, ya terminé". Y no fallará, pero causará problemas importantes. Esto causó lo que se conocía internamente como el infame error del paisaje, donde simplemente entrabas a ciertas partes del juego y te gustaría que alguien pintara un paisaje anime en el suelo, porque no podía asignar el grupo de texturas virtuales.

Nanite parece haber hecho la vida más fácil en el ámbito artístico; ¿Hay algún punto del juego del que estés especialmente orgulloso, un momento de exhibición de lo que puedes hacer con Nanite y que no habrías podido hacer sin UE 5.1?

Julia Lichtblau : En cada nivel realmente tenemos que impulsar eso. Hay un nivel con un coloso gigante, este robot gigante, y tiene una geometría muy curvada con muchos detalles; En el interior, cada pequeño remache está allí y las ranuras [en el] piso están modeladas para que puedas ver todos estos activos cilíndricos y de alta poli en movimiento loco a los que pudimos seguir agregando más y más detalles. .. Nanite acaba de abrir el mundo para hacer niveles mucho más hermosos, porque ahora que ya no tenemos que depender de mapas normales y ese tipo de falsificaciones que se desmoronan [en un cierto ángulo de visión]. Ese [problema] ya no existe, porque la geometría en realidad está ahí... puedes acercarte mucho a ella y todavía tendrá toda esa curvatura y detalle. Ha sido realmente genial experimentar con una variedad de texturas, superficies, formas y estilos arquitectónicos diferentes. Fue muy divertido desde el punto de vista artístico poder impulsar eso en todo el juego.

Joe Hall : Con los VFX en UE5.1, introdujeron transparencia con Nanite que definitivamente necesitábamos. Hay un nivel de biblioteca en el que este metal necesita erosionarse según la progresión del jugador, por lo que esos son activos de Nanite que en realidad se erosionan con emisores y efectos de partículas y utilizan la malla alternativa dentro de ellos. Es realmente impresionante.

Vamos a tener que capturar estos momentos para nuestra cobertura...

Marcos Maratea : Para ser honesto, los primeros 10 minutos del juego después de la cinemática, hacemos la panorámica del Seren Underbridge: todo eso es un área dividida del mundo de geometría Nanite completamente iluminada, en tiempo real, dentro del juego. Esa cosa es enorme. Creo que muchos de nosotros olvidamos lo impresionante que es; cualquier otro juego lo habría pre-renderizado. Iluminación en tiempo real, molinos de viento en estos edificios girando en tiempo real, mallas animadas... cada vez que miro eso, capto un nuevo detalle. Nuestro equipo artístico es simplemente fenomenal con lo que han hecho con UE5. Se salta el valle inquietante y va directamente a "sí, esa es una ciudad normal".

Con Nanite, puedes usar la replicación, rotación y escala del mismo objeto exacto para construir áreas. Entonces, ¿cómo introduces variación en los entornos? ¿Existe un sistema de desgaste? ¿Existen detalles combinables para agregar variación a ciertos activos?

Julia Lichtblau : No tenemos un sistema de desgaste; Hemos utilizado mucho diferentes materiales para agregar [por ejemplo] diferentes colores de pintura a los edificios, y un conjunto completo de calcomanías que le permiten tener, por ejemplo, ciertas áreas con más estuco desmoronado, o cortes de tierra, o grafitis o ese tipo. de cosa. Gran parte fue simplemente agregar geometría [hecha a mano]: tomar un edificio y agregar un montón de accesorios a su alrededor. Construimos estos planos de barrios marginales que tenían muchos accesorios intercambiables, por lo que no comenzaron colocados a mano, pero pudimos entrar y agregar ese detalle artístico, ese tipo de sensación de habitabilidad para contar una historia ambiental. , así que creo que eso nos llevó a agregar algo de variedad a la mayoría de estos activos.

Con 60 fps en consolas, ¿estás usando el software Lumen? Y con la PC, ¿obtiene el software Lumen automáticamente o elige entre hardware y software Lumen según su configuración?

Marcos Maratea : Sí [al software Lumen en consolas]. [En PC] actualmente es software, tenemos opciones para ambos. Esto vuelve a los problemas de almacenamiento en caché de PSO: resulta que tan pronto como enciendes el hardware [Lumen], duplica las permutaciones de sombreador porque crea las versiones de hardware y software, y decidí que no deberíamos hacerle eso a la gente de inmediato. .

Una de las cosas que puede hacer con el almacenamiento en caché de PSO para evitar algunos de estos problemas es [usar] un sistema de enmascaramiento. Así que necesito volver y recuperar todos los [10 millones] de PSO del juego. Y necesito instrumentar el juego con una bandera de bits uint64 que diga, esta es la etapa uno, esta es la etapa dos, esta es la etapa tres, durante todo el juego, y luego hacer el caché previo, en orden, en diferentes momentos, en diferentes niveles. . Así que necesito construir ese pequeño sistema y ajustarlo, luego podremos instalar el hardware [Lumen] sin que cause una reconstrucción del sombreador de cinco minutos al comienzo del juego.

Con el hardware Lumen, con todos sus detalles distantes, ¿van a tener problemas con la CPU?

Sí. El hilo de extracción recibe un ping muy intenso. El mayor cambio de software a hardware de Lumen es que pasa de 200m a 1000m. Hay un problema secundario sorprendente cuando comienzas a agregar fuentes de luz desde una distancia cinco veces mayor, que es que ahora obtienes reflejos de luces desde una distancia cinco veces mayor. A Lumen realmente le gusta manejar los reflejos en todo, y tenemos muchas luces, así que ahora comienzas a jugar con otros parámetros para dejar de tener demasiados reflejos en todos tus materiales brillantes. Al equipo de Julia le encantan los materiales brillantes, tenemos muchos, por lo que hay un equilibrio constante entre tener muy pocos y demasiados reflejos. Si optimizas en la dirección equivocada, se vuelve confuso o se convierte en una fiesta de brillo, ninguno de los cuales es increíble. Así que estamos trabajando muy duro para [equilibrar la velocidad de fotogramas y la fidelidad visual]. Eso requiere muchas pruebas y no puedes romper otras cosas mientras lo haces.

Nuestra especificación mínima actual es una RX 5700 XT y RTX 2080. Supongo que las especificaciones actualizadas están en manos de la gente; De hecho, hemos podido reducir un poco las especificaciones mínimas. Hemos estado presionando mucho para dejarlo fuera de cualquier cosa que admita RTX. El efecto secundario de esto, obviamente, es que debemos asegurarnos de que el software [Lumen] en la PC no se estropee a medida que comenzamos a optimizar el hardware [Lumen].

Volviendo a Lumen, sube a la configuración ultra para iluminación y reflejos globales. ¿Dónde se encuentran las consolas dentro de esta configuración?

Marcos Maratea: Están básicamente en nivel medio, apuntando a 1080p 60 fps con ampliación.

Es increíble ver el juego compatible con Nanite y Lumen desde el principio en consolas a 60 fps. ¿Eso siempre fue parte del plan? ¿Hubo algún momento en el que consideraste usar 30 fps?

Marcos Maratea : Pasamos los primeros dos años persiguiendo nuestro objetivo visual fijado [en lugar de un objetivo de fps], con el equipo de arte liderando esa tarea. En paralelo, teníamos al equipo de combate y a [el director del juego] Brett trabajando, y al equipo de Joe asegurándose de que las imágenes del combate cumplieran con los objetivos de diseño. Una vez que esas dos cosas se consolidaron, teníamos una máquina funcionando constantemente a 45-50 fps en modo de desarrollo, y Brett estaba jugando y dijo: "Está bien, no, ya no me gustan los 30. Este juego necesita ser de 60, combate". "No me siento bien a los 30". Y así, como equipo, dimos un giro.

Desde entonces, hemos eliminado muchos de esos problemas, lo que nos permitió reducir un poco nuestras especificaciones mínimas. No recomiendo a nadie que haga esto, pero si alguien lanzara [una GTX] 1060 a este juego, realmente se ejecutaría. No está optimizado para eso; Tampoco es una tarjeta de 8 GB, por lo que habría que tener mucho cuidado. Unreal se enoja mucho si no tienes suficiente memoria de sombra virtual para la resolución a la que estás ejecutando. Si estás ejecutando a 1080p, no es gran cosa, pero como jugador 4K exclusivo de élite de PC, puedo decirte que es un gran problema cuando me quedo sin memoria oculta. Ése es el aspecto técnico de esto, pero en realidad es una cuestión de arte. Una vez que nos decidimos por 60, los equipos de Julia y Joe recorrieron caminos increíbles para que RT funcionara en ese punto.

¿Qué pasa con otras configuraciones equivalentes a las de la consola? ¿PS5 y Series X están en nivel medio para la mayoría de las configuraciones o pueden pasar a ultra para cualquier cosa?

Marcos Maratea : A pesar de tener paridad [de rendimiento], la Serie X y la PS5 manejan las cosas de manera diferente. La computación asíncrona funciona muy bien en uno pero no tan bien en el otro, lo que cambia la carga de la GPU. Parte del [proceso] de ajuste de la consola nos llevó a crear la herramienta de rendimiento que tenemos en la PC. Registramos cada variable de renderizado que existe en el sistema de ajuste de Unreal, todos los rangos posibles, y ejecutamos el juego [con cada combinación de configuraciones], 17.000 veces. Y entendimos el rendimiento y la compensación visual de todas estas cosas. Luego nos sentamos con el departamento de arte y llegamos a un punto medio donde tenemos lo que considero uno de los juegos de consola más atractivos jamás creados y que se ejecuta a una velocidad de fotogramas muy buena.

El menú de gráficos de PC calcula una puntuación para su CPU y GPU. ¿En qué se basa esto?

Marcos Maratea : Epic creó un programa de referencia sintético [que usamos] y extrae números reales [de cara al usuario], así que de ahí viene eso. La CPU es esencialmente un rendimiento de un solo núcleo, la GPU es un rendimiento completo de la GPU. Una CPU de especificación mínima ronda los 180 o 200, la ultra ronda los 300; La GPU con especificaciones mínimas es de alrededor de 500, la ultra comienza en alrededor de 1200, que es donde aparece un 7900 XT o un 4080.

La confesión es que esto surgió de nuestro ajuste para consolas, lo que si lees entre líneas significa que me estaba duchando hace un par de semanas y dije "sería realmente genial" construir esta herramienta de rendimiento. Ahora, todos estos datos llegan debido a eso, [lo que nos permite] exponer datos [sobre varios costos de configuración de gráficos] a los usuarios... [Si] alguien tiene un nuevo procesador o tarjeta de video, eso nos brinda nuevos puntos de datos y eso puede cambiar los números. Básicamente, se trata de agregar una gran cantidad de datos en una amplia variedad de hardware y luego hacer conjeturas realmente buenas.

¿Está esto preparado para el futuro contra hardware futuro o todavía implica muchos ajustes manuales?

Marcos Maratea : La versión de hoy es muy manual, pero la versión que vas a ver será sustancialmente mejor. Si este juego se vende donde espero que se venda para el día 60, en realidad contará con varios algoritmos de mejora, diferentes resoluciones, RT activado y desactivado, y esencialmente hará predicciones de ML sobre hacia dónde irán las velocidades de fotogramas.

Eso me recuerda al Índice de experiencia de Windows [introducido con Windows Vista]. Siempre me entristeció mucho que los juegos no terminaran usándolo porque pensé que era una muy buena idea. Tu blog menciona el uso de FSR 2 en consola, ¿qué te hizo elegir FSR 2 frente a TSR?

Marcos Maratea : Actuación. Estamos usando FSR 2.2.1, estamos [en la] [versión] de vanguardia de AMD. Tiene un rendimiento sustancialmente mejor en el nivel superior y el escalado de TSR tiene significativamente más imágenes fantasma que DLSS o FSR. Hablamos constantemente con AMD, Intel y Nvidia sobre cómo minimizar los problemas, y cada una de sus GPU individuales tiene sus laboratorios de compatibilidad ejecutando todo esto, y dedicamos mucho esfuerzo a trabajar con ellos. Es un poco más difícil que Epic lance un cambio de motor para [solucionar problemas de TSR].

¿Qué pasa con los objetivos de resolución específicos en las consolas? ¿Es FSR 2 en rendimiento ultra dirigido a 4K o es una configuración más alta?

Marcos Maratea: Solo en consolas, realiza una mejora adaptativa, por lo que miramos lo que conectó desde el punto de vista de un monitor/TV... y hay una ranura en la lógica que dice que si sale una PS5 Pro, en realidad se actualizará a diferentes niveles de calidad: será calidad FSR 2 en lugar de rendimiento FSR 2 estándar.

Entonces, si juegas en una pantalla de 1080p, ¿podrías tener un rendimiento diferente al de jugar en una pantalla de 4K?

Marcos Maratea: Sí.

Para los sombreadores de ramificación dinámica que mencionaste, ¿puedes explicar las diferencias entre UE5 base y lo que estás haciendo?

Marcos Maratea : Sí, quiero atribuirle [esto] crédito a Joe Weyland, este es su bebé. Esto es como un nivel de papel blanco de Siggraph. Hemos estado trabajando en esto durante aproximadamente 3,5 años. Tenemos un sistema jerárquico de complejidad creciente a medida que construyes tus sombreadores; puedes imaginar que es como si el [parámetro] básico fuera "es brillante", y luego hay un subgrupo que es "es brillante o áspero" o lo que sea. . Entonces, con este tipo de sistema, hay muchas instrucciones que no necesitas; van a evaluar para "no usar"... pero por la forma en que funciona la canalización, la GPU aún tiene que evaluarlos, lo que parece un desperdicio de recursos de la GPU.

Por eso, construimos un sistema de ramificación dinámico inteligente que nos permite podar previamente las rutas de los nodos que no se utilizarán para un material en particular. Es una decisión en tiempo de ejecución, que nos permite hacer muchas cosas en el editor donde la gente puede modificar algo inmediatamente y ver el rendimiento y los cambios visuales en tiempo real. Pero, en última instancia, esas decisiones se ejecutan en tiempo de ejecución. Esto nos permite tener diferentes ramas con extensiones específicas de IHV, como extensiones de sombreado exclusivas de Nvidia donde ni siquiera ejecutamos la verificación en una tarjeta AMD. Eso nos da, dependiendo de la complejidad de la escena, alrededor de 2-5 ms. Se trata de un grupo de personas muy inteligentes que dedican un largo período de tiempo a desarrollar el trabajo de su vida y, francamente, es sorprendente.

¿Es siquiera posible considerar una versión del juego para PS4 o Xbox One, a la luz del anuncio de Jedi: Survivor para consolas de última generación?

Absolutamente no. No existe una versión de Lumen que funcione en la última generación, ni siquiera en software. Si alguien llegara con un camión volquete lleno de dinero en efectivo [y dijera] queremos que destruyas todos tus niveles, los hagas funcionar con iluminación horneada y simplifiques todas tus texturas para que puedas encajar en la última generación. huella de memoria de la consola. [Tendría que] ser un camión volquete grande. Y esto es después de que Joe, Julie y yo nos fuimos de vacaciones tropicales durante seis meses, luego regresábamos y yo hacía su port de última generación. Quiero decir, básicamente estás preguntando: ¿podemos reconstruir todo el juego desactivando un montón de funciones clave y reduciendo nuestro presupuesto artístico a una cuarta parte?

Absolutamente. Yo diría que en Digital Foundry... no hemos visto suficientes lanzamientos de próxima generación, especialmente después de tres o cuatro años de generación. Somos grandes defensores del juego a 60 fps, pero para las versiones de consola, ¿hay en el horizonte un modo de 30 fps de mayor calidad o mayor resolución?

Marcos Maratea : Básicamente lo hacemos para el usuario; Tenemos espacios sin combate donde hemos cambiado la velocidad de fotogramas por fidelidad visual... obtendrás áreas que se hunden un poco, [sin] combate allí [y] se verán más hermosas. Ya están en modo calidad. Luego, cuando empiezas a entrar en áreas que son espacios de combate, comenzamos a hacer concesiones: hay menos luces dinámicas, hay menos cosas únicas, comenzamos a eliminar personajes auxiliares que pueden aparecer en un RTX 4090 para mantener la velocidad de fotogramas.

Joe [Hall], ¿hay algo que te gustaría decir sobre los efectos visuales de los que estuvieras realmente orgulloso, o algo que incorporaste al juego y que no creías que fuera posible?

Joe Hall : Recuperando el color. Devolver el color al combate, de una manera fundamentada pero también mágica. Esto definitivamente es algo. Mantener [el juego] a 60 fps, impulsar la alta fidelidad y la alta calidad momento a momento es algo de lo que estar orgulloso. Estoy orgulloso del equipo y de todo el esfuerzo que pusieron, de hasta dónde hemos superado el listón. Definitivamente estoy agradecido de que exista UE 5.1. ¡Es emocionante para los jugadores participar!

¿Cuánto tiempo lleva Immortals en desarrollo? ¿La idea siempre fue producir algo parecido a un shooter mágico en primera persona o evolucionó durante el proyecto?Marcos MarateaJulia Lichtblau Según el momento, me imagino que el juego no se inició en Unreal Engine 5 porque no existía; entonces, ¿se inició en Unreal Engine 4 y migró a UE5? ¿Como fue eso?Marcos MarateaEntonces mencionaste que comenzaste con planos y cambios mínimos de código, pero con 4.23 trasladado al motor personalizado, ¿cuáles fueron esos cambios más importantes que lo hicieron divergente?Marcos MarateaEntonces ese es el costo de mantenerse actualizado, ¿no?Marcos Maratea¿Seleccionó alguna [característica] de almacenamiento en caché previo de sombreador de 5.11 o 5.2? ¿Eso explica lo que vi cuando cargué el juego sin el archivo .ini? [nota: el código de revisión de la PC se envió sin un archivo .ini crucial, lo que provocó que los problemas iniciales se resolvieran rápidamente] Estoy acostumbrado a ver la CPU funcionar completamente [cuando hago la precompilación del sombreador], pero aquí era como si la CPU estuviera teniendo problemas incluso para alcanzar la plena utilización.Marcos MarateaMencionaste DirectStorage: ¿lo estás usando en consolas de la serie Xbox o en PC?Marcos MarateaJugué los primeros 25 minutos del juego y no tuve ningún problema de compilación de sombreadores, lo cual es raro en un juego de Unreal Engine.Marcos Maratea ¿Cómo fue implementar Nanite en el juego y cómo se compara con la creación habitual de LOD? ¿Fue fácil trabajar con él?Julia Lichtblau¿Cómo decidiste lo que se hacía a través de Nanite?Julia Lichtblau¿Cómo se traducen Nanite y los mapas de sombras virtuales a consolas como PS5 y Series X/S?Julia LichtblauMarcos Maratea Nanite parece haber hecho la vida más fácil en el ámbito artístico; ¿Hay algún punto del juego del que estés especialmente orgulloso, un momento de exhibición de lo que puedes hacer con Nanite y que no habrías podido hacer sin UE 5.1?Julia LichtblauJoe HallVamos a tener que capturar estos momentos para nuestra cobertura...Marcos Maratea Con Nanite, puedes usar la replicación, rotación y escala del mismo objeto exacto para construir áreas. Entonces, ¿cómo introduces variación en los entornos? ¿Existe un sistema de desgaste? ¿Existen detalles combinables para agregar variación a ciertos activos?Julia Lichtblau Con 60 fps en consolas, ¿estás usando el software Lumen? Y con la PC, ¿obtiene el software Lumen automáticamente o elige entre hardware y software Lumen según su configuración?Marcos MarateaCon el hardware Lumen, con todos sus detalles distantes, ¿van a tener problemas con la CPU? Volviendo a Lumen, sube a la configuración ultra para iluminación y reflejos globales. ¿Dónde se encuentran las consolas dentro de esta configuración?Marcos Maratea Es increíble ver el juego compatible con Nanite y Lumen desde el principio en consolas a 60 fps. ¿Eso siempre fue parte del plan? ¿Hubo algún momento en el que consideraste usar 30 fps?Marcos Maratea ¿Qué pasa con otras configuraciones equivalentes a las de la consola? ¿PS5 y Series X están en nivel medio para la mayoría de las configuraciones o pueden pasar a ultra para cualquier cosa?Marcos Maratea El menú de gráficos de PC calcula una puntuación para su CPU y GPU. ¿En qué se basa esto?Marcos Maratea¿Está esto preparado para el futuro contra hardware futuro o todavía implica muchos ajustes manuales?Marcos Maratea Eso me recuerda al Índice de experiencia de Windows [introducido con Windows Vista]. Siempre me entristeció mucho que los juegos no terminaran usándolo porque pensé que era una muy buena idea. Tu blog menciona el uso de FSR 2 en consola, ¿qué te hizo elegir FSR 2 frente a TSR?Marcos Maratea¿Qué pasa con los objetivos de resolución específicos en las consolas? ¿Es FSR 2 en rendimiento ultra dirigido a 4K o es una configuración más alta?Marcos MarateaEntonces, si juegas en una pantalla de 1080p, ¿podrías tener un rendimiento diferente al de jugar en una pantalla de 4K?Marcos MarateaPara los sombreadores de ramificación dinámica que mencionaste, ¿puedes explicar las diferencias entre UE5 base y lo que estás haciendo?Marcos Maratea¿Es siquiera posible considerar una versión del juego para PS4 o Xbox One, a la luz del anuncio de Jedi: Survivor para consolas de última generación? Absolutamente. Yo diría que en Digital Foundry... no hemos visto suficientes lanzamientos de próxima generación, especialmente después de tres o cuatro años de generación. Somos grandes defensores del juego a 60 fps, pero para las versiones de consola, ¿hay en el horizonte un modo de 30 fps de mayor calidad o mayor resolución?Marcos MarateaJoe [Hall], ¿hay algo que te gustaría decir sobre los efectos visuales de los que estuvieras realmente orgulloso, o algo que incorporaste al juego y que no creías que fuera posible?Joe Hall