Vulkan und die Technik hinter Doom Eternal - Interview mit Lead Engine Programmer Billy Khan

PCGH-Redaktion

Kommentar-System
Teammitglied
Jetzt ist Ihre Meinung gefragt zu Vulkan und die Technik hinter Doom Eternal - Interview mit Lead Engine Programmer Billy Khan

Zum Erscheinen des ersten Add-ons für Doom Eternal haben wir das Angebot erhalten, uns mit id Softwares Lead Engine Programmer Billy Khan über die Technik des Spiels und die id-Tech im Allgemeinen zu unterhalten. Im umfangreichen Interview packt Billy Details zu der genutzten Vulkan-API, dem Speichermanagement, LoD- und Streaming-Systemen und vielen weiteren interessanten Aspekten aus.

Bitte beachten Sie: Der Kommentarbereich wird gemäß der Forenregeln moderiert. Allgemeine Fragen und Kritik zu Online-Artikeln von PC Games Hardware sind im Feedback-Unterforum zu veröffentlichen und nicht im Kommentarthread zu einer News. Dort werden sie ohne Nachfragen entfernt.

lastpost-right.png
Zurück zum Artikel: Vulkan und die Technik hinter Doom Eternal - Interview mit Lead Engine Programmer Billy Khan
 
Da sind ein paar ganz nette Details dabei...

z.B. Das hier:
Billy Khan schrieb:
Das bedeutet: eine bessere Beleuchtung, dass Pixel auf eine Art und Weise von einem Anti-Aliasing geglättet werden, die nicht stört und die Bildqualität nicht beeinträchtigt oder dass wir anfangen, mehr Zeit auf die Simulation von Materialien zu verwenden. Das machen wir also gerade, wir zerlegen diese komplexen Prozesse, um sie zugänglicher zu machen. Das ist ein riesiger Fokusbereich und auch der Grund, warum ML oder neuronale Netzwerke immer wichtiger werden. Wir haben damit schon mit unserer Anti-Aliasing-Lösung begonnen, aber ich kann die Secret Sauce jetzt hier nicht offenlegen.

id Software arbeiten offenbar an einem neuronalen Anti-Aliasing.

Gruß,
Phil
 
Da sind ein paar ganz nette Details dabei...

z.B. Das hier:


id Software arbeiten offenbar an einem neuronalen Anti-Aliasing.

Gruß,
Phil
Sehr guter und informativer Artikel, danke dafür.
Das ganze was im Artikel erwähnt wurde kann man tatsächlich förmlich spüren, wenn man das Spiel spielt.
Hoffe sie bleiben weiterhin bei Vulkan only und auch beim Schwierigkeitsgrad in den Doom Spielen :D
Vor allem die Idee mit den lernenden Gegnern mittels KI und ML finde ich persönlich sehr spannend.
 
Klasse Interview, in der Tat gibt es da viel wissenswertes zu erfahren!

"Oft wartet man nur darauf, dass alles endlich aus dem Speicher in die GPU gelangt. Wir versuchen diese Kosten zu minimieren, weshalb es für uns offensichtlich notwendig war, viel mehr zu streamen. Je nachdem, welche Einstellungen vorliegen, haben wir dafür jetzt dedizierten Speicher, quasi einen Brocken Speicher, der nur dafür dann abgestellt wird (Pool Size)."

Jetzt weiß ich also, warum das Speichermanagement so funktioniert. Macht auch Sinn.

Ich hab mich immer gefragt, warum muss ich auf meiner 6 GB VRAM Karte den Texture Pool auf Ultra setzen, obwohl es keine Unterschiede in der Texturenqualität ab Hoch gibt? Naja, um eben einen sehr großen Puffer zu haben und möglichst viel im VRAM zu haben um damit zu jeder Zeit beste Performance zu garantieren. Ich mein das Spiel rennt ja wirklich wie sau!

Im Nachhinein betrachtet ist das doch eine sinnvolle Methode der Speicherverwaltung, besonders bei einem schnellen Shooter wie Doom.

Sehr interessant fand ich auch das Beispiel mit dem Marauder, dass man quasi KI dafür nutzen kann um deutlich lebendigere Wesen in Spielen zu schaffen, die auch dazulernen können. Ich halte das für eine geniale Idee und mittlerweile haben Grafikkarten ja auch genug Leistung um sowas in Echtzeit umsetzen zu können (Stichwort Tensor Cores). Da ist auf jeden Fall sehr viel Potenzial. Man kann ML generell für Physik, Fluidsimulation oder auch zur Erleichterung beispielsweise Kompression und Upscaling von Texturen und noch mehr einsetzen!

Eine Frage hat mir nur gefehlt: wie sieht es mit DirectStorage und Sampler Feedback aus? DX12 Ultimate bietet ja diese Features, aber bisher ist noch kein Vulkan Equivalent zu diesen bekannt. Wäre interessant zu erfahren, ob man an etwas ähnlichem arbeitet.
 
Zuletzt bearbeitet:
Ja, das machen die, um die Zugriffzeiten zu minimieren und damit die extrem niedrigen Frametimes zu erzielen bzw. um da selbst kleinste Ausreißer durch Nachladen zu vermeiden.

Das bringt also im Prinzip Performance, solange eben der Grafikspeicher reicht (das generell kaum sichtbare Texturnachladen in einigen Umständen wird auch minimiert [z.B. im Waffenmenü, wenn man extrem schnell die verschiedenen Modelle durchschaltet, kann man bei kleineren Pools für einige Millisekunden niedriger aufgelöste Mip-Stufen sehen]).

Gruß,
Phil
 
Da schließ ich mich @Grestorn ´s Worten voll und ganz an.
Tolle Einblicke die id Software hier gewährt. Hatte beim Lesen fast das Gefühl eine Privatführung durch das Spielestudio und deren entwicklungsseitige Hintergedanken und Entscheidungen zu erhalten. Absolut klasse :daumen:
Stimmt.
Wobei auch das für ID früher stets üblich war.
John Carmack hat in regelmäßigen Zeiten über diverse Interna von ID berichtet.
Sowohl über .plan Updates, als auch später über Tweets.

So hat er beschrieben was die Hardwarelimits von den jeweiligen Grafikchips sind und wie er es durch Low-Level Programmierung und Tricks umgehen möchte.

Speziell hat er davon immer wieder berichtet, welcher Chip sich wie in der Doom 3/Tech 4 Engine verhalten wird.

oder diverse Tech-Prototypen (Trinity), in welchen er sich mit Raytracing, Voxel usw beschäftigt - schon vor 25 Jahren.

Ich fand die .plan Dateien sehr spannend. Was er über die Architekturen schrieb, als sie noch primitiv waren (Voodoo und Co), über diverse inzwischen verschwundenen 3D Firmen usw usf. Über seine Engines und Entscheidungen, kann man alles hier nachlesen:

bzw hier

Das ist insofern relevant, weil alles im Interview hier schon von Carmack angedacht und erforscht wurde. Warum ID Software immer noch eine Low-Level API mit Extensions bevorzugt ist alles auf Carmack zurückzuführen.


Auch Fabian Sanglard hat das gesammelt, schön in PDF Form gebracht. Hier etwa von 1996 alleine:

1997;


1998:

1999: (Spannendes Zeitalter, die erste Geforce kam, Voodoo 2 wurde abgelöst)

Usw usf.

Viel spannender sind natürlich die POWERPOINTS von der Siggraph von ID Software (achtung 200mb)

oder hier in kleinerem Format (PDF, 11mb):

hier wird im Detail erklärt welche Entscheidungen im Rendering anstehen


Hier noch etwas Code analyse zur Doom 3 Engine von oben erwähntem Herrn Fabian Sanglard:


Und das ist auch immer wieder interessant, wie sauber Doom 3 eigentlich programmiert war

ID Software war ja lange eine der wenigen Firmen die ihre Engines Open Source released haben, damit alle anderen es sich anschauen können, daraus lernnen konnten und daraus auch eigene Spiele (etwa Dark Mod-> Dark Project) entwickeln konnten.


Wen sowas interessiert empfehle ich generell die Präsentationen von der SIGGRAPH durchzublättern, hier etwa die Präsentationen von 2020

Themen: Doom Eternal Engine, Raytracing/Raycasting, Beleuchtung in COD, Technik hinter The Last Of Us 2 usw usf
 
Zuletzt bearbeitet:
Billys Antwort auf die obligatorische letzte Frage feier ich persönlich.
Zu lesen, dass id genau weiß was sie da geschaffen haben und künftig wohl darauf aufbauen werden, wischt mir die letzten Zweifel, ob Eternals Genialität nur ein Zufallsprodukt war, endgültig beiseite.

Billy Khan: [...]Wir wollen die Form beispielsweise dieser vertikalen Schulterplatten des Mauraders erhalten, also diese abgerundete Form beibehalten. Aber die inneren Details sind dann etwas reduziert. Die Kanten und das, was den Maurader so einzigartig macht, das wollen wir erhalten. Euer Gehirn macht dann den Rest und füllt den Low-Res Maurader mit Details auf, wenn ihr sie schon einmal gesehen habt.[...]
Ich weiß nun worauf ich beim nächsten Durchlauf achten werde;-)

@PCGH_Phil
Wird die Mitschrift noch unübersetzt zur Verfügung gestellt?:pcghrockt:
 
Wird die Mitschrift noch unübersetzt zur Verfügung gestellt?:pcghrockt:

Können wir tatsächlich machen. Die wäre aber wahrscheinlich ein bisschen gröber, ihr hab ja keine Ahnung, wie viel Arbeit es ist so ein eineinhalb Stunden langes Interview in Text zu verfassen... :ugly: Aleco hat den Großteil der Arbeit verrichtet und außerdem KI-Tools genutzt, aber das sind trotzdem mehrere Manntage Arbeit.

Ich schau mal, wie das aussieht und wenn's nicht allzu viel Arbeit ist, gern.

Gruß,
Phil
 
Also ich kann mir das sehr gut vorstellen, wie viel Arbeit es ist so ein Interview in Schriftform umzusetzen. Da ich das selbe schon mit einem Interview machen durfte, das ich mit Random Design geführt habe. Das war viel Arbeit obwohl das Interview nur eine halbe Stunde lang war.
 
Auch von meiner Seite großes Lob, ein ganz tolles Interview. Ich persönlich hatte viele "Aha" Momente beim Lesen. Sehr erfrischend, mal so detailliert etwas über bestimmte Techniken und Mechaniken zu erfahren, vor allem was die Ideen angeht die dahinter stehen.
Einige der angesprochenen Details sind mir im übrigen beim Spielen von Doom Eternal aufgefallen, auch wenn ich nie genau sagen konnte, warum alles so gut für mich funktioniert. Man merkt auf jeden Fall das Herzblut der Entwickler beim spielen deutlich!
 
Zurück