Aller au contenu

Avancement Audio de Star Citizen


LooPing

Recommended Posts

  • Le Proprio
Bonjour tout le monde !
 
Nous sommes heureux de vous présenter la première version de Wwise audio pour Star Citizen. Passer à Wwise nous permet d’être prêts à gérer convenablement l’immense portée de notre jeu.
 
Nous avons passé plusieurs mois tout d’abord à migrer le contenu de notre ancien logiciel, puis reconstruit et redéveloppé la manière dont l’audio était implémenté dans CryEngine. Nous avons mentionné des listes de fonctionnalités dans de précédents rapports, mais ici, je vais vous parler de certains points clef qui nous importent vraiment. (Attention, cette liste ne traite pas uniquement des fonctionnalités glamour et il y aura des termes comme “pipeline”, “workflow” et “itération” dedans !)
 
Réduire l’interdépendance entre les sound designers et les développeurs est sans doute notre première grosse victoire. Nous avons toujours besoin de programmeurs pour intégrer nos sons au jeu, bien entendu, mais il y a beaucoup de choses qu’on peut désormais directement faire dans Wwise sans avoir à passer par du code relativement compliqué.
 
Au sein de Wwise on peut :
  • Concevoir des structures sonores, re-séquencer et remanier les couches de sons pour faire des variations à l’infini.
  • Puis utiliser des outils de simulation pour voir en prototype comment les sons se comporteront en jeu.
  • Intégrer ces sons dans une banque compatible avec le jeu, définir s’ils doivent être lus depuis le disque ou mis dans la RAM etc.
  • Mettre en place les déclenchements d’évènements qui correspondent aux triggers et aux paramètres du CryEngine.
  • Une fois mis en place, on peut se connecter et faire du profilage du jeu en lui-même, et ainsi monitorer comment l’audio se comporte, vérifier les bugs ou des pics de performances. Puis mixer, modifier des propriétés sonores, le tout en temps réel.
  • Tout ça peut sans doute paraître un peu bateau, mais plus nous rendons ce pipeline stable, plus nous avons de temps à consacrer aux choses excitantes ; comme faire des supers sons, faire des versions différentes, et au final se concentrer d’avantage à l’assemblage de tout l’environnement sonore.
Pour un jeu de l’importance de Star Citizen, particulièrement comme nous nous rapprochons de la mise en ligne du monde ouvert, c’est vraiment important. Cette techno de base est le fondement de tout ce que nous faisons et nous ne pouvons pas nous occuper des fonctions plus funky tant que nous ne sommes pas à 100% contents de cette intégration.
 
Quelques screenshots du Profiler, l’éditeur de position et notre interface de mixage. Wwise est très gris… Mais on s’y fait. 
Une grande partie de tout ça est de base dans notre cher ami Wwise. Avec des outils comme ceux-là, en plus de migrer nos anciens sons, nous avons déjà commencé à en préparer des tonnes de nouveaux, pour des modules comme le FPS ou pour l’univers persistant, le tout directement dans Wwise. Un grand nombre de ces effets sonores serviront pour Squadron 42 et l’univers étendu.
 
Avec la récurrence des releases, nous devons pouvoir être sûr de notre mix alors que nous travaillons encore dessus. Pour finir, Stefan a mis en place ce qui s’appelle une session Soundcaster -en gros une palette d’évènement qu’on peut déclencher- qui est notre point de référence pour l’intensité sonore de tous les type de sons en jeu.
 

Capture1.jpg

 

A partir de ça, nous pouvons déterminer à quel point les armes seront bruyantes et à quel point les ambiances seront faibles par rapport ces dernières. Avoir à se référer à ce soundcaster peut paraître trivial, mais l’avoir sous la main, avoir une vue d’ensemble du projet à n’importe quel moment, sans avoir à lancer le jeu en lui-même, permet de s’assurer que nous travaillons tous avec le même niveau de référence ; une chose de moins à s’inquiéter et un pas de plus vers une meilleure qualité vidéoludique.
 

Capture2.jpg

 

Voilà quelques mots d’autres membres de l’équipe sur l’apport de Wwise et quelques exemples de Wwise en action !

 

https://player.vimeo.com/video/134431816

 

Graham Phillipson, programmeur audio
 
D’un point de vue code, Wwise nous permet de déclencher des évènements qui sont bien plus puissants que simplement “joue un son” ou “arrête un son”. Ça veut dire que dans la plupart des cas, nous pouvons ajouter un simple déclencheur audio dans le jeu et les sound designers peuvent utiliser celui-ci pour lancer des évènements audio complexes qui activent/désactivent des sons, faire des modifications du mixage, et modifier les états en fonction des switchs et des paramètres. C’est aussi très bien pour profiler et débugger ; quand nous nous connectons au jeu, nous pouvons voir des graphiques sur le nombre d’éléments, l’utilisation processeur, le nombre d’élément lus, la bande passante, la mémoire utilisée ou l’arborescence du mixage. Les fonctions “solo” et “muet” sont aussi des outils de debugging utiles. Le visualiseur d’objet 3D permet d’avoir une bonne représentation de quel son est en train de jouer dans la scène sans toutes ces saletés de graphismes qui bloquent la vue.
 
 
Luke Hatton, sound designer senior
 
Faisant partie de l’équipe depuis juillet dernier, époque où nous utilisions encore notre ancien logiciel, c’est vraiment super d’être finalement arrivé à nous poser sur Wwise avec tout notre contenu audio migré. Rien qu’ entendre à nouveau Betty dans le cockpit ou percevoir le cliquetis des parties mécaniques se déployant du vaisseau, depuis le nouveau moteur audio du jeu a été très gratifiant. Pour nous qui travaillons en interne, le début du processus de conversion à Wwise impliquait il y a plusieurs mois de repartir à zéro avec aucun son dans notre compilation, et de peu à peu en restaurer la partir sonore. Qu’est-ce que ça fait du bien d’être à ce nouveau départ à partir duquel, j’en suis sûr, le son va se dérouler d’une manière bien plus fluide que jamais auparavant !
 
Ma plus grande victoire, c’est que nous avons maintenant un outil propre, en ordre et facile à maintenir pour toutes nos ressources audio et toutes nos opérations en temps réel. Ce que je veux dire c’est que chaque son peut être renommé, réassigné à un bus, catégorisé, et que ça n’impliquera pas les déclencheurs que nous avons en jeu. Ca veut dire que nous pouvons structurer nos données d’une certaine manière, changer d’idée pour je ne sais quelle raison et ça n’impliquera que peu de travail pour tout refaire. Grâce à ça, nous pouvons produire du contenu audio d’une manière beaucoup plus systémique qu’avant, nous créons désormais un système stable qui répond à la majeure partie des scénarios plutôt que de construire une entité sonore pour chaque script ou animation.
 
La mise en place de Wwise est également représentative d’une équipe audio plus grande et plus rationnelle comparée à l’année précédente. Avec autant de sound designers et d’éléments qui sont ajoutés chaque jour, notre nouvelle convention de nommage, et nos workflows nous permettent plus facilement de prendre des décisions, que nous pouvons filtrer directement dans un niveau du jeu. Si un élément est mis dans le projet Wwise et qu’il est incongru, ou qu’il n’est pas clair, il nous suffit d’une petite discussion et de le changer.C’est plus simple de communiquer entre nous, maintenant que nous pouvons vérifier le travail de chacun ou de nouveaux sons très facilement.
 
(Tout ce récap. me rappelle que je dois vraiment changer notre paramètre “RPM” des propulseurs en “Thrust”. On utilise actuellement un paramètre “RPM” dans Wwise (le même nom qu’on utilisait dans FMOD) pour gérer les sons des propulseurs, mais on a besoin de quelque chose qui ait plus de sens. Nos propulseurs n’ont pas de “tour par minute”. Et maintenant, c’est facile à faire !)
 
 
Matteo Cerquone, sound designer junior
 
J’ai eu la chance de rejoindre l’équipe audio de CIG après la transition de FMDO à Wwise, j’ai échappé à la première étape de conversion des ressources vers le nouveau moteur audio et j’ai, du coup, eu plus de liberté au niveau de l’implémentation audio.
 
Travailler avec Wwise est une super expérience car il nous permet de manipuler, modifier et mixer l’audio en temps réel en fonction de ce qui se passe en jeu.
 
Je suis actuellement en train de travailler sur le sound design des missiles, et implémenter ces éléments en jeu dans Wwise m’a permis d’ajouter des variations en fonction de la distance et de la vitesse : chaque missile, une fois lancé, a trois différentes boucles qui correspondent à la distance de l’objet vis à vis de l’auditeur, la première boucle est composée d’une couche de son de fusée et de différentes caractéristiques qui définissent le type et la marque du missile (dans la plupart des cas il s’agit d’un son de bip singulier), la seconde est un son de missile un peu plus éloigné, et la dernière un son de missile lointain.
 
Dans Wwise, on peut mélanger ces 3 couches et ajouter des paramètres en temps-réel, tels que le volume ou l’effet Doppler en fonction de la distance de l’objet vis à vis du joueur. Lorsqu’on est pris en chasse par un missile, on peut maintenant distinctivement entendre à quelle distance il se trouve (passant d’une boucle à l’autre, ajustant leurs volumes, les filtres passe haut, etc…) et la vitesse à laquelle il s’approche de nous (grâce à l’effet Doppler), et enfin, si un missile est assez proche, vous pourrez entendre la marque et le type de missile avant qu’il vous touche (ou que vous l’évitiez si vous avez de la chance).
 
Une démarche similaire a été utilisée pour les explosions de ces missiles. Nous avons créé des sons d’explosions différents en fonction du type et de la marque du missile. Si le missile a touché ou a été esquivé et si cela s’est passé proche ou loin du joueur. Encore une fois, Wwise nous donne les outils pour ne pas seulement activer le bon son, mais d’en mélanger différents et de créer des variations (si vous êtes assez proches, vous entendrez également les bruits de débris du vaisseau touché).
 
Une autre super aide est la possibilité d’avoir un mixage plus propre. Lorsque je travaillais sur les sons des propulseurs principaux pour certains vaisseaux, je voulais baisser le son du moteur principal lorsque l’overdrive était activé. Avec Wwise, j’ai pu utiliser une mesure qui contrôlait le volume du moteur principal en fonction du niveau sonore de l’overdrive (en side-chain), du coup, à chaque fois que l’overdrive est activé maintenant, le son du moteur principal baisse automatiquement.
 
 
Darren Lambourne, sound designer senior
 
Wwise est un outil très inspirant et qui offre une grande liberté. Avoir la possibilité de passer rapidement d’un concept, d’une idée, à quelque chose de fonctionnel dans le moteur du jeu est crucial pour capter cette inspiration initiale.
 
Les diagnostiques sont quasi instantanés, nous permettant d’aller au coeur du problème rapidement et de le corriger, plutôt que de faire une rustine pour masquer le souci. C’est important dans un projet de cette envergure, il y a déjà un nombre ahurissant de systèmes audio dans l’univers et ce nombre augmente chaque jour. Nous essayons de créer quelque chose de vraiment spécial pour l’audio de Star Citizen. Avoir une visibilité sur le projet dans son ensemble et cibler les choses qui posent problème, qui peuvent impacter la fidélité ou la fluidité de nos systèmes audio est absolument essentiel pour nous assurer que nous retirons les choses mauvaises et mettons l’emphase sur les bonnes.
 
 
Jason Cobb, sound designer senior
 
De mon point de vue, la conversion du moteur audio de FMOD à Wwise a été un processus d’un an qui a commencé par l’envie d’un rapide changement et qui s’est terminé seulement après un immensément long processus de modifications aussi énormes les unes que les autres.
 
Du point de vue du contenu audio, le plus tôt et le plus vite nous faisions la conversions, le moins de contenu FMOD et leur implémentation devaient être refaits. Ça avait l’air d’être une décision sans conteste, mais malheureusement, ça n’a pas été une mince affaire, avec tout le monde concentré sur les versions suivantes ou les démos à produire cette année là.
 
En mai 2014, nous avons examiné l’intégration de Wwise dans le CryEngine qu’avait fait une société externe. C’était avant que Crytek ne sorte une version officielle de l’intégration de Wwise et nous n’avions que peu de détails à ce sujet, ni même une estimation de la disponibilité compte tenu de leur situation financière à cette période. A un moment, nous pensions qu’il y aurait moyen de faire une intégration rapide et efficace de Wwise et qu’il y aurait peu de changements à faire dans nos données.
 
En choisissant l’option de l’intégration Wwise par Crytek, nous minimisions la quantité de différences entre le moteur de Star Citizen et le SDK. Mais d’un point de vue audio, ça impliquait qu’une plus grande partie du contenu soit crée et intégrée dans FMOD, ce qui rendait le travail d’implémentation et de conversion depuis FMOD encore plus long et difficile.
 
Il a fallu attendre fin septembre 2014, date à laquelle nous avons commencé à utiliser l’intégration de Wwise au CryEngine. Au lieu de remplacer les appels à FMOD en appels à Wwise dans le code, comme tous les autres exemples d’intégration que nous avions vu, leur version convertissait tous les appels audio vers un nouveau “Audio Translation Layer” (NdT : Couche de traduction audio ou ATL), comme surcouche abstraite pour permettre à différents moteurs audio de s’intégrer au moteur – une super fonctionnalité si vous vendez un moteur de jeu qui a besoin de beaucoup d’options pour une variété de clients, peut-être même un peu plus que ce dont nous avions besoin pour Star Citizen à l’époque. Ceci étant, c’était bien d’avoir ces options et nous avons depuis eu un usage plus approfondi de cette couche de traduction / abstraction audio pour y stocker les metadata des évènements.
 
Malheureusement, de par son existence, cette couche d’abstraction et ses fichiers de données associés ont créé une nouvelle étape dans le chemin audio. Une étape qui a demandé aux sound designers de prendre le travail qu’ils venaient de faire dans le “designer tool” (NdT : mode d’affichage de Wwise qui permet la création des paramètres et des interactions entre les sons et les évènements du jeu) de Wwise et de manuellement créer tous les objets de tous les évènements, paramètres, switches, états et banques enregistrées dans l’ATL et gérés dans le navigateur des contrôleurs audio. Les premiers jours de ce processus ont été primitifs, et lents, et très différents de la fluidité d’utilisation de Wwise rencontrée dans n’importe quel autre moteur de jeu sur lequel j’ai pu travailler avant. Pour cette raison, j’ai décidé de coder une petite application qui allait simplement créer automatiquement les fichiers nécessaires à l’ATL lorsque nous exportions les banques de sons depuis le designer tool de Wwise. Les sound designers n’auraient ainsi plus d’étape supplémentaire à faire lorsqu’ils créeront et modifierons ces fichiers ATL, à part s’assurer qu’ils sont bien cochés lorsqu’ils font une mise à jour. On peut donc immédiatement utiliser nos sons dans le moteur du jeu à partir du moment où on a créé une banque de sons.
 
Pendant toute l’année, l’équipe audio travaillait toujours sur FMOD pour la série de release et démos, avec plein de nouveaux contenus et sons. La branche d’intégration de Wwise continuait son chemin, mais non sans difficulté. En effet, terminer toute la partie code, en plus des dépendances avec les autres modules développés et les releases du jeu, impliquait qu’il faudrait encore plusieurs mois avant de pouvoir utiliser Wwise dans la version “live” du développement du jeu.
 
Au fur et à mesure, des ingénieurs du son et d’autres sound designers ont été embauchés et la conversion du contenu audio ainsi que son implémentation ont pu sérieusement commencer. A travers tous les fichiers du jeu, nous avons data-miné les chaînes de caractères d’évènements FMOD et avons mis en place une table de conversion pour y entrer les nouveaux évènements Wwise / déclencheurs ATL, qui ensuite ont été remplacés par l’automatisation d’un “trouver/remplacer” dans des lots de centaines de fichiers à la fois.
 
Pour faire court, maintenant que nous avons fini toutes les conversions de code et de données, nous avons touché a plusieurs milliers de fichiers du jeu, crée pas loin de 10 000 nouveaux évènements Wwise, ainsi que plus de 1 000 banques de sons. Ça fait du bien d’en avoir fini de cette tâche et de pouvoir à présent s’occuper de la partie amusante en créant du contenu à nouveau, sans parler du fait que nous avons maintenant les outils nécessaires pour une meilleure optimisation, modularité, capacité de mixage et possibilité d’affiner le rendu des sons en jeu grâce aux fonctionnalités de Wwise et de l’ATL.
 
 
Enfin, même si nous n’avons pas fini encore, vraiment pas – nous sentons déjà que nous pourrons mieux améliorer les choses et continuer à produire du contenu. Cela dit, même si nous sommes fiers de ce que nous avons réalisé tous ensemble, nous ne sommes pas encore contents à 100%, et nous réalisons qu’il reste encore beaucoup de travail à fournir. Mais maintenant nous avons les outils pour le faire.
 
Comme toujours, nous apprécions vos retours et vos rapports sur les soucis concernant l’audio du jeu. Dans la section “Ask a Developer” sur les forums, il y a un sujet “audio” dans lequel nous traînons et répondons aux questions sur le son. Merci de votre écoute !
 
// FIN DE TRANSMISSION
 
Traduction : starcitizen.fr

Rk2ZR95.gif

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...