Nur ein paar Wochen ist es her, als der neueste Titel aus dem Hause id Software, „Rage„, veröffentlicht wurde. Nun zeigt man sich dort großzügig: John Carmack, Mitgründer und Chefentwickler von id Software veröffentlichte gestern den Quellcode zum First-Person-Shooter „Doom 3„, den er zwischen 2000 und 2004 entwickelte. Nachdem es zuvor Befürchtungen gab, ein Teil des Algorithmus zur Schattenberechnung könne Patentrechtsklagen nach sich ziehen, setzte er sich kurzerhand noch einmal an sein betagtes Kultwerk und schrieb einen Workaround, der die als „Carmack’s Reverse“ bekannte Berechnungsweise ersetzt. Laut ihm seien nur eine Handvoll Zeilen bearbeitet worden.
Den Quellcode des in C++ geschriebenen Gruselshooters kann man auf der extra angelegten GitHub-Seite herunterladen. Das Paket ist 9,1 MB groß und umfasst – bis auf besagten Depth-Fail-Algorithmus – den gesamten Quellcode, der nötig ist, um eine ausführbare Datei zu erhalten. Spieldateien sind logischerweise nicht enthalten, da Doom 3 auch weiterhin nicht Freeware ist. Entpackt wiegen die Quelldateien ungefähr 35 MB. Für das Kompilieren wird Microsoft Visual Studio 2010 empfohlen. Das DirectX SDK ist zwingend erforderlich.
Carmack, der leider seit einigen Jahren Mitglied der Apple-Sekte … äh, Verzeihung, bekennender Apple-Sympathisant ist, hat sich mit Wolfenstein 3D, Doom und Quake einen Namen als inoffizieller Vater der First-Person-Shooter gemacht, obwohl er auch für sehr bekannte 2D-Jump’n’Run-Spiele wie Commander Keen verantwortlich ist. Das Spezialgebiet des genialen Spieleentwicklerveteranen sind Game-Engines – die meisten seiner Werke reizten die vorhandene Technik in jeder Hinsicht aus. Man schreibt ihm sogar zu, mitverantwortlich für die Verbreitung von Grafikbeschleunigerkarten Mitte bis Ende der 90er Jahre gewesen zu sein.
Persönlich halte ich die Veröffentlichung des Quellcodes von Doom 3 für einen ganz großen Gewinn, da die Technik hinter dem Spiel sich auch heute noch sehen lassen kann. Erwartungsgemäß werden sich fleißige und talentierte Programmierer finden, die sich den Quellcode vornehmen und ihn verbessern oder auf dessen Basis neue Spiele entwickeln. Carmack macht das einzig richtige in meinen Augen: Anstatt seine Arbeit vergammeln zu lassen, gibt er sie frei und macht sie für andere nutzbar. Wenn doch nur alle so denken würden.