id Tech 4, popularly known as the ''Doom 3'' engine, is a
game engine
A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
developed by
id Software
id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
and first used in the
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
''
Doom 3
''Doom 3'' is a 2004 first-person shooter, first-person shooter game developed by id Software and published by Activision. ''Doom 3'' was originally released for Microsoft Windows on August 3, 2004, adapted for Linux later that year, and Vide ...
''. The engine was designed by
John Carmack
John D. Carmack II (born August 21, 1970) is an American computer programmer and video game developer. He co-founded the video game company id Software and was the lead programmer of its 1990s games ''Commander Keen'', ''Wolfenstein 3D'', ''Do ...
, who also created previous game engines, such as those for ''
Doom
Doom is another name for damnation.
Doom may also refer to:
People
* Doom (professional wrestling), the tag team of Ron Simmons and Butch Reed
* Daniel Doom (1934–2020), Belgian cyclist
* Debbie Doom (born 1963), American softball pitche ...
'' and ''
Quake'', which are widely recognized as significant advances in the field. This
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
-based game engine has also been used in ''
Quake 4'', ''
Prey
Predation is a biological interaction in which one organism, the predator, kills and eats another organism, its prey. It is one of a family of common feeding behaviours that includes parasitism and micropredation (which usually do not ki ...
'', ''
Enemy Territory: Quake Wars'', ''
Wolfenstein
''Wolfenstein'' is a series of alternate history World War II video games originally developed by Muse Software. The majority of the games follow William "B.J." Blazkowicz, an American Army captain, and his fight against the Axis powers. Earlie ...
'', and ''
Brink''. id Tech 4 is licensed under the terms of the
GNU General Public License v3.0 or later, and is to date the last id Tech engine to be open-sourced.
History
id Tech 4 began as an enhancement to
id Tech 3
id Tech 3, popularly known as the ''Quake III Arena'' engine, is a game engine developed by id Software for its 1999 game ''Quake III Arena''. It has subsequently been used in numerous games. Commercially, id Tech 3 competed with early version ...
. During development, it was initially just a complete rewrite of the engine's
renderer, while still retaining other subsystems, such as file access, and memory management. The decision to switch from
C to the
C++ programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
necessitated a restructuring and rewrite of the rest of the engine; today, while id Tech 4 contains code from id Tech 3, much of it has been rewritten.
At the
QuakeCon
QuakeCon is a yearly convention held by ZeniMax Media to celebrate and promote the major franchises of id Software and other studios owned by ZeniMax. It includes a large, paid, bring-your-own-computer ( BYOC) LAN party event with a competiti ...
2007,
John Carmack
John D. Carmack II (born August 21, 1970) is an American computer programmer and video game developer. He co-founded the video game company id Software and was the lead programmer of its 1990s games ''Commander Keen'', ''Wolfenstein 3D'', ''Do ...
, the lead graphics engine developer at id, said to
LinuxGames:
"I mean, I won't commit to a date, but the Doom 3 stuff will be open source". And like its predecessors, John Carmack has said that id Tech 4 will be released as
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
.
At the QuakeCon 2009, Carmack said that he planned to petition
ZeniMax Media
ZeniMax Media Inc. is an American video game holding company based in Rockville, Maryland. The company was founded in 1999 by Christopher Weaver and Robert A. Altman as the parent company for Weaver's video game publisher Bethesda Softworks. ...
to release the id Tech 4 source upon the release of ''
Rage''. As part of his keynote for QuakeCon 2011, he confirmed that the source code to ''Doom 3'' would be out by the end of the year, after the release of ''Rage''.
On November 16, 2011, Carmack announced on
Twitter
Twitter, officially known as X since 2023, is an American microblogging and social networking service. It is one of the world's largest social media platforms and one of the most-visited websites. Users can share short text messages, image ...
that he's writing new code for Doom 3's open source release, because "lawyers are still skittish about the patent issue around 'Carmack's reverse'". This refers to an implementation of
stencil buffer
A stencil buffer is an extra data buffer, in addition to the ''color buffer'' and '' Z-buffer'', found on modern graphics hardware. The buffer is per pixel and works on integer values, usually with a depth of one byte per pixel. The Z-buffe ...
ed
shadow volume
Shadow volume is a technique used in 3D computer graphics to add shadows to a rendered scene. It was first proposed by Frank Crow in 1977 as the geometry describing the 3D shape of the region occluded from a light source. A shadow volume divides ...
algorithms.
On November 22, 2011, Carmack released the ''Doom 3'' source code under
GNU GPL-3.0-or-later on
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
. The source does not include any of the 'Carmack's Reverse' code. According to Carmack, minor tweaks were made to the code to avoid any infringement. Since then, several open-source projects have been released, such as dhewm3, Dante, and RBDOOM-3-BFG. In 2021 the ''
Quake 4'' game DLLs were adapted for use with the
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
dhewm3 engine
derived from the released ''
Doom 3
''Doom 3'' is a 2004 first-person shooter, first-person shooter game developed by id Software and published by Activision. ''Doom 3'' was originally released for Microsoft Windows on August 3, 2004, adapted for Linux later that year, and Vide ...
'' source code (with work also started on ''
Prey
Predation is a biological interaction in which one organism, the predator, kills and eats another organism, its prey. It is one of a family of common feeding behaviours that includes parasitism and micropredation (which usually do not ki ...
''); this has since been used to port the game to
AmigaOS 4
AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore International, Commodore, and partially on version 3.9 develop ...
.
Hardware
The original requirement of id Tech 4 was that it needed a high-end graphics processing unit (GPU) with fully programmable vertex and pixel shaders, such as the
Nvidia
Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
GeForce 3
The GeForce 3 series (NV20) is the third generation of Nvidia's GeForce line of graphics processing units (GPUs). Introduced in February 2001, it advanced the GeForce architecture by adding programmable pixel and vertex shaders, multisample ant ...
or
ATI Radeon 8500
The R200 is the second generation of GPUs used in Radeon graphics cards and developed by ATI Technologies. This GPU features 3D acceleration based upon Microsoft Direct3D 8.1 and OpenGL 1.3, a major improvement in features and performan ...
, with at least 64 MB of VRAM. By
E3 2002, the recommended GPU was "100%
DirectX
Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
9.0b compatible", such as the
Radeon 9700 with 128 MB of VRAM. While the Radeon 9700's DirectX 9.0 features are not necessary to render the game, its advanced architecture, 256-bit memory bus, and efficiency were needed to run Doom 3 at high detail and playable speed. The "Ultra" graphics mode included in ''Doom 3'' would not even run on high end graphics cards in 2004, as the engine required at least 512 MB of video memory to display properly and at playable speeds.
id Tech 4 resulted in the obsolescence of DirectX 7 graphics chips such as the widespread
GeForce 2
The GeForce 2 series (NV15) is the second generation of Nvidia's GeForce line of graphics processing units (GPUs). Introduced in 2000, it is the successor to the GeForce 256.
The GeForce 2 family comprised a number of models. The ''GeForce 2 GT ...
and
Radeon 7200, as well as older chipsets such as
RIVA TNT2 and
Rage 128, and software rendering (with an integrated
Intel GMA
The Intel Graphics Media Accelerator (GMA) is a series of integrated graphics processors introduced in 2004 by Intel, replacing the earlier Intel Extreme Graphics series and being succeeded by the Intel HD and Iris Graphics series.
This serie ...
). Until the advent of id Tech 4, a powerful CPU was able to somewhat compensate for an older video card. While
John Carmack
John D. Carmack II (born August 21, 1970) is an American computer programmer and video game developer. He co-founded the video game company id Software and was the lead programmer of its 1990s games ''Commander Keen'', ''Wolfenstein 3D'', ''Do ...
initially warned gamers not to purchase the
GeForce 4 MX (which casual consumers often confused with the DirectX 8 capable GeForce 4 Ti, though it was at best an improved
GeForce 2
The GeForce 2 series (NV15) is the second generation of Nvidia's GeForce line of graphics processing units (GPUs). Introduced in 2000, it is the successor to the GeForce 256.
The GeForce 2 family comprised a number of models. The ''GeForce 2 GT ...
), its somewhat widespread adoption compelled id Software to add it to the list of supported cards. There have been cases of enthusiasts forcing ''
Doom 3
''Doom 3'' is a 2004 first-person shooter, first-person shooter game developed by id Software and published by Activision. ''Doom 3'' was originally released for Microsoft Windows on August 3, 2004, adapted for Linux later that year, and Vide ...
'' to run on unsupported graphics chips, such as the long obsolete
Voodoo 2, but these are unable to render the per-pixel lighting and bump mapping.
Features
Graphics
Id Tech 4 added several new graphical features absent in its predecessor,
id Tech 3
id Tech 3, popularly known as the ''Quake III Arena'' engine, is a game engine developed by id Software for its 1999 game ''Quake III Arena''. It has subsequently been used in numerous games. Commercially, id Tech 3 competed with early version ...
. These included
normal mapping
In 3D computer graphics, normal mapping, or Dot3 bump mapping, is a texture mapping technique used for faking the lighting of bumps and dents – an implementation of bump mapping. It is used to add details without using more polygonal modeling, ...
and
specular highlight
A specular highlight is the bright spot of light that appears on shiny objects when illuminated (for example, see image on right). Specular highlights are important in 3D computer graphics, as they provide a strong visual cue for the shape of ...
ing. More features were added in the development of successive games.
The models used in id Tech 4 games are animated using
skeletal animation
Skeletal animation or rigging is a technique in computer animation in which a character (or other articulated object) is represented in two parts: a polygonal or parametric mesh representation of the surface of the object, and a hierarchical set ...
. The engine can blend multiple animations together to produce a skin that moves correctly for those animations. Because this is CPU intensive, id did some work optimizing this by using
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
's
Streaming SIMD Extensions
In computing, Streaming SIMD Extensions (SSE) is a single instruction, multiple data ( SIMD) instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in its Pentium III series of central processing units (CPU ...
(SSE).
Dynamic lighting

The primary innovation of id Tech 4 was its use of entirely dynamic
per-pixel lighting and
shadow volume
Shadow volume is a technique used in 3D computer graphics to add shadows to a rendered scene. It was first proposed by Frank Crow in 1977 as the geometry describing the 3D shape of the region occluded from a light source. A shadow volume divides ...
s, whereas previously, 3D engines had relied primarily on pre-calculated per-vertex lighting or
lightmap
A lightmap is a data structure used in lightmapping, a form of surface caching in which the brightness of surfaces in a virtual scene is pre-calculated and stored in texture maps for later use. Lightmaps are most commonly applied to static o ...
s and
Gouraud shading
Gouraud shading ( ), named after Henri Gouraud (computer scientist), Henri Gouraud, is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by Polygon mesh, polygon meshes. In practice, Gouraud ...
, and shadows were either faked (such as the traveling dark spot beneath characters in id Tech 3 games) or non-existent. id Tech 4 unified lighting and shadows, something absent in prior id Tech engines. All light sources in ''Doom 3'' are dynamic, something the companion book ''The Making of Doom 3'' describes as "The biggest headache for the level designers". While dynamic effects had been available before (such as dynamic moving lights), this effect merely changed the brightness of the vertices of the polygon, with the pixel's colors simply being interpolated between the three vertex colors of its polygon.
This fully realtime approach used in ''Doom 3'', combined with the use of shadow volumes permitted more realistic lighting and shadows than in the previous generation of id's engines. The method used to create the shadow volumes is the subject of a patent by
Creative, which Creative granted id permission to use in the ''Doom 3'' engine, in exchange for supporting Creative's
EAX advanced sound technologies.
MegaTexture rendering technology
The original version of the id Tech 4 engine was designed for somewhat dark environments and was criticized for its perceived inability to handle extremely large daytime outdoor areas. The MegaTexture technology (a form of
clipmapping) tackled this issue. By painting a single massive texture (initially 32,768×32,768
pixel
In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a Raster graphics, raster image, or the smallest addressable element in a dot matrix display device. In most digital display devices, p ...
s, later extended to larger dimensions in subsequent versions) covering the entire polygon map and highly detailed terrain, the desired effects can be achieved. The MegaTexture can also store physical information about the terrain such as the amount of traction in certain areas or indicate what sound effect should be played when walking over specific parts of the map. i.e. walking on rock will sound different from walking on grass. The first game utilizing MegaTexture is ''
Enemy Territory: Quake Wars'', based on the Tech 4 engine. All
id Tech 5
id Tech 5 is a proprietary software, proprietary game engine developed by id Software. It followed its predecessors, id Tech 1, id Tech 2, 2, id Tech 3, 3 and id Tech 4, 4, all of which had subsequently been published under the GNU General Publi ...
and
id Tech 6 games use MegaTexture, with the exception of ''
The Evil Within
''The Evil Within'' is a 2014 survival horror, survival horror game developed by Tango Gameworks and published by Bethesda Softworks. It was directed by ''Resident Evil'' series creator Shinji Mikami. The game centers on protagonist Sebastian Ca ...
'', which uses a new renderer. ''
Brink'', which uses a heavily modified version of id Tech 4, also uses virtual texturing. While the implementation is different from MegaTexture, it was inspired by it.
Scripting
id Tech 4 has a comprehensive
scripting language
In computing, a script is a relatively short and simple set of instructions that typically automation, automate an otherwise manual process. The act of writing a script is called scripting. A scripting language or script language is a programming ...
that can be used when creating
mods, and is used in ''Doom 3'' to control monsters, weapons, and map events. This scripting language is similar to C++.
In addition to the main scripting language, idTech 4 also has another scripting language that is used for
GUIs—both the menus and
HUD, and also for GUIs embedded into the game world. These in-game GUIs are sufficiently powerful that you can, for example, run another game such as the original ''
Doom
Doom is another name for damnation.
Doom may also refer to:
People
* Doom (professional wrestling), the tag team of Ron Simmons and Butch Reed
* Daniel Doom (1934–2020), Belgian cyclist
* Debbie Doom (born 1963), American softball pitche ...
'' within the game-world.
Despite this additional level of scripting, it is also possible to create
mods using C++ to build native code.
Sound
As a result of the agreement with Creative regarding the patent on shadow volumes, the id Tech 4 engine supports
OpenAL
OpenAL (Open Audio Library) is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those o ...
, including the
Creative Technology
Creative Technology Ltd., or Creative Labs Pte Ltd., is a Singaporean multinational electronics company mainly dealing with Audio equipment, audio technologies and products such as speakers, headphones, sound cards and other digital media. Foun ...
specific
EAX extensions. The work to include OpenAL support was done by Creative Technology, not by id themselves.
Networking
The engine uses a traditional
client–server model
The client–server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate ov ...
. Initially it was planned to have a
peer-to-peer
Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of Node ...
networking model. This part of the engine works in a fundamentally similar way to the
id Tech 3
id Tech 3, popularly known as the ''Quake III Arena'' engine, is a game engine developed by id Software for its 1999 game ''Quake III Arena''. It has subsequently been used in numerous games. Commercially, id Tech 3 competed with early version ...
equivalent; however, id Tech 4 exposes a lot more of the network protocol to mod developers.
Although ''
Doom 3
''Doom 3'' is a 2004 first-person shooter, first-person shooter game developed by id Software and published by Activision. ''Doom 3'' was originally released for Microsoft Windows on August 3, 2004, adapted for Linux later that year, and Vide ...
'' only supports 4 players (and 8 in the ''
Resurrection of Evil'' expansion pack), the id Tech 4 engine can be used with more players than this, with ''
Quake 4'' and ''
Enemy Territory: Quake Wars'' both supporting significantly more players.
Games using id Tech 4
Compared to the preceding and widely used
id Tech 3
id Tech 3, popularly known as the ''Quake III Arena'' engine, is a game engine developed by id Software for its 1999 game ''Quake III Arena''. It has subsequently been used in numerous games. Commercially, id Tech 3 competed with early version ...
(''
Quake III Arena'' engine) and
id Tech 2 (''
Quake II
''Quake II'' is a 1997 first-person shooter, first-person shooter game developed by id Software and published by Activision. It is the second installment of the Quake (series), ''Quake'' series, following ''Quake (video game), Quake''.
Develope ...
'' engine), id Tech 4 has had less success in licensing to third parties. This is especially apparent in comparison to its closest contemporaries,
Unreal Engine 2 (2002) and
Unreal Engine 3
Unreal Engine 3 (UE3) is the third version of Unreal Engine developed by Epic Games. Unreal Engine 3 was one of the first game engines to support multithreading. It used DirectX 9 as its baseline graphics API, simplifying its rendering code. The ...
(2006) from
Epic Games
Epic Games, Inc. is an American Video game developer, video game and software development, software developer and video game publisher, publisher based in Cary, North Carolina. The company was founded by Tim Sweeney (game developer), Tim Sween ...
.
id Software was unwilling to license their newest engine before its "parent game" ''Doom 3'' was completed. However, the unexpectedly long development time going into ''Doom 3'' from 2002-04 meant that they could not put up competition to
Epic Games
Epic Games, Inc. is an American Video game developer, video game and software development, software developer and video game publisher, publisher based in Cary, North Carolina. The company was founded by Tim Sweeney (game developer), Tim Sween ...
's Unreal Engine 2 during that period. Many who licensed Unreal Engine 2 were thus able to make the switch to
Unreal Engine 3
Unreal Engine 3 (UE3) is the third version of Unreal Engine developed by Epic Games. Unreal Engine 3 was one of the first game engines to support multithreading. It used DirectX 9 as its baseline graphics API, simplifying its rendering code. The ...
more easily.
While id Tech 4 had taken a new direction with its dynamic
per-pixel lighting, this unconventional feature had steeper hardware requirements and was initially only useful in "spooky games" (until the
MegaTexture addition), whereas an increasing number of developers preferred conventional engines that could render large outdoor areas. Also notable was id Tech 4's relative lack of downward scalability compared to competing FPS engines; id Tech 4 generally required a DirectX 8.0 compliant GPU such as a
GeForce 3
The GeForce 3 series (NV20) is the third generation of Nvidia's GeForce line of graphics processing units (GPUs). Introduced in February 2001, it advanced the GeForce architecture by adding programmable pixel and vertex shaders, multisample ant ...
. The rival
Source engine could still run on the older widespread DirectX 7 GPUs, albeit without the use of
shaders
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of sp ...
.
Games using a proprietary license
Games using an open-source license
See also
*
First person shooter engine
*
id Tech 3
id Tech 3, popularly known as the ''Quake III Arena'' engine, is a game engine developed by id Software for its 1999 game ''Quake III Arena''. It has subsequently been used in numerous games. Commercially, id Tech 3 competed with early version ...
*
id Tech 5
id Tech 5 is a proprietary software, proprietary game engine developed by id Software. It followed its predecessors, id Tech 1, id Tech 2, 2, id Tech 3, 3 and id Tech 4, 4, all of which had subsequently been published under the GNU General Publi ...
*
List of game engines
Notes
References
External links
*
id Tech 4 reference materialCNN - Life after "Doom"Doom 3 source code on GitHub
{{Video game engines
2004 software
Doom (franchise)
Formerly proprietary software
Free game engines
Game engines for Linux
Id Tech
Quake (series)
Video game engines
Virtual reality