Study how a production first-person shooter game engine from 2004 handles rendering, physics, and audio.
Build a mod or total conversion for Doom 3 by modifying the engine source code.
Port the Doom 3 engine to a new platform using the open-source C++ codebase as a starting point.
Learn game engine architecture concepts (rendering pipeline, stencil shadows, resource loading) from real production code.
Requires the original Doom 3 game data (sold separately on Steam), build toolchain is 2010-era and needs updating for modern compilers.
doom3.gpl is the official GPL source code release of the Doom 3 game engine, published by id Software. This is the C++ codebase that powered Doom 3 and its expansion Resurrection of Evil. Releasing game engine source code under the GPL was a longtime practice at id Software, and this release lets developers study, modify, and build on the engine. The source code does not include game data. The actual game content (levels, textures, sounds, models) is still covered by the original commercial license and must be purchased separately. Doom 3 and its expansion are available on Steam. The source release is the engine only. Building the engine requires different tools depending on platform. On Windows, a Visual Studio 2010 project file is included, though the free Express edition does not work because 32-bit MFC is required, the Microsoft DirectX SDK is also needed. On Linux, the build uses SCons. On macOS, an Xcode 3.2 project is provided. These are the build systems as of the original release, so developers working with the code today will likely need to adapt the build configuration for modern compilers. One specific feature is excluded from this release: the Carmack Reverse technique for rendering stencil shadows using depth-fail. This was left out due to a patent situation at the time of release. The codebase includes code for Maya export (for users with a Maya license from Autodesk) and bundles several third-party libraries with their own licensing terms: curl, JPEG, OggVorbis, OpenAL, zlib, and others. The main license is GPL, which makes the code suitable for open-source derivative works but not for incorporating into proprietary commercial products.
← ttimo on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.