Half-Life mit Pathtracing getestet: Eine unglaubliche Verwandlung des 1998er-Meilensteins
Half-Life, ein Meilenstein des Shooter-Genres aus dem Jahr 1998, lässt sich dank einer kostenlosen Modifikation durch Pathtracing aufwerten. Im Falle von Half-Life übertrifft sich der bekannte Modder sultim_t selbst und liefert eine unglaubliche Transformation. Wir haben HL mit Pathtracing ausprobiert.
Während so manch moderner Titel Probleme hat, mit Raytracing ordentlich zu laufen, lässt sich die Technologie bei älteren Spielen relativ gut implementieren - sofern man das Know-how und Herzblut dafür aufbringt. Modder Sultim Tsyrendashiev alias "sultim_t" hat sich darauf spezialisiert, Raytracing-Mods für klassische First-Person-Shooter zu entwickeln und diese so in ein neues Licht zu tauchen. Seine neueste Errungenschaft ist Half-Life, das mit Echtzeit-Pathtracing eine unglaubliche Transformation durchmacht. PCGH hat sich Half-Life Ray Traced angesehen und ist ehrlich verblüfft. Beweismaterial liefert das folgende Video:
Als Valves Half-Life Ende 1998 erscheint, gilt es als Meilenstein des Genres. Obwohl die Grafik auf Basis der Quake-2-Engine schon damals nicht taufrisch war, wusste der Shooter mit einer einzigartigen Mischung nachhaltig zu beeindrucken. Ein knappes Vierteljahrhundert später lässt sich der Evergreen mittels Pathtracing aufwerten. Der bereits für seine Arbeiten an Doom Ray Traced und Serious Sam Ray Traced bekannte Modder sultim_t hat just die Arbeiten an Version 1.0 von Half-Life Ray Traced abgeschlossen und die Modifikation zum kostenlosen Download bereitgestellt. Erneut dürften sich viele Leser fragen, was der Quatsch soll: Ein 24 Jahre altes Spiel mit Brei-Texturen und kantigen Modellen bleibt doch auch mit hochmoderner, voll dynamischer Beleuchtung ein hässliches Entlein - nicht wahr? Nicht wahr! Ein paar Beispiele:
Zwar haben wir markante Szenen ausgesucht, die wahre Pracht entfaltet sich jedoch erst in Bewegung. Etwas, das nur die Echtzeit-Simulation von Licht leisten kann, ist die unvergleichliche Dynamik. Falls Sie das Mitte 2019 erschienene Control beeindruckt hat, dann werden Sie bei Half-Life Ray Traced erst recht staunen - nicht nur beim Vorher-Nachher-Vergleich, sondern grundsätzlich. Wenn das Experiment bei Spielbeginn gleißend helles, volumetrisches Licht und tanzende Schatten erzeugt, Barney einen schummrig ausgeleuchteten Gang mit seiner Pistole erhellt oder man seine eigene Spielfigur selbst in kleinsten Spiegeln (wie Scherben oder der Linse einer Überwachungskamera) zu sehen bekommt, entsteht ein Gefühl von "Next-Gen". Das alte Spiel ist kaum wiederzuerkennen, was gerade alten Hasen, die das Original zeitnah erlebt haben, die Kinnlade öffnet. Verstärkt wird dies durch das weitgehend gemächliche, explorative Gameplay von Half-Life. Dieses passt im Gegensatz zu Doom und Serious Sam perfekt zu Pathtracing: Man hat die Zeit, alle Feinheiten in Ruhe zu begutachten. Und diese sind vielfältig, je mehr Zeit man sich nimmt. Hier kommt zusammen, was zusammen gehört.
Ja, die allermeisten Assets sind steinalt und kantig. Die Texturen erinnern stellenweise mehr an Pudding als an die echte Welt. Die Implementierung der High-End-Beleuchtungsform erforderte es jedoch, den altehrwürdigen Tapeten moderne Materialeigenschaften zu verpassen, damit sie korrekt mit dem simulierten Licht interagieren. Die Verwandlung ist besonders deutlich am berühmten Brecheisen (Crow Bar) zu erkennen, welche erstmals angemessen metallisch aussieht. Kurios: Trotz allem startet Half-Life RT standardmäßig ohne bilineare Texturfilterung, wie ein Software-3D-Spiel um 1995. Die Filterung kann jedoch im Grafikmenü, neben weiteren Effekten, manuell ein- oder wieder ausgeschaltet werden.
Quelle: PC Games Hardware
Half Life Ray Traced: Wie es sich für ein Raytracing-Spiel gehört, gibt es natürlich auch Reflexionen an jeder sich bietenden (glatten) Oberfläche - sogar bei Kleinst-Objekten wie Helmen, Scherben und Kameralinsen. Außerdem ...
Wie bei Serious Sam Ray Traced kommt auch bei Half-Life Ray Traced die Vulkan-API zum Einsatz. Im Standard-Download enthalten ist AMDs spatiotemporales Upsampling FSR 2.1, Nvidias DLSS für RTX-Grafikkarten kann durch einen optionalen Download hinzugefügt werden. Grundsätzlich erfordert wird eine GPU mit Raytracing-Support (Nvidia: Turing alias RTX 20; AMD: RDNA 2 aka RX 6000). Die Performance ist besser, als man beim Schlagwort "Echtzeit-Pathtracing" annehmen könnte: Die zum Test verwendete Geforce RTX 3090 Ti mit 2 GHz und manueller Spannungskurve wird zwar außerordentlich stark ausgelastet und verbraucht mehr Energie als in jedem anderen Spiel (!), flüssige Bildraten in Ultra HD sind jedoch kein Problem. Egal, ob FSR oder DLSS, Bildraten im 70er-Bereich sind mit "Quality"-Upsampling kein Problem. Natives TAA schlägt heftig ins Kontor, da jedes zusätzliche Pixel auch weitere Strahlen bedeutet - dieser Aufgabe ist nur eine Geforce RTX 4090 gewachsen.
Selbstverständlich ist auch Half-Life Ray Traced nicht tadellos. Man sieht deutlich, dass sultim_t kein Brute-Force-Rendering betreibt, sondern das Pathtracing an jeder sich bietenden Stellschraube optimiert. Das bedeutet nicht, dass die Simulation des Lichtes "wegoptimiert" wird - es wird lediglich die Präzision heruntergefahren. Neben temporaler Arbeitsweise, um die Last auf mehrere aufeinander folgende Frames zu verteilen, ist auch die Auflösung der Effekte nicht ansatzweise nativ. Mit welcher Auflösung intern gearbeitet wird, ist uns nicht bekannt, die gerade bei der Schattierung auftretenden "Wolken"-Artefakte zeugen jedoch von einer sehr geringen Auflösung. Upsampling verstärkt die Artefakte, da hiermit weitere Pixel = Strahlen gespart werden und dieser Verlust nicht adäquat wettgemacht werden kann. Dennoch ist es beeindruckend, zu sehen, was allein durch dynamische Beleuchtung erreicht werden kann.
Was halten Sie von Experimenten wie Half-Life Ray Traced? Unsinn, gar Leichenfledderung oder großartiges Fan-Service mit Ausblick auf die Zukunft? Nutzen Sie die Kommentarfunktion und teilen Sie uns Ihre Meinung mit. Zum Kommentieren müssten Sie auf PCGH.de oder im Extreme-Forum eingeloggt sein. Sollten Sie noch keinen Account haben, könnten Sie über eine Registrierung nachdenken , die viele Vorteile mit sich bringt.

Ich habe den ersten Teil aufgrund der grausamen Grafik nie gespielt.
Ohne indirekte Beleuchtung kann man noch gut vereinfachen: Trifft ein Primärstrahl von der Kamera kommend auf eine matte Oberfläche, feuert man von diesem Endpunkt je einen Sekundärstrahl zu jeder Lichtquelle. Ist die Lichtquelle aus Perspektive des Endpunkts verdeckt, wird ihr Sekundärstrahl vorher abgefangen, das heißt der Endpunkt bleibt dunkel. Erreicht der Sekundärstrahl die Lichtquelle, ist der Endpunkt beleuchtet. Durch Kombination aller Lichtquellen hat man auch Halb- und Mehrfachschatten sauber mit drin und aktuelle Grafikkarten könnten problemlos für jeden Primärstrahl ein ettliche Dutzend bis einige hundert Sekundärstrahlen pro Frame bearbeiten, also entsprechend viele Lichtquellen prüfen. Auch wenn Spiegelungen oder Lichtbrechungen in diesen Strahlengängen hinzukommen, ist das kein großes Problem, denn die generieren pro eingehenden Strahl nur einen ausgehenden in einer anderen Richtung.
Aber bei indirekter Beleuchtung, wenn also Licht über den Umweg zweier streuender Flächen in die Betrachterkamera fällt, steht man genau vor dem von dir (und mir) geschilderten Problem: Eigentlich müsste man von jeder Fläche in alle Richtungen unendlich fein prüfen, ob sie Blickkontakt zu irgend einer anderen Fläche hat, von der aus man dann wiederum nach direkten Lichtquellen Ausschau halten könnte. But infinity doesn't compute. Selbst die von mir oben angesetzten Genauigkeit, ich glaube es waren so ein Strahl pro 10 bis 15 Bogenminuten, ist auf heutiger Hardware unmöglich.
Wie Engines und Treiber damit umgehen, schwankt stark. Ein simpler Raytraycer lässt indirekte Beleuchtung einfach ganz weg oder stellt die Auswirkungen an wichtigen Stellen über "direkte" Fake-Lichtquellen nach. Der Rest muss einen noch spielbaren Kompromiss zwischen temporaler Integration und einer stark reduzierten räumlichen Genauigkeit nebst Reichweite finden. In einfachen Leveln in denen nur sehr wenige Lichtquellen existiert wäre auch eine physikalisch korrekte Berechnung ausgehend von der Lichtquelle möglich, welche vergleichsweise schnell die Bereiche ermittelt, welche als sekundäre/indirekte Lichtquelle in Frage kommen (de facto eine präzise Echtzeit-Lightmap). Aber ich weiß nicht, ob das in der Praxis eingesetzt wird, denn dabei werden auch für den Spieler gar nicht sichtbare Geometrie und Lichtquellen berücksichtigt werden, was meist die noch ineffizientere Herangehensweise ist.
So oder so: Bis wir Licht physikalisch korrekt durch einen Türspalt hindurch schimmern sehen, werden noch einige GPU-Generationen kommen und gehen.
Was ist z. B. mit verdeckten Lichtquellen?
Oder wird doch von Lichtquellen ausgehend berechnet?
Außerdem steigt ja mit jeder Quelle der Aufwand...
?