Après les clans présentés, voici qu’Andrea Sancio, directeur technique chez Chinese Room nous donne, dans un cinquième journal de développement, un aperçu des coulisses du travail de l’équipe en charge du RPG Vampire : the Masquerade – Bloodlines 2.

Je m’appelle Andrea Sancio et je suis le directeur technique associé sur Vampire: The Masquerade – Bloodlines 2 chez The Chinese Room. Avec Nick Slaven, le directeur technique de notre studio, j’ai eu l’honneur de diriger notre talentueuse équipe pour toute la partie technique du jeu.
Je vais maintenant partager avec vous un aperçu des coulisses du travail de notre équipe sur le jeu, et quand vous y jouerez, nous espérons que vous l’aimerez tous autant que nous.
Dans le monde sans cesser en évolution du jeu vidéo, il faut travailler sans relâche pour rester à la pointe de la technologie. Avec la sortie d’Unreal Engine 5, le paysage a changé du tout au tout, offrant aux développeurs de jeu un éventail de technologies et d’outils révolutionnaires. J’ai voulu me pencher sur nos expériences et nos difficultés avec certaines des technologies expérimentales qu’offre UE5 : Nanite, Virtual Shadow Maps et Lumen. Ces technologies jouent un rôle clé dans la création d’un monde sombre et réaliste, qui s’aligne parfaitement sur la direction artistique néo-noir de notre jeu.
Un jalon important dans notre développement a été le passage d’Unreal 4 à Unreal 5. Le risque était élevé, car on verrouille normalement la version de son moteur de développement plus tôt. Les modifications ont impacté chaque partie du jeu. Toutes nos scènes, l’éclairage et les actifs ont dû être convertis. Toutes les équipes de développement ont communiqué avec nous de manière exceptionnelle pour s’assurer que les nouveaux outils correspondaient exactement à nos besoins pour rendre ce jeu aussi beau que fluide.
Lumen est une nouvelle technologie d’éclairage global en temps réel. Elle apporte un niveau de réalisme à l’éclairage du jeu avec le raytracing pour simuler le trajet de la lumière et sa façon d’interagir avec les surfaces et les matériaux. Il peut simuler un éclairage indirect (rebond) et des reflets. Néanmoins, intégrez Lumen dans nos jeux n’a pas été une mince affaire. Nous assurons d’avoir une performance solide et fluide a été la clé pour obtenir l’éclairage d’ambiance requis pour notre monde. Travailler avec un éclairage et des ombres dynamiques a toujours été un défi. En matière de performance c’était coûteux, placer des lumières est un art et faire se chevaucher des éclairages augmenter exponentiellement la complexité et le coût de rendu d’une scène, car cela nécessite énormément de calculs pour chaque pixel touché par chaque lumière. Normalement, la solution est de « pre-bake » (précalculer) les lumières. Toutes les ombres étaient sauvegardées pour le niveau avant lancement et il était impossible de les changer. Le résultat obtenu était de grande qualité pour un coût minime, mais toutes les lumières et les ombres avaient l’air… dirons-nous… truquées. Il fallait alors inclure d’autres tours de passe-passe comme des sondes de lumière pour afficher cette dernière sur les objets en déplacement dans cet espace.
Lumen nous laisse modifier la couleur, la position et l’intensité de nombreuses lumières qui peuvent changer de manière dynamique. Donc, pour trouver le meilleur moyen d’inclure ces nouvelles lumières, nous avons passé beaucoup de temps à collaborer avec nos artistes. Cela fonctionne en sauvegardant toutes les surfaces touchées par la lumière dans un cache de mémoire. Ce cache est de résolution moindre que les données de sortie. Ainsi, il est bien plus rapide de calculer les effets de l’éclairage. Ensuite, Lumen utilise le Temporal Upsampling, ce qui agrandit la résolution sans perdre en qualité et en détail. Rien de tout ceci ne fonctionne sans Nanite, Cached Virtual Shadows et Temporal Super Resolution, donc nous avons aussi adapté toutes ces technologies !

Virtual Shadow Maps a introduit une modification fondamentale sur la façon de gérer les ombres dans Unreal Engine 5. En découplant la résolution des ombres de celle de l’écran, cette technologie fournit des ombres très nettes avec un surcoût minimal pour la performance. Intégrer Virtual Shadow Maps nous a demandé de repenser nos techniques de projection des ombres et de rendu, mais le résultat a apporté une significative à la qualité visuelle. Ça a été particulièrement crucial pour créer les ombres mystérieuses et profondes, synonymes du genre néo-noir.
Si vous voulez un taux d’affichage élevé, les programmeurs doivent toujours faire des appels nuls. Les appels draw sont des instructions envoyées depuis l’unité centrale de traitement (CPU) à l’unité de traitement graphique (GPU). En simples, voyez un draw call comme une requête pour dessiner des termes ou rendre un ensemble spécifique de graphismes. Chaque appel de tirage contient des informations sur comment peindre une partie de la scène. Cela inclut les textures, l’information sur les ombres et la géométrie (comme les sommets). Néanmoins, accumuler les appels nuls peut ralentir le jeu, car chacun d’entre eux nécessite que le CPU et le GPU communiquent et traitent l’information, ce qui prend un temps précieux quand une image équivaut à une fraction de seconde. Nanite marque un changement drastique sur la manière de gérer la géométrie dans les jeux. Au lieu de s’appuyer sur un niveau de détail traditionnel, Nanite virtualise la géométrie, offrant des actifs détaillés et performants. Avec Nanite, tous les maillages qui utilisent le même matériau sont placés dans ce qui est appelé un « bucket » et sont traités par le même draw call, ce qui réduit fortement leur nombre. Il réduit la complexité de la création d’actifs, mais ouvre également la porte à des environnements photoréalistes qui étaient impossibles à créer avant. Nous pouvons désormais avoir une architecture complexe et des environnements très détaillés dans nos scènes.


Faire la chasse aux bugs, optimiser notre code, et l’environnement du monde est devenu de plus en plus complexe. Et nous étions très conscients de la nécessité de rester à jour des améliorations fréquentes du moteur. Ces mises à jour étaient essentielles pour intégrer des corrections cruciales et des améliorations de performance. C’est un processus que de nombreux studios préfèrent éviter, car de telles transitions se produisent rarement sans engendrer un coût. Du fait d’une documentation limitée et de la rareté d’individus expérimentés à consulter, nous avons dû procéder à beaucoup de recherches, de discussions avec Epic, de tâtonnements.
C’est peut-être gnangnan de dire ça, mais avec tout ce travail, cela a soudé encore plus notre équipe, car nous devions échanger constamment. Le résultat en valait la peine, car notre équipe artistique s’en est servi pour donner vie à la direction néo-noir que nous recherchons. Et parce que les jeux sont créés avec des outils et des technologies développés au cours des jeux précédents, les prochains jeux de The Chinese Room bénéficieront également de ce travail acharné. Tout le monde a assuré pour utiliser au mieux les nouveaux processus de travail. Personnellement, après de nombreuses années sur des projets présentant des approches similaires, cette évolution a été passionnante et rafraîchissante !
Votre expérience du jeu devrait être fluide. Dans un sens, moins vous pensez au côté technique en jouant, plus sur une réussite de notre travail. Porter ce projet déjà complexe à bien des niveaux nous a rendus fiers de nos parcours, et nous a permis de lui donner une chance de révolutionner le champ de la fidélité visuelle.
Prochainement
Après les fêtes de fin d’année, nous reviendrons en janvier avec plus de carnets de développement et une longue révélation de gameplay de Vampire : The Masquerade – Bloodlines 2.

