EVERSPACE 2 nimmt Kurs auf die Zukunft mit der Unreal Engine 5

Entdecken Sie die Beltegrades mit Lumen in einem ganz neuen Licht

29. April 2024
Hallo! Ich bin Caspar Michel, Produzent bei ROCKFISH Games, und das ist mein Kollege Marco Unger, Lead VFX/Environment 3D Artist. Wir sind Teil eines kleinen Teams in Hamburg und arbeiten im Rahmen unserer EVERSPACE-Reihe an Weltraumactionspielen. Unser neuer Titel "EVERSPACE 2" wurde im April 2023 für PC und im August 2023 für PlayStation und Xbox veröffentlicht. Erst am 29. April 2024 haben wir im Rahmen des Incursions-Updates für EVERSPACE 2 den Umstieg von Unreal Engine 4 auf Unreal Engine 5.3 vollzogen. An dieser Stelle möchten wir auf einige der Vorteile und Herausforderungen eingehen, die ROCKFISH beim Umstieg erlebt hat.

Unser Ziel beim Umstieg von einer unmodifizierten UE4-Version auf UE 5.3 war es, die langfristige Bereitstellung des Spiels und reibungslose Entwicklung für zukünftige Erweiterungsinhalte sicherzustellen. Der Umstieg war ein strategisches Upgrade, um Störungen und Probleme in zukünftigen Entwicklungsphasen und Aktualisierungen zu vermeiden. Der Gedanke dahinter war, dass wir mögliche zukünftige Schwierigkeiten frühzeitig ausmerzen wollten.
Die Mischung aus Umgebungslicht der Sterne und vielen anderen Lichtquellen in der Prescott-Station bot eine ausgezeichnete Gelegenheit, um Lumen eindrucksvoll in Szene zu setzen (siehe rechts).
Wir stürzen uns gerne auf die neuesten Technologien und führen während der Entwicklungsarbeit immer wieder Upgrades auf neue Engine-Versionen durch. Zudem kommen bei uns sehr viele Plattformerweiterungen zum Einsatz, die mit einer veralteten SDK nicht mehr richtig funktionieren würden. Hätten wir nicht vorgehabt, EVERSPACE 2 weiterzuentwickeln, dann hätten wir die UE4 wahrscheinlich einfach weiternutzen können. Da wir aber auch in Zukunft Erweiterungen für das Spiel entwickeln wollen, hätte die Suche und Entwicklung von Lösungen für nicht mehr unterstützte Werkzeuge und Funktionen ständig einen enormen Zeitaufwand erfordert.

Der Einsatz von Lumen

EVERSPACE 2 wird von vielen Spielern als eines der attraktivsten Weltraumspiele auf dem Markt angesehen. Wir sind besonders stolz auf die Beleuchtung im Spiel. Dafür kommt eine Kombination aus vorberechneten GI-Lösungen und Screen Space Global Illumination (SSGI) zum Einsatz in den verschiedenen Bereichen der vielfältigen Sternensysteme im Spiel. Allerdings dauert die Berechnung extrem detaillierter Light-Maps auch beim Einsatz leistungsstarker Computer mehrere Tage.
Die indirekte globale Beleuchtung von Lumen (siehe rechts) simuliert von Oberflächen reflektiertes Licht (das ist üblicherweise ein sehr rechenintensiver Vorgang), um realistischere (oder qualitativ hochwertigere) Schattendetails zu erzeugen, die einer Szene oder einem Gebiet mehr Charakter verleihen.
Die Implementierung von Lumen erforderte tatsächlich nichts weiter als die Umstellung einer Variable in unserer Konfigurations-Datei (*.ini) auf "True". Wir konnten die Funktion einfach so ohne großen Aufwand nutzen, was keine Selbstverständlichkeit in der Spieleentwicklung ist! Anfangs standen wir der Implementierung eines dynamischen globalen Beleuchtungs- und Reflexionssystems skeptisch gegenüber, allerdings merkten wir schnell, dass Lumen ohnehin beeindruckende visuelle Effekte noch weiter verbessern konnte, was mit gebakten GI-Light-Maps niemals möglich wäre.
Die Knochen dieser uralten Kreatur wirken mit Lumen noch verwitterter (siehe rechts).
Die Implementierung von Lumen war zwar mit wenigen Klicks erledigt, aber wir nahmen noch einige weitere Änderungen in der *.ini vor. Wir erhöhten etwa den Ray-Tracing-Culling-Radius, damit er besser in unseren riesigen Umgebungen funktioniert, und wir aktivierten Screen Space Ambient Occlusion (SSAO) in Kombination mit Lumen. Das war eine künstlerische Entscheidung, die zwar nicht viel mehr Realismus erschafft, aber den Darstellungen auf dem Bildschirm sehr viel mehr Tiefe verleiht. 

Die Endresultate mit Lumen sind spektakulär. Besonders beeindruckend wirkt das in Lichtumgebungen mit starken Kontrasten, wo sich das Sternenlicht an der komplexen Geometrie von Raumstationen, antiken Strukturen und Bergbauanlagen spiegelt.
Die Schatten vom aktivierten Lumen (siehe rechts) lassen die geschäftige Bergbaukolonie noch lebendiger wirken.
Allerdings verlief nicht alles so reibungslos wie die Aktivierung von Lumen. Beim Umstieg stießen wir auf einige Probleme mit dem Niagara-Partikel-System, das in der neuen Version signifikante Veränderungen erfahren hat. Einige Module gab es nicht mehr, während andere miteinander verschmolzen wurden. Das führte zu Problemen, wenn der Editor versuchte, bestehende Systeme automatisch umzuwandeln oder zu aktualisieren. Wegen der Entfernung der Materialverschiebung mussten wir einen Großteil der VFX überarbeiten. In einem Spiel voller greller Laser und farbenprächtiger Explosionen ist das keine leichte Aufgabe. Wir sind allerdings überzeugt davon, dass sich dieser Aufwand auf lange Sicht lohnt und die Arbeit an zukünftigen Veröffentlichungen verbessert und erleichtert.

Herausforderungen, Fehler und Hindernisse

Insgesamt arbeiteten unsere Programmierer Hunderte Stunden an der initialen Migration, was Entwicklungsarbeit, Besprechungen, Problembehebungen und das Korrigieren von Fehlern, die während der Migration entstanden, umfasste. 

Wir hatten dank Unreal Engine 4 bereits einige Erfahrung mit dem Umstieg auf eine neue Engine-Hauptversion, aber bei Unreal Engine 5.3 gab es dennoch anfangs einige Probleme. Direkt zu Beginn sahen wir uns mit einer Vielzahl von Fehlern und Systeminkompatibilitäten konfrontiert. Das waren unter anderem kaputte Shader, Materialien, Zwischensequenzen, VFX, Partikel, Physikaspekte, verzerrte Texturen, Darstellungsflackern, defekte Benutzeroberflächenelemente und abgeschnittene Laserstrahlen. Die Liste ist bei Weitem nicht vollständig, aber sie vermittelt einen Eindruck davon, mit welcher Art Fehlern und Problemen unser Qualitätssicherungsteam und unsere externen Tester zu kämpfen hatten. 

Kurz nach dem Start des Migrationsprojekts auf Unreal Engine 5.3 veröffentlichten wir einen kleinen Blog, in dem wir ein paar visuelle Fehler zeigten, auf die wir bei unserer Arbeit gestoßen waren. So wollten wir unserer Community nicht nur zeigen, woran wir arbeiteten, sondern auch das Thema Spieleentwicklung allgemein in einem etwas heiteren Licht darstellen.
Obwohl viele Orte bereits fantastisch aussehen, hebt die Lumen-Beleuchtung (siehe rechts) den Charakter eines jeden Asteroiden noch mehr hervor und verleiht diesen rauen Oberflächen noch mehr Textur.
Zu den ersten Fehlern, die uns direkt nach dem Start von UE5 auffielen, gehörten die strahlenden Schiffsränder. Das lag an der falschen Zuweisung von Shadern. Unsere Community fand den Tron-Look allerdings direkt ansprechend und wollte mehr davon. Diesem Wunsch haben wir schließlich mit einem besonderen Supporter-Pack-DLC entsprochen.

Wir begannen am 28. November 2023 mit dem Engine-Umstiegsprozess und haben im Verlauf des Projekts kontinuierliche Verbesserungen vorgenommen. Das größte Problem war die allgemeine Performanceverschlechterung, die besonders große negative Auswirkungen beim Spielen auf der PlayStation 5 und Xbox Series X und S hatte. In einigen Leveln fiel die Bildwiederholrate bei der PlayStation 5 und Xbox Series X von stabilen 60 FPS auf unter 30 FPS. Dafür gab es keinen einzelnen Grund, vielmehr war es eine Ansammlung vieler kleiner Ursachen. Die Performanceprobleme haben wir mittlerweile größtenteils gelöst, indem wir unnötige Hintergrundschiffe von NSC aus Problembereichen entfernten sowie Blueprints-Nativisierung und Optimierungen an den Tick-Raten von Actors und Komponenten vornahmen.
Raumstationen sehen dank der dynamischen Beleuchtung von Lumen (siehe rechts) noch prächtiger aus.

Funktionen und Vorzüge

Neben Lumen konnten wir mit dem Umstieg auf Unreal Engine 5 auch individuell aktivierbare Funktionen wie Latenzverringerung durch NVIDIA Reflex, Frame Generation, Intel XeSS-Upscaler und den Upscaler AMD FSR 3.0 mit Frame-Interpolation für PC-Spieler mit leistungsstarken Grafikkarten einführen. Da nicht alle unsere Spieler über die nötige leistungsstarke Hardware verfügen, um diese Funktionen nutzen zu können, lassen sie sich individuell aktivieren und deaktivieren.

Der Wartung von EVERSPACE 2 und die Entwicklung zukünftiger Inhalte für das Spiel sollten nach dem Umstieg spürbar besser funktionieren als vorher. Damit Unreal unsere Entwicklungsbedürfnisse besser erfüllen kann, passen wir im Zuge des Umstiegs auch unsere Werkzeuge an. Wir sehen schon heute, wie neue Werkzeuge und Funktionen der Unreal Engine 5 etwa durch die fortlaufenden Verbesserungen am Profiling-Analysierer Unreal Insights dabei helfen, unsere Arbeit an zukünftigen Erweiterungen zu beschleunigen.
Lumen (siehe rechts) sorgt dafür, dass natürliche Oberflächen im harten Tageslicht nicht so ausgeblichen erscheinen.

Ratschläge für Entwicklerkolleg*innen

Der Umstieg auf eine neue Engine-Version ist eine gewaltige Herausforderung, insbesondere bei einem Projekt, das bereits veröffentlicht wurde. Das darf man nie auf die leichte Schulter nehmen. Für ein Spiel wie unseres mit so langen Nutzungsperioden für Inhalte lohnt sich dieser Aufwand aber. 

Wir sind vollkommen überzeugt davon, dass sich die Implementierung von Lumen in EVERSPACE 2 mehr als gelohnt hat. Die Einbindung war zudem auch viel leichter, als man denken könnte. Wie eingangs erwähnt, nutzten wir bisher in UE4 eine Kombination aus gebakter Beleuchtung und SSGI. Dafür mussten wir Inhalte auf bestimmte Art und Weise anlegen, um die im Voraus berechneten Lightmap-UVs für jedes Objekt zu unterstützen. Da Lumen aber ein dynamisches Beleuchtungssystem ist, arbeitet es sehr gut mit Inhalten zusammen, die wir früher mit anderen Beleuchtungslösungen erstellt haben. Bei Lumen ist es egal, ob ein Objekt für eine dynamische oder im Voraus gebakte Beleuchtung entwickelt wurde. Dadurch mussten wir kaum Anpassungen bei der Migration zur UE5 vornehmen.

Im Allgemeinen ist unsere Community sehr begeistert vom Engine-Wechsel. Wir sind uns aber auch der Sorgen einiger Spieler bewusst, die Performanceeinbußen befürchten. Wenn man vor und während bestimmter Meilensteine im Umstiegsprozess automatisierte Performanceüberprüfungen laufen lässt, erhält man Benchmarks und Indikatoren für Optimierungsmöglichkeiten. Dieses Vorgehen hatten wir nicht bedacht und mussten uns schnell korrigieren. Wir haben viel Zeit für die Entwicklung von Testmethoden, das Hinzufügen von Unterstützungsfunktionen und das Erlernen der Handhabung der produzierten Daten verbracht. Mit der Ermittlung und dem frühzeitigen Beseitigung von Performanceproblemen konnten wir viele Faktoren optimieren, die sonst das Spielerlebnis beeinträchtigt hätten.

Zeit ist immer ein bedeutender Faktor. Wir hatten mit mehr Fehlern als erwartet zu kämpfen, aber trotzdem waren all diese Probleme relativ geringfügig und ließen sich leicht beheben. Indem wir unsere Arbeit besser kommunizieren und angegangene Projekte für unsere Community transparent machen, sorgen wir auch dafür, dass Spieler unsere Arbeit besser wertschätzen können.

Am Ende führte der Umstieg auch dazu, dass das mit der Unreal Engine 5 verbundene Spiel-Update großes Medienecho und Interesse bei unseren Partnern ausgelöst hat, die alle sehr interessiert an den Möglichkeiten der Engine und ihren Funktionen sind. Als unabhängiges Studio ist Aufmerksamkeit sehr wichtig für uns. Das war somit ein schöner Bonus für unsere Mühen.
Industrieanlagen mit vielfältigen Lichtquellen und unterschiedlichen festen Oberflächen lassen mit Lumen ihr Schattendasein hinter sich (siehe rechts).

Fazit

Aktuell ermöglicht uns der Umstieg auf UE5 weitere Möglichkeiten für die Entwicklung neuer Funktionen sowie die Überprüfung unserer Prozesse und Arbeitsschritte bei der Einführung neuer Funktion wie Lumen und die Nutzung von Plugins für neueste Upscalers. Ebenso wichtig war, dass sich das Team mit UE5 und ihren Funktionen vertraut machen konnte, was uns bei kommenden Projekten helfen wird. Auf lange Sicht gehen wir davon aus, dass die Entwicklung zukünftiger Inhalte für EVERSPACE 2 viel reibungsloser ablaufen wird, als es bei diesem Projekt der Fall war. 

Einige kleine Optimierungsprobleme müssen noch behoben werden, doch schon jetzt sind wir überzeugt, dass die Einführung von Lumen und der Umstieg auf Unreal Engine 5 ein voller Erfolg für das Team und EVERSPACE 2 sind.

Sichern Sie sich die Unreal Engine noch heute!

Holen Sie sich 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.