Comm-Link:14853 - Star Citizen Audio Update

Aus Star Citizen Wiki

Dieser Comm-Link wurde mittels künstlicher Intelligenz übersetzt und automatisiert angelegt.
Eine Revision und Lektorierung zur Qualitätssteigerung ist erforderlich.
Um Korrekturen vorzunehmen, klicke auf bearbeiten.

Zusammenfassung:
14853
Star Citizen Audio Update (14853)
Veröffentlichung
23.07.2015
Channel
Kategorie
Serie

Hallo zusammen! Wir sind stolz darauf, unsere erste Iteration von Wwise Audio für Star Citizen präsentieren zu können. Wenn wir zu Wwise übergehen, sind wir gut aufgestellt, um den großen Umfang und die Größe unseres Spiels zu unterstützen.

Wir haben einige Monate damit verbracht, zuerst unsere Inhalte von unserer vorherigen Middleware-Lösung zu migrieren, dann das Refactoring durchzuführen und die Implementierung von Audio in der CryEngine zu überarbeiten. Wir haben in früheren Updates erwähnt, welche Funktionen es auflistet, aber ich werde hier einige der wichtigsten Punkte besprechen, was es uns bringt. (Achtung, die Liste ist nicht ausschließlich glamourös, und es kann die Verwendung von Begriffen wie "Pipeline", "Workflow" und "Iteration" kommen!

Die geringere Abhängigkeit zwischen Sound-Designern und Audioprogrammierern ist wahrscheinlich unser erster großer Gewinn. Wir brauchen immer noch Audioprogrammierressourcen, um unseren Sound in das Spiel zu integrieren, ganz sicher. Aber es gibt viel, was Sie in Wwise tun können, was wir früher in relativ schwer zu bekommendem Code definieren mussten.

Im Inneren von Wwise können wir es:

Erstellen Sie Soundstrukturen, Re-Sequenz- und Re-Layer-Sounds, um unendliche Variabilität zu erreichen. Verwenden Sie dann Simulationswerkzeuge, um einen Prototyp zu erstellen, wie sie sich in einem Spielkontext verhalten werden. Integrieren Sie diese Sounds in spielerfreundliche Bankstrukturen, stellen Sie sie so ein, dass sie von der Disc/Disk streamen oder im Hauptspeicher verbleiben usw. Richten Sie die Eventhooks ein, die in CryEngine Trigger und Parameter umgewandelt werden. Nach der Implementierung können wir uns dann mit dem Spiel selbst verbinden und es profilieren, das Verhalten des Spiels überwachen, nach Fehlern oder Ressourcenspitzen suchen. Und mischen, ändern Sie die Eigenschaften der Sounds, alles in Echtzeit. Das alles erscheint vielleicht etwas trocken, aber je mehr wir diese grundlegende Pipeline an Ort und Stelle und solide haben, desto mehr Zeit haben wir, um etwas Spannenderes zu tun; wie zum Beispiel großartige Sounds zu machen, sie von vornherein zu wiederholen und mehr Mühe und Aufmerksamkeit darauf zu verwenden, wie die ganze Klanglandschaft zusammenkommt.

Für ein Spiel von der Größenordnung von Star Citizen, insbesondere da wir die Große Welt online haben, ist dies besonders wichtig. Unsere Basistechnologie ist die Grundlage für alles andere, was wir tun, und wir können nicht anfangen, uns die funkiereren Features anzusehen, bis wir mit dieser Integration zu 100% zufrieden sind.

Vieles davon ist jedoch eine standardmäßige Wise Güte. Mit einem solchen Toolset haben wir nicht nur unser bisheriges Audio migriert, sondern auch bereits viele neue Sounds für Module wie FPS, für die PU, alle in Wwise vorbereitet. Viele von ihnen werden wiederum in die Staffel 42 sowie in das größere Universum einfließen.

Bei einem laufenden Release-Zyklus müssen wir Vertrauen in unseren Mix haben, wenn wir Fortschritte machen. Zu diesem Zweck richtete Stefan eine sogenannte Soundcaster-Session ein - im Wesentlichen eine Palette von Ereignissen, die man auslösen kann - die als Bezugspunkt für die Einstellung der relativen Lautstärke für alle Arten von Sounds im Spiel dient.

Von hier aus können wir bestimmen, wie laut die Waffen sein sollen und wie ruhig, sagen wir, das Ambiente im Verhältnis zu ihnen sein könnte. Dies zu erwähnen, scheint trivial zu sein, aber einfach dies zur Hand zu haben, eine Perspektive des "ganzen Projekts" zu haben, die zu irgendeinem Zeitpunkt, außerhalb des Betriebs des Spiels selbst, macht es viel einfacher sicherzustellen, dass wir nach ähnlichen Lautheitsstandards arbeiten; eine weniger Sorge und ein weiterer Schritt zu einem qualitativ hochwertigeren Erlebnis.

Hier sind einige Worte von anderen Mitgliedern des Teams darüber, was der Zug der Weisheit bringt und einige Beispiele von Weisheit in Aktion!

Graham Phillipson, Audio-Programmierer Aus Codeperspektive erlaubt uns Wwise, Ereignisse auszulösen, die mächtiger sind als nur "Play Sound" und "Stop Sound". Das bedeutet, dass wir in vielen Fällen einfache Audio-Hooks in das Spiel integrieren können und die Sound-Designer sie verwenden können, um komplexe Audio-Ereignisse auszulösen, die Sounds abspielen/stoppen, Mixänderungen beeinflussen und Schalt- und Parameterzustände ändern. Es war auch wirklich gut für das Profiling und Debugging; wenn wir uns mit dem Spiel verbinden, können wir Diagramme mit Instanzanzahl, CPU-Auslastung, Streamanzahl, Bandbreiten- und Speicherauslastung und Mischbäumen sehen. Solo und Mute-Funktionen sind ebenfalls nützliche Debugging-Tools. Der 3D-Objekt-Viewer gibt uns eine gute Illustration davon, welche Sounds in der Spielwelt spielen, ohne dass all die lästigen Spielgrafiken im Weg stehen.

Luke Hatton, Senior Sound Designer (Senior Sound Designer) Nachdem wir im Juli letzten Jahres dem Team beigetreten sind, als wir unsere vorherige Audio-Middleware-Lösung bis zu diesem Release verwendet haben, ist es großartig, endlich in Wise angesiedelt zu sein, da unsere Audioinhalte übernommen wurden. Erst kürzlich war es sehr lohnend, Betty wieder im Cockpit und im Schiff zu hören, wie mechanische Teile in der neuen Sound-Engine wieder arbeiten. Für uns, die wir intern arbeiten, bedeutete der Beginn des Wwise Konvertierungsprozesses, dass wir vor vielen Monaten wieder ohne Sound in unserem internen Aufbau begonnen haben, und er wurde langsam klanglich wiederhergestellt. Wie großartig ist es, an diesem neuen Ausgangspunkt zu sein, an dem ich sicher bin, dass der Sound so viel glatter sein wird als je zuvor!

Der wichtigste Gewinn für mich persönlich ist, dass wir jetzt ein sauberes, ordentliches und einfach zu wartendes Werkzeug für alle unsere Tonanlagen und alle unsere Echtzeitprozesse haben. Was ich meine, ist, dass jeder Sound umbenannt, umgebildet, kategorisiert und auf eine andere Weise kategorisiert werden kann, und das hat keinen Einfluss auf den Haken im Spiel, den wir haben. Es bedeutet, dass wir versuchen können, unsere Daten auf eine Weise zu strukturieren, unsere Meinung aus irgendeinem Grund zu ändern, und es wird nicht viel Nacharbeit verursachen. Aus diesem Grund produzieren wir Audioinhalte jetzt viel systemischer als bisher; wir schaffen robuste Systeme, die allgemeine Szenarien abdecken, anstatt spezifische Einzelsounds zu erstellen, die von bestimmten Animationen/Skripten abhängig sind.

Die Wwise Version ist auch repräsentativ für ein größeres und schlankeres Audio-Team im Vergleich zu vor einem Jahr. Da täglich so viele Sound-Designer und Assets hinzugefügt werden, ermöglichen unsere neuen Namenskonventionen und Workflows eine einfachere Entscheidungsfindung, die sich auf spielweiter Ebene durchsetzen kann. Wenn etwas in unser Wwise Projekt eingefügt wird, das keinen Sinn macht oder nicht klar ist, geht es darum, einen schnellen Gruppenchat zu haben und ihn zu ändern. Auf diese Weise ist es für die Arbeit einfacher, jetzt Peer-Review zu machen, so dass wir uns gegenseitig den Inhalt überprüfen oder neue Sounds sehr einfach anhören können.

(All dieses Umschreiben erinnert mich daran, dass ich wirklich unseren Parameter'RPM' des Thrusters auf'Thrust' ändern muss. Wir verwenden derzeit einen Parameter namens'RPM' im Wwise (der gleiche Name wie in FMOD), um Thruster-Sounds anzusteuern, so dass er auf etwas Sinnvolleres umgestellt werden muss. Unsere Triebwerke drehen sich nicht wirklich pro Minute. Jetzt einfach gemacht!)

Matteo Cerquone, Junior Klangdesigner Ich hatte das Glück, nach dem Übergang von FMOD zu Wwise dem CIG Audio-Team beizutreten, ich übersprang den ersten Teil des Prozesses der Konvertierung von Assets in die neue Audio-Engine und das gab mir mehr Freiheit bei der Audio-Implementierung.

Die Arbeit mit Wwise ist eine großartige Erfahrung, da sie es uns ermöglicht, Audio in Echtzeit zu manipulieren, umzugestalten und zu mischen, je nachdem, was im Spiel passiert.

Ich arbeitete an dem Sounddesign für die Raketen und die Implementierung dieser Assets im Spiel mit Wwise erlaubte es mir, Variationen in Abhängigkeit von der Entfernung und Geschwindigkeit hinzuzufügen: Jede Rakete, sobald sie gestartet wurde, hat drei verschiedene Schleifen, die beschreiben, wie weit sich dieses Objekt von der Zuhörerperspektive entfernt befindet, die erste Schleife besteht aus einer Raketenschicht und verschiedenen charakteristischen Geräuschen, die die Marke und den Typ der Rakete beschreiben (in den meisten Fällen wäre dies ein spezifischer Piepton), die zweite Schleife ist eine weiter entfernte Perspektive der Rakete selbst und die dritte Schleife ist ein weit entfernter, entfernter perspektivischer Raketenklang.

Mit Wwise können wir zwischen diesen drei Ebenen mischen und Echtzeitparameter wie Lautstärke oder Dopplereffekte hinzufügen, je nachdem, wie weit das Objekt vom Player entfernt ist. Wenn man von einer Rakete gejagt wird, kann man nun definitiv hören, wie weit sie entfernt ist (Mischung aus verschiedenen Schleifen, Volumen, Tiefpassfilter usw.) und wie schnell sie sich einem nähert (dank des Doppler-Effekts), auch wenn eine Rakete nah genug ist, kann man die Marke und den Raketentyp erkennen, bevor man getroffen wird (oder mit etwas Glück entkommen).

Ähnlicher Ansatz wurde für die Explosionen solcher Raketen verwendet, wir haben verschiedene Explosionsgeräusche je nach Marke und Art der Rakete erzeugt, wenn die Rakete getroffen oder verfehlt hat und wenn es weit weg vom Spieler oder in der Nähe passiert ist. Auch hier gibt uns Wwise die Werkzeuge an die Hand, um nicht nur den richtigen Sound auszulösen, sondern ihn auch zu mischen und Variationen zu erzeugen (wenn man nah genug dran ist, kann man auch das Trümmergeräusch des getroffenen Schiffes hören).

Eine weitere große Hilfe ist die Möglichkeit, eine sauberere Mischung zu erhalten, wenn ich mit den Primärtriebwerken für einige der Schiffe arbeite, wollte ich das Geräusch der Hauptmaschine dämpfen, wenn der Overdrive eingeschaltet ist, mit Wwise könnte ich einen Zähler verwenden, der die Lautstärke der Hauptmaschine entsprechend der Lautstärke des Overdrive regelt (Seitenkettenschaltung), so dass jetzt jedes Mal, wenn der Overdrive eingeschaltet wird, der Primärmotorgeräusch automatisch dämpft.

Darren Lambourne, Senior Sound Designer (Senior Sound Designer) Wise ist ein sehr befreiendes und kreatives Werkzeug. Die Fähigkeit, schnell von einem Konzept, einer Idee auf hohem Niveau zu etwas Funktionalem in der Game Engine überzugehen, ist so entscheidend für die Abfüllung dieser ersten Inspiration.

Die Diagnose ist unübertroffen, so dass wir schnell zum Kern eines Problems kommen und es lösen können, anstatt nur einen Patch anzuwenden, um das Problem zu maskieren. Das ist wichtig bei einem Projekt dieser Größe, es gibt bereits eine verwirrende Anzahl von Audiosystemen in unserem Spieluniversum und diese Zahl wächst täglich. Wir versuchen, etwas ganz Besonderes für das Audio in Star Citizen zu schaffen. Das Projekt als Ganzes im Auge zu behalten und in Problembereiche vorzudringen, die sowohl die Genauigkeit als auch die Glätte unserer Audiosysteme beeinträchtigen können, ist absolut notwendig, um sicherzustellen, dass wir die schlechten Dinge fernhalten und die guten Dinge hervorheben.

Jason Cobb, Senior Sound Designer: Aus meiner Sicht war die Umstellung der Audiomiddleware von Fmod auf Wwise ein einjähriger Prozess, der mit frühen naiven Bestrebungen nach einer schnellen Umstellung begann und erst nach einer langen Phase vieler inkrementeller, aber monumentaler Änderungen abgeschlossen wurde.

Aus Sicht der Audioinhalte gilt: Je früher und schneller wir konvertiert haben, desto weniger Fmod-Inhalte und Implementierungen müssten neu erstellt werden. Scheint ein Kinderspiel zu sein, aber leider würde die Situation einen so schnellen Wechsel nicht zulassen, da sich jeder auf jedes nächste Release oder jede nächste Demo-Version in diesem Jahr konzentriert.

Im Mai 2014 untersuchten wir eine Integration von Wwise in die CryEngine, die von einem externen Unternehmen durchgeführt wurde. Dies geschah zu einem Zeitpunkt, an dem Crytek eine offizielle Wise-Integration veröffentlicht hatte, und wir hatten noch keine Details darüber oder ein Eta, wann es verfügbar sein würde, was durch die Unsicherheit ihrer finanziellen Situation zu diesem Zeitpunkt noch verstärkt wurde. Für kurze Zeit sah es so aus, als hätten wir einen Weg zu einer schnellen, unkomplizierten Wise-Integration und einer minimalen Datenumstellung.

Ein Faktor zu dieser Zeit war, dass nicht genügend Ingenieure zur Verfügung standen, um einen oder mehrere für die Integration von Wwise nach dem uns zur Verfügung gestellten Beispiel zu widmen, aber allein unsere eigene Sichtweise darauf. Selbst wenn wir eine Wwise Integration von Drittanbietern oder intern verwendet hätten, hätte es zukünftige CryEngine SDK-Integrationen umso schwieriger gemacht.

Durch die Wahl der noch zu liefernden Crytek Wwise Integration haben wir den Grad der Abweichung zwischen der Star Citizen Game Engine und der Basis-SDK CryEngine minimiert. Aus audiotechnischer Sicht war damit gewährleistet, dass viel mehr Audioinhalte mit Fmod erstellt und umgesetzt werden konnten, was die Aufgabe stellte, diese Fmod-Audioinhalte und -Implementierungen in einen viel größeren und schwierigeren Job umzuwandeln.

Erst Ende September 2014 begannen wir mit der Integration von CryEngine, die auch eine Wwise Integration beinhaltete. Anstatt Fmod-Aufrufe direkt durch Wwise-Aufrufe in ihrem Spielcode zu ersetzen, wie die andere Beispielintegration, die wir uns angesehen haben, wandelte ihre Version stattdessen Audioaufrufe in den neu konzipierten Audio Translation Layer um, als Abstraktion, um zu ermöglichen, dass verschiedene Audio-Middleware darunter ausgelagert werden kann - eine großartige Funktion, wenn Sie eine Game Engine verkaufen, die viele Optionen für eine Vielzahl von Kunden benötigt, aber vielleicht ein wenig mehr, als wir damals bei Star Citizen brauchten. Dennoch ist es immer gut, zukünftige Optionen zu haben, und wir haben diese Audio-Übersetzungs-/Abstraktionsebene seitdem verstärkt genutzt, um Ereignismetadaten zu speichern.

Leider hat es durch die Existenz dieser Abstraktionsschicht und der damit verbundenen Datendateien einen neuen Schritt im Audio-Content-Workflow geschaffen, der von den Sound-Designern verlangt, die Arbeit, die sie gerade mit dem Wwise Designer-Tool gemacht hatten, zu übernehmen und manuell neue Objekte mit Bezug auf dieselben Ereignisse, Parameter, Schalter, Zustände und Soundbänke zu erstellen, die in ATL-Dateien gespeichert und im Browser der Audiosteuerung verwaltet wurden. Die ersten Tage dieses Workflows waren etwas primitiv und langsam und sehr unterschiedlich von der reibungslosen Erfahrung, Wwise in jeder anderen Spiele-Engine zu verwenden, die ich zuvor ausgeliefert habe. Aus diesem Grund habe ich mich entschieden, eine Workflow-Lösung zu entwickeln, die einfach automatisch die notwendigen ATL-Dateien für uns erstellt, wenn wir Sound-Banken im Wwise Designer-Tool aufbauen. Dann haben die Sound-Designer keine zusätzlichen Schritte, um diese ATL-Dateien manuell in CryEngine zu erstellen und zu verwalten, außer sicherzustellen, dass sie bei der Aktualisierung eingecheckt werden. Wir können unsere Sounds einfach sofort in der Game Engine verwenden, sobald wir sie in eine Sound-Bank eingebaut haben.

Währenddessen arbeitete das Audio-Team immer noch in Fmod für die Reihe von Spielveröffentlichungen und Demos, mit vielen neuen und aufregenden Spielinhalten und Sounds, die im Laufe des Jahres eingeführt wurden. Der Wwise Integrationszweig machte weiterhin Fortschritte, aber die Herausforderungen, die sich aus der Fertigstellung der gesamten Code-seitigen Arbeit in Verbindung mit Abhängigkeiten von anderen Entwicklungsintegrationen und Spielversionen ergaben, führten dazu, dass es einige Monate dauerte, bis das Fenster erschien, in dem Wwise sicher "live" im Hauptstrom der Spieleentwicklung gemacht werden konnte.

Entlang der Linie wurden engagierte Audio-Ingenieure und zusätzliche Sound-Designer an Bord geholt und die Aufgabe der Konvertierung der Audio-Inhalte und der Implementierung konnte ernsthaft beginnen. Über alle Spieldateien hinweg, die wir für Fmod-Ereignisse abgefragt haben, und richten Sie eine Konvertierungstabelle ein, um die neuen Wwise Event / ATL-Triggerzeichenketten einzugeben, die dann durch Skript-Automatisierung der Suche und des Ersetzens über Stapel von Hunderten von Datendateien hinweg konvertiert wurden.

Um es kurz zu machen, als wir alle Konvertierungen des Audiocodes und der Datenimplementierung abgeschlossen haben, haben wir bis heute unzählige tausend Spieldatendateien berührt und fast 10000 neue Wwise Events und weit über 1000 Soundbänke erstellt. Es fühlt sich so gut an, endlich mit dieser Aufgabe fertig zu werden und nun wieder zu den eigentlichen lustigen Teilen der Erstellung neuer Inhalte zu kommen, ganz zu schweigen von den Werkzeugen, die notwendig sind, um das Spiel mit den Features von Wwise und dem ATL besser zu verfeinern, zu modulieren, zu mischen und zu optimieren.

Letztendlich sind wir noch lange nicht fertig - aber wir fühlen uns an einem viel besseren Ort, um uns weiter zu verbessern und weiter zu bauen. Obwohl wir stolz auf das sind, was wir zusammenbringen, sind wir irgendwie nicht 100% glücklich, aber wir wissen, dass wir noch viel Arbeit vor uns haben und jetzt haben wir mehr von den Werkzeugen zur Hand, um es zu tun.

Wie immer freuen wir uns über Ihr Feedback und Ihre Berichte über Probleme mit dem Sound unseres Spiels. Im Abschnitt'Ask A Developer' des Forums gibt es ein Audiothema, in dem wir herumhängen und auf Soundanfragen antworten. Danke fürs Zuhören!

Cookies helfen uns bei der Bereitstellung dieses Wikis. Durch die Nutzung des Star Citizen Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.