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 software i ...
developed by
id Software 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, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
''
Doom 3''. The engine was designed by
John Carmack
John D. Carmack II (born August 20, 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'', ''Doo ...
, 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 (born 1934), Belgian cyclist
* Debbie Doom (born 1963), American softball pitcher
* L ...
'' 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 hardwa ...
-based game engine has also been used in ''
Quake 4'', ''
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
Brink or ''variant'', may refer to:
Places
* Brink, Virginia, United States
* Brink, West Virginia, an unincorporated community, United States
* Brink, Greenbrier County, West Virginia, a ghost town, United States
* Brink (norra delen), a loca ...
''. 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. 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 ...
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 2007,
John Carmack
John D. Carmack II (born August 20, 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'', ''Doo ...
, 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, continuous ...
. 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 or
ATI
Ati or ATI may refer to:
* Ati people, a Negrito ethnic group in the Philippines
**Ati language (Philippines), the language spoken by this people group
** Ati-Atihan festival, an annual celebration held in the Philippines
*Ati language (China), a ...
Radeon 8500, 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 fe ...
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
The ATI Rage (stylized as RAGE or rage) is a series of graphics chipsets developed by ATI Technologies offering graphical user interface (GUI) 2D acceleration, video acceleration, and 3D acceleration developed by ATI Technologies. It is the s ...
, and software rendering (with an integrated
Intel GMA). 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. He co-founded the video game company id Software and was the lead programmer of its 1990s games ''Commander Keen'', ''Wolfenstein 3D'', ''Doo ...
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'' 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. These included
normal mapping 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
lightmaps and
Gouraud shading. 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. 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. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
'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 smal ...
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 ...
and
id Tech 6
id Tech 6 is a multiplatform game engine developed by id Software. It is the successor to id Tech 5 and was first used to create the 2016 video game ''Doom''. Internally, the development team also used the codename ''id Tech 666'' to refer to th ...
games use MegaTexture, with the exception of ''
The Evil Within'' which uses a new renderer. ''
Brink
Brink or ''variant'', may refer to:
Places
* Brink, Virginia, United States
* Brink, West Virginia, an unincorporated community, United States
* Brink, Greenbrier County, West Virginia, a ghost town, United States
* Brink (norra delen), a loca ...
'', 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
id Tech 4, popularly known as the ''Doom 3'' engine, is a game engine developed by id Software and first used in the video game ''Doom 3''. The engine was designed by John Carmack, who also created previous game engines, such as those for ''Doo ...
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 scripting ...
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
Hud or HUD may refer to:
Entertainment
* ''Hud'' (1963 film), a 1963 film starring Paul Newman
* ''Hud'' (1986 film), a 1986 Norwegian film
* ''HUD'' (TV program), or ''Heads Up Daily'', a Canadian e-sports television program
Places
* Hud, Far ...
, 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 over ...
. 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 n ...
networking model. This part of the engine works in a fundamentally similar way to the
id Tech 3 equivalent, however id Tech 4 exposes a lot more of the network protocol to mod developers.
Although ''
Doom 3'' 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 (''
Quake III Arena'' engine) and
id Tech 2 (''
Quake II'' 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
Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game ''Unreal (1998 video game), Unreal''. Initially developed for Personal computer, PC first-person shooters, i ...
(2002) and
Unreal Engine 3 (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, M ...
. 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, M ...
's Unreal Engine 2 during that period. Many who licensed Unreal Engine 2 were thus able to make the switch to
Unreal Engine 3 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
id Tech 4, popularly known as the ''Doom 3'' engine, is a game engine developed by id Software and first used in the video game ''Doom 3''. The engine was designed by John Carmack, who also created previous game engines, such as those for ''Doo ...
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 rival
Source engine (which was developed from the previous
GoldSrc engine) could still run on the older widespread DirectX 7 GPUs albeit without
shaders being used.
Games using a proprietary license
*''
Doom 3'' (2004) –
id Software
**''
Doom 3: Resurrection of Evil'' (2005) –
Nerve Software
Nerve Software, LLC is an American video game developer that was co-founded by ex-id Software employee Brandon James. Many of the original employees at Nerve were previously employed by Rogue Entertainment, another U.S.
The United State ...
** ''
Doom 3 BFG Edition
''Doom 3: BFG Edition'' is a Video game remaster, remastered version of ''Doom 3'', released worldwide in October 2012 for Microsoft Windows, PlayStation 3, and Xbox 360. The ''BFG (weapon), BFG Edition'' features enhanced graphics, better audio ...
'' (2012) –
id Software
*''
Quake 4'' (2005) –
Raven Software
**''Quake 4: Awakening'' (Cancelled) –
Ritual Entertainment
*''
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
Human Head Studios, Inc. was an American video game developer located in Madison, Wisconsin.
History
Human Head Studios was founded in October 1997 by a group of six developers formerly from Raven Software: Ben Gokey, Chris Rhinehart, Paul ...
*''
Enemy Territory: Quake Wars'' (2007) –
Splash Damage
*''
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
*''
Brink
Brink or ''variant'', may refer to:
Places
* Brink, Virginia, United States
* Brink, West Virginia, an unincorporated community, United States
* Brink, Greenbrier County, West Virginia, a ghost town, United States
* Brink (norra delen), a loca ...
'' (2011) –
Splash Damage
*''
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
Human Head Studios, Inc. was an American video game developer located in Madison, Wisconsin.
History
Human Head Studios was founded in October 1997 by a group of six developers formerly from Raven Software: Ben Gokey, Chris Rhinehart, Paul ...
*''SiN 2'' (Cancelled) –
Ritual Entertainment
Games using an open source license
*''
The Dark Mod'' (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
''Quadrilateral Cowboy'' is a first-person puzzle-adventure video game by independent developer Blendo Games. The game was released on July 25, 2016, for Microsoft Windows, and on October 1, 2016, for macOS and Linux.
Gameplay
In ''Quadrilater ...
'' (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 fo ...
*''Skin Deep'' (TBA) - Blendo Games
See also
*
First person shooter engine
A first-person shooter engine is a game engine, video game engine specialized for simulating 3D graphics, 3D environments for use in a first-person shooter video game. First-person refers to the view where the players see the world from the eyes o ...
*
id Tech 3
*
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 ...
*
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