Die Technologie von Killzone: Shadow Fall
Ein Blick hinter die Kulissen von Guerrilla Games.
Es war eine Gelegenheit, der wir nicht widerstehen konnten. Kurz vor dem Launch von Killzone: Shadow Fall bot uns Guerrilla Games die Chance, das Studio in Amsterdam zu besuchen, um dort die wichtigsten Leute der Design- und Technologie-Abteilungen zu treffen und mit ihnen zu sprechen. Als Journalisten sind wir nahezu immer Außenstehende, die nicht mit dem eigenen Designprozess vertraut sind, daher würde dieser beispiellose Zugang zu einem Artikel führen, der sich deutlich vom Rest unterscheidet. Während unseres Besuchs stellten wir fest, dass es in der Next-Gen nicht nur um bessere Grafik und Sound geht, obwohl sie natürlich auch wichtig sind, sondern vielmehr um die Möglichkeiten, die die Entwickler durch diese höhere Leistung bekommen und wie sie es ihnen ermöglicht, sich selbst besser auszudrücken.
Ein wichtiger Teil dessen ist die prozedurale Erstellung von Ingame-Assets - die Animationen und der Sound sind zwei Systeme, die davon am meisten profitieren. Bei Killzone: Shadow Fall gab es radikale Veränderungen im Hinblick auf die Handhabung dieser beiden Elemente. Anstatt dass die Programmierer auf höchster Ebene Code erstellen und dabei den Anweisungen der Kreativen folgen, nutzt man ein Low-Level-System, mit dem die Designer mehr Zugang zu rohen Spieldaten erhalten. Wenn sie neue Assets erstellen, wird das in rohen, prozedural generierten Code umgewandelt, den die x86-Prozessoren der PS4 dann ausführen.
“Bei diesem Projekt haben wir versucht, nicht den Sound Programmer die ganze Arbeit machen zu lassen. Wir wollten vielmehr in eine Richtung gehen, bei der die Sound Engineers eine Idee dafür haben, wie ein bestimmtes System funktionieren sollte und es dann selbst umsetzen können“, erklärt Senior Tech Programmer Andreas Varga.
“Zuvor haben die Sound Engineers all diese Wave-Dateien erstellt, der Sound Programmer integrierte sie dann ins Spiel, sorgte dafür, dass sie alle funktionieren und verknüpfte sie miteinander. Nun sind wir an einem Punkt, an dem wir all diese Dinge in einem Programm machen können, wodurch die tatsächliche Sound-Programmierungen nun auf einer viel niedrigeren Ebene vonstatten geht.“
Im Grunde ist es so, dass die Programmierer nun die Werkzeuge erstellen, die die Designer nutzen anstatt spezifischen Code auf Basis einer Idee zu schreiben, die vielleicht funktioniert oder eben auch nicht. Exakt aufgrund dieser neuen Arbeitsweise ist Killzone: Shadow Fall ein bemerkenswertes Audio-Erlebnis. Ein gutes Beispiel dafür ist, dass die Sounds beim Abfeuern eurer Waffe abhängig von der Umgebung anders klingen, wie es eben auch im echten Leben der Fall wäre.
"Überall im Spiel hat man Materialien - Wände, Steine, verschiedene Dinge -, die aus Geometrie-Gründen als das Material markiert sind, das sie darstellen. Die Schockwellen der Waffe prallen von jeder Oberfläche im Spiel ab, zu jeder Zeit."
“Überall im Spiel hat man Materialien - Wände, Steine, verschiedene Dinge -, die aus Geometrie-Gründen als das Material markiert sind, das sie darstellen“, erklärt Lead Sound Designer Lewis James. „Wenn ihr in der realen Welt eine Waffe abfeuert, ist der Schuss nur ein Nebenprodukt dessen, was in der Waffe passiert. Und das ist das Einzige, worauf sich Spiele normalerweise konzentrieren - das Schussgeräusch.“
“Aber es passieren alle möglichen Dinge. Wenn sie über ausreichend Kraft verfügt, interagiert eine Schockwelle aus der Waffe mit der Oberfläche, die sie berührt. Also tun wir das auch. Wir nennen das System MADDER - Material Dependent Early Reflections. Die Schockwellen der Waffe prallen von jeder Oberfläche im Spiel ab, zu jeder Zeit. Das definiert den Sound. Der Punkt ist, dass wir nicht die Illusion eines Halls erzeugen wollen, wenn es keinen gibt. Es sind Echtzeit-Reflexionen auf Basis der Geometrie.“
MADDER ist ein exzellentes Beispiel der neuen Zusammenarbeit zwischen Designern und Programmierern und verdeutlicht, wie der Zugriff auf niedrigerer Ebene die Türen zu mehr Kreativität öffnet.
“Für den ersten MADDER-Prototypen hatten wir nur einen Raycast, wodurch wir die nächste Wand, deren Material und ihren Winkel hatten. Also versuchten wir es und es klang fantastisch. Kein anderes Spiel hat etwas Ähnliches, aber wir brauchen es auch für verschiedene Wände“, erklärt Senior Sound Designer Anton Woldhek.
“Für Andreas ist es eine halbe Stunde Arbeit, um es verschiedenen Winkeln auszusetzen. Für mich ist es eine Menge mehr Arbeit, weil ich dafür sorgen muss, dass der Content mit all diesen verschiedenen Winkeln funktioniert und bei uns am Ende alles einen Sinn ergibt. Man hat deutlich mehr Freiheiten, um Ideen auszuprobieren, die wir schon immer hatten, aber bislang mussten wir immer die Programmierer davon überzeugen, dass es die Arbeit wert war, obwohl man sich selbst nicht wirklich so sicher ist. Es ist einfach schwieriger, weil ihre Zeit so wertvoll ist.“
"Das Ziel der Coder ist es, sicherzustellen, dass die Designer nicht mit ihnen reden müssen. Nicht, weil wir die Designer nicht leiden könnten, aber wenn ein Programmierer im kreativen Prozess eingebunden ist, dann ist die Wiederholungsschleife des Programmierers länger als die aller anderen."
All die Assets, die die Animation Designer erstellen, wandern nun also in ein Low-Level-System und laufen als Code im Spiel - ein System, das nur aufgrund der gesteigerten CPU-Leistung der PlayStation 4 möglich ist. Prozedural generierte Assets wirken sich auch auf die Animationen aus. Killzone: Shadow Fall repräsentiert hier so etwas wie eine „unbemerkte“ Revolution. Beim Aussehen der Charaktere und bei ihren Bewegungen gibt es deutlich mehr Variation, was eben dieser prozeduralen Arbeitsweise zu verdanken ist.
“Erst einmal haben wir das grundlegende Skelett, darauf kommt dann das prozedurale Skelett. Dann folgt etwas, was wir PD nennen - 'positional-based dynamics.' Das ist im Grunde das Format, das wir nun geschrieben haben“, erklärt Senior Tech Artist Daniele Antinolfi.
“Die prozeduralen Knochen kann man sich in etwa wie eine Rüstung für die Charaktere vorstellen, aus der Rigging-Perspektive können wir als die gleichen Charaktere teilen, aber darauf können wir dann aufbauen, etwa wie eine Rüstung aus Gelenken, um für ein besseres Verhalten zu sorgen. Von Charakter zu Charakter haben wir diese Rüstung hinzugefügt, um für bessere, glaubwürdigere Figuren zu sorgen. Dadurch können wir robustere, glaubwürdige Charaktere erschaffen. Diese Rüstung mit prozeduralen Gelenken ist schnell und einfach zu machen.“
Natürlich und glaubwürdig
Zusammengefasst gibt es eine zugrunde liegende Base-Animation-Plattform, auf der die Entwickler nur sehr schwer aufbauen können, wenn es nur um kleine Details geht. In der Vergangenheit wurden Charakteranimationen komplett abgelegt anstatt dass man dieses Basis-Skelett-Modell verändert und anpasst. Mit dem neuen prozeduralen Workflow hat jeder Charakter eine neue Schicht an Code laufen, die dem Basis-Skelett diese neue "Rüstungs"-Schicht hinzufügt. Dieser Code wird wiederum in Echtzeit von den x86-Kernen ausgeführt. Darüber hinaus erlaubt positionsgesteuerte Dynamik (position-based dynamics) eine realistische Simulation von Kleidung und anderen Elementen bei näherer Betrachtungsweise, die dann realistisch auf die Kräfte im Spiel reagieren.
Der technische Direktor Michiel van der Leeuw erklärt das Problem und wie das neue System funktioniert:
"Das Problem ist, dass wir 2.500 Animationen für jeden Charakter haben. Es wäre da einfach nicht praktikabel, für jeden ein eigenes Animations-Set zu haben. Wir fügen diese Knochen dem grundlegenden Skelett hinzu, das durch das ganze Spiel hinweg genutzt wird, dann re-exportieren wir das gesamte Animations-Set."
"Die Leute würden am Wochenende ins Büro kommen müssen, wenn sonst keiner arbeitet. Wenn man das Animations-Setup beschädigt, fällt auch der Rest zusammen. Einige dieser Sachen wurden seit einem halben Jahr nicht mehr exportiert, weil das Spiel wächst und wächst. Wir hatten diese lächerlich komplizierten Diskussionen, nur weil wir einen schwer gepanzerten Soldaten haben wollten, der einen Tank auf dem Rücken hat, wir müssten aber zwei Gelenke hinzufügen. Sehr oft verwarfen wir dann den Charakter und widmeten uns wieder dem Spiel-Design, weil wir wussten, dass wir an diesem Punkt nicht die Animationen exportierten konnten.
"Aber jetzt, mit einem so sauberen Logik-Skelett, können diese Jungs sehr ausdrucksstarke Sachen darüber legen. Es sieht cool aus und wir können zurück zum Spiel-Design gehen. Wir sagen viel öfter 'ja', wenn einer der Typen größer, dicker oder mit einen speziellen Schild ausgerüstet sein soll.“
"Vieles davon bemerkt man nicht, aber es macht den Charakter glaubwürdiger und das ist es, was wir wirklich wollen. Leute wie ich, die an Charakteren arbeiten, wollen, dass sie glaubwürdig sind."
Es ist ein weiteres Beispiel dafür, wie die Next-Gen-Power es den Entwicklern erlaubt, neue Möglichkeiten zu schaffen, um für ein natürlicheres und glaubwürdigeres Spiel zu sorgen.
"Das ist etwas, das viele Leute nicht sehen, wenn sie über die Next-Gen sprechen. Fakt ist, dass man es normalerweise nicht sah, weil man in den Design-Entscheidungen eingeschränkt war. Keinen Mantel oder ähnliche Dinge zu haben, diese nicht zu nutzen. Man würde sie nicht sehen", fährt van der Leeuw fort.
"Man hat dann Charaktere, die alle gleich sind - ein Soldat und ein leicht anderer Soldat. Diese Grenzen gibt es jetzt nicht mehr. Es ist nicht der Typ mit dem Mantel, der Next-Gen ist … sondern einen Typen mit einem Mantel, einen mit einer Gasmaske und einen mit einem Tank auf dem Rücken ins gleiche Spiel zu stecken, weil wir nun die Zeit haben, es umzusetzen."
"Wir sind glücklich mit diesem System." fügt Junior Tech Artist Perry Leijten hinzu. "Am Anfang wussten wir noch nicht, wie viel von der positionsgesteuerten Dynamik (position-based dynamics) wir nutzen können, also nutzen wir erst einmal alles bis hin zur Gestaltung von Reißverschlüssen. Später merkten wir, dass das nicht funktionieren würde, also unterbrachen wir die Verbindung mit der position-based dynamic, re-exportierten und es war noch nicht einmal berechnet."
"Vieles davon bemerkt man nicht, aber es macht den Charakter glaubwürdiger und das ist es, was wir wirklich wollen. Leute wie ich, die an Charakteren arbeiten, wollen, dass sie glaubwürdig sind", fasst Daniele Antinolfi es zusammen.
Guerillas Pioniergeist im Hinblick darauf, dieses neue Maß des technisch Möglichen zu erkunden, ist umso beeindruckender, wenn man bedenkt, dass viel von Killzone: Shadow Fall auf PC-Hardware entwickelt wurde, während die eigentliche PS4-Hardware noch entworfen wurde. Es gibt sogar eine PC-Version der Killzone-Engine, die jedoch, je mehr es in Richtung der finalen PS4-Specs ging, im Vergleich immer langsamer wurde. Das und der Druck, einen Launch-Titel zu entwerfen, lässt die Entscheidung, Kern-Systeme einfach auszutauschen und von Grund auf neu zu entwerfen, umso mutiger wirken. Der Ansatz hat sich ausgezahlt.
"Als Designer macht es Sinn, den gleichen Workflow zu nutzen, den jeder andere hier auch nutzt. Wir profitieren von dem, wovon jeder andere profitiert und das macht uns mehr zu einem Teil des Teams, als es zuvor der Fall war."
"Als Designer macht es Sinn, den gleichen Workflow zu nutzen, den jeder andere hier auch nutzt", sagt Sound Designer Anton Woldhek. "Die Sound-Ingenieure sitzen ziemlich im Zentrum des Studios, sodass wir uns mit allen anderen Abteilungen leicht austauschen können. Mit diesen neuen Tools sind wir Teil des gleichen Workflows, was bedeutet, dass wir von dem profitieren, wovon auch jeder andere profitiert und das macht uns mehr zu einem Teil des Teams, als es zuvor der Fall war."
Michiel van der Leeuw fasst den neuen Ansatz kurz und bündig zusammen:
"Das Ziel der Coder ist es, sicherzustellen, dass die Designer nicht mit ihnen reden müssen. Nicht, weil wir die Designer nicht leiden könnten, aber wenn ein Programmierer im kreativen Prozess eingebunden ist, dann ist die Wiederholungsschleife des Programmierers länger als die aller anderen", erklärt er.
"Ein Shader-Designer kann schneller zeichnen oder ein Sound Designer kann schneller einen neuen Sound entwerfen, als ein Coder die Engine rekompilieren kann. Wann immer ein Coder in die Design-Schleife eingebunden ist, wird diese langsamer. Wenn wir ein relativ technisches System entwerfen, das jemandem erlaubt mehr zu tun, entfernen wir die Coder aus der Schleife, sodass die Leute experimentieren können, ohne zu einem Coder gehen zu müssen."
Die Herausforderungen eines physikbasierten Rendermodells
Von den Dingen, die man nicht sieht, hin zum Gegenteil: Trotz der radikalen Veränderung des Workflows hinter den Kulissen wird schon in den ersten Momenten der Kampagne klar, dass Killzone Shadow Fall ein ausnehmend schönes Spiel ist. Es gibt zwei zentrale Elemente, die es zu etwas Besonderem machen und über die erwartete erhöhte Polygonzahl eines Next-Gen-Titels hinausgehen. Die virtuellen Materialien und die Beleuchtung sind überragend. Zwei zusammenarbeitende Systeme erschaffen eine Ästhetik, derer sich nun auch viele andere Titel annehmen, die sich aktuell in Entwicklung befinden.
Die Materialien, die in den Umgebungen eingesetzt werden, definieren die Beleuchtung maßgeblich. Dieselbe "Rauheit" auf Objekten, die auch das MADDER-Audiosystem beeinflusst, definiert, wie das Licht von Oberflächen abprallt. Die Erstellung dieser Materialien erforderte eine deutliche Umstellung in der Arbeitsweise der Grafiker.
"In frühen Doom-1-Tagen malte jeder noch Schatten in seine Texturen. In der Next-Gen müssen die Leute lernen, nichts mehr in die Texturen zu malen. Sie sie müssen Normal Maps und Albedo Maps erstellen", erinnert sich Michiel van der Leeuw.
"Jetzt müssen alle lernen, diese 'Rauheit' zu definieren, die Albedo Map [die Rückstrahlkraft des Materials], die Bump Map und die Intensität der Spiegelung. Du musst über das Material in seiner nackten Form nachdenken, analytischer sein. Das war Teil des Trainings, dem sich die Leute unterziehen mussten."
"Auf der PlayStation 3 hatten wir ein Maximum an 7.000 bis 8.000 Bausteinen und jetzt nähern wir und auf der PS4 schon 26.000. Für diese Elemente hatten wir damals zwei LOD-Stufen, jetzt sind es sieben."
Jedes Objekt im Spiel musste mit dem neuen materialbasierten Beleuchtungssystem im Sinn entworfen werden. Keine leichte Aufgabe für so ein großes Spiel. Guerrilla hat für Shadow Fall sehr viel größere Level erschaffen. Diese wurden in verschiedene Szenen aufgeteilt, damit verschiedene Umgebungsdesigner parallel an den Abschnitten arbeiten konnten.
"Für eine Szene, die wir als 'Abschnitt' bezeichnen - hatten wir auf der PlayStation 3 ein Maximum an 7.000 bis 8.000 Bausteinen und jetzt nähern wir und auf der PS4 schon 26.000. Für diese Elemente hatten wir damals zwei LOD-Stufen, jetzt sind es sieben", sagt Lead Environment Artist Kim van Heest.
"Es ist sehr viel einfacher geworden, die Level schöner zu machen. Wir können uns wirklich darauf konzentrieren, so viele Dreiecke wie möglich in die Szene zu bekommen. Wenn man sich allein die Quadratmeter an Art anschaut, die ich gemacht habe, ich glaube das ist in etwa viermal so viel wie in Killzone 3. Und das bedeutet, dass wir diese Umgebungen auch bauen können. Das Lighting erfordert aber immer noch dieselbe Aufmerksamkeit."
Sind die Materialien an Ort und Stelle, liegt es nun daran, wie das Licht mit all diesen verschiedenen Attributen interagiert und wie es die Erschaffung der Umgebungen beeinflusst. Killzone: Shadow Fall nutzt ein System, das schwer auf realistische Echtzeitbeleuchtung ausgelegt ist und das von einigen vorberechneten Backups gestützt wird, was im Zusammenspiel einige wirklich beeindruckende Resultate erzielt.
"Die Beleuchtung in unserem Spiel baut vor allem auf das Schlüsselelement der dynamischen Echtzeit-Beleuchtung. Die wird unterstützt von 'vorgebackener' Beleuchtung für einige statische und dynamische Objekte sowie einem Reflektionssystem", sagt Senior Lighting Artist Julian Fries. "Wir nutzen vorberechnete Reflexionen und Echtzeit-Reflexionen, aber es beginnt alles mit den dynamischen Lighting-Features für die beweglichen Lichter. Der Rest stützt dies sozusagen."
In diesem Fall besteht "der Rest" mehr oder weniger aus Directional Lightmaps, Localised Cube-Maps und einem volumetrischen Light Probe Gitternetz. Jedoch ist der Einsatz dieser Light Probes Teil der Echtzeit-Komponente und wird auf durchaus einzigartige Weise berechnet.
"Für jeden Pixel auf dem Bildschirm, der keine Lightmap benutzt, durchsuchen wir unser Light Probe Gitternetz und wählen die angemessene Beleuchtung", so der leitende Technik-Programmierer, Michal Valient.
"Wir nutzen vorberechnete Reflektionen und Echtzeit-Reflektionen, aber es beginnt alles mit den dynamischen Lighting Features für die beweglichen Lichter. Der Rest stützt dies sozusagen."
"Zuvor hatten wir in paar tausend Light Probes pro Level und wir würden für jeden Pixel die drei ihm am nächsten befindlichen Light Probes zusammenführen. Jetzt haben wir ungefähr zwei Größenordnungen mehr davon. Wir nehmen die vier nahesten Light Probes pro Pixel. Es gibt keine Grenzen," ergänzt Michiel van der Leeuw.
"Die Schwelle, wo die Light Probes enden und wo die Light Map beginnt, wird immer kleiner. Wir würden gerne den Punkt erreichen, an dem wir eine oder zwei Größenordnungen mehr Light Probes einsetzen können - ein paar Millionen pro Level - und dann ganz auf die Light Maps verzichten."
Das Ray-traced-Reflexionssystem
Shadow Falls Reflexionssystem trägt ebenso zu den oftmals spektakulären Lichteffekten bei. Michal Valient hat die Grundlagen in Guerrillas Analyse der Demo während des PlayStation Meetings erklärt, war aber zur Hand, um während unseres Besuchs im Studio ein bisschen ins Detail zu gehen.
"Wir lassen für jeden Pixel auf dem Schirm ein Ray-Tracing laufen. Wenn wir dabei einen reflektierten Vektor finden, schauen wir uns die Rauheit der Oberflächenstruktur an. Wenn die Oberfläche sehr rau ist, dann wird das Licht sehr unscharf reflektiert", so Valient.
"Also finden wir für jeden Pixel auf dem Schirm eine Reflexion, finden einen Reflexionsvektor, der in den Schirm hineinläuft und beginnen von dort jedes zweite Pixel abzustufen, bis wir etwas finden, das trifft. Also ein 2.5D-Ray-Trace... Wir können eine grobe Annäherung berechnen, wie der Vektor verlaufen würde und wir können die Pixel auf dem Bildschirm identifizieren, die jene Oberfläche repräsentieren. Das haben wir alles in unser Beleuchtungsmodell eingebaut."
"Es fällt schwer, auszumachen, wo ein System aufhört und ein anderes beginnt. Wir haben vor-gefertigte Cube-Maps und wir haben Echtzeit-ray-traced-Reflexionen, dann haben wir reflektierende Lichtquellen und alles kommt in einer Szene zusammen", fügt Michiel van der Leeuw hinzu.
Das System der Licht-Zurückwerfung ist unheimlich cool - wenn die Ray-Casting-Technik zum Einsatz kommt, gibt es allerdings Einschränkungen. Lichtquellen hinter einem Objekt wären nicht für eine Reflexion verfügbar, aber der Algorithmus weiß das und kann auf die vorab berechneten Lichtdaten zurückgreifen, um die nötigen Informationen zu sammeln. Das mag mathematisch nicht ganz korrekt sein, aber für das menschliche Auge ist das mehr als gut genug. Materialabhängige Beleuchtung wird auf der Next-Gen schnell zum Standard und Killzone: Shadow Fall ist unser erster Vorgeschmack auf diese neue Technologie im Betrieb auf der PlayStation 4.
"Würde man alles physikalisch korrekt handhaben, könnten wir nicht schummeln. Wir schaffen hier nichts fotorealistisches oder hyper-realistisches. Wir versuchen ein Bild zu erzeugen, das so befriedigend wie möglich ist."
"Ich würde sagen, dass dies der Standard für Next-Gen-Titel wird. Jeder wird eine Variation davon an Bord haben, weil es ungefähr das gleiche ist wie SSAO (Screen-Space Ambient Occlusion). Es ist eine sehr grobe Annäherung an ein natürliches Phänomen... Es ist etwas, das tatsächlich in der Realität so aussehen könnte", erklärt van der Leeuw
"Es ist technisch machbar und wertet das Ganze enorm auf, verglichen mit den Kosten dessen, dass jeder eine eigene Fassung davon haben wird. Alle werden mit etwas ähnlichem experimentieren. Jeder, der ein etwas physikalisch plausibleres, energiesparenderes Beleuchtungsmodell entwickelt, wird einen Wert für die Oberflächenrauheit haben und es passt ganz natürlich zum Beleuchtungsmodell, eine Reflexion auf allem zu haben, jedem Pixel - du verstehst, den Reflexionskegel."
Dadurch ergeben sich auch ganz neue Herausforderungen und Möglichkeiten, wenn man einen Level gestaltet:
“Wir hatten einen Level, in dem wir ursprünglich diese dunklen Materialien verwenden wollten und fanden heraus, dass diese dunklen Materialien nicht gut auf das Licht ansprachen, also verwendeten wir helleres Material, um das Licht besser zur Geltung zu bringen", erklärt Kin van Heest, bevor er offenbart, wie sich dank des Systems auch neue Möglichkeiten für das Beleuchtungs-Team ergeben, die Level optisch aufzuwerten.
"Beim Thema Licht kann es passieren, dass einer aus dem Beleuchtungs-Team zu uns kommt und meint: 'könnt ihr das Dach öffnen, damit Licht reinkommt?' Und es schaut tatsächlich besser aus und man bekommt diese tollen Schatten auf den Wänden. Es geht mehr darum, was cool ausschaut, als um die Technik."
Globale Beleuchtung, Anti-Aliasing und Ambient Occlusion
Kürzlich hat NVIDIA eine Tech-Demo mit vollständiger globaler Beleuchtung in Echtzeit veröffentlicht - einem mathematisch korrekten Modell dessen, was lange als die Zukunft der Beleuchtung in Spielen galt. In einem Interview mit Crytek hatte sich Cevat Yerli besorgt geäußert, dass ein rein mathematischer Ansatz bei der Beleuchtung die Designer zu viel Kontrolle über das Aussehen des Spiels kosten würde - ein Denkansatz, den man auch bei Guerrilla unterschreibt.
"Das trifft vollkommen zu", erklärt Senior Lighting Artist Julian Fries. "Würde man alles physikalisch korrekt handhaben, könnten wir nicht schummeln. Wir schaffen hier nichts fotorealistisches oder hyper-realistisches. Wir versuchen ein Bild zu erzeugen, das so befriedigend wie möglich ist."
"Zum Beispiel wenn man ein zusätzliches Licht in einem Raum haben möchte und es des Kontrasts und der Helligkeit wegen nicht in einen anderen Raum fallen lassen will, können wir das bewerkstelligen, solange wir nicht diese Art von System einsetzen. Iteration mag schneller sein, aber es kostet natürlich Performance. Die Qualität würde darunter vermutlich leiden - manche Dinge von Hand einzustellen ist von Vorteil, falls man ein festes Licht braucht, das nicht für das Gameplay nötig wäre. Das macht man besser manuell wegen der Performance und der Qualität."
Schummeln und das händische Einstellen bringt allerdings ganz eigene Herausforderungen mit sich. Dinge vorab zu berechnen, erfordert immense Rechenleistung, bevor die fertigen Assets ihren Weg ins Spiel finden - weshalb man bei Guerilla kreativ werden musste.
"In der Nacht wurde die gesamte Firma zu einer einzigen Render-Farm und wir hatten drei Mann abgestellt, um die Sachen durchzudrücken. Die Qualität ist von entscheidender Bedeutung für die Atmosphäre im Spiel."
„Die meisten Leute vermieden Light Maps in der letzten Generation, weil man so schwer mit ihnen arbeiten kann und wir haben es bei diesem Projekt immer wieder erlebt, wie viel Zeit die Arbeit mit solchen Light Maps kosten kann", erklärt Michiel van der Leeuw.
"Im Vergleich zum Vorgänger ist das Spiel unglaublich groß... Wir mussten die gesamte Firma in eine Render-Farm umwandeln. Wenn die Leute abends um 17 Uhr ihren Rechner verlassen haben, wurden sie gefragt, ob sie sich der Render-Gruppe anschließen wollen. Wenn sie darauf nicht geantwortet haben oder ablehnten, wurde ihr Rechner automatisch eingebunden - und in der Nacht wurde die gesamte Firma zu einer einzigen Render-Farm und wir hatten drei Mann abgestellt, um die Sachen durchzudrücken. Die Qualität ist von entscheidender Bedeutung für die Atmosphäre im Spiel."
Zu diesem Anspruch passt Guerillas Wahl beim Anti-Aliasing. Bei der Vorstellung im Feburar wurde FXAA verwendet, doch der Trend ging stark in Richtung des feineren TMAA, das von Sonys Advanced Technology Group entwickelt wurde. TMAA heißt nun TSSAA: Temporal Super-Sampling Anti-Aliasing.
“Es ähnelt FXAA immer noch sehr. Es ist kein FXAA, aber ein ähnlicher Filter mit viel höherer Qualität“, erklärt Michal Valient.
“Es ist nach wie vor screen-space - TSSAA -, aber wir haben das Sub-Sampling der Tiefe verloren. Wir hatten auch dieses Sub-Sampling und rekonstruierten Kanten damit, aber es brauchte einiges an Leistung und brachte im Gegenzug nicht allzu viel, also ließen wir es weg“, fügt van der Leeuw hinzu.
“Wir nehmen Elemente aus dem vorherigen Frame und versuchen diese zu integrieren, und zwar auf Basis einer Technik, die ein Abkömmling von FXAA ist. Es ist etwas, das ein paar temporale Berechnungen einfügt und versucht, etwas von vorherigen Frames zu übernehmen.“
“Wir sind sehr vorsichtig im Hinblick darauf, was wir von den vorherigen Frames übernehmen. Wenn es ein guter Frame ist, warum sollten wir ihn wegwerfen? Im Grunde sammeln wir so viele Pixel wie möglich von den vorherigen Frames, die man dann mit dem aktuellen verwenden und erneut darstellen kann“, so Valient. „Wir haben mahr Samples pro Pixel. Normalerweise müsste man Super-Sampling oder Multi-Sampling verwenden, um einen ähnlichen Effekt zu erzielen. Wir versuchen die Daten aus dem vorherigen Frame zu gewinnen.“
Die Wiederverwendung vorhandener Daten für andere Systeme ist ein Ansatz, der von Entwicklern oft verwendet wird. Guerrilla nutzt es nicht nur für das Anti-Aliasing, sondern auch für Ambient Occlusion. Aber es ist nicht der übliche Screen-space-Ansatz:
“Man nennt es directional occlusion. Es ist ein Nebenprodukt unseres Reflexionssystems. Wir nutzen die Kalkulationen für Reflexionen, um festzustellen, wie viel man tatsächlich von einem bestimmten Punkt aus sieht und diese Informationen verwenden wir dann auch für AO“, erklärt Michael Valient. „Wenn man mal genauer darüber nachdenkt, ist AO das Gleiche wie eine Reflexion, nur sehr viel umfangreicher. Man will zu jeder Zeit über die gesamte Hemisphäre Bescheid wissen, wie viel sichtbar ist, also kann man diese Informationen erneut verwenden. Ich würde nicht sagen, dass es SSAO ist, weil darin zu viele Tricks stecken, um es gut aussehen zu lassen.“
Guerrilla Games, GPU Computing - und die Zukunft der PlayStation 4
Das GPU Computing - der Bereich, in dem die PS4 für langfristige Resultate am besten ausgestattet ist - hat sich Guerrilla für sein erstes Spiel auch näher angeschaut. In der PlayStation-Meeting-Demo kümmerte sich das GPU Computing nur um die Arbeitsspeicher-Defragmentierung. Im finalen Spiel bearbeitet der Grafikkern auch die Farbkorrekturen und „Kraftfelder.“ Diese Kraftfelder sind ein weiteres Beispiel für ein recht subtiles System, das dabei hilft, das Spiel natürlicher aussehen zu lassen.
“Es ist also kein System, das man in einigen der Demos sieht. Wir wollten es nicht einfach dort hineinwerfen und das schöne Ergebnis bestaunen. Das wäre etwas zu unkontrolliert. Wir wollten etwas, das wir aus künstlerischer Sicht kontrollieren konnten“, erklärt Michal Valient.
“Diese Kraftfelder sind Objekte, die die Grafiker platzieren können. Zum Beispiel um den Fuß einen Charakters herum. Wenn der Charakter dann durch einen Busch geht, bewegt er sich etwas. Wir kombinieren es mit einer Explosion. Wenn ihr einen Granate werft, wird für den Bruchteil einer Sekunde ein solches Kraftfeld erzeugt. Wenn ihr eine Rakete abfeuert, entsteht ein Kraftfeld. Es gibt dem Grafikern einfach ein höheres Maß an Kontrolle und läuft auch besser. Aus der technischen Perspektive betrachtet haben wir um den Spieler herum einfach diese Vielzahl an Punkten, es sind abertausende.“
"Es liegt noch immer ein langer Weg vor uns, wir befinden uns noch an einem sehr frühen Zeitpunkt dieses Zyklus. Mit der PS4 kann man sehr leicht arbeiten und ich denke, wir haben viel erreicht. Aber was auch immer wir als nächstes tun werden, wird noch besser sein, weil wir die Technologie ständig verbessern."
“Wir simulieren diese Kräfte bei jedem Frame, also sammeln wir dieser Kraftfelder und für jeden Punkt um euch herum lassen wir die Simulation laufen - es kann dann mit allem benutzt werden“, so Valient weiter. „Die Pflanzen verwenden es für einen Shader, die Bäume nutzen es. Wenn Charaktere einen Umhang haben, können sie es benutzen, um den Umhang von einer Explosion beeinflussen zu lassen. Es ist eine kleine Sache, die man als natürlich betrachten würde, aber auch etwas, was die Spielwelt etwas glaubwürdiger macht.“
Es ist die Art von Arbeitslast, die immens von parallel ablaufenden Prozessen profitiert - und das ist etwas, worauf sich die PS4 mit GPU Computing spezialisiert.
"Wir versuchen sie [die GPU] so häufig wie möglich einzusetzen. Es sind synchrone Dinge, die gleichzeitig mit dem Rendering ablaufen müssen, aber es gibt auch asynchrone Elemente, die jederzeit passieren können, also versuchen wir alles zu nutzen“, sagt Valient.
“Wir haben nur an der Oberfläche gekratzt. Wir haben die Kraftfelder, die Farbkorrekturen und die Arbeitsspeicher-Defragmentierung gewählt - das ist es, was wir für das Streaming der Texturen nutzen. Das sind ein paar Dinge, die wir als isolierte Systeme ausgewählt haben und die wirklich gut mit dem GPU Computing funktionierten, also probierten wir sie aus. Die meisten anderen Sachen funktionieren mit regulären Pixel Shadern, selbst einige Post-Processing-Effekte, also werden wir uns verbessern.“
“Es ist nur natürlich, dass wir die Post-Processing-Effekte nehmen und daraus GPU Computing machen, da das sehr viel effizienter ist. Das ist also unter nächster Schritt, aber für dieses Spiel hatten wir natürlich nicht unendlich viel Zeit. Ich bin ziemlich sicher, dass wir uns deutlich steigern können - es gibt noch viel Raum für Verbesserungen.“
Was bringt die Zukunft also? Als wir Guerrilla besuchten, hatte Killzone: Shadow Fall gerade erst den Gold-Status erreicht. Und obwohl ein wenig darüber geplaudert wurde, vorhandene Systeme wie die innovative Lösung für die Animationen weiter zu verbessern, äußerte man sich im Hinblick auf den nächsten PlayStation-4-Titel doch eher allgemein.
"Es liegt noch immer ein langer Weg vor uns, wir befinden uns noch an einem sehr frühen Zeitpunkt dieses Zyklus. Mit der PS4 kann man sehr leicht arbeiten und ich denke, wir haben viel erreicht. Aber was auch immer wir als nächstes tun werden, wird noch besser sein, weil wir die Technologie ständig verbessern", sagt Michal Valient.
“Bei Killzone 2 dachten wir uns, okay, wir sind damit ziemlich weit gegangen. Killzone 3 zeigte uns, dass wir aus unseren Budgets so ziemlich das Doppelte herausholen konnten, weil wir so viel besser im Umgang mit der Technologie wurden. Ich bin recht sicher, dass es hier noch weit mehr Raum für Verbesserungen gibt.“