Doom 3 Source Code Released

November 22nd, 2011 by Crusader

Thanks to TTimo for the heads up!

I’m a little drunk, which is appropriate as it’s time to celebrate: id Software has released the source code to id Tech 4, aka the Doom 3 engine, on GitHub:

Game data and patching:

This source release does not contain any game data, the game data is still
covered by the original EULA and must be obeyed as usual.

You must patch the game to the latest version.

Note that Doom 3 and Doom 3: Resurrection of Evil are available from the Steam store at

Other platforms, updated source code, security issues:

If you have obtained this source code several weeks after the time of release,
it is likely that you can find modified and improved
versions of the engine in various open source projects across the internet.
Depending what is your interest with the source code, those may be a better
starting point.


Compiling on GNU/Linux x86:

The build system on GNU/Linux is based on SCons:
Issue the scons command in the neo/ folder.


Back End Rendering of Stencil Shadows:

The Doom 3 GPL source code release does not include functionality enabling rendering
of stencil shadows via the “depth fail” method, a functionality commonly known as
“Carmack’s Reverse”.

One Response to “Doom 3 Source Code Released”

  1. Andrey_Karpov Says:

    PVS-Studio: analyzing Doom 3 code –

    Abstratc. The id Software company possesses a PVS-Studio license. However, we decided to test the source codes of Doom 3 that have been recently laid out on the Internet. The result is the following: we managed to find just few errors, but still they are there. I think it can be explained by the following fact.
    A part of the Doom 3 code is still in use, and perhaps developers have fixed errors there. And another part of the code is obsolete and not used now. Most likely, the suspicious code fragments have been found in this very part.
    For those who want to know more on the subject, in this article we cite code fragments the PVS-Studio analyzer gave warnings for. As usually, let me remind you that I will speak only on some of the warnings, while the other project fragments require us to know the program’s structure, so I did not examine them.

Leave a Reply

You must be logged in to post a comment.