Wellen schlagen: Entwicklung realistischer Wassermechaniken für Still Wakes The Deep in UE5

7. November 2024
Hallo allerseits! Ich bin Joe Wheater – Programmierer bei The Chinese Room – und ich habe kürzlich als Teil eines Teams an den Wasser-Mechaniken für unser erzählerisches Horrorspiel Still Wakes The Deep gearbeitet. Das Spiel erschien im Juni für PC, PlayStation 5 und Xbox Series X|S und versetzt den Spieler auf eine Bohrinsel in der Nordsee des Jahres 1975, auf der ein unerklärliches Grauen umgeht. Cameron ‘Caz’ McLeary muss sich über die einstürzende Anlage bewegen und einen Weg nach Hause finden.
Da der wichtigste Schauplatz im Spiel die Bohrinsel ist, sind die Spieler zu (beinahe) jeder Zeit von Wasser umgeben – ob nun in den überfluteten Stockwerken der Bohrinsel oder mit der alles verschlingenden Nordsee unter ihren Füßen –, und unser Ziel war es, bei jedem Tröpfchen Wasser ein so bedrohliches und realistisches Gefühl wie möglich zu erwecken. Hier möchte ich meine Reise bis zur Erstellung realistischer Wassermechaniken in der Unreal Engine 5 darstellen sowie Ergebnisse und Tipps für andere Entwickler präsentieren, deren nächstes Abenteuer im kühlen Nass stattfinden soll.

Unsere Herausforderung

Unsere Herausforderung bestand darin, Wasser zu erstellen, das allgegenwärtig ist, Spieler an ihre Grenzen bringt und sich realistisch und fordernd, aber niemals unüberwindbar anfühlt. Im Spiel gibt es zwei Arten von Wasser: das Wasser, was in die Bohrinsel eindringt und sie langsam übernimmt, und die kolossale Nordsee, welche die Insel umgibt. 

Beide Wasserarten tragen dazu bei, die Atmosphäre und Anspannung im Spiel zu verstärken und einige der größten Ängste der Spieler anzuregen, darunter: Klaustrophobie (Angst vor engen Räumen), Submechanophobie (Angst vor menschengemachten Gegenständen unter Wasser), Thanatophobie (Angst vor dem Tod), Autophobie (Angst vor Isolation), Thalassophobie (Angst vor großen Gewässern), Nyktophobie (Nachtangst) und Akrophobie (Höhenangst).
Die Spieler finden sich auf einer zerfallenden Bohrinsel in einer der gefährlichsten Umgebungen der Welt wieder. Wie werden sie entkommen, wenn unter ihren Füßen die unerbittlichen Nordseewellen toben?
Zwar tragen beide zum Gesamtbild der Geschichte und des Grauens im Spiel bei, aber sie unterscheiden sich deutlich in ihrem Aussehen, ihren Mechaniken und ihrer Funktion. Hier werden wir erzählen, wie wir an dem Wasser gearbeitet haben, das in die Bohrinsel eindringt. Dieser Wasserstand steigt und sinkt im Zusammenspiel mit der Anspannung im Spiel und oftmals müssen die Spieler mit dem Element auf Tuchfühlung gehen.

Das Gefühl, zu versinken: Entwicklung des Looks

Während man "Still Wakes the Deep" durchspielt, werden langsam die Geheimnisse enthüllt und die Geschichte offenbart sich: Die Mannschaftsmitglieder beginnen sich zu verwandeln, die Bohrinsel zerfällt, Brocken von Metall stürzen in die unruhige See und Wasser dringt ein und flutet die unteren Stockwerke der Bohrinsel. Sehr zu seinem Leidwesen muss Caz – und mit ihm der Spieler – tief in die grauenvolle Umgebung vordringen und die überfluteten Stockwerke erkunden.
Im Laufe von "Still Wakes the Deep" müssen sich die Spieler den Weg durch die überfluteten unteren Stockwerke der Bohrinsel bahnen und dabei schwimmen, um zu flüchten, Mechaniken auszulösen oder Objekte zu finden.
 
Es war eine klare Level-Design-Entscheidung, mehrere Kapitel des Spiels im Wasser stattfinden zu lassen. Wir wollten dem Spieler neue Mechaniken zum Erkunden und Meistern bieten, und das stellte unser Team vor ebenso interessante wie unterhaltsame Herausforderungen. In dem Wissen, dass Wasser eine der größten Gefahren im Spiel darstellte, wollten wir, dass sein Aussehen seine Kraft widerspiegelt und ihm Detailreichtum, Tiefe und Dunkelheit verleihen.

Um diesen Anschein zu erwecken, haben wir eine zweidimensionale Flachwassersimulation mit Unreals Niagara Grafikeffekt-System entwickelt. Mit der 2D-Simulation werden nur die Wasseroberfläche simuliert und Gleichungen berechnet, welche die Wasserbewegungen beschreiben. Fließt das Wasser schnell (vor allem bei Überflutungssequenzen), gibt es Veränderungen in der Höhe der Wasseroberfläche, was zu Wellen und Verwerfungen führt und dem Wasser ein wildes und bedrohliches Aussehen verleiht.

Diese Sequenzen fühlen sich hektisch und unbeherrschbar an, tatsächlich aber haben wir dafür Wasservolumen-Systeme eingerichtet. Wir haben Wand- und Bodenmeshs getaggt, damit sie in eine Höhenkarten-Textur gebakt werden können. Diese Höhenkarten-Textur spiegelt den Raum wider, in dem Wasser fließen kann, und ermöglicht diese Meshs als Grenzen innerhalb der Simulation, damit Wasser beim Aufprall abprallen und zurückgeworfen werden kann.
 
Der Spieler muss oft tauchen und sich durch kaputte und einstürzende Räume navigieren oder sich gegen eine reißende Strömung stemmen, um den nächsten Abschnitt zu erreichen. Das Szenario von Still Wakes The Deep ist düster und metallisch. Unser Ziel war es, dass sich die Levels stark auf das Wasser als Hindernis fokussieren, um für eine zusätzliche Herausforderung zu sorgen, ohne dabei unüberwindlich oder frustrierend zu werden.

Daher haben wir auf Nachbearbeitung gesetzt, um ein Gefühl des Unterwasser-Seins zu erzeugen. Damit das Wasser zusätzliche Dimensionen erhält und Objekte verschwommen erscheinen, haben wir auch Effekte wie Nebelvolumen, Partikel, Kaustiklichtmuster, Schärfentiefe, Unschärfe und Bloom verwendet.
 
Das Sichtfeld des Spielers wurde absichtlich verschwommen gestaltet, sobald er unter der Wasseroberfläche ist. Hierdurch wird nicht nur eine interessante Gameplay-Dynamik mit einem gewissen Maß an Herausforderung erzeugt, sondern der Spieler erkennt auch, dass er unter Wasser ist und sich besser von der Stelle bewegen sollte, ehe ihm die Luft ausgeht.
Wir haben dem Wasser überdies zusätzliche Nebelvolumen und Partikel-Systeme hinzugefügt, die den Eindruck erwecken, dass es weitere Verunreinigungen enthält, und für eine trübe und dickflüssige Wirkung des Mediums sorgen. Wir haben Ebenen aus Staub, Schutt und Blasen hinzugefügt, um die Sicht weiter zu verhüllen. Der Einsatz dieser Partikel-Systeme war besonders hilfreich, um ein Gefühl von Bewegung zu vermitteln, da Spieler, die sich durch Wasser bewegen, Luftblasen erzeugen, die an die Oberfläche steigen, Staub aufwirbeln und Strömungen sichtbar machen.

Die Nachbearbeitungseffekte und Partikel-Systeme in Aktion. Von links nach rechts zu sehen: keinerlei Nachbearbeitung/Partikel/Nebel/Licht, dann keinerlei Nachbearbeitung, aber dafür Nebel, Licht und Partikel aktiviert und schließlich das Endprodukt, bei dem sämtliche Systeme aktiv sind.

Tiefes Eintauchen: Entwicklung der Atmosphäre

Uns war es wichtig, dass die ansteigenden Pegelstände des Wassers sich genauso dringlich anfühlen wie auf dem Festland und dass das Gameplay die Anspannung und das Grauen der Geschichte widerspiegelt. Wir haben eigens ein Pumpsystem entwickelt und eingerichtet, mit dem wir dem Wasser Fließgeschwindigkeiten und -strömungen verleihen konnten. So wird nicht nur ein Gefühl von Tempo und Nervenkitzel vermittelt, sondern auch die Bewegung des Spielers unterstützt.

Das Pumpsystem setzt sich aus kapselförmigen Objekten zusammen, die der Wassersimulation Tempo verleihen und Wellen und Verwerfungen erzeugen, die sich über die Wasseroberfläche verschieben, um Richtungen vorzugeben. An den Armen, Händen und Füßen des Protagonisten befestigten wir dann mehrere Pumpen, welche sich mit den erwähnten Wasserpumpen überschnitten, was zu einem realistischen Echtzeit-Ablauf der Handlungen des Spielers im Wasser führt.
 
Für ein noch intensiveres und lebensechteres Erlebnis brauchten wir Wasser, das sich nicht nur dynamisch den Spieleraktionen anpasst, sondern sich auch auf die versenkten Objekte auswirkt. Wir erkannten, dass die Wassersimulation nicht dazu führte, dass physische Objekte wie Ölzylinder oder die Träger der Bohrinsel auf die Oberflächenbewegung reagierten. 

Um dem zu begegnen, verwendeten wir die GPU-Readback-Funktionalität von Niagara, mit der wir die Simulation abfragen konnten und somit Informationen über die Strömungsrichtung, Flussstärke und Höhe ihrer Oberfläche an bestimmten Standorten hatten. Mit diesen Daten konnten wir dann Auftriebskräfte einsetzen, um das Objekt treiben zu lassen, und Wasserströmungskräfte verwenden, um es entsprechend der Oberflächensimulation zu verschieben, wodurch der Eindruck erweckt wurde, dass sich Objekte als direktes Resultat der Spielerhandlungen bewegten.
 
Es gab noch weitere Mechaniken, die wir während der gesamten Entwicklung erprobten, welche die Immersion und Lebensnähe noch weiter erhöht hätten, aber leider erwiesen sich diese als nachteilig für das Gameplay-Erlebnis. 

Zum Beispiel versuchten wir zu emulieren, wie es sich anfühlt, einen Overall zu tragen, der sich beim Schwimmen mit Wasser vollsaugt. Etwas, das sich eindeutig auf unseren Protagonisten Caz ausgewirkt hätte – der als Ingenieur in einer der kältesten Umgebungen der Welt arbeitet und solche strapazierfähige Kleidung tragen würde –, indem es sein Schwimmtempo und seinen Auftrieb verringert, genau wie in einer realen Situation wie dieser.
 
Die von der Besatzung der Beira D getragene Uniform. Wir spielten mit der Idee, Caz mit einer realistischen Staunässe-Mechanik zu versehen, damit der Spieler beim Schwimmen Wasser in Echtzeit aufnimmt. Durch die Kombination aus schweren Materialien und mehreren Ebenen sank er extrem rasch und stellte eine zu große Herausforderung für die Wasserlevel dar.
Wir versuchten, dies zu implementieren, fanden es aber frustrierend zu spielen und schwierig für uns, den Spielern zu vermitteln, was passiert. Darüber hinaus begrenzte dieses langsame Schwimmtempo die Distanz, die der Spieler mit einem Atemzug tauchend zurücklegen konnte, und beschränkte den Raum, für den das Designteam das Schwimm-Gameplay erstellte. Wir haben es am Ende entfernt, um ein reibungsloseres Erlebnis zu haben, aber es war eine interessante Idee! 

Werkzeuge für das Erstellen von realistischem Wasser

Wir stellten fest, dass Unreal eine Reihe von eingebauten Werkzeugen und Technologien mitbrachte, die wir bei der Entwicklung des Wassers für "Still Wakes the Deep" verwenden und von denen wir uns inspirieren lassen konnten, darunter: 
 
  • Wasserschattierungsmodell mit Einzelebene: Es eignete sich hervorragend, um realistisch aussehendes Wasser in der Unreal Engine zu erhalten, und Epics vorhandenen Ressourcen konnten wir einiges über dessen Implementierung und Effektivität entnehmen.
 
  • "Content Examples"-Beispielprojekt: Es enthält eine Menge nützlicher Beispiele für sämtliche Aspekte der Engine und erwies sich als unverzichtbar für uns beim Erlernen von Niagara und Flüssigkeitssimulationen. 
 
  • Material-Editor: Wir haben den Material-Editor verwendet, um texturbasierte Effekte auf die Ebenen der Simulationsdaten zu legen. Dies erwies sich für uns als äußerst praktisch, um das Bildmaterial des Wassers mit Effekten zu versehen, und half uns bei der Erzählung der Geschichte über den Verlauf des Spiels hinweg.
 
  • Niagara: Wir verwendeten Niagara für die eigentliche Simulation und auch für viele der Partikel-Systeme – von geplatzten Rohren bis hin zu Trümmern im Wasser. Hilfreich fanden wir aber auch die verfügbaren Lern-Levels für die Niagara-Simulation. Diese waren für uns von wesentlicher Bedeutung, um zu verstehen, wie Flüssigkeitssimulationen für Unreal erstellt werden.
 
  • Wassersystem: Unser Wassersystem liest Simulationsdaten von Niagara über ein Niagara-Daten-Interface. So können die anderen Systemen im Spiel dynamisch auf den aktuellen Zustand der Simulation reagieren.
 
  • Nebelvolumen: Wir nutzten ein volumetrisches Material, um Nebel in unseren Wasservolumen zu rendern. Das Material konnte Informationen aus der Wassersimulation gewinnen, indem ein Sampling im 2D-Array-Renderziel abgetastet wurde.

Wahl der Unreal Engine 5

Ich bin Nick Slaven, Technical Director von Still Wakes The Deep bei The Chinese Room. 

Unreal war die naheliegende Wahl für Still Wakes The Deep. Die Wiedergabetreue sowie die Kontrolle über den Erstellungsprozess, die Unreal bietet, ihre Möglichkeiten als Engine, waren genau das, was wir brauchten, um das Spielkonzept zu realisieren, das unserem damaligen Creative Director Dan Pinchbeck vorschwebte.

Die vorhandene Unreal-Expertise im Team war zwar gemischt, aber durch unsere Partnerschaft mit Epic konnten wir Schulungen organisieren, um sie mit Unreal 4.26 auf den neusten Stand zu bringen, bevor wir letztlich zur Unreal Engine 5 wechselten. Das Upgrade der Engine-Version ermöglichte es uns, uns die neue Technologie von Epic wie Nanite und Lumen zunutze zu machen, was nicht nur das Aussehen und die Atmosphäre des Spiels verbesserte, sondern auch die Effizienz unserer Workflows steigerte. Funktionen wie die Echtzeit-Beleuchtung in Lumen gestatten uns eine sofortige Beurteilung der Auswirkungen von Änderungen an der Beleuchtungseinrichtung, ohne dass wir warten müssten, bis die Shadow-Maps gebakt sind.

Darüber hinaus lieferte uns die von Unreal zur Verfügung gestellte Wassertechnologie eine gute Simulation der Nordsee und ihre Shader-Werkzeuge stellten die Bausteine für unsere interne Wassersimulation bereit. Wir griffen auch ausgiebig auf MetaHuman zurück, um alle Bohrinsel-Arbeiter im Spiel zu erstellen, was den Realismus und das Geschichtenerzählen auf ein neues Niveau brachte.

Letztlich konnten wir die Technologie des Control-Rig für die verwandelte Mannschaft der Bohrinsel Beira D verwenden und somit glaubwürdige andersweltliche Geschöpfe erschaffen, um den Spieler zu ängstigen und zu fesseln.

Sichere dir die Unreal Engine noch heute!

Hol dir das offenste und fortschrittlichste Erstellungswerkzeug der Welt.
Die Unreal Engine wird mit allen Funktionen und vollem Zugriff auf den Quellcode geliefert und ist sofort einsatzbereit.

Ähnliche Blogs


Games

Unreal Engine 5.5 ist jetzt verfügbar

Diese Veröffentlichung umfasst wesentliche Verbesserungen bei Animationserstellung, Rendering, der virtuellen Produktion, der Spieleentwicklung für Mobilgeräte und den Werkzeugsätzen für Entwickler-Iterationen – und vieles, vieles mehr.

News

Fab, der neue zentrale Marktplatz von Epic für Inhalte geht heute an den Start!

Heute startet Epic Fab, eine zentrale Anlaufstelle, wo ihr digitale Assets entdecken, kaufen, verkaufen und teilen könnt. Dieser neue Marktplatz unterstützt alle Arten von Creators mit Inhalten zur Verwendung mit Unreal Engine, Unity 3D, UEFN und anderen digitalen Werkzeugen zur Inhaltserstellung.

Games

Hier finden Sie die wichtigsten Neuigkeiten vom Unreal Fest Seattle 2024

Sehen Sie sich die Ankündigungen von Epic Games auf dem Unreal Fest Seattle 2024 an, um mehr über Kürzungen bei den Lizenzgebühren für Unreal Engine über den Epic Games Store, die neuen Funktionen in der UE 5.5, die Teenage Mutant Ninja Turtles in UEFN zu erfahren – und noch viel mehr.