Overwatch

Les états d’environnement d’Overwatch 2 : découvrez l’envers du décor avec nos ingénieurs

Les états d’environnement d’Overwatch 2 : découvrez l’envers du décor avec nos ingénieurs

Bonjour à tous ! Je m’appelle Marco Alamia et je suis ingénieur logiciel dans l’équipe Overwatch. Nous avons récemment fini de développer une nouvelle technologie pour Overwatch 2, et ce moment nous semblait bien choisi pour vous offrir un aperçu du travail qui se cache derrière la conception d’améliorations pour un moteur de jeu. Pour m’aider dans cette tâche, j’ai sollicité deux autres développeurs de l’équipe : Bruce Wilkie et Fabien Christin.

La nouvelle technologie que nous avons ajoutée au moteur, baptisée « états d’environnement », est rapidement devenue notre outil de prédilection pour la conception et la création de cartes. Bien que cette fonctionnalité ait été développée et perfectionnée avec le moteur et les outils d’Overwatch 2, l’idée de base est venue de Fabien, notre talentueux graphiste chargé de l’éclairage. J’ai demandé à Fabien de nous aider à comprendre comment lui est venue l’idée qui a révolutionné la façon dont l’équipe crée des cartes, et de nous expliquer son processus de conception.

Partons à la découverte des états d’environnement !


La naissance d’une idée

Fabien : Le monde d’Overwatch est lumineux et coloré, et l’identité du jeu se manifeste en grande partie dans ses cartes. Ce sont les concepteurs de niveaux qui posent les fondations d’une nouvelle carte ; ils définissent l’architecture à l’aide de gros blocs gris pour créer un gameplay intéressant et équilibré. À cette étape, le plus important, c’est que la carte soit amusante ! Après de nombreuses heures de test, c’est au tour des graphistes chargés des environnements d’intervenir. Les blocs gris temporaires sont remplacés par des bâtiments soigneusement conçus à la main et des éléments de décor qui donnent vie aux destinations visitées par les joueurs. 

Pour accompagner cet environnement, nous imaginons un éclairage adapté à l’histoire que raconte la carte. Pour Overwatch 2, nous voulions créer des ambiances inédites et prenantes, capables de changer du tout au tout le ressenti d’un lieu. Imaginez que vous visitez Numbani et que vous découvrez la ville futuriste illuminée par un chaleureux crépuscule africain, ou que vous arrivez à Paris, dont les boutiques baignées d’une lumière chaude et dorée semblent vous inviter à déguster un croissant à l’intérieur en attendant que la pluie cesse.

C’est justement à cette fin nous avons conçu les états d’environnement. Avec ce nouveau système, nous avons pu scinder les principales composantes de l’éclairage, du son et des effets spéciaux en éléments indépendants qui peuvent être combinés librement pour créer ce que nous appelons des scénarios d’environnement. Ces derniers peuvent être réutilisés sur plusieurs cartes, et une même carte peut avoir plusieurs scénarios.

Prenons l’exemple de la Nécropole, une carte Combat à mort au rythme effréné. Vous avez certainement déjà visité sa version nocturne, où les tons froids et bleutés contrastent avec la lumière orangée des torches qui illuminent les bâtiments.

Imaginons que nous voulions essayer un autre scénario, et que nous décidions de reprendre les couleurs du désert aride qui entoure le Temple d’Anubis. Grâce à notre nouveau système, il nous suffit de reprendre l’état d’environnement du Temple d’Anubis et de l’appliquer à la carte Nécropole. 

Le résultat est déjà génial ! Cela étant dit, nous pouvons encore l’améliorer en ajustant la direction des rayons du soleil pour générer des ombres plus intéressantes. Pour ce faire, nous créons un nouvel état d’environnement qui ne modifie que la position du soleil, et nous plaçons ce nouveau « bloc » au-dessus de celui provenant du Temple d’Anubis. 

Et voilà le travail !

Grâce à la flexibilité et à la facilité d’utilisation des états d’environnement, il nous suffit de quelques heures pour créer de nouveaux prototypes d’éclairages pour nos cartes. La possibilité de multiplier rapidement les ébauches nous permet d’expérimenter davantage, d’être plus créatifs et d’incorporer plus de variété dans toutes nos cartes.

Mais ce n’est pas tout. Les exemples précédents sont essentiellement visuels, mais les états d’environnement peuvent également être combinés de manière dynamique pour créer de nouvelles expériences de jeu innovantes et prenantes. Imaginez que vous êtes en mission à la Nécropole : vous devez rétablir la connexion d’un satellite d’Overwatch, et alors que vous luttez contre le Secteur zéro, une tempête de sable fonce droit sur vous ! Nous pouvons rendre votre tâche un peu plus ardue en ajoutant un nouvel état d’environnement « tempête de sable » au scénario « ensoleillé », ce qui aura pour effet d’augmenter lentement la couverture nuageuse et la densité des effets de sable.

 

Cette nouvelle technologie nous permet de créer toutes sortes de changements météorologiques, comme des orages, des chutes de neige et d’autres scénarios environnementaux destinés à vous offrir une expérience de jeu unique à chaque partie.

À présent, revenons vers Marco pour en savoir plus sur l’aspect technique des états d’environnement.

Mettre en œuvre les états d’environnement

Marco : La vision de Fabien était ambitieuse, et nous devions donc concevoir un système puissant pour répondre aux besoins d’Overwatch 2 en matière d’environnements. Après mûre réflexion, nous avons décidé de permettre l’existence de plusieurs états d’environnement simultanément, en les ordonnant soigneusement dans une pile. Cette pile peut changer de manière dynamique ; il est possible d’ajouter ou de supprimer un état d’environnement à tout moment. La magie se produit lorsque le moteur analyse la pile et combine tous les états d’environnement pour générer le résultat final. Si vous connaissez Photoshop, c’est comme si l’on fusionnait plusieurs calques pour produire l’image finale.

L’idée, c’est que chaque état peut décrire un aspect de l’environnement lui-même : force du vent, couleur du soleil… Quand cet état est placé sur la pile, seuls les paramètres précisés contribuent au résultat. Par exemple, voici une pile issue du club de Lúcio, à Rio, avec un état d’environnement au sommet de la pile qui altère l’exposition caméra et les dégradés de couleurs :

 

L’état d’environnement à la base de la pile définit tous les paramètres de la carte ; celui du dessus modifie les dégradés de couleurs pour créer une atmosphère sinistre et menaçante rappelant Diablo. Les états d’environnement peuvent être ajoutés et supprimés de manière dynamique pendant la partie, ce qui rend le jeu plus animé et les cartes plus vivantes.

Paramètres

Sous la tutelle de Fabien et de l’équipe artistique, nous avons identifié plusieurs éléments clés que nous voulions pouvoir définir grâce aux états d’environnement. Ainsi, le post-traitement a été la première fonctionnalité du moteur à devenir un paramètre à part entière. Le post-traitement est un composant courant des moteurs modernes ; il applique différents filtres et effets pour ajuster par exemple le contraste, la luminosité et la saturation du rendu final. La possibilité d’ajuster le contraste et la luminosité à la volée, en fonction de ce qu’il se passe en jeu, peut rendre l’image finale bien plus dynamique et vivante, et c’est désormais possible grâce à la technologie des états d’environnement d’Overwatch 2.

Autre outil puissant de notre nouveau système : le paramétrage du brouillard. En modifiant les paramètres de ce dernier, nous pouvons altérer son apparence, ce qui permet à l’équipe artistique de faire évoluer l’environnement visuellement en fonction du mode de jeu, des positions des joueurs, ou même du temps. Nous pouvons par exemple rendre la carte plus effrayante pour Halloween, épaissir le brouillard à un seul endroit de la carte, ou faire apparaître progressivement une tempête de sable dans l’une de nos nouvelles missions de héros.

Certains paramètres modifient d’autres propriétés graphiques, comme les ombres que projettent les nuages sur la carte, d’autres altèrent des éléments non visuels, tels que l’intensité et la direction du vent. Deux paramètres particulièrement importants sur lesquels nous pouvons jouer sont le ciel et le soleil. Comme leurs noms l’indiquent, ceux-ci nous permettent de modifier des aspects essentiels de l’environnement : la position et couleur du soleil, le type de nuages s’il y en a, et s’il fait jour ou nuit. Vous l’aurez deviné, ces outils sont particulièrement puissants, car ils peuvent changer radicalement l’apparence et l’atmosphère d’une carte.

Ces deux paramètres (soleil et ciel) exploitent l’une des facettes les plus avancées de notre moteur : le système d’éclairage. La lumière joue un rôle crucial dans Overwatch 2, car elle nous aide à définir l’apparence, le ton et l’atmosphère de nos environnements.  Toutefois, le moindre changement apporté à ce système peut avoir un impact sur la mémoire et les performances du jeu ; nous devons donc rester très prudents quant aux modifications permises. Heureusement, notre équipe compte un ingénieur de génie, Bruce Wilkie, qui connaît les systèmes d’éclairage sur le bout des doigts et nous aide à créer un résultat esthétique tout en conservant les performances élevées dignes qu’exige un jeu de tir compétitif comme Overwatch 2.

Éclairage

Bruce : Les graphismes lumineux et colorés d’Overwatch sont le fruit d’un travail acharné et passionné. Chaque fois que je joue sur une de nos magnifiques cartes, je repense à toute l’attention qui a été accordée à tous les détails de l’éclairage. La lumière du jour se propage dans les pièces, les projecteurs illuminent les ruines et les festivals nocturnes se parent de couleurs vives, et ce ne sont que quelques exemples du rôle capital que joue l’éclairage dans le ressenti et l’esthétique du jeu. Lorsque nous avons conçu le moteur d’Overwatch, nous avons travaillé en étroite collaboration avec l’équipe artistique afin d’incorporer les fonctionnalités d’éclairage nécessaires pour passer des illustrations conceptuelles en 2D à un monde en 3D : la lumière rebondit sur les surfaces (on parle souvent d’« illumination globale »), les métaux reflètent l’environnement qui les entoure et les objets en mouvement doivent être éclairés de manière cohérente dans des environnements statiques  Ces fonctionnalités nécessitent de nombreux calculs qui exigent souvent plus de puissance de la part du processeur que ce qui est possible par rapport aux taux de rafraîchissement que nous voulons que notre moteur atteigne. Afin qu’Overwatch affiche un taux de rafraîchissement élevé et continue d’employer ces fonctionnalités d’éclairage avancées, nous faisons en sorte de calculer à l’avance un maximum d’informations, nous enregistrons le résultat et ce sont ces données que le jeu utilise. 

Examinons plus en détail les données qu’utilise Overwatch pour exploiter quelques-unes de ces fonctionnalités d’éclairage. Pour les objets immobiles, comme les murs, le sol et le plafond, nous avons assemblé plusieurs groupes de données. Le premier groupe de données indique au moteur quelle quantité de lumière est projetée sur une surface et de quelle direction elle vient. Ces données sont généralement désignées par le terme « lightmap », et selon les moteurs, divers types de données sont stockés dans ces lightmaps.  

 

Dans cette image, vous pouvez voir un exemple de lightmap générée pour les surfaces d’une carte.  À gauche, le résultat composite final pour l’ensemble de l’éclairage.  Au centre, seul un code couleur est appliqué aux surfaces.  Nos artistes utilisent cette vue pour s’assurer qu’assez de données d’éclairage seront enregistrées pour chaque surface, de façon à obtenir le résultat visuel souhaité.  À droite, un exemple de la façon dont le moteur stocke les lighmaps pour réduire la mémoire qu’elles nécessitent.

À la sortie d’Overwatch, le moteur générait des couleurs et des directions pour chaque source de lumière affectant une surface.  Les données de direction nous permettent de faire varier les couleurs sur les surfaces irrégulières : plus une surface fait face à la source lumineuse, plus elle reçoit de couleur. Dans Overwatch 2, nous générons maintenant trois directions d’éclairage, qui nous permettent de faire varier les différents canaux de couleur (rouge, vert et bleu) de façon indépendante. Ces directions supplémentaires donnent plus de profondeur à l’éclairage ambiant, ce qui améliore la qualité de l’image.

Pour les objets immobiles, nous générons des données qui indiquent à l’objet quelle partie de l’environnement qui l’entoure est visible. On parle généralement d’occlusion ambiante. Nous avons commencé à générer ce type de données pour plusieurs cartes sorties après le lancement d’Overwatch, comme Paris et La Havane. Dans Overwatch 2, toutes les cartes emploieront ce type de données, ce qui aura pour effet d’améliorer la qualité des graphismes. 

 

 

Pour les éléments qui se déplacent, comme les personnages, nous générons de nombreuses positions qui nous servent de repères, et nous encodons les données d’éclairage de chacune. Ces données sont du même type que celles des objets immobiles.  Quand un objet en mouvement approche d’un de ces points, il reprend ces données pour générer son propre éclairage. Pour Overwatch 2, nous allons générer encore plus de positions repères, surtout dans les airs, et les objets en mouvement seront plus beaux que jamais.  

 

Si vous avez suivi notre conférence de la BlizzConline, vous avez déjà pu voir un aperçu des différents éclairages de nos cartes. Nous faisons en sorte de mettre en commun un maximum de données pour chaque environnement lumineux, afin que la taille du jeu et l’espace disque requis pour l’installation restent raisonnables. Grâce à la technologie des états d’environnement, le moteur regroupe plusieurs environnements lumineux pour une même carte, ce qui permet à une bonne partie de ces données précalculées d’être mises en commun et exploitées par les environnements ainsi groupés. Cette technique réduit considérablement la quantité de données nécessaires, ce qui la taille du téléchargement et de l’installation pour chaque variante. Des éclairages de haute qualité, davantage de variété et moins de données : tout cela est possible grâce au système des états d’environnement.


Avec les états d’environnement, Overwatch 2 gagne en dynamisme et le travail de nos artistes est simplifié, ce qui leur permet de créer un monde coloré pour votre plus grand plaisir. Préparez-vous à vivre des aventures captivantes aux quatre coins du monde avec des environnements en perpétuel changement et des graphismes somptueux dans Overwatch 2 !

Article suivant

Actualités à la une