GDC 2010 : l’automatisation du son dans Final Fantasy XIII

Le travail sur l’environnement sonore d’un jeu est souvent beaucoup plus discret que la partie visuelle, pourtant il joue un rôle essentiel dans la mise en place de l’ambiance. Avec l’arrivée des consoles pouvant générer des graphismes en haute définition, le besoin d’une partie sonore elle aussi de qualité supérieure est devenu primordial. Alors qu’ils se mettaient à l’oeuvre sur Final Fantasy XIII, Les programmeurs de Square Enix, soucieux de créer un environnement de travail le plus positif possible, ont imaginé un système capable de générer des sons selon l’environnement physique. Ils lui ont donné le nom peu économe de Motion-Controlled Real-Time Automatic Sound Triggering System (en français, système de déclenchement sonore automatique contrôlé en temps réel par les mouvements), salutairement abrévié en MASTS. Deux des créateurs en charge de ce système sont venus en présenter les grandes lignes lors de cette conférence.


Yoshinori Tsuchida et Tomohiro Yajima

Yoshinori Tsuchida est le directeur technique et programmeur audio de FFXIII. Il a travaillé sur Vagrant Story en tant que programmeur et sur FFXII en tant que programmeur en chef des graphismes en temps réel. Tomohiro Yajima, de son côté, est directeur et designer sonore sur FFXIII. Il a participé au design sonore de Vagrant Story, FFXI et XII. Chacun de ces projets a joué un rôle essentiel dans la décision de développer ce nouveau système dans le treizième épisode, comme les deux créateurs l’ont expliqué au cours de leur intervention.

Avant toute chose, ils ont tenu à rappeler pourquoi les effets sonores sont indispensables dans un jeu vidéo. Selon eux, ils permettent d’ajouter de la profondeur à l’ambiance, entretiennent un équilibre entre chaque élément de la partie sonore du jeu, et ont la capacité d’exprimer très subtilement les émotions des personnages. Mais alors que les graphismes deviennent de plus en plus détaillés, le soin apporté au son se trouve lui aussi décuplé, ce qui génère des coûts supérieurs et, surtout, demande un volume de travail absolument gigantesque. Le seul moyen de remédier à ce problème est de commencer par créer un système pouvant automatiser une grande partie des bruitages, et notamment l’un des plus fréquents : les bruits de pas. Il sert de fil conducteur à leur présentation.


2000-2010 : une histoire des bruits de pas

Avant d’entrer dans le vif du sujet, Tomohiro Yajima a tenu à partager son expérience de designer sonore sur ses précédents projets, et ainsi à expliquer comment le concept du MASTS a peu à peu maturé au fil des années, ou plutôt pourquoi il s’est rapidement imposé.

– Vagrant Story (2000)
Pour compenser l’absence de doublages, l’équipe chargée des bruitages a porté un soin tout particulier à l’environnement sonore, aux bruitages dans l’action et aux bruits de pas en les automatisant. Pour les passages les plus détaillés, ils devaient cependant procéder à des ajustements manuels. En fin de compte, Vagrant Story comptait 1568 bruits de pas, plus 1400 pour les cinématiques.

– Final Fantasy XI (2002 à aujourd’hui)
Pour ce jeu d’un genre totalement différent, ils ont préparé un large choix de bruitages pour correspondre à chaque type de terrain, et préparé des algorithmes d’atténuation du son selon la distance. Cependant, à cause du nombre de personnages qu’il est possible de créer dans le jeu, ils ne pouvaient pas se permettre de travailler manuellement chaque bruitage. FFXI compte 1430 bruits de pas, mais les cinématiques n’en proposent presque aucun (environ 100 selon Yajima).

– Final Fantasy XII (2006)
Ils ont appliqué ce qu’ils ont appris avec leurs précédents projets pour automatiser les effets sonores des bruits de pas selon les personnages ou les données géographiques, mais ont dû les insérer manuellement également. C’est là que le système a montré ses limites, car si dans FFXII il y a 954 bruits de pas, les cinématiques en comptent 8000. Comme on peut aisément l’imaginer, c’était beaucoup trop. Il fallait absolument éviter que cela ne se reproduise.


Avant, après

Final Fantasy XIII compte 5200 bruits de pas, mais l’intégralité de ceux que l’on entend lors des cinématiques sont générés automatiquement grâce au MASTS, une véritable révolution pour les programmeurs qui n’ont pas à se soucier des retouches. L’utilité de ce système est devenue primordiale pour éviter une charge de travail trop imposante, comme la gestion des 8000 bruits de pas des cinématiques de FFXII. En effet, assigner manuellement des sons à chaque scène est un travail facile, mais quand il y a des milliers d’occurrences, cela demande énormément de temps. Les trois raisons pour lesquelles les effets sonores devaient être automatisées sont les suivantes.

1. Insérer chaque bruit de pas un par un est un processus extrêmement long.
2. Si un changement est opéré dans une scène déjà enregistrée, il faut revenir sur tous les sons pour les ajuster.
3. L’automatisation favorise l’interactivité.

Les tables d’événement de FFXI et XII et le MASTS de FFXIII permettent d’automatiser les sons : cela nécessite de développer une technologie plus complexe, mais le résultat est une économie de travail au final. Enfin, le concept parfait serait celui d’une gestion des bruitages entièrement basée sur la physique du jeu, mais la technologie est encore hors de portée.


La conception du MASTS

Le concept de base du MASTS consiste à insérer des senseurs gyroscopiques dans chacune des articulations des personnages, puis de baser l’émission des effets sonores sur plusieurs paramètres, notamment la vitesse, la distance et l’origine du son. A partir de cette combinaison de données, le système est capable de déterminer la nature du son. Si l’idée est ingénieuse, la réalisation représentait un véritable défi car il fallait tisser des liens entre plusieurs parties de l’équipe de développement, chose généralement délicate. Les programmeurs devaient donc se spécialiser dans plusieurs domaines et être à même de coordonner leur recherche avec d’autres branches. Cela nécessitait également la mise au point d’outils facilitant le travail.


Le calcul des données et l’outil d’écriture des scripts

Lorsque ce projet ambitieux a été soumis à l’équipe de programmeurs de Yoshinori Tsuchida, la première réaction a été un refus, précisément parce que peu d’entre eux se sentaient capables de surmonter un tel défi. Mais grâce à la persuasion de Yajima, qui mettait notamment en avant l’utilité d’un tel mécanisme pour d’autres jeux, l’idée a finalement été acceptée. Pour bien expliquer le fonctionnement du MASTS, Tsuchida a divisé son emploi en trois grandes parties qui sont : la saisie des données, la détermination des situations et la production des sons. Aussi étonnant que cela puisse paraître, la création des bruitages est en effet la dernière étape de ce processus.

– Saisie des données
La première étape en vue du bon fonctionnement du MASTS est la mise en place du « squelette » de chaque personnage ou créature. Les programmeurs placent une série de capteurs sur les modèles 3D, tout particulièrement aux articulations, pour que le système reconnaisse en temps réel la position de chaque partie du corps dans l’espace. Les capteurs analysent la direction, la vitesse, les angles et les coordonnées, ainsi que les données relatives aux collisions. Cela permet un contrôle absolu sur la localisation spatiale des éléments animés.

– Détermination des situations
Maintenant que le calcul des données physiques est terminé, les programmeurs entrent dans le coeur du MASTS. La question est maintenant celle de la nature du son qui sera généré grâce à ces données automatiques. A partir des situations proposées dans le système de jeu, ils établissent une liste de bruitages types : la marche, la course, le saut, l’accroupissement, le mouvement des bras, le frottement des vêtements, même le battement d’ailes pour certains monstres. Sans oublier les moments où aucun son ne doit être généré.

– Production des sons
Le système de jeu est prêt, les situations déterminées, il est maintenant temps de passer à l’enregistrement des bruitages. En se basant sur la liste des cas établie lors de l’étape précédente, l’équipe sonore catégorise les sons à enregistrer selon le personnage, ses vêtements, son équipement, et selon le type de terrain et de météo. Par exemple, ils doivent prévoir les bruits de pas d’un personnage selon les chaussures qu’il porte, s’il y a de l’herbe ou du métal sur le sol, s’il pleut, etc.

Comme les bruitages enregistrés sont liés à un système de calcul selon l’environnement de jeu, il est possible de les générer automatiquement et en temps réel. Sur le papier, le principe semble parfait, mais il est tout de même soumis à quelques difficultés. Le fonctionnement est naturel avec les personnages humains, qui marchent sur leurs pieds, mais d’autres créatures peuvent poser problème, par exemple celles qui volent ou qui rampent. Il est toujours possible que la situation à l’écran ne corresponde pas à celles établies lors de la deuxième étape décrite ci-dessus, auquel cas les programmeurs n’ont pas d’autre choix que de couper le MASTS et de procéder aux ajustements manuellement.


Les personnages problématiques et l’outil de correction des bugs

Il faut donc une quatrième étape pour corriger tous les bugs relatifs aux manquements du MASTS. Le système simplifie grandement le travail, mais on est encore loin d’une automatisation parfaite. Pour faciliter néanmoins le travail, les programmeurs ont conçu un système permettant de repérer les problèmes, ainsi qu’un mécanisme visant à vérifier le résultat tel qu’il sera présent dans le jeu.


Conclusion et améliorations pour l’avenir

Ces problèmes ne peuvent néanmoins pas masquer le constat très positif du MASTS. Le travail long et fastidieux de correction manuelle des bruitages, qui avait valu à FFXII de battre tous les records lors des cinématiques, a été considérablement réduit. Tsuchida et Yajima évaluent que le temps passé sur les cinématiques a été divisé par trois. Mais l’un des aspects les plus remarquables et que, même si l’enregistrement des bruitages a été réalisé, les programmeurs pouvaient modifier une scène autant qu’ils le voulaient sans avoir à demander à l’équipe sonore de passer derrière eux. A chaque modification, le moteur générait de nouvelles données en temps réel.

Les développeurs ne comptent pas en rester là, puisqu’ils ont d’ores et déjà prévu des améliorations pour la prochaine utilisation du MASTS. Leur objectif est d’enrichir les données d’automatisation en créant des squelettes pour les pièces d’équipement (les armes, notamment) et les véhicules, d’offrir un système d’auto-ajustement des capteurs lors de la création d’un nouveau modèle 3D, et de mettre au point un moteur plus compact pouvant remplacer les tables d’événement. Le rêve de Yajima reste bien sûr d’atteindre le calcul automatique des sons selon la physique du jeu. Peut-être y parviendra-t-il un jour.

Sources : Inside, 4Gamer