id Tech 5-Engine

Game Engine

Der heimliche Chef bei id Software, John Carmack, der seine Position neuerdings "Technischer Leiter" nennt (2013), hatte sich für das Spiel Rage (2011) wieder mal komplett um die Game Engine gekümmert. Die Engine wurde erstmals in seiner Keynote Speech auf der QuakeCon 2007 vorgestellt. Die Engine bietet Features an wie: aktuelle Lichtberechnung Systeme, eine erweiterte Version von Mega Texture, Texturen Streaming in Echtzeit, ein verbessertes Schattensystem. Wofür die Engine vor allem steht ist die flüssige und detaillierte Darstellung von weitläufigen Landschaften. Diesmal kann Johns Engine direkt im ersten Spiel riesige Außenareale darstellen. In Quake 3 wurde dies nachträglich hinzugefügt durch Team Arena. Und das beste an Rage und der darin verwendeten id Tech 5 Engine, die Landschaften sind detailliert. Denn kein Stein, Baum, Felsen, Objekt gleicht dem anderen.

Ich denke es stimmt, auch wenn es wie aus einem Werbekatalog klingt: Die id Tech 5 ist für Multi-Plattform-Design konzipiert. Deshalb entfallen lange Portierungszeiten was eine Zeitersparnis beim Arbeiten darstellt. id Tech 5 basiert auf OpenGL und Direct3D 9c. Durch die Anwendung der beiden Techniken "Mega Texture" und "Texturen Streaming" soll für Leveldesigner ein großer Vorteil bestehen. Die Designer haben maximale Freiheit bei der Levelgestaltung, weil sie nicht mehr auf Game Performance achten müssen, haben also mehr Zeit übrig um an Details und Feinheiten in der Spielwelt zu arbeiten. Ein Manko besitzt die Engine allerdings, das Licht ist teilweise vorgerendert und nicht dynamisch, so das beispielsweise ein Tag-Nacht Wechsel nicht klappt.


Mega Texturing

Im Grafikbereich ist das Ziel mittels Tricks bei Grafikkarten den Speicher und die Bandbreite zu entlasten und trotzdem zu einem sichtbar guten Ergebnis zu kommen. Die meisten konventionellen Game Engines verwenden überwiegend kleinere, sich wiederholende Textur Kacheln zur Texturierung eines Terrains. Dafür werden Texturen verwendet die nicht größer als 2048×2048 Pixel sind, sich ständig wiederholen und übereinander geschichtet werden. Durch Transparenz wird das Ganze schließlich verschmolzen. Die Technik wird angewandt um ein mehrfaches Speichern von unterschiedlichen Texturen überflüssig zu machen. Die id Tech 5 von John Carmack geht jedoch einen anderen Weg. "Mega Texturing" bezeichnet eine Technik die es ermöglicht eine einzelne große Textur zur Verkleidung eines virtuellen Geländes heran zu ziehen. Dieses von John Carmack entwickelte Textur Mapping-Verfahren kam zum ersten Mal zum Einsatz auf einer fortgeschrittenen Doom 3-Engine (id Tech 4) im Spiel 'Enemy Territory: Quake Wars' von Splash Damage. Die schneebedeckten Berge in Quakewars sahen aus der Ferne einfach fantastisch aus.


Virtual Texturing

Das Verfahren Mega Texturing wurde weiterentwickelt und heißt in der id Tech 5 jetzt "Virtual Texturing". Während Mega Texturing in der id Tech 4, in Quakewars, nur bei Landschaftstexturen verwendet wurde, nutzt die id Tech 5 eine Erweiterung die auch Modelle und Sprites mit einschließt. Die id Tech 5 verzichtet auf wiederholende Texturentapeten und nutzt nur noch eine einzige extrem große Textur. Bei Bedarf werden Teile aus der Mega Texture in den Speicher gestreamt. Die riesige Mega Texture verwendet eine Größe von 128.000x128.000 Pixel. Weil eine Mega Textur mehrere Gigabytes umfasst, also viel zu groß für den Grafikspeicher wäre, wird sie in 1024x1024 Pixel große "Pages" unterteilt. Abhängig vom Grafikspeicher setzt sich das Monitorbild aus maximal 32x32 Pages zusammen. Jede Page wird in einem pyramidenförmigen Aufbau in vier weitere Unterseiten aufgeteilt (Quad Tree). Die wiederum je vier weitere Unterebenen besitzen. Je tiefer eine Page in der Pyramide liegt, desto detaillierter ist sie. Im Spiel werden weit entfernte Objekte mit Pages aus der obersten Ebene beklebt, während nahe Objekte am Spieler mit den viel detaillierteren Pages aus der untersten Ebene des Quad Tree beklebt sind.


Texturen Streaming in Echtzeit

Bei Rage werden die Texturen der Modelle, Objekte, Landschaften während dem laufenden Spiel geladen. Dem gegenüber steht ein konventionelles Laden bei Levelbeginn. Die Pages der Textur werden für ein Bild ständig von der Festplatte in den Speicher gestreamt. Bei schnellen Schwenks im Spiel werden die Pages sichtbar für knapp 1 Sekunde nachgeladen bzw. gestreamt, umgangssprachlich 'Texturen Pop In'. Wahrscheinlich lässt sich die Zeit des Pop In mit Optimierungen noch verkürzen. Neben der id Tech 5 haben auch andere Engines mit Textur Streaming begonnen, wie beispielsweise die DICE Engine von Battlefield 3. Die Frostbite 2.0 Engine benutzt zwar ebenfalls wie Rage ein Texturen Streaming, streamt jedoch weiterhin klassische "kleine" Texturen.


Tiefergehende Artikel

• id Tech 5 im deutschen und englischen Wiki.
• Mega Texture im deutschen und englischen Wiki.
• Artikel von gamestar und golem.
• J.M.P van Waveren (id Software) über "Virtual Texturing in Software and Hardware". Präsentation zur id tech 5 von der Siggraph 2012 als PDF.



Virtualisierung


Werkzeug id Studio

Zum Erstellen großer Mods für Doom 3 und Quake 4 erschien jeweils ein SDK (iddevnet). In diesen Spielen selber ist der Map-Editor Radiant eingebaut. Zum Starten einfach in die Konsole /editor eingeben. Für Rage auf Basis der id Tech 5 wurde eine eigene Entwickler-Umgebung mit Namen 'id Studio' eingesetzt (Wiki). Im id Studio vereint ist neben einem Map-Editor auch eine Software-Tool Sammlung. Zum Designen der Umwelt wurde das "Highlight Feature" benutzt, wo unendlich viele detaillierte Texturen Objekte in die Megatextures hinein gestempelt werden. Stempeln und Stanzen hört sich erst mal nach Fließband Arbeit an, aber es hat auch viel mit Level-Designen zu tun. Es ibt unterschiedliche Aussagen zum Tool, einerseits soll es ohne viele zusätzliche Kommandozeilen Eingaben auskommen, andererseits soll sich das Ersteller von Inhalten schwerer gestalten als bei der Vorgänger Engine id Tech 4.


Engine wird lange halten

John Carmack sagte die Spielkonsolen bremsen die Hardware Entwicklung und das Gamedesign würde beim Spielemachen viel stärker in den Vordergrund rücken. Die neue Engine soll außerdem die Hardware der nächsten Konsolen-Generation unterstützen. Ich glaube es ist wichtig die Motivation für eine langlebige Engine heraus zu arbeiten. id Software dürfte in einem gewissen Masse, durch den neuen Besitzer Zenimax unter Druck stehen. Ein paar Spiele sollen ohne Verzögerung veröffentlicht werden. Da ist erst mal keine Zeit um erneut eine neue Engine zu entwickeln, auf die das Studio intern warten müsste. Die Engine muss und wird lange halten. John wird die id Tech 5 natürlich weiter ausreizen, so wie er das bereits bei seinen Engine Vorgängern getan hat.


Engine Pläne mit der id Tech 5

• Next-Gen-Konsolen tauglich
• Engine für neues Doom, vielleicht Rage Nachfolger und neues Quake
• Engine bleibt bei Bethesda hausintern, keine Fremdlizensierung
• Engine wird eingesetzt für ein unbekanntes Machinegames Spiel (Wolfenstein Nachfolger?)
• Keine Source Code Freigabe der id Tech 5

Dies sind die zusammengefassten Pläne mit der Engine, abgesichert durch Aussagen von id Software. Ich würde das aber nicht als in Stein gemeißelt betrachten.

Das nächste Spiel von id Software wird Doom 4 sein (bestätigt). Kurz vor Spielende in Rage ist die Location einer Sci-Fi Station zu sehen. Das ist sowas wie der Blick in die Zukunft für ein nächstes Doom. Anzunehmen ist auch das die Engine zum Einsatz kommt bei einem Rage Nachfolger und einem neuen Quake. Schon 2010 wurde aus dem Hause id Software gemeldet, die id Tech 5 werde exklusiv und hausintern bei Zenimax angeschlossenen Studios bleiben. Das schwedische Studio Machinegames (Chronicles of Riddick) welches zu Zenimax gehört, entwickelt einen FPS Titel auf Basis von id Tech 5. John Carmack sagte das der Source Code der id Tech 5 wohl niemals frei verfügbar gemacht werden könne, weil das rechtlich schwierig mit Besitzer Zenimax wäre.

In der Vergangenheit hatte John den Quellcode stets freigegeben, wenn länger niemand mehr seine Engine Technologie lizenzieren wollte. In der Vergangenheit konnten durch Source Freigabe weiter entwickelte und verschlankte Engines von Fans gebaut werden. Diese kamen dann zum Einsatz für eigene Mod-Projekte oder Portierungen auf mobile Geräte. Das werden wir in nächster Zeit noch mal erleben, nämlich mit dem Source Code der Doom 3 Engine / id Tech 4 und dem Doom 3 BFG Edition Source. Update: Sources erschienen, siehe github.com/id-Software.

John Carmack hatte geäußert das er am Engine Lizenzierungsgeschäft kein Interesse mehr hätte, sogar das es als Geschäftsmodell nie geplant war. Die Quake Engine 3 von 1999 (id Tech 3) wurde in finanzieller Hinsicht die erfolgreichste Engine für id Software, einfach durch die sehr große Menge an Spiel-Entwicklern die sie in Spielen einsetzte. Eine Lizenz kostete damals 250.000 Dollar, was für Studios immer noch günstiger war als eine eigene Engine zu produzieren.



Badboy ~ 2013