Innerhalb von Immortals of Aveum Das technische Interview von Digital Foundry

Immersed in Immortals of Aveum - Digital Foundry's Technical Interview

Aus technologischer Sicht ist Immortals of Aveum von Ascendant Studios ein äußerst wichtiger Spiel. Abgesehen von Fortnite, das von Epic Games selbst entwickelt wurde, ist es das erste Triple-A-Spiel, das mit allen modernsten Funktionen von Unreal Engine 5 ausgeliefert wird. Dazu gehört die mikrogeometrie-basierte Nanite, die erstaunliche Detailstufen ermöglicht, sowie Lumen – eine ray tracing-basierte globale Beleuchtungslösung und virtuelle Schattenkarten. Vor Fortnite war The Matrix Awakens das einzige UE5-Spiel für Konsolen, das diese Funktionen aufwies – es sah großartig aus, aber es gab offensichtliche Leistungssorgen.

Nicht nur verwendet Ascendant alle UE5-Funktionen, es zielt auch auf 60fps auf Konsolen ab. Es ist also ein sehr ehrgeiziges Spiel, aber wie die gestrige DF-Rezension zeigte, kann GPU-Berechnung nur so weit gehen, daher muss die Bildqualität zwangsläufig leiden, wobei FSR 2.2.1 verwendet wird, um von einer Basisauflösung von 720p auf Xbox Series X und PlayStation 5 zu skalieren.

Während des Überprüfungsprozesses waren wir sehr motiviert, mehr darüber herauszufinden, was das Spiel ausmacht. Als EA uns die Möglichkeit bot, mit dem Entwicklungsteam zu sprechen, haben wir die Gelegenheit ergriffen. Alex Battaglia und Tom Morgan sprachen mit Mark Maratea, Julia Lichtblau und Joe Hall von Ascendant Studios – und hier ist das Gespräch.

Immortals of Aveum: Der technische Konsolenüberblick von Digital Foundry. Wir werden uns auch die PC-Version anschauen.

Wie lange wurde an Immortals gearbeitet – und war die Idee von Anfang an, etwas Ähnliches wie einen magischen Ego-Shooter zu produzieren, oder hat sie sich während des Projekts entwickelt?

Mark Maratea: Die Firma wurde gegründet, um dieses Spiel zu machen, und es hat eine beträchtliche Zeit gedauert, um es aufzubauen… dann kam Covid, und die Personalbeschaffung wurde zu einer sehr interessanten Zeitperiode. Dieses Spiel ist in jeder Hinsicht fünf Jahre alt.

Julia Lichtblau: Ein paar Monate nachdem Brett [Robbins] das Studio tatsächlich gegründet hatte, übergab er Dave Bogan, dem leitenden Art Director, und mir dieses 60-seitige Pitch-Dokument, das im Wesentlichen ein magischer Shooter war. Es hatte die Grundidee von [Protagonist] Jack und dieser großen Story-Ark. Natürlich haben sich einige Dinge geändert, wie zum Beispiel die Feinheiten des Kampfs, aber er wusste, dass Brett wusste, dass er dieses magische Shooter-Spiel machen wollte, weil es etwas war, das es vorher nicht gab, und es war ein Spiel, das er wirklich spielen und machen wollte.

Basierend auf dem Timing würde ich vermuten, dass das Spiel nicht mit Unreal Engine 5 gestartet ist, da diese noch nicht existierte – hat es also mit Unreal Engine 4 begonnen und ist dann auf UE5 migriert? Wie war das?

Mark Maratea: Das Projekt begann mit UE 4.20, das im Juli herauskam, und die Firma wurde im August [2018] gegründet. Als die Firma anfing, wurde alles mit Blueprints gemacht, ohne Änderungen am Engine-Code, als ob es ein kleineres Indie-Projekt wäre, um es zu prototypisieren… Das könnte sich geändert haben; die Realität der Geschäftsentscheidungen ist, dass wenn sich drei Monate später ein Publisher gemeldet und gesagt hätte: “Ihr kommt, aber ihr benutzt Frostbite oder was auch immer”, dann hätte es einen Kurswechsel gegeben. Wir haben das Glück, eine sehr großzügige Finanzierungsquelle zu haben… einen erstaunlichen Partner, der uns die Autonomie gibt, diese Entscheidungen zu treffen. Wir haben mit Vanilla 4.20 angefangen, Vanilla 4.21, kundenspezifische Engine 4.23, 4.25, 4.26, UE5-Vorschau, tatsächliches UE5, UE5.1 und jetzt liefern wir als UE 5.1.1 aus.

Also hast du erwähnt, dass ihr mit Blueprints und minimalen Code-Änderungen angefangen habt, aber mit 4.23 zur benutzerdefinierten Engine gewechselt habt. Welche größeren Änderungen haben dazu geführt, dass es sich abweichend entwickelt hat?

Mark Maratea: Du weißt, der Anfang all dieser Änderungen war meistens “…und dann hat ein Designer oder ein Künstler nach dieser unmöglichen Sache gefragt, und wir mussten eine Engine-Änderung vornehmen.” Für das Ruinen-Level mussten wir zum Beispiel auf der UE4-Version etwas Magie wirken, weil die Levelstruktur so angelegt war; wir mussten tatsächlich die Sonne am Himmel bewegen. Das klingt nicht nach viel, bis man bedenkt, dass UE4 auf baked lighting basiert, also wurde daraus tatsächlich eine große Sache und erforderte viel Arbeit.

Dieses Spiel war schon immer 10 Pfund Spiel in einer 5-Pfund-Tüte. Unser Kampfsystem hat sich weiterentwickelt und wurde zum Ursprung vieler unserer Engine-Änderungen, da wir unser Kampfsystem auf dem Unreal Gameplay Ability System aufgebaut haben, das für ein MOBA entwickelt wurde. Es ist ein gutes Framework für ein netzwerk-repliziertes Fähigkeitssystem und wir verwenden es für jede Art von Waffe im Spiel – Schnellfeuerwaffen, gezielte und kontrollierte Waffen -, daher sind wir wirklich über die Grenzen dieses Systems hinausgegangen. Die ersten großen Änderungen bestanden also darin, das spielbare System zu übernehmen und es so zu gestalten, wie wir möchten, dass der Kampf funktioniert.

Das nächste große Thema war die Weltkomposition – wie streamt das Spiel [Daten], wo befindet sich alles. Wir haben in diesem System enorme Veränderungen vorgenommen, um diese extra-großen Welten aufnehmen und durch sie hindurchwechseln zu können und sie innerhalb unseres Speicherbudgets zu halten… und dann passiert die Magie von UE5 und die Weltkomposition existiert nicht mehr, weil sie veraltet ist. Wie man sich vorstellen kann, war das für uns alle – Ingenieure, alle unsere Content-Teams, Level-Künstler und Level-Designer im Besonderen – eine Herausforderung. Das war unser Signal, dass es eine “neue Bibel” dafür gibt, wie man ein Spiel entwickelt, und sie haben gesagt “zuerst müsst ihr lernen, zu schreiben… und dann ist das verrückt.” Es war ein großes Innovationsprojekt auf Studio-Ebene, wir mussten prototypen, wie der richtige Weg war, Regeln aufstellen, herausfinden, was Epic falsch gemacht hat, wie unser Spiel funktioniert, die Regeln wieder umschreiben, und das war ein fortlaufender Prozess bis in die letzten sechs Monate.

Wir haben 5.1 über Weihnachten übernommen und ich habe meinen Weihnachtsurlaub damit verbracht, [diese Version] zu integrieren… als wir auf 5.1 umgestiegen sind, konnten wir keine Assets im Spiel laden, also musste ich den gesamten Asset-Loader in zwei Tagen neu schreiben, damit das nicht passiert und wir nicht unseren gesamten Fortschritt verlieren.

Ein Blick darauf, wie sich die Konsolenversionen in identischem Inhalt vergleichen.

Das ist also der Preis dafür, auf dem neuesten Stand zu bleiben, oder?

Mark Maratea: Ja, aber es hat sich absolut gelohnt.

Haben Sie irgendwelche Shader Pre-Caching [Funktionen] aus 5.11 oder 5.2 ausgewählt?

Ich bin gerade mitten in einer Slack-Diskussion darüber, ob wir etwas aus 5.2 ziehen müssen, um damit zu helfen. Das PSO-Caching in 5.1 funktioniert, aber wenn Sie in den Code schauen, ist die erste Zeile ein Kommentar, der sagt “das funktioniert nicht, benutzen Sie das nicht”, und es gibt Abbrüche, um zu anderen Codeabschnitten zu gehen. Sie haben versucht, ein adaptives Pre-Caching zu machen, was zu Speicherlecks und letztendlich zu Abstürzen beim Freigeben von Assets führte – was schlecht ist -, aber in 5.2 ist das alles behoben. Leider befinden wir uns genau in der Übergangsphase zwischen der 5.1.0-Version und der 5.2-Version [die jeweils] auf eine bestimmte Weise funktionieren, und 5.1.1, die sie versucht haben, zum Laufen zu bringen, aber es funktioniert nicht ganz.

Also mussten wir einige Dinge ändern, wir verwenden PSO Pre-Caching in Kombination mit dem DX12 Normal Cache. In der [Epic-]Dokumentation gibt es eine Nebenbemerkung, die besagt, “wenn Sie PSO-Caching machen, werden standardmäßig alle PSOs gecacht und dann alle auf einmal geladen.” Und dieser Teil “alle auf einmal laden” [ist problematisch]. Wir haben viele Shader in unserem Spiel, wir haben ein unglaubliches, anderes System entwickelt, das dynamisches Branching verwendet, und wir haben tatsächlich einen Teil der Shader-Pipeline neu geschrieben, was uns 3-4 ms von unserer Rendierzeit abzieht, eine echte ernsthafte Sache. Der Nachteil ist, dass dies die Shader-Permutationen erhöht, also haben wir 5,7 Millionen Shader mit vollen Permutationen… das erzeugt 563 Tausend PSO-Objekte, also versucht das Spiel beim Start, eine halbe Million PSOs zu laden.

Erklärt das, was ich gesehen habe, als ich das Spiel ohne die .ini-Datei geladen habe? [Anmerkung: Der PC-Testcode wurde ohne eine wichtige .ini-Datei versandt, was zu anfänglichen Problemen führte, die schnell behoben wurden] Normalerweise geht die CPU voll in die Vollen [beim Vorkompilieren der Shader], aber hier schien die CPU Schwierigkeiten zu haben, sogar die volle Auslastung zu erreichen.

Mark Maratea: Ja, das liegt alles an der E/A. Es ist sozusagen die schlechteste Version der E/A, weil Sie die PSOs aus dem Cache in den Speicher laden, sie verarbeiten und zurück auf Ihre C: Festplatte speichern. Und so umgehen Sie alle Optimierungen, weil es auf ein anderes Laufwerk gehen muss – die meisten Leute haben ihre Steam-Bibliothek nicht mehr auf ihrer C: Festplatte -, und Sie umgehen DMA-Dinge und DirectStorage funktioniert nicht, also bekommen Sie eine gewisse Strafe.

Du hast DirectStorage erwähnt – verwendest du das auf Xbox Series-Konsolen oder dem PC?

Mark Maratea: Ja, wenn [DirectStorage] vorhanden ist, wird Unreal automatisch versuchen, es zu nutzen. Wir nutzen auch asynchrones Computing, was ein wunderbarer Geschwindigkeitsschub ist, wenn es mit DirectStorage kombiniert wird, da es uns ermöglicht, Compute-Shaders direkt auf der GPU zu laden und dann magische Berechnungen durchzuführen, um das Spiel besser aussehen zu lassen und beeindruckender zu machen. Dadurch können wir GPU-Partikel von Niagara ausführen, ohne eine asynchrone Belastung der CPU zu verursachen und den Game-Thread nicht zu beeinträchtigen.

Ich habe die ersten 25 Minuten des Spiels gespielt und hatte keine Probleme mit der Kompilierung der Shader, was für ein Unreal Engine-Spiel selten ist.

Mark Maratea: Du wirst im gesamten Spiel keine Probleme mit PSO-Hängen haben. Ich sage das jetzt öffentlich und es wird aufgezeichnet.

Wie war es, Nanite in das Spiel zu integrieren, und wie hat es sich im Vergleich zur üblichen LOD-Erstellung bewährt? War es einfach damit zu arbeiten?

Julia Lichtblau: Auf der künstlerischen Seite haben wir tatsächlich angefangen, dieses Spiel in Unreal 4 zu entwickeln, daher wurden viele unserer frühen Kits entlang dieser traditionellen Pipeline erstellt. Als wir zu Nanite und UE5 gewechselt sind, gab es viel Aufregung, weil wir viel mehr Details in die Assets selbst packen konnten… Ursprünglich wurde ein hochauflösendes Modell in ZBrush erstellt, das dann in die klassische Textur und das Material eingebettet wurde, um die Form beizubehalten, während die Polygondichte niedrig war. Aber als wir zu Nanite gewechselt sind, konnten wir plötzlich zu den hochauflösenden Assets zurückkehren. Es war definitiv eine große Überarbeitung des Workflows, herauszufinden, wie man etwas so Dichtes entfaltet, denn jetzt hat man es mit so vielen GameTopics, in Millionen… Sobald es im Motor war, war es ziemlich unglaublich, Millionen und Abermillionen von Polygonen in den Motor zu laden, ohne dass er abstürzt.

Es gab ein paar Mal beim Import, wenn die Nanite-Flagge manchmal nicht gesetzt wurde und wir ein mehrere Millionen Polygone umfassendes Bücherregal erneut importieren mussten und uns fragten, warum der Motor ruckelt, wenn wir in diese Richtung schauen. Man konnte sehen, dass Unreal nicht wusste, wie damit umzugehen ist, aber sobald man dieses Kästchen ankreuzt, regelt es alles. Es führt dynamische LODs und Cluster durch, sodass unser Workflow sGameTopichtlich beschleunigt wurde, und es war ziemlich erstaunlich, in die Nanite-Ansicht zu wechseln und in Echtzeit zu sehen, wie die Cluster angepasst und optimiert wurden. Damit konnten wir dieses Spiel mit einem so kleinen Team viel schneller entwickeln.

Immortals of Aveum nutzt nicht nur alle wichtigen Funktionen der Unreal Engine 5, sondern zielt auch auf 60fps ab, kann aber unter Last abfallen. Hier ist die Übersicht über alle Konsolen.

Wie habt ihr entschieden, was mit Nanite gemacht wurde?

Julia Lichtblau: Als wir zu Unreal [5] gewechselt sind, haben wir Nanite auf alles angewendet, was möglich war. Ich glaube, in Version 5.0 ging es nicht mit Vegetation, das kam etwas später, aber sobald wir Nanite-Vegetation hatten, haben wir es aktiviert. Dann haben wir angefangen, uns davon zurückzuziehen und uns zu fragen: “Muss das wirklich Nanite sein?” Wir sind auf einige Assets gestoßen, die aufgrund ihrer Konstruktion und der Art und Weise, wie die UV-Shells aufgebaut waren, problematisch waren, daher mussten wir einige dieser Assets überarbeiten, um sie mit Nanite kompatibel zu machen, oder sie komplett ändern und zur traditionellen Methode zurückkehren. Wir konnten Nanite nicht für Dinge verwenden, die sich bewegen, wie Flaggen. Wir haben wirklich alles in den Nanite-Topf geworfen, um daraus zu lernen. Jetzt konnten wir eine riesige Confluence-Seite (Unternehmens-Wiki) erstellen, wie Nanite in Zukunft gehandhabt werden sollte.

Wie wirken sich Nanite und virtuelle Schattenkarten auf Konsolen wie die PS5 und Series X/S aus?

Julia Lichtblau: Auf der künstlerischen Seite mussten wir nichts wirklich anpassen, aber vielleicht hat Mark auf der Backend-Seite etwas getan, um das zum Laufen zu bringen, damit wir Künstler uns nicht so viele Gedanken machen müssen!

Mark Maratea: Ich würde sagen, in gewisser Weise funktioniert es auf Konsolen besser, seltsamerweise. Nanite-geometrie ist sehr datenstromabhängig, es geht hauptsächlich um Festplatten-Ein-/Ausgabe. Daher schreibt UE5 die I/O-Pipeline neu und optimiert sie für NVMe-SSDs. Es ist darauf ausgelegt, auf Konsolen zu funktionieren. Auf dem PC habe ich keine Ahnung, wie hoch die I/O-Bandbreite ist… Der einzige Nachteil auf Konsolen ist, dass man beim Einsatz von Nanite wirklich Streaming-virtuelle Texturen verwenden muss, man benötigt einen sehr großen virtuellen Texturspeicher. Konsolen haben festen Speicher, aber [eine einzelne Grafikkarte] kann mehr Speicher haben als die PS5. Daher ist die Optimierung für beide wirklich schwierig.

Nanite macht einen guten Job bei der Nutzung des verfügbaren Speichers, mit einer Ausnahme: Die virtuellen Texturpools in UE können nicht vergrößert werden – sie müssen beim Start des Motors initialisiert und danach nicht mehr verändert werden. Das führt zu vollständig zugewiesenem, zusammenhängendem Speicher, was aus Leistungssicht wunderbar ist, aber zu Problemen führen kann, zum Beispiel wenn in weiter Ferne ein Kelch ist, der nur ein Stück einer Textur aus einer 500 MB Poolzuweisung benötigt und du das nicht zur Verfügung hast, solange die Textur nicht verschwindet. Der PC kümmert sich nicht darum, wenn dir der Speicher ausgeht; im schlimmsten Fall wird auf den virtuellen Speicher zurückgegriffen. Die Konsole sagt “Ich habe keinen virtuellen Speicher, ich bin fertig.” Es stürzt nicht ab, aber es verursacht erhebliche Probleme. Dies führte zu dem, was intern als der berüchtigte Landschaftsfehler bekannt war, bei dem du einfach in bestimmte Teile des Spiels gehen konntest und es aussah, als hätte jemand eine Anime-Landschaft auf den Boden gemalt, weil der virtuelle Texturpool nicht zugewiesen werden konnte.

Nanite scheint das Leben auf der künstlerischen Seite erleichtert zu haben; gibt es einen Moment im Spiel, auf den du besonders stolz bist, ein Showcase-Moment dafür, was du mit Nanite tun kannst, was du ohne UE 5.1 nicht hättest tun können?

Julia Lichtblau: Bei jedem Level müssen wir wirklich an unsere Grenzen gehen. Es gibt dieses eine Level mit einem riesigen Koloss, einem riesigen Mech, und er hat eine sehr gebogene Art von Geometrie mit vielen Details; innen ist jeder kleine Niet vorhanden und Schlitze im Boden sind modelliert, so dass man all diese verrückten beweglichen zylinderförmigen und hochpolygen Assets sehen kann, zu denen wir einfach immer mehr Details hinzufügen konnten… Nanite hat die Welt einfach geöffnet, um Levels noch schöner zu gestalten, denn jetzt müssen wir uns nicht mehr auf Normal Maps und diese Art von Fälschungen verlassen, die bei einem bestimmten Betrachtungswinkel zusammenbrechen. Dieses Problem existiert nicht mehr, weil die Geometrie tatsächlich vorhanden ist… man kann ganz nah herangehen und es hat immer noch diese Krümmung und Detailgenauigkeit. Es war also wirklich cool, mit einer Vielzahl von verschiedenen Texturen, Oberflächen, Formen und Architekturstilen zu experimentieren. Auf der künstlerischen Seite hat es wirklich Spaß gemacht, das im ganzen Spiel voranzutreiben.

Joe Hall: Mit den VFX in UE5.1 wurde die Transparenz mit Nanite eingeführt, was wir definitiv gebraucht haben. Es gibt ein Bibliothekslevel, bei dem sich das Metall aufgrund des Fortschritts des Spielers abbauen muss, also handelt es sich um Nanite-Assets, die sich mit Emissionen und Partikeleffekten abbauen und das Fallback-Mesh darin nutzen. Es ist wirklich beeindruckend.

Der offizielle Launch-Trailer von Immortals of Aveum.

Wir müssen diese Momente für unsere Berichterstattung einfangen…

Mark Maratea: Um ehrlich zu sein, die ersten 10 Minuten des Spiels nach dem Kino, wir machen die Panoramaaufnahme von der Seren Underbridge – das ist alles in Echtzeit, im Spiel, voll beleuchtete Nanite-Geometrie, aufgeteilt in verschiedene Bereiche. Das Ding ist riesig – ich glaube, viele von uns vergessen, wie atemberaubend es ist; jedes andere Spiel hätte es vorgerendert. Echtzeitbeleuchtung, Windmühlen an diesen Gebäuden, die sich in Echtzeit drehen, animierte Meshes… jedes Mal, wenn ich mir das anschaue, entdecke ich ein neues Detail. Unser Kunstteam ist einfach phänomenal, mit dem, was sie mit UE5 gemacht haben. Es überspringt die Uncanny Valley, es geht direkt in Richtung “ja, das ist eine normale Stadt”.

Mit Nanite kannst du Replikation, Rotation und Skalierung desselben Objekts verwenden, um Bereiche aufzubauen – wie bringst du Abwechslung in die Umgebungen? Gibt es ein Verschleißsystem? Gibt es mischbare Details, um bestimmten Assets Variation hinzuzufügen?

Julia Lichtblau: Wir haben kein Verschleißsystem; wir haben stark unterschiedliche Materialinstanzen verwendet, um zum Beispiel verschiedenen Gebäuden unterschiedliche Farben zu verleihen, und eine ganze Reihe von Abziehbildern, mit denen du bestimmte Bereiche mehr bröckelnden Putz, Schmutzspuren oder Graffiti haben kannst. Ein Großteil davon bestand einfach darin, handgefertigte Geometrie hinzuzufügen – nimm ein Gebäude und füge eine Menge Requisiten hinzu. Wir haben diese Slum-Blueprints erstellt, die viele austauschbare Requisiten hatten, also wurden diese nicht manuell platziert – aber wir konnten hineingehen und diese künstlerischen Details hinzufügen, dieses Gefühl von “bewohnt sein”, um etwas Umgebungsgeschichte zu erzählen. So konnten wir etwas Abwechslung in die meisten dieser Assets bringen.

Mit 60fps auf Konsolen, benutzt ihr die Software Lumen? Und auf dem PC, bekommt man automatisch die Software Lumen oder wählt es zwischen Hardware und Software Lumen basierend auf der Konfiguration?

Mark Maratea: Ja [für die Software Lumen auf Konsolen]. [Auf dem PC] ist es derzeit Software, wir haben Optionen für beides. Das hängt mit den PSO-Caching-Problemen zusammen – es stellt sich heraus, sobald man Hardware [Lumen] einschaltet, verdoppeln sich die Shader-Permutationen, weil sowohl die Hardware- als auch die Software-Versionen erstellt werden. Ich habe mich entschieden, dass wir das den Leuten nicht gleich antun sollten.

Eine Möglichkeit, einige dieser Probleme mit PSO-Caching zu vermeiden, ist ein Maskierungssystem. Ich muss also alle [10 Millionen] PSOs im Spiel zurückverfolgen und erfassen. Und ich muss das Spiel mit einem uint64-Bitflag versehen, das angibt, dies ist Phase eins, dies ist Phase zwei, dies ist Phase drei, während des gesamten Spiels – und dann den Vorab-Cache zu verschiedenen Zeiten und auf verschiedenen Ebenen durchführen. Ich muss dieses kleine System aufbauen und einfügen, dann können wir Hardware [Lumen] verwenden, ohne dass es am Anfang des Spiels zu einem fünfminütigen Shader-Neuaufbau kommt.

Mit Hardware Lumen und all seinen detailreichen Effekten, werden Sie auf CPU-Probleme stoßen?

Ja. Der Draw-Thread wird stark beansprucht. Der größte Unterschied von Software zu Hardware Lumen besteht darin, dass sich die Reichweite von 200 m auf 1000 m erhöht. Es gibt ein überraschendes sekundäres Problem, wenn man Lichtquellen aus fünfmal größerer Entfernung hinzufügt: Man erhält nun Reflexionen von Lichtern aus fünfmal größerer Entfernung. Lumen kümmert sich wirklich gerne um Reflexionen auf allem, und wir haben viele Lichter. Jetzt muss man also mit anderen Parametern spielen, um zu verhindern, dass zu viele Reflexionen auf allen glänzenden Materialien auftreten. Julias Team liebt glänzende Materialien, wir haben viele davon, also ist es ein ständiger Balanceakt zwischen zu wenigen und zu vielen Reflexionen. Wenn man in die falsche Richtung optimiert, wird es entweder verwischt oder es wird wie ein Glitzerfestival, beides ist nicht großartig. Daher müssen wir sehr genau abwägen, um die Bildrate und die visuelle Qualität auszubalancieren. Das erfordert viel Testen, und man darf dabei nichts anderes kaputt machen.

Unsere derzeitige Mindestspezifikation ist eine RX 5700 XT und RTX 2080. Ich gehe davon aus, dass die aktualisierten Spezifikationen bereits in den Händen der Leute sind; wir konnten die Mindestanforderungen tatsächlich etwas senken. Wir haben uns sehr bemüht, diese weit außerhalb von allem zu senken, was RTX unterstützt. Die Nebenwirkung davon ist natürlich, dass wir sicherstellen müssen, dass die Software [Lumen] auf dem PC nicht schlecht wird, während wir für Hardware [Lumen] optimieren.

Zurück zu Lumen, es gibt die Einstellung “Ultra” für globale Beleuchtung und Reflexionen. Wo fallen die Konsolen in diesen Einstellungen?

Mark Maratea: Sie sind im Wesentlichen auf mittlerer Stufe und zielen auf 1080p mit Hochskalierung und 60fps.

Ascendant Studios diskutieren, wie sie die Welt von Immortals of Aveum gestaltet haben.

Es ist unglaublich zu sehen, dass das Spiel von Anfang an auf Konsolen Nanite und Lumen mit 60fps unterstützt. War das von Anfang an Teil des Plans? Gab es einen Moment, in dem Sie überlegt haben, auf 30fps zu gehen?

Mark Maratea: Wir haben die ersten zwei Jahre unserer visuellen Ziele verfolgt [anstatt eines fps-Ziels], wobei das Kunstteam die Führung übernahm. Parallel dazu arbeiteten das Kampfteam und [Game Director] Brett daran, und Joes Team sorgte dafür, dass die visuellen Ziele des Kampfes erreicht wurden. Sobald diese beiden Dinge feststanden, hatten wir eine Maschine, die konstant mit 45-50fps im Entwicklungsmodus lief – und Brett spielte das und sagte: “Okay, nein, ich mag 30 nicht mehr. Dieses Spiel muss 60 sein, der Kampf fühlt sich bei 30 nicht richtig an.” Also haben wir als Team umgeschwenkt.

Inzwischen haben wir viele dieser Probleme behoben, wodurch wir unsere Mindestspezifikationen etwas senken konnten. Ich empfehle niemandem, das zu tun, aber wenn jemand diesem Spiel eine [GTX] 1060 geben würde, würde es tatsächlich laufen. Es ist nicht dafür optimiert; außerdem handelt es sich nicht um eine 8GB-Karte, also müsste man sehr vorsichtig sein. Unreal wird sehr böse, wenn man nicht genug virtuellen Schattenspeicher für die Auflösung hat, mit der man spielt. Bei 1080p ist das nicht so schlimm, aber als PC-Elite-Exklusiv-4K-Spieler kann ich Ihnen sagen, dass es ein sehr großes Problem ist, wenn mir der Schattenspeicher ausgeht. Das ist die technische Seite davon, aber das ist wirklich eine Kunstfrage. Sobald wir uns auf 60 fps festgelegt hatten, gingen sowohl Julias als auch Joes Teams einige großartige Wege, um das RT an diesem Punkt zum Laufen zu bringen.

Wie sieht es mit anderen konsolenäquivalenten Einstellungen aus? Sind PS5 und Series X für die meisten Einstellungen auf Medium oder können sie auch auf Ultra gehen?

Mark Maratea: Trotz der Parität in Bezug auf die Leistung handhaben Series X und PS5 die Dinge unterschiedlich. Asynchrone Berechnungen funktionieren auf einer Konsole sehr gut, auf der anderen jedoch nicht so gut, was zu einer Veränderung der GPU-Belastung führt. Ein Teil des Konsolentunings hat dazu geführt, dass wir das Leistungstool entwickelt haben, das wir auf dem PC haben. Wir haben jede einzelne Render-Variablen, die im Unreal Tuning System existieren, in Diagrammen erfasst, alle möglichen Bereiche abgedeckt und das Spiel 17.000 Mal mit jeder Kombination von Einstellungen ausgeführt. Dadurch haben wir das Verhältnis von Leistung und visuellen Effekten bei all diesen Dingen verstanden. Dann haben wir uns mit der Kunstabteilung zusammengesetzt und einen Kompromiss gefunden, bei dem wir meiner Meinung nach eines der bestaussehenden Konsolenspiele geschaffen haben, das mit einer sehr guten Framerate läuft.

Der Grafikmenü des PCs berechnet eine Punktzahl für Ihre CPU und GPU. Auf welchen Grundlagen beruht dies?

Mark Maratea: Epic hat ein synthetisches Benchmark-Programm entwickelt, aus dem wir echte Zahlen beziehen, die für den Benutzer relevant sind. Die CPU-Leistung basiert im Wesentlichen auf der Leistung eines einzelnen Kerns, während die GPU-Leistung die volle Leistung der GPU umfasst. Eine CPU mit Mindestanforderungen liegt etwa bei 180 oder 200, Ultra liegt bei ca. 300. Eine GPU mit Mindestanforderungen liegt bei etwa 500, während Ultra ab etwa 1200 beginnt, was etwa einer 7900 XT oder einer 4080 entspricht.

Die Beichte ist, dass dies aus unserem Tuning für Konsolen stammt, was bedeutet, dass ich vor ein paar Wochen in der Dusche stand und dachte: “Es wäre wirklich cool”, dieses Leistungstool zu entwickeln. Jetzt kommen all diese Daten herein, weil es das ermöglicht, Daten über verschiedene Grafikeinstellungen für Benutzer freizulegen… Wenn jemand einen neuen Prozessor oder eine neue Grafikkarte hat, erhalten wir neue Datenpunkte und das kann die Zahlen verändern. Im Grunde genommen aggregieren wir eine enorme Menge an Daten über eine Vielzahl von Hardware und treffen dann sehr gute Vermutungen.

Ist dies zukunftssicher gegenüber zukünftiger Hardware oder erfordert es immer noch viel manuelles Feintuning?

Mark Maratea: Die aktuelle Version ist sehr manuell, aber die Version, die Sie sehen werden, wird wesentlich besser sein. Wenn dieses Spiel so verkauft wird, wie ich es mir am 60. Tag erhoffe, wird es tatsächlich für verschiedene Upscaling-Algorithmen, verschiedene Auflösungen, RT ein und aus zählen und im Wesentlichen maschinelle Lerndaten nutzen, um Vorhersagen über die Framerate zu treffen.

Das erinnert mich an den Windows Experience Index (eingeführt mit Windows Vista). Es hat mich immer traurig gemacht, dass Spiele ihn nicht genutzt haben, weil ich dachte, es war eine wirklich gute Idee. In Ihrem Blog erwähnen Sie die Verwendung von FSR 2 auf Konsole, warum haben Sie sich für FSR 2 anstelle von TSR entschieden?

Mark Maratea: Leistung. Wir verwenden FSR 2.2.1, wir sind auf dem neuesten Stand der Technik von AMD. Es hat wesentlich bessere Leistung beim Upscaling und das Upscaling von TSR hat wesentlich mehr Geisterbilder als DLSS oder FSR. Wir sprechen ständig mit AMD, Intel und Nvidia darüber, wie wir Probleme minimieren können, und jeder von ihnen hat seine eigenen GPU-Tests, die all dies durchlaufen. Wir haben viel Aufwand betrieben, um mit ihnen zusammenzuarbeiten. Es ist ein wenig schwieriger, dass Epic eine Änderung am Motor veröffentlicht, um TSR-Probleme zu beheben.

Wie sieht es mit spezifischen Auflösungszielen auf Konsolen aus – ist es FSR 2 auf Ultra-Performance für 4K oder eine höhere Einstellung?

Mark Maratea: Nur auf Konsolen wird ein adaptives Upscaling verwendet – wir schauen uns an, mit welchem Monitor/Fernseher Sie verbunden sind… und es gibt einen Slot in der Logik, der besagt, dass, wenn eine PS5 Pro herauskommt, sie tatsächlich auf verschiedene Qualitätsstufen hochskaliert wird – sie wird FSR 2-Qualität haben, anstatt der Standard-FSR 2-Leistung.

Wenn Sie das Spiel also auf einem 1080p-Bildschirm spielen, könnten Sie möglicherweise eine andere Leistung haben als beim Spielen auf einem 4K-Bildschirm?

Mark Maratea: Ja.

Können Sie die Unterschiede zwischen der Basisversion von UE5 und dem, was Sie tun, für die dynamischen verzweigten Shader erklären?

Mark Maratea: Ja, das möchte ich Joe Weyland zuschreiben, das ist sein Baby. Das ist wie ein Whitepaper auf Siggraph-Niveau. Wir arbeiten seit etwa 3,5 Jahren daran. Wir haben ein hierarchisches System mit zunehmender Komplexität, wenn Sie Ihre Shader erstellen – Sie können sich vorstellen, dass es grundlegend ist, ob es glänzend ist oder nicht, und dann gibt es ein Unter-Element, ob es glänzend oder rau ist oder so etwas. Mit diesem System gibt es viele Anweisungen, die Sie nicht benötigen; sie werden zu “nicht verwenden” ausgewertet… aber aufgrund der Funktionsweise der Pipeline muss die GPU sie dennoch auswerten, was wie eine Verschwendung von GPU-Ressourcen erscheint.

Also haben wir ein intelligentes dynamisches Verzweigungssystem entwickelt, das es uns ermöglicht, Knotenpfade vorab zu reduzieren, die für ein bestimmtes Material nicht verwendet werden. Es ist eine Laufzeitentscheidung, die es uns ermöglicht, viele Dinge im Editor zu tun, wo die Leute sofort etwas anpassen und die Leistungs- und visuellen Veränderungen in Echtzeit sehen können. Aber letztendlich werden diese Entscheidungen dann zur Laufzeit ausgeführt. Dadurch können wir unterschiedliche Verzweigungen mit IHV-spezifischen Erweiterungen haben, wie z.B. Nvidia-only Shader-Erweiterungen, bei denen wir nicht einmal den Check auf einer AMD-Karte durchführen. Je nach Szenenkomplexität erhalten wir dadurch etwa 2-5ms. Es handelt sich dabei um eine Gruppe sehr kluger Menschen, die eine lange Zeit damit verbracht haben, ihr Lebenswerk aufzubauen, und ehrlich gesagt ist es erstaunlich.

Ist es überhaupt möglich, eine PS4- oder Xbox One-Version des Spiels in Betracht zu ziehen, angesichts der Ankündigung von Jedi: Survivor für Konsolen der letzten Generation?

Auf keinen Fall. Es gibt keine Version von Lumen, die auf Konsolen der letzten Generation funktioniert, auch nicht in Software. Selbst wenn jemand mit einem Lastwagen voller Geld auftauchen würde und sagen würde, wir wollen, dass Sie alle Ihre Level auseinandernehmen und es mit vorberechneter Beleuchtung zum Laufen bringen und alle Texturen vereinfachen, damit sie in den Speicher der Konsolen der letzten Generation passen. Das müsste ein großer Lastwagen sein. Und das ist, nachdem Joe, Julie und ich sechs Monate lang in unserem tropischen Urlaub waren und dann zurückkommen und Ihre Portierung für die letzte Generation machen würden. Ich meine, im Grunde fragen Sie, ob wir das gesamte Spiel neu aufbauen können, indem wir eine Reihe von Schlüsselfunktionen deaktivieren und unser Kunstbudget auf ein Viertel reduzieren?

Die bahnbrechenden Funktionen von Unreal Engine 5 wurden – wie zu erwarten – in Fortnite eingeführt, und so sahen sie bei der Veröffentlichung aus.

Auf jeden Fall. Ich würde sagen, bei Digital Foundry… haben wir noch nicht genug Next-Gen-Veröffentlichungen gesehen, vor allem, wenn wir drei oder vier Jahre in die Generation hineingehen. Wir sind starke Verfechter von 60fps-Spiel, aber für die Konsolenversionen steht ein Modus mit höherer Qualität oder höherer Auflösung bei 30fps in Aussicht?

Mark Maratea: Das machen wir im Grunde für den Benutzer; wir haben nicht-kampfbezogene Bereiche, in denen wir Bildrate gegen visuelle Qualität getauscht haben… Sie werden Bereiche haben, die ein wenig abfallen, [ohne] Kampf dort [und] sie werden extra wunderschön aussehen. Sie befinden sich bereits im Qualitätsmodus. Dann, wenn Sie in Bereiche gehen, die Kampfbereiche sind, beginnen wir mit Kompromissen – es gibt weniger dynamische Lichter, es gibt weniger einzigartige Dinge, wir fangen an, Nebencharaktere zu entfernen, die auf einer RTX 4090 auftauchen können, um die Bildrate aufrechtzuerhalten.

Joe [Hall], gibt es etwas, worauf du wirklich stolz bist, was die visuellen Effekte betrifft, oder etwas, das du ins Spiel gebracht hast, von dem du nicht gedacht hättest, dass es möglich sein könnte?

Joe Hall: Farbe zurückbringen. Farbe in den Kampf zurückbringen, auf eine bodenständige, aber auch magische Weise. Das ist definitiv etwas. Das Spiel bei 60fps halten, auf hohe Detailtreue und hohe Qualität in jedem Moment drängen, ist etwas, auf das man stolz sein kann. Ich bin stolz auf das Team und all die Anstrengungen, die sie unternommen haben, wie weit wir die Messlatte angehoben haben. Ich bin definitiv dankbar, dass es UE 5.1 gibt. Es ist aufregend für die Spieler, einzusteigen!