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 and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term " software engine" used in the softwar ...
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
Video games, also known as computer games, are electronic games 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 gener ...
''
Doom 3
''Doom 3'' is a 2004 survival horror first-person shooter video 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 ported ...
''. The engine was designed by
John Carmack
John D. Carmack II (born August 20, 1970) is an American computer programmer and video game developer
A video game developer is a broad term for a software developer specializing in video game development – the process and related discip ...
, who also created previous game engines, such as those for ''
Doom'' and ''
Quake'', which are widely recognized as significant advances in the field. This
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
-based game engine has also been used in ''
Quake 4
''Quake 4'' is a 2005 military science fiction first-person shooter video game developed by Raven Software and published by Activision. It is the fourth title in the ''Quake'' series, after the multiplayer ''Quake III Arena'', and a sequel to ...
'', ''
Prey
Predation is a biological interaction where 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 kill the ...
'', ''
Enemy Territory: Quake Wars'', ''
Wolfenstein
''Wolfenstein'' is a series of 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. Earlier titles are center ...
'', and ''
Brink''. id Tech 4 is licensed under the terms of the
GNU General Public License v3.0 or later.
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 their video game ''Quake III Arena''. It has been adopted by numerous games. During its time, it competed with the Unreal Engine; bot ...
. 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. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
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 competitive ...
2007,
John Carmack
John D. Carmack II (born August 20, 1970) is an American computer programmer and video game developer
A video game developer is a broad term for a software developer specializing in video game development – the process and related discip ...
, 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 the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
.
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, and founded in 1999.
The company owns publisher Bethesda Softworks with its development unit Bethesda Game Studios (developer of ''The Elder Scrolls, ...
to release the id Tech 4 source upon the release of
Rage
Rage may refer to:
* Rage (emotion), an intense form of anger
Games
* Rage (collectible card game), a collectible card game
* Rage (trick-taking card game), a commercial variant of the card game Oh Hell
* ''Rage'' (video game), a 2011 first-per ...
. As part of his keynote for QuakeCon 2011 he confirmed that the source code to ''Doom 3'' will be out by the end of the year, after the release of Rage.
On November 16, 2011, Carmack announced on
Twitter
Twitter is an online social media and social networking service owned and operated by American company Twitter, Inc., on which users post and interact with 280-character-long messages known as "tweets". Registered users can post, like, and ...
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 buffered
shadow volume algorithms.
On November 22, 2011, Carmack released the ''Doom 3'' source code under
GNU GPL-3.0-or-later on
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
. 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.
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 CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
GeForce 3
The GeForce 3 series (NV20) is the third generation of Nvidia's GeForce graphics processing units (GPUs). Introduced in February 2001, it advanced the GeForce architecture by adding programmable pixel and vertex shaders, multisample anti-alia ...
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 performanc ...
, with at least 64 MB of VRAM. By E3 2002, the recommended GPU was "100% DirectX 9.0b compatible", such as the
Radeon 9700
The R300 GPU, introduced in August 2002 and developed by ATI Technologies, is its third generation of GPU used in ''Radeon'' graphics cards. This GPU features 3D acceleration based upon Direct3D 9.0 and OpenGL 2.0, a major improvement in feat ...
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 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 20, 1970) is an American computer programmer and video game developer
A video game developer is a broad term for a software developer specializing in video game development – the process and related discip ...
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), 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 survival horror first-person shooter video 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 ported ...
'' to run on unsupported graphics chips, such as the long obsolete
Voodoo 2
The Voodoo2 (or Voodoo2) is a set of three specialized 3D graphics chips on a single chipset setup, made by 3dfx. It was released in February 1998 as a replacement for the original Voodoo Graphics chipset. The card runs at a chipset clock rate ...
, 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 their video game ''Quake III Arena''. It has been adopted by numerous games. During its time, it competed with the Unreal Engine; bot ...
. 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 polygons. A common ...
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 a ...
ing. More features were added in the development of successive games, and in yet unreleased games using id Tech 4, new features have been added or are planned to be added soon.
The primary innovation of id Tech 4 was its use of entirely dynamic
per-pixel lighting, 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 ob ...
s and
Gouraud shading
Gouraud shading, named after Henri Gouraud, is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by polygon meshes. In practice, Gouraud shading is most often used to achieve continuous li ...
. 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
Creative may refer to:
*Creativity, phenomenon whereby something new and valuable is created
* "Creative" (song), a 2008 song by Leon Jackson
* Creative class, a proposed socioeconomic class
* Creative destruction, an economic term
* Creative dir ...
, which Creative granted id permission to use in the ''Doom 3'' engine, in exchange for supporting Creative's
EAX advanced sound technologies.
The models used in ''id Tech 4'' engine 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 surface representation used to draw the character (called the '' mesh'' or ''skin'') and a hierar ...
. 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, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
'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 their Pentium III series of Central processing units (CPUs ...
(SSE).
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 tackled this issue by introducing a means to create expansive outdoor scenes. By painting a single massive texture (32,768×32,768
pixel
In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest point in an all points addressable display device.
In most digital display devices, pixels are the s ...
s, though it has been extended to larger dimensions in recent versions of the MegaTexture technology) 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 game engine developed by id Software. It followed its predecessors, id Tech 1, 2, 3 and 4, all of which had subsequently been published under the GNU General Public License. It was seen as a major advancement over i ...
and
id Tech 6 games use MegaTexture, with the exception of ''
The Evil Within'' 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.
Rendering techniques used in id Tech 4
*Unified lighting and shadowing
*
Shadow volume
*
MegaTexture
Scripting
id Tech 4 has a comprehensive
scripting language
A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.
A scripti ...
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 Doom 1 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 ...
, including the
Creative Technology
Creative Technology Ltd. is a Singaporean multinational technology company headquartered with overseas offices in Shanghai, Tokyo, Dublin, and Silicon Valley (where in the US it is known as Creative Labs). The principal activities of the compa ...
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. They are said to form a peer-to-peer ...
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 their video game ''Quake III Arena''. It has been adopted by numerous games. During its time, it competed with the Unreal Engine; bot ...
equivalent, however id Tech 4 exposes a lot more of the network protocol to mod developers.
Although ''
Doom 3
''Doom 3'' is a 2004 survival horror first-person shooter video 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 ported ...
'' 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
''Quake 4'' is a 2005 military science fiction first-person shooter video game developed by Raven Software and published by Activision. It is the fourth title in the ''Quake'' series, after the multiplayer ''Quake III Arena'', and a sequel to ...
'' 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 their video game ''Quake III Arena''. It has been adopted by numerous games. During its time, it competed with the Unreal Engine; bot ...
(''
Quake III Arena
''Quake III Arena'' is a 1999 multiplayer-focused first-person shooter developed by id Software. The third installment of the ''Quake'' series, ''Arena'' differs from previous games by excluding a story-based single-player mode and focusing prima ...
'' engine) and
id Tech 2 (''
Quake II
''Quake II'' is a 1997 first-person shooter video game developed by id Software and published by Activision. It is the second installment of the ''Quake'' series, but not a direct sequel to '' Quake''. The game's storyline is continued in its e ...
'' 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 (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game ''Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of genres ...
(2006) from
Epic Games
Epic Games, Inc. is an American video game and software developer and publisher based in Cary, North Carolina. The company was founded by Tim Sweeney as Potomac Computer Systems in 1991, originally located in his parents' house in Potomac, ...
. id Software was unwilling to license their newest engine before its "parent game" ''Doom 3'' was completed. However the unexpected 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 and software developer and publisher based in Cary, North Carolina. The company was founded by Tim Sweeney as Potomac Computer Systems in 1991, originally located in his parents' house in Potomac, ...
'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 (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game ''Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of genres ...
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 graphics processing units (GPUs). Introduced in February 2001, it advanced the GeForce architecture by adding programmable pixel and vertex shaders, multisample anti-alia ...
. The rival
Source engine (which was developed from the previous
GoldSrc engine) could still run on the older widespread DirectX 7 GPUs albeit without
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 speci ...
being used.
Games using a proprietary license
*''
Doom 3
''Doom 3'' is a 2004 survival horror first-person shooter video 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 ported ...
'' (2004) –
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 ...
**''
Doom 3: Resurrection of Evil'' (2005) –
Nerve Software
** ''
Doom 3 BFG Edition
''Doom 3: BFG Edition'' is a remastered version of ''Doom 3'', released worldwide in October 2012 for Microsoft Windows, PlayStation 3, and Xbox 360. The '' BFG Edition'' features enhanced graphics, better audio (with more horror effects), a che ...
'' (2012) –
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 ...
*''
Quake 4
''Quake 4'' is a 2005 military science fiction first-person shooter video game developed by Raven Software and published by Activision. It is the fourth title in the ''Quake'' series, after the multiplayer ''Quake III Arena'', and a sequel to ...
'' (2005) –
Raven Software
Raven Software Corporation is an American video game developer based in Wisconsin and founded in 1990. In 1997, Raven made an exclusive publishing deal with Activision and was subsequently acquired by them. After the acquisition, many of the stu ...
**''Quake 4: Awakening'' (Cancelled) –
Ritual Entertainment
Ritual Entertainment was an American video game developer established in 1996 by Robert Atkins, Mark Dochtermann, Jim Dosé, Richard 'Levelord' Gray, Michael Hadwin, Harry Miller, and Tom Mustaine. Based in Dallas, Texas, Ritual Entertainment wa ...
*''
Prey
Predation is a biological interaction where 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 kill the ...
'' (2006) –
Human Head Studios
*''
Enemy Territory: Quake Wars'' (2007) –
Splash Damage
Splash Damage Ltd. is a British video game developer specialising in multiplayer first-person shooter video games. The studio is best known as the creators of '' Wolfenstein: Enemy Territory'' and '' Enemy Territory: Quake Wars''.
History
...
*''
Wolfenstein
''Wolfenstein'' is a series of 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. Earlier titles are center ...
'' (2009) –
Raven Software
Raven Software Corporation is an American video game developer based in Wisconsin and founded in 1990. In 1997, Raven made an exclusive publishing deal with Activision and was subsequently acquired by them. After the acquisition, many of the stu ...
*''
Brink'' (2011) –
Splash Damage
Splash Damage Ltd. is a British video game developer specialising in multiplayer first-person shooter video games. The studio is best known as the creators of '' Wolfenstein: Enemy Territory'' and '' Enemy Territory: Quake Wars''.
History
...
*''
Prey 2
''Prey 2'' was a cancelled first-person shooter video game to be published by Bethesda Softworks and planned as a sequel to the 2006 video game ''Prey''.
Though ''Prey 2'' was announced by 3D Realms in 2006, a few months after release of the fir ...
'' (Cancelled) –
Human Head Studios
*''SiN 2'' (Cancelled) –
Ritual Entertainment
Ritual Entertainment was an American video game developer established in 1996 by Robert Atkins, Mark Dochtermann, Jim Dosé, Richard 'Levelord' Gray, Michael Hadwin, Harry Miller, and Tom Mustaine. Based in Dallas, Texas, Ritual Entertainment wa ...
Games using an open source license
*''
The Dark Mod
''The Dark Mod'' is a free and open-source software first-person stealth video game, inspired by the ''Thief'' series by Looking Glass Studios. The game provides the basic framework and tools (engine, assets, models, and editor) for more than 1 ...
'' (2013) began as an effort to recreate ''
Thief: The Dark Project'' within ''Doom 3''.
It became a standalone game once the ''Doom 3'' source code was released.
*''
Quadrilateral Cowboy'' (2016) –
Blendo Games
Blendo Games is an American independent video game development company based in Culver City, California. It was founded by Brendon Chung in 2010 and is primarily a one-person effort. Blendo Games gained more widespread exposure with the short f ...
*''Skin Deep'' (TBA) - Blendo Games
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 their video game ''Quake III Arena''. It has been adopted by numerous games. During its time, it competed with the Unreal Engine; bot ...
*
id Tech 5
id Tech 5 is a proprietary game engine developed by id Software. It followed its predecessors, id Tech 1, 2, 3 and 4, all of which had subsequently been published under the GNU General Public License. It was seen as a major advancement over i ...
*
List of game engines
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