​Estados del entorno en Overwatch 2: detrás de escena con el equipo de ingeniería


¡Hola a todos! Mi nombre es Marco Alamia y soy ingeniero de software en el equipo de Overwatch. Dado que recientemente terminamos de trabajar en una nueva tecnología para Overwatch 2, pensamos que sería una gran oportunidad para brindarle a la comunidad un adelanto de lo que implica la creación de mejoras para un motor de juego. Para ayudarme en este esfuerzo, pedí la ayuda de otros dos desarrolladores del equipo de Overwatch: Bruce Wilkie y Fabien Christin.

La nueva tecnología que agregamos al motor se llama "Estados del entorno" y rápidamente se ha convertido en nuestro flujo de trabajo favorito para la creación y el diseño de mapas. Aunque la función se ha desarrollado y perfeccionado dentro del motor y las herramientas de Overwatch 2, la idea central surge de la mente de nuestro talentoso artista de iluminación, Fabien. Le pedí a Fabien que nos ayudase a comprender cómo se le ocurrió la idea que ahora ha remodelado la forma en que el equipo crea mapas, y también que nos guíe a través de su proceso.

¡Vamos a sumergirnos en los estados medioambientales!

Lanzando la idea

Fabien: Overwatch se desarrolla en un mundo brillante y colorido, y gran parte del carácter del juego se expresa a través de sus mapas. La creación de un mapa comienza con los diseñadores de niveles que inventan toda la arquitectura del lugar utilizando grandes cajas grises para tener un juego interesante y equilibrado. ¡Lo más importante en esta etapa es diseñar un mapa que sea divertido! Después de muchas horas de pruebas, es el turno de los artistas ambientales de transformar esas cajas grises temporales en edificios cuidadosamente hechos a mano y elementos ambientales que darán vida a los lugares donde viajarán los jugadores.

Junto con el entorno, creamos la iluminación que respalda la historia que cuenta el mapa. Para Overwatch 2, queríamos crear nuevos estados de ánimo interesantes que cambiaran por completo la sensación de una ubicación. Imagina viajar a Numbani y ver la ciudad futurista iluminada en un cálido atardecer africano, o aterrizar en un París lluvioso, con todas las tiendas brillando con cálidas luces doradas que te invitan a entrar a comer un croissant hasta que acabe la lluvia.

Esto es exactamente para lo que se diseñaron los estados medioambientales. Con este nuevo sistema, hemos logrado dividir todos los componentes principales de iluminación, sonido y efectos en elementos autónomos que se pueden combinar como bloques de construcción para crear lo que llamamos "Escenarios ambientales". Así podemos compartirlos a través de mapas y también podemos tener múltiples escenarios en cada mapa.

Tomemos el ejemplo del rápido mapa de "Combate a muerte" de la Necrópolis. Probablemente lo hayas jugado en su escenario nocturno, que combina el contraste de los fríos colores azules de la noche con el naranja brillante de las antorchas encendidas alrededor de los edificios. Pero digamos que queremos experimentar con un escenario diferente y decidimos probar los cálidos colores del desierto del Templo de Anubis.

Con el nuevo sistema de estados ambientales, todo lo que tenemos que hacer es tomar el estado ambiental del templo de Anubis y aplicarlo a la Necrópolis. ¡Esto ya se ve genial! Sin embargo, podemos hacer que se vea aún mejor moviendo la dirección del Sol para crear sombras interesantes.

Para hacer eso, creamos un nuevo estado ambiental que anulará la dirección del Sol, y colocamos este nuevo "bloque" encima de el del Templo de Anubis.

¡Hecho!

Gracias a la flexibilidad y facilidad del "Environment states", podemos crear prototipos de nueva iluminación para nuestros mapas en unas pocas horas. Poder cambiar rápidamente nos permite experimentar más, ser más creativos y producir más variedad para todos nuestros mapas.

Pero eso no es todo. Si bien los ejemplos anteriores son en su mayoría cosméticos, los estados ambientales también se pueden mezclar dinámicamente para desarrollar nuevas y emocionantes oportunidades de juego. Imagina que te envían en una misión a la Necrópolis para restaurar la conexión a un satélite de Overwatch, y mientras te defiendes contra un ataque de Null Sector, ¡una tormenta de arena se acerca rápidamente y se eleva a tu alrededor! Podemos hacer que su misión sea un poco más desafiante agregando un nuevo estado del entorno de tormenta de arena sobre el escenario soleado, que aumentará lentamente la cobertura de nubes y la densidad del efecto de arena.

Con esta nueva tecnología podemos crear todo tipo de cambios climáticos, como tormentas eléctricas, nevadas y otros escenarios ambientales emocionantes para que el juego se sienta diferente cada vez que juegas.

Volvamos a Marco, ahora, y veamos el lado más técnico de cómo funcionan los estados ambientales "bajo el capó".

Implementación de estados ambientales:

Marco: La visión de Fabien era ambiciosa, así que tuvimos que diseñar un sistema fuerte para lograr lo que Overwatch 2 necesitaba para sus entornos. Después de una lluvia de ideas, decidimos permitir que varios estados ambientales estuvieran presentes al mismo tiempo, ordenados de manera ordenada. Este bloque de efectos podría cambiar dinámicamente, por lo que en cualquier momento se podría agregar o eliminar un Estado de entorno. La magia sucede cuando el motor examina esta pila y combina todos los estados ambientales para producir el aspecto ambiental final. Si alguna vez habéis utilizado Photoshop, es lo mismo que tener varias capas combinadas para producir una imagen final.

La idea es que cada estado del entorno pueda describir algún aspecto del entorno en sí, como la fuerza y la dirección del viento o el color del Sol. Cuando el estado se coloca en ese "bloque" solo los aspectos proporcionados contribuyen al resultado. Por ejemplo, este es un bloque tomado del club de Lúcio en Río de Janeiro, donde un "Estado de entorno" cambia la exposición de la cámara y los aspectos de gradación de color.

El Estado del entorno en la base proporciona todos los aspectos del mapa, y el de la parte superior anula la clasificación de color para producir la atmósfera amenazadora y espeluznante del área de Diablo. Los Estados del entorno se pueden agregar y eliminar de la pila de forma dinámica durante el juego, lo que permite un mayor dinamismo y hace que los mapas se sientan más animados y llenos de energía.

Aspectos

Bajo la guía del equipo de arte y de Fabien, hemos identificado varios aspectos clave que queremos que los estados medioambientales puedan tener. Por ejemplo, el posprocesamiento fue la primera característica del motor convertida en un aspecto. El posprocesamiento es un ingrediente común de todos los motores modernos, ya que se utiliza para aplicar varios filtros y efectos, como controlar el contraste, el brillo y la saturación de la imagen final. Ajustar el contraste y el brillo de la imagen de forma dinámica en función de lo que esté sucediendo en el juego puede hacer que la imagen final sea increíblemente más vívida y dinámica, y esto ahora es posible en Overwatch 2 gracias a la tecnología de los "Environment States" (o Estados de entorno, como queramos llamarlo).

El aspecto de niebla es otra herramienta poderosa en nuestro nuevo sistema. Al cambiar sus parámetros, podemos impulsar el aspecto y la sensación de niebla, lo que a su vez permite al equipo de arte hacer que el entorno evolucione visualmente en función del modo de juego, las posiciones de los jugadores o incluso el tiempo. Por ejemplo, podríamos hacer que el mapa sea más espeluznante para Halloween, o hacer que la niebla se espese solo alrededor de un área específica de un mapa, o hacer que una tormenta de arena se acumule con el tiempo en una de nuestras nuevas misiones de héroe. Tenemos varios aspectos que tocan otras propiedades visuales, como las sombras proyectadas por las nubes sobre el mapa, e incluso propiedades no visuales como la potencia y la dirección del viento. Dos de los aspectos más importantes que podemos cambiar son los aspectos del Sol y del cielo. Como sugieren los nombres, estos nos permiten cambiar algunas características clave del medio ambiente, como la posición y el color del Sol, qué nubes estamos usando (si las hay), y si es de día o de noche. Como podéis imaginar, esta es una parte muy poderosa del sistema Estado ambiental porque nos permite cambiar la apariencia del mapa de maneras muy drásticas.

Estos dos aspectos (Sol y cielo) aprovechan una de las áreas más avanzadas del motor: el sistema de iluminación. La iluminación es increíblemente importante para Overwatch 2 porque nos ayuda a establecer la apariencia, la sensación y el estado de ánimo de nuestro entorno. Sin embargo, cualquier cambio en este sistema puede tener implicaciones de memoria y rendimiento, por lo que debemos tener mucho cuidado con lo que permitimos. Afortunadamente para nosotros, tenemos un gran ingeniero en nuestro equipo, Bruce Wilkie, que tiene una amplia experiencia con sistemas de iluminación y puede ayudarnos a crear algo que se vea genial manteniendo nuestro rendimiento en el alto nivel que requiere un shooter competitivo como es Overwatch 2.

Encendiendo las luces

Bruce: Se invierte mucho trabajo y dedicación en las vibrantes y coloridas imágenes de Overwatch. Cada vez que juego una partida en uno de nuestros muchos mapas, recuerdo cuánta atención se presta a los detalles en cada entorno de iluminación. La luz del Sol rebota en las habitaciones, los reflectores iluminan las ruinas y los festivales nocturnos cobran vida con colores. Estos son solo algunos ejemplos de cómo la iluminación juega un papel tan importante en la apariencia de nuestro juego. Al hacer el motor de Overwatch, trabajamos en estrecha colaboración con el equipo de arte para proporcionar las características de iluminación necesarias para llevar el arte conceptual 2D al mundo 3D, y características como la luz que rebota en las superficies (a menudo llamada Iluminación global), o los metales que reflejan el mundo que los rodea, y los objetos en movimiento que se iluminan sin problemas con entornos estáticos. Estas características requieren muchos cálculos, que a menudo consumen mucha más CPU de lo que se puede hacer con las velocidades de cuadro que queríamos que lograse el motor. Para permitir que Overwatch se ejecute a altas velocidades de fotogramas y aún ofrecer estas funciones de iluminación avanzadas, calculamos tanta información de iluminación como pudimos antes de tiempo, empaquetamos el resultado y usamos esos datos en el cliente.

Echemos un vistazo más de cerca a los datos que usamos en Overwatch para habilitar algunas de estas funciones de iluminación. Para las cosas que no se mueven como paredes, pisos y techos, creamos varios datos. El primer dato le dice al motor cuánta luz incide en una superficie y de qué dirección proviene esa luz. Generalmente, estos datos se denominan "mapas de luz" y diferentes motores almacenarán diferentes "sabores" de datos en mapas de luz.

En esta imagen, podéis ver un ejemplo de cómo se generan mapas de luz para las superficies en un mapa. A la izquierda hay una composición final de toda la iluminación. En el centro, solo se representan los gráficos en las superficies. Nuestros artistas utilizan esta vista para asegurarse de que se almacenen suficientes datos de iluminación para que la superficie logre el resultado visual que buscan. A la derecha, este es un ejemplo de cómo el motor empaqueta estos mapas de luz para minimizar la memoria que ocupan.

Cuando preparamos Overwatch, generamos color y dirección para toda la luz que incide en una superficie. Usamos los datos de dirección para variar el color en superficies con baches, y cuanto más mira hacia esa dirección la superficie, más color recibe. Para Overwatch 2 ahora generamos tres direcciones de iluminación, lo que nos permite variar cada uno de los canales de color (rojo, verde y azul) de forma independiente. El resultado de las direcciones adicionales profundiza en la vitalidad de la iluminación ambiental, lo que a su vez aumenta la calidad de la imagen.

Para los objetos estáticos, generamos datos que le dicen al objeto qué parte del entorno circundante es visible. Generalmente, estos datos se denominan "oclusión ambiental". Comenzamos a generar estos datos en varios mapas después de desarrollar en Overwatch los mapas de París y La Habana. Para Overwatch 2, todos los mapas generarán estos datos ahora, lo que aumentará la calidad.

Para las cosas que se mueven, como los personajes, generamos muchas posiciones de muestra en el mundo y codificamos datos de iluminación para cada una de ellas, el mismo tipo de datos que construimos para objetos quietos. Cuando un objeto en movimiento se acerca a uno de estos puntos, el objeto usa esos datos para iluminarse. En Overwatch 2 estamos generando muchas más posiciones de muestra, especialmente en el aire, lo que significa que los objetos en movimiento se verán mejor que nunca.

Si visteis nuestro panel de la BlizzConline, se pudieron vislumbrar mapas con múltiples entornos de iluminación diferentes. Para cada entorno, queremos compartir la mayor cantidad de datos posible para mantener un tamaño de disco de descarga e instalación razonable. La tecnología "Environment State" permite que el motor agrupe varios entornos de iluminación para un mapa, lo que permite que una gran parte de los datos precalculados mencionados anteriormente se compartan entre esos entornos de iluminación. Esto reduce enormemente la marca de datos, lo que significa que nuestros jugadores no tienen que descargar e instalar tantos datos por cada variación. Iluminación de mayor calidad, más variación de iluminación y menos datos, todo gracias a la función Estado del entorno.

Gracias a los "Environment States", Overwatch 2 será más dinámico mientras mejora el flujo de trabajo de nuestros artistas, permitiéndoles crear un mundo colorido para que disfrutéis. ¡Esperad aventuras inmersivas en todo el mundo con entornos cambiantes y efectos visuales impresionantes en Overwatch 2!

Fuente: BLIZZ

Back to top