Ghost of Yōtei – Technische Einblicke im Detail

0 0
Ghost of Yōtei – Technische Einblicke im Detail

Sucker Punch verrät uns, wie Atsus fesselnde Reise zum Leben erweckt wurde.

Ghost of Yōtei ist für Sucker Punch eine Herzensangelegenheit, und wir freuen uns, dass es nun veröffentlicht wurde und jeder es spielen kann. Jetzt, da alle einen Vorgeschmack auf das Spiel bekommen haben, dachten wir, dies wäre eine gute Gelegenheit, um ein wenig über die Technologie zu sprechen, die uns dabei geholfen hat, hierher zu gelangen.

Ausgehend von dem, was wir mit Ghost of Tsushima erreicht haben, hat die Projektvision für Ghost of Yōtei einen stärkeren Schwerpunkt auf das Gefühl der Freiheit in einer ungezähmten Wildnis gelegt. Also haben wir uns bestimmte Ziele gesetzt: weniger aufdringliche Wege, euch durch das Game zu leiten, schöne Umgebungen mit weiteren Sichtlinien, flexiblere Waffenkämpfe, einprägsame Charaktere mit Persönlichkeit und emotionale Story-Momente. All das zu erreichen und gleichzeitig eine gute Framerate beizubehalten, ist eindeutig eine Herausforderung.

Werfen wir also einen Blick auf einige Technikaspekte, mit denen wir Ghost of Yōtei erschaffen haben!

Durchstreifen einer wilden Welt

Bei der Entwicklung unseres Prototyps für freie Erkundung haben wir festgestellt, dass es am effektivsten ist, wenn die Spielenden über eine wunderschöne Landschaft blicken und ihrer Neugier folgen können, um das Spiel zu erkunden. Aus technischer Sicht erforderte dieses Gefühl längere Sichtlinien, also ein besseres Rendering von Gras, Terrain und Bergen in der Ferne.

Wir haben das Erscheinungsbild von Bergen in größerer Entfernung verbessert, indem wir Modelle und detaillierte Geländematerialien zu Texturen verarbeitet haben, die wir mit höherem Detailgrad anzeigen konnten. Wir haben außerdem die Menge an Gras und renderbaren Objekten verdoppelt, die unser GPU-Renderer erzeugen kann. In diesem Screenshot werden die fernen Berge mit über einer Million Bäumen, Felsen und Büschen auf etwa 60.000 einzelne Objekte reduziert, die wir rendern, um unsere G-Buffer zu generieren und das endgültige Bild zu erstellen.

Wir verwenden prozedural unterstützte Authoring-Techniken und stützen uns stark auf GPU-Berechnungen, um all diese Instanzen effizient und ohne CPU-Beteiligung zu verarbeiten. Dies umfasst Sequenzen von Rechenaufgaben zur Durchführung von Occlusion Culling, Speicherzuweisung und Ausfüllen von Zeichnungsdatensätzen, bevor wir diese Informationen auf die CPU zurücklesen, um sie zu den endgültigen Befehlslisten für den Frame zusammenzufügen. Hier ist eine Animation einer ähnlichen Aufnahme, bei der die GPU-gezeichnete Geometrie animiert wird, um euch ein Gefühl für den Maßstab zu geben. Wir verwenden diese Techniken auch für zur Laufzeit generierte Daten wie unsere großen Blumenfelder und gelegentlich sogar für Dinge wie Seile und Ketten.

Um jedem Bereich der Welt ein einzigartiges Flair zu verleihen, haben wir Interaktionssysteme entwickelt, die dabei helfen, die jeweiligen Themen zu betonen. Ein Großteil der Welt ist mit Gras oder kleinen Pflanzen bewachsen. Zusätzlich zur Verformung durch Wind und Charakterbewegungen haben wir ein System hinzugefügt, das Waffenschwünge in einen „Schnittbuffer“ rendert. Dieser Buffer wird dann von der schneidbaren Geometrie erfasst und genutzt, um Partikel mit der Geometrie über dem Schnitt zu spawnen. Dadurch kann Atsu das meiste Gras, Blumen und kleine Pflanzen im Spiel abschneiden.

In Hokkaidō gibt es die extremsten Winter in Japan, also wollten wir die Interaktion der Charaktere im tiefen Schnee realistisch darstellen. Um dies zu unterstützen, haben wir ein Terrain-Tesselation-System entwickelt, das sowohl den Detailgrad des Terrains erhöht als auch zur Laufzeit dynamisch verformt werden kann. Um das zu erreichen, werden Partikel und Geometrie in einen Verdrängungspuffer gerendert, während die Charaktere sich durch das Gebiet hindurchbewegen, rollen und kämpfen. Das System war flexibel genug, dass wir es erweitert haben, damit die Charaktere Schnee von Bäumen und Büschen stoßen können und dabei Schneepartikel spawnen. Wenn wir das mit einem neuen Schnee-Glitzereffekt kombinieren, der stabiles Screen-Space-Rauschen verwendet, sieht das Ergebnis so aus.

Hohe Berge wie der Yōtei sind oft von Wolken bedeckt, also mussten wir einen Weg finden, Wolken vor der Geometrie der Welt zu rendern, was mit der Engine von Ghost of Tsushima nicht möglich war. Außerdem wollten wir den Eindruck eines stürmischen, unruhigen Wetters erwecken, indem wir die Geschwindigkeit erhöht haben, mit der sich die Wolken bewegen können. Um eine schnellere Wolkenbewegung ohne störende Artefakte zu ermöglichen, speichern wir die durchschnittliche sichtbare Tiefe jedes Texels in der Wolkenkarte (gemessen von der Kamera aus), was uns erlaubt, beim Scrollen durch jedes Wolkenbild Parallax-Mapping-Techniken einzusetzen. (Außerdem überblenden wir drei statt nur zwei Wolken-Frames, was zu noch flüssigeren Bewegungen führt.) Durch die Speicherung der durchschnittlichen sichtbaren quadratischen Tiefe in der Wolkenkarte können wir eine einfache statistische Verteilung der Wolkendichte entlang jedes Strahls rekonstruieren und so berechnen, inwieweit die Wolken die Geometrie der Welt, wie beispielsweise Berge, verdecken sollten.

Nebel und atmosphärische Streuung spielten eine wichtige Rolle beim Design von Ghost of Tsushima, und für Ghost of Yōtei wollten wir darauf aufbauen, indem wir Unterstützung für lokale Nebelvolumen hinzugefügt haben. Diese werden mithilfe der erweiterten 16-Bit-Gleitkomma-GPU-Befehle der PS5-Konsole effizient berechnet. Als Nebeneffekt unserer Wolkenoptimierungen berechnen wir eine Licht-Raum-Wolken-Shadow-Map, wodurch in unserem volumetrischen Nebel auch in weiter Entfernung von der Kamera dämmrige Strahlen („Götterstrahlen“) sichtbar werden. Wir haben es den Künstlern außerdem ermöglicht, „Götterstrahlen-Ziele“ in der Welt zu platzieren, damit sie häufiger von einem Loch in den Wolken erleuchtet werden.

Charakter und Bewegung

Eines unserer Hauptziele war es, die Welt von Ghost of Yōtei lebendig wirken zu lassen. Wir möchten, dass sich alles auf dem Bildschirm mit dem Wind bewegt, einschließlich der Kleidung, die die Charaktere tragen, die Quasten an den Waffen und der hängenden Stoffe in den Siedlungen. Wenn ihr herumrollt und kämpft, wollen wir Staub und Blätter aufwirbeln, während ihr Schlamm- und Blutflecken ansammelt, um euch wirklich in der Welt zu verankern.

Die komplexe Kleidung von Atsu kann sich nur dank der neuen Layer-Unterstützung, die wir in unser leistungsstarkes GPU-Computing-Stoffsystem integriert haben, realistisch bewegen. Zusätzlich zur Unterstützung mehrerer Schichten simulierten Stoffes (siehe unten) unterstützen wir Stoffkollisionen und verwenden eine Reihe sorgfältig abgestimmter Methoden, um eine große Anzahl einzelner Stoffe effizient zu simulieren. Hier ist ein Beispiel für Atsu in einem ihrer komplexeren Outfits, umgeben von sich bewegendem Stoff.

GPU-Partikel sind seit Infamous Second Son eine Stärke von Sucker Punch. In Ghost of Yōtei haben wir unsere Trickkiste weiter ausgebaut und ermöglichen es Partikeln, Geländematerial, Verformungen und Wasserströmungen zu erfassen. Dieses Foto zeigt zum Beispiel Partikel, die auf einem Fluss landen und ihn hinunterfließen.

Wir beeinflussen nicht nur die Welt, sondern verankern die Charaktere auch, indem wir die Welt zurückschlagen lassen. Das erreichen wir, indem wir Informationen in ein Richtungsraster einstreuen, das um den Charakter herum verformt wird. Dieses nutzen wir dann, um Textureffekte einzuarbeiten, um den Charakter nass, blutig, schlammig oder verschneit erscheinen zu lassen.

Wir nutzen unser Partikelsystem außerdem, um euch die Möglichkeit zu geben, in die Vergangenheit zu wechseln und Atsus Familiengeschichte zu erkunden. Um zwischen Vergangenheit und Gegenwart zu wechseln, ändern wir das Skelett und die Geometrie von Atsu, während wir ihren Charakterzustand und ihre Animation konsistent halten. Elemente des Hintergrunds und der Beleuchtung werden dank der Geschwindigkeit der SSD und einem sorgfältig ausgewählten Prefetching ebenfalls sofort geändert. Dies geschieht hinter einem Vorhang aus animierten Partikeln, die eine Kopie des Framespeichers unmittelbar vor dem Übergang erfassen.

Raytracing- und PS5 Pro-Verbesserungen

Da es sich um ein natives PS5-Spiel handelt, wussten wir, dass wir die Bildqualität verbessern wollten, indem wir einige der neueren Technologien der Plattform nutzten. Mit der Veröffentlichung von PS5 Pro wollten wir eine Richtung einschlagen, die uns auch bei zukünftigen Spielen hilft. Basierend auf der soliden Unterstützung der zentralen Technologie-Teams von PlayStation haben wir in zwei große Bereiche investiert: Raytracing und Bild-Upsampling mit PSSR.

Da Ghost of Yōtei in der Wildnis von Hokkaidō im 17. Jahrhundert angesiedelt ist, gibt es nur wenige spiegelnde Oberflächen, die sich für Raytracing-Reflexionen eignen. Stattdessen haben wir uns entschieden, Raytracing einzusetzen, um die Wiedergabetreue unserer globalen Beleuchtungslösung zu verbessern. Wir haben dies aus zwei Richtungen angegangen: zunächst mit einem automatisierten, verbesserten Baked-Lighting-Modell, das wir dann mit einer Raytracing-Globalbeleuchtung (RTGI) im Nahbereich ergänzen konnten. Dies erforderte erhebliche Änderungen an unserem Mesh-Streaming-Format, das es uns ermöglichte, die von der Raytracing-Hardware verwendeten Beschleunigungsstrukturen dynamisch zu dekomprimieren. Durch die Verwendung der effizienteren Raytracing-Hardware von PS5 Pro könnt ihr auf Pro-Konsolen eine Ziel-Bildfrequenz von 60 Frames pro Sekunde aktivieren.

Für Ghost of Yōtei haben wir unseren Rahmen umgebaut, um einen allgemeineren dynamischen Auflösungsalgorithmus mit Upsampling zu verwenden, unter anderem, um die Vorteile von PSSR nutzen zu können. PSSR funktioniert bei uns sehr gut, mit nur wenigen Anpassungen, darunter die Verwendung einer konservativen Rasterung für kleine Partikel. Im Vergleich dazu benötigt unser Standard-Upsampling-Algorithmus deutlich mehr Hinting und Authoring-Unterstützung, um gute Ergebnisse zu erzielen. Hier ist ein Vergleich nebeneinander. Wenn ihr sehr nah heranzoomt (16-fach vor der GIF-Kompression), seht ihr, dass PSSR bei der Rekonstruktion feiner Details von Architektur und Pflanzenwelt besser abschneidet. Außerdem ist das Ganze stabiler bei Bewegungen.

Ladegeschwindigkeit

Sucker Punch ist schon seit langer Zeit stolz darauf, euch so schnell wie möglich in unsere Spiele zu bringen. In Ghost of Yōtei haben wir diese Tradition fortgesetzt, indem wir die Ladezeiten noch weiter verkürzt haben.

Wir optimieren das Laden durch Vorverarbeitung von Daten, sodass nur eine Handvoll SSD-Lese- und Patching-Operationen pro Ort oder Geländekachel nötig sind, um fürs Gameplay relevante Daten zu laden. Dann berechnen und laden wir nur die Texturen-MIP-Maps und Mesh-Detailgrad-Werte, die für das Rendern des ersten Frames benötigt werden, mit einem Lesevorgang pro Element. So sieht das Laden vom äußersten Süden bis zum äußersten Norden aus, ohne dass der Bildschirm ausgeblendet wird. (Beachtet bitte, dass dies etwas langsamer ist, als es wäre, wenn wir die Welt nicht die ganze Zeit rendern müssten.)

Während der gesamten Entwicklung „dog fooden“ wir diese Systeme, anstatt ein anderes Lademodell für den Versand von Builds zu verwenden. „Dog fooden“ bedeutet in Programmiererkreisen, dass jeder Programmierer, Grafiker und Designer intensiv selbst testet, was wir liefern, um die Qualität zu verbessern.

Zusammenfassung

Dies ist ein kleiner Einblick in die technische Arbeit, die wir bei Sucker Punch leisten. Spiele zu entwickeln, ist aber noch mehr als das – es ist eine enorme Teamleistung, bei der die Kunst die Technologie und die Technologie die gesamte Kunst beeinflusst.

Als wir mit diesem Projekt vor fünf Jahren begonnen haben, war es unser Ziel, eine Spielwelt zu erschaffen, in der sich jeder gerne verlieren würde. Viele unserer technischen Entscheidungen haben sich um die Kernvision von Ghost of Yōtei gedreht – die einer wandernden Kriegerin, die sich mit Ereignissen aus ihrer Vergangenheit arrangieren muss. Wir freuen uns sehr, zu sehen, wie diese Vision zum Leben erweckt wird, wenn ihr eure Spielerfahrungen teilt und unglaubliche Screenshots und Videos aus dem Spiel im Fotomodus postet.

Wir sind auf jeden Fall stolz auf das Ergebnis und hoffen, dass ihr alle euren Spaß daran haben werdet, in Ghost of Yōtei durch die Wildnis zu streifen.

Wenn ihr an mehr Informationen über die Technologie und den Entwicklungsprozess von Sucker Punch interessiert seid, werft einen Blick auf unsere vergangenen Präsentationen auf Konferenzen wie der GDC und SIGGRAPH. Wir werden 2026 voraussichtlich mehr verraten.

Mein besonderer Dank gilt Jessie Patry, Doug Davis und Eric Wohllaib, die mir bei der Bearbeitung und Vorbereitung der Inhalte für diesen Beitrag geholfen haben, sowie all den Leuten von Sucker Punch, deren Arbeit ich hier repräsentiere.

Nimm an der Konversation teil

Einen Kommentar hinzufügen

Sei kein Idiot!

Bitte sei freundlich, rücksichtsvoll und konstruktiv. Unangemessene Kommentare an PlayStationBlogModeration@sony.com melden

Schreibe einen Kommentar

Bitte gib dein Geburtsdatum ein.

Date of birth fields