Aperçu technique de Ghost of Yōtei

0 0
Aperçu technique de Ghost of Yōtei

Sucker Punch vous propose de découvrir les technologies qui ont permis de donner vie au périple captivant d'Atsu.

Ghost of Yōtei est le résultat d’un travail acharné et passionné de Sucker Punch, et nous sommes ravis que des joueurs du monde entier puissent le découvrir. Maintenant que vous avez pu tester le jeu, nous pensons que c’est le moment idéal pour parler un peu des technologies qui nous ont aidées à le créer.

En partant ce que nous avions accompli avec Ghost of Tsushima, nous souhaitions que Ghost of Yōtei mette l’accent sur le sentiment de liberté dans un environnement sauvage. Pour cela, nous devions trouver des façons moins intrusives de guider les joueurs, créer de sublimes paysages plus dégagés, un système de combat plus flexible, des personnages mémorables et hauts en couleur, ainsi qu’une histoire émouvante. Accomplir tout cela en gardant une bonne fréquence d’image, ça a été un vrai défi.

Découvrons donc quelques aspects des technologies que nous avons utilisées pour créer Ghost of Yōtei !

L’exploration d’un monde sauvage

Lorsque nous cherchions comment donner vie à notre vision d’une exploration libre, nous avons déterminé que le plus efficace serait de plonger les joueurs dans de vastes paysages dégagés afin d’éveiller leur curiosité. D’un point de vue technique, nous devions donc leur permettre d’observer des paysages encore plus lointains, ce qui nécessite un rendu de meilleure qualité pour l’herbe, les terrains et les montagnes éloignées.

Nous avons amélioré l’apparence des montagnes en arrière-plan en transformant leur modèle et les détails du terrain en des textures prérendues plus détaillées que nous pouvions ensuite afficher. Nous avons également doublé la quantité d’herbe et d’objets que notre moteur de rendu pour carte graphique pouvait produire. Dans cette capture d’écran, les montagnes en arrière-plan, avec plus d’un million d’arbres, rochers et buissons, ont été transformées en environ soixante mille éléments que nous utilisons ensuite pour générer nos G-buffers afin de produire l’image finale.


Nous utilisons des techniques de création procédurale assistée et comptons également beaucoup sur la puissance de calcul de la carte graphique afin de traiter efficacement ces éléments sans utiliser le processeur. Cela implique plusieurs séquences de calcul afin d’effectuer une élimination des objets cachés, une allocation de mémoire et d’enregistrer les paramètres d’éclairage afin qu’on puisse lire ces informations sur le processeur et les inclure dans la liste de commandes finale pour l’image. Voici une animation d’un plan similaire où toutes les formes géométriques créées par la carte graphique se mettent en place afin de vous donner une idée de l’ampleur de la tâche. Nous utilisons également ces techniques pour des données générées en temps réel, comme nos vastes champs de fleurs et parfois même des éléments comme des cordes et des chaînes.


Afin de donner à chaque zone de ce monde quelque chose d’unique, nous avons créé des systèmes d’interaction qui mettent en avant les thèmes de chacune d’entre elles. La plupart des zones contiennent de l’herbe et de petites plantes et, en plus de la déformation causée par le vent ou le personnage, nous avons ajouté un système qui transforme les coups des armes en une « mémoire tampon de découpe ». Cette mémoire tampon est ensuite réutilisée afin de créer des particules de la forme découpée. Cela permet à Atsu de couper l’herbe et la plupart des fleurs et petites plantes du jeu.

Hokkaido subit l’un des hivers les plus extrêmes du Japon, nous voulions donc représenter les interactions des personnages avec une neige profonde. Pour cela, nous avons créé un système de pavage du terrain qui augmente la quantité de détails pouvant être apportée au terrain, mais également de ce qui peut être déformé en temps réel. Des particules et formes géométriques sont ainsi affichées dans une mémoire tampon de déplacement à mesure que les personnages marchent, roulent et combattent dans la neige. Ce système était assez flexible pour que nous puissions également l’utiliser afin de permettre aux personnages de faire tomber la neige des arbres et buissons, ce qui crée des particules de neige. Lorsque nous combinons tout cela avec un nouvel effet d’éclat de la neige créé en utilisant le bruit de l’espace écran, nous obtenons ce genre de résultat :

Les imposantes montagnes comme le mont Yōtei sont souvent entourées de nuages, nous avons donc dû trouver un moyen de produire des nuages qui recouvriraient les formes géométriques qui composent ce monde, ce qui n’était pas possible avec le moteur de Ghost of Tsushima. Nous voulions également donner l’impression d’un temps orageux ou changeant en augmentant la vitesse de déplacement des nuages. Pour permettre aux nuages de se déplacer plus rapidement sans artefacts, nous enregistrons la profondeur moyenne visible de chaque texel dans la carte nuageuse (mesurée à partir de la caméra), ce qui nous permet d’utiliser des techniques de parallax mapping tout en déplaçant chaque image des nuages. (Pour les nuages, nous combinons trois images au lieu de deux, ce qui crée un mouvement encore plus fluide.) En enregistrant également la profondeur moyenne visible de chaque partie du quadrillage de la carte nuageuse, nous sommes en mesure de reconstruire une distribution statistique de l’opacité des nuages pour chaque rayon de soleil, ce qui nous permet de calculer à quel point les nuages devraient obscurcir des éléments du monde tels que les montagnes.

Nous nous sommes beaucoup concentrés sur la brume et la dispersion atmosphérique lors de la conception du style artistique de Ghost of Tsushima, et nous voulions améliorer ces aspects dans Ghost of Yōtei en permettant la création de brumes plus localisées. Ces systèmes sont calculés en utilisant les instructions en virgule flottante de la carte graphique 16 bits de la PS5. Grâce à nos améliorations liées aux nuages, nous pouvons créer une carte d’éclairage en lien avec l’obscurcissement provoqué par les nuages afin d’avoir des rayons crépusculaires qui seront visibles au travers de notre brume volumétrique, même lorsqu’ils sont loin de la caméra. Les artistes peuvent également placer des « cibles à rayons crépusculaires » afin qu’elles soient plus souvent éclairées par un trou dans les nuages.

Personnages et mouvements

L’un de nos principaux objectifs était de donner vie au monde de Ghost of Yōtei. Nous voulions que tous les éléments à l’écran puissent être affectés par le vent, y compris les vêtements des personnages, les ornements des armes ou encore les divers tissus suspendus dans les repaires. Lorsque vous effectuez des roulades ou que vous combattez des ennemis, il faut que cela projette de la poussière et des feuilles et que vos habits deviennent pleins de boue et de sang, afin de vous plonger complètement au cœur de cet univers.

Les tenues complexes d’Atsu sont capables de se mouvoir de façon réaliste grâce à la toute nouvelle prise en charge des multiples couches de vêtements incluse dans notre système de calcul haute performance de la carte graphique pour les tissus. En plus de l’ajout de la prise en charge des multiples couches de vêtements simulées (comme présenté ci-dessous), nous avons également rendu possibles les collisions entre les tissus et utilisons un ensemble d’heuristiques soigneusement calibrées pour simuler efficacement un grand nombre de simulations de tissus à la fois. Voici un exemple d’Atsu dans l’une de ses tenues les plus complexes et entourée de tissus en mouvement.

Les particules de carte graphique sont devenues l’une des spécialités de Sucker Punch depuis Infamous Second Son. Dans Ghost of Yōtei, nous continuons à améliorer nos compétences en la matière, en permettant notamment aux particules d’utiliser les textures du sol, la déformation et l’écoulement de l’eau. Par exemple, cette image montre des particules en train de tomber dans une rivière avant d’être emportées par le courant.

Le personnage peut certes affecter le monde qui l’entoure, mais l’immersion ne serait pas complète si le monde ne pouvait pas répliquer. Pour cela, nous ajoutons des informations dans une grille directionnelle qui épouse le modèle du personnage et que nous utilisons ensuite pour ajouter des effets de texture afin de rendre le personnage mouillé, ensanglanté, boueux ou recouvert de neige.


Nous tirons également parti de notre système de particules afin de permettre aux joueurs d’explorer le passé de la famille d’Atsu. Pour basculer entre le passé et le présent, nous modifions le squelette et la géométrie d’Atsu tout en gardant une cohérence quant à son état et ses animations. Des éléments de l’arrière-plan et de l’éclairage sont également changés instantanément grâce à la vitesse du SSD et un peu de prélecture de données bien précises. Tout cela s’effectue derrière un rideau de particules animées qui utilisent une copie de la dernière image précédant la transition dans la mémoire tampon.

Ray-tracing et améliorations de la PS5 Pro

En tant que jeu créé pour la PS5, nous savions qu’il fallait améliorer la qualité de l’image en tirant parti des nouvelles technologies de la plateforme. Avec la sortie de la PS5 Pro, nous souhaitions pousser le développement dans une direction qui nous serait favorable pour de futurs jeux. Grâce au soutien sans faille des équipes technologiques de PlayStation, nous nous sommes concentrés sur deux éléments : le ray-tracing et le suréchantillonnage de l’image avec le PSSR.

Puisque Ghost of Yōtei se déroule dans les paysages sauvages d’Hokkaido au 17e siècle, il y a peu de surfaces réfléchissantes qui pourraient produire des reflets en ray-tracing. À la place, nous avons décidé d’utiliser le ray-tracing pour améliorer le réalisme de notre système d’illumination globale. Nous avons approché cela de deux façons : premièrement grâce à un système d’éclairage prérendu plus automatisé que nous pouvons ensuite augmenter avec une illumination globale en ray-tracing de courte portée. Cela a nécessité de nombreux changements quant au format de transfert des maillages, ce qui nous permet de décompresser de manière dynamique les systèmes d’accélération utilisés pour le ray-tracing. En utilisant le ray-tracing plus performant de la PS5 Pro, les joueurs peuvent activer l’illumination globale en ray-tracing tout en visant les 60 images par seconde sur les consoles Pro.

Pour Ghost of Yōtei, nous avons opté pour un algorithme de résolution dynamique plus général, avec du suréchantillonnage, en partie afin de pouvoir utiliser pleinement le PSSR. Le PSSR nous convient parfaitement et nous n’avons que quelques petits changements à effectuer, comme l’utilisation de la rastérisation conservatrice pour les petites particules. En comparaison, notre algorithme de suréchantillonnage standard nécessite bien plus d’indications et de directives afin d’obtenir de bons résultats. Voici un comparatif des deux. Si vous zoomez (16x avant la compression en gif), vous pouvez voir que le PSSR reconstruit mieux les détails subtils de l’architecture et du feuillage. Le PSSR est également plus stable vis-à-vis des éléments en mouvement.

Vitesse de chargement

Pendant très longtemps, Sucker Punch était fier de pouvoir offrir aux joueurs une expérience de jeu avec de faibles temps de chargement. Nous avons continué cette tradition dans Ghost of Yōtei en redoublant d’efforts afin de proposer des temps de chargement encore plus courts.

Nous optimisons les temps de chargement en prétraitant les données afin que seulement quelques lectures du SSD et quelques opérations de correction soient nécessaires par zone afin de charger les données en lien avec le gameplay. Nous calculons et chargeons ensuite uniquement les textures en MIP map et le maillage requis par le niveau de détail afin d’afficher la première image, avec seulement une lecture par élément. Voici à quoi ressemble un chargement sans écran noir lorsque vous allez du sud au nord de la carte. (Veuillez noter que ce processus est plus lent qu’il ne devrait l’être, car toute la carte du jeu n’est généralement pas rendue en permanence.)

Pendant la phase de développement, nous avons recours à un « autoéquipement » de ces systèmes plutôt que d’utiliser un modèle de chargement différent pour tester les différentes versions du jeu. L’autoéquipement consiste à tester les produits que nous créons afin d’améliorer leur qualité.

Conclusion

Ce n’est qu’un petit aperçu des techniques et technologies utilisées chez Sucker Punch. Faire un jeu ne se résume pas qu’à cela : c’est un effort collectif où les équipes techniques et artistiques travaillent main dans la main.

Lorsque nous avons débuté ce projet il y a cinq ans, notre but était de créer un jeu avec un monde dans lequel les joueurs adoreront s’immerger. Un grand nombre de nos décisions techniques ont été prises pour respecter l’histoire au cœur de Ghost of Yōtei, celle d’une guerrière nomade qui affronte son passé. Nous sommes ravis de voir cette vision prendre vie à mesure que les joueurs partagent leurs expériences ainsi que d’incroyables captures d’écran et vidéos prises avec le mode Photo.

Nous sommes vraiment fiers du résultat de notre travail et espérons que tout le monde appréciera ce voyage dans les contrées sauvages de Ghost of Yōtei.

Si vous souhaitez en savoir plus sur les technologies et le processus de développement de Sucker Punch, consultez nos anciennes présentations à des conférences comme le GDC et le SIGGRAPH. Nous prévoyons de partager encore plus d’informations en 2026.

Un grand merci à Jasmin Patry, Doug Davis et Eric Wohllaib, qui m’ont aidé à éditer et préparer le contenu de cette publication, ainsi qu’à tous les membres de Sucker Punch dont je présente ici le travail.

Rejoindre la conversation

Ajouter un commentaire

Mais restez courtois(e) !

Veuillez être aimable, bienveillant et constructif. Signalez les commentaires inappropriés à PlayStationBlogModeration@sony.com

Laisser un commentaire

Veuillez saisir votre date de naissance.

Date of birth fields