L'équipe en charge du code audio pour Star Citizen a développé un outil d'implémentation nommé Claudius, qui permet au sound designers de donner vie aux sons du 'Verse de manière contextuelle, en se basant sur les données en temps réel prises dans le jeu.
Principes de l'évolution
Par le passé, l'équipe devait utiliser les outils présents sur le marchés. Ceux-ci n'étaient pas toujours adaptés et pouvaient demander beaucoup de temps d'adaptation et de correction et le fait de régulièrement devoir passer d'un outil à un autre rendait certaines tâches laborieuses. Ce postulat de départ les a amenés à créer leur propre outil.
Claudius
Claudius est un outil de logique en visual scripting (utilisation de blocs visuels en lieu et place du code à écrire) utilisable en post-production. Cet outil permet aux designer d'implémenter leurs sons en toute fin de projet, lorsque tous les éléments sont présents dans le moteur. Le code de Claudius n'héberge aucune donnée, tout est récupéré en temps réel depuis le moteur, et le nombre de données accessibles est très grand. Cette méthode permet très simplement:
- De récupérer une donnée du jeu. exemple: vitesse, accélération, poids, pression atmosphérique, nombre de balles dans un chargeur...
- D'appliquer un certain nombre de transformations à ces données exemple: les multiplier entre elles, les additionner, les combiner, etc
- Et enfin, d'appliquer un son en fonction de tous ces éléments préalables.
On comprend donc que la variété de sons différents selon la situation devient extrêmement grande. L'exemple pris ici est que les développeurs peuvent s'ils les souhaitent jouer un son différent pour chaque balle manquante dans le chargeur. Et plus sérieusement, avoir accès aussi simplement à des données telles que la pression atmosphérique ou la température facilite vraiment leur travail.
Un des nombreux avantages vient également du fait que n'importe quel problème rencontré peut désormais être corrigé par les équipes de CIG.
Mixage
Claudius permet également de simplifier le mixage dans les zones denses en sons. La limite maximale de sons dans une scène est modifiable, et les sons mutés sont agrégés en une unique source sonore produisant une moyenne des sons ainsi supprimés. La scène ne joue alors qu'un faible nombre de sources sans pour autant complètement ignorer les plus distantes, ce qui permet d'avoir un mixage beaucoup plus sain et compréhensible.
Exemple:
- La scène contient 20 arbres (sources sonores)
- Le développeur limite le nombre de sources actives à 5 via Claudius
- Les 5 arbres les plus proches jouent chacun un son de vent dans les feuilles
- Les 15 restants sont agrégées en une seule ambiance sonore de forêt.
- Au final, seulement 6 sources sonores indépendantes sont jouées et l'on peut identifier les sources proches sans ignorer les plus lointaines.
Divers avantages
- L'idée de l'équipe est de sonoriser un maximum d'objets. Si le joueur porte une montre il doit l'entendre cliqueter quand il saute. Cela est facile grâce à Claudius.
- Claudius permet d’anticiper les problèmes, et de mieux les corriger quand ils apparaissent.
- Dans le futur l'équipe souhaite que tous les scénarios deviennent procéduraux, basés sur la logique de Claudius.
- Le temps réel permet d'adapter le sound design à la taille de Star Citizen grâce au rapport de cause à effet apporté par Claudius
- L'éditeur est accessible en simultané entre différents développeurs. Si l'un bouge un bloc dans un projet, un autre développeur sur le même projet verra le bloc bouger en temps réel, cela fluidifie le travail.
- Claudius a permis de rendre indépendant les processus audio, et donc de mieux optimiser l'utilisation des ressources par l'audio.