The source code for Doom 3 has finally been made available for download. Id Software’s John Carmack confirmed the source code was on the way, but that was back in August before legal issues pushed the release back by several months.
The legal issue stems around the use of “Carmack’s Reverse” algorithm which has to do with a method of rendering shadow volumes using a stencil buffer. Around the same time that Carmack discovered the algorithm, someone else filed a patent for essentially the same thing. That patent belongs to Creative Labs and according to reports, id Software agreed to include EAX audio technology in the game in order to use the shadow rendering technique in Doom 3.
Rather than run the risk of getting into a legal battle over the code, Carmack simply decided to remove it from the source code and work around it. As Carmack put it himself, the workaround added four lines of code and changed two.
The full source code is now available for download on GitHub. It’s worth mentioning that no actual Doom 3 game code is included – the source code simply includes the id Tech 4 game engine. Such code will allow aspiring programmers the chance to experience a tested game engine and allow more experienced coders the opportunity to build and improve upon the original engine.
Doom 3 was released in August of 2004 and by 2007, it had become the most successful project by id Software to date. The id Tech 4 engine was used in other games as well including Quake 4, Prey, Enemy Territory: Quake Wars, Wolfenstein and Brink.