Doom 3 engine
Encyclopedia
id Tech 4, popularly known as the Doom 3 engine, is a game engine
Game engine
A game engine is a system designed for the creation and development of video games. There are many game engines that are designed to work on video game consoles and personal computers...

 developed by id Software
Id Software
Id Software is an American video game development company with its headquarters in Richardson, Texas. The company was founded in 1991 by four members of the computer company Softdisk: programmers John Carmack and John Romero, game designer Tom Hall, and artist Adrian Carmack...

 and first used in the video game Doom 3
Doom 3
Doom 3 is a science fiction horror video game developed by id Software and published by Activision. An example of the first-person shooter genre, Doom 3 was first released for Microsoft Windows on August 3, 2004. The game was later adapted for Linux, as well as being ported by Aspyr Media for Mac...

. The engine was designed by John Carmack, who also created previous engines such as those for Doom
Doom engine
The Doom engine is the game engine that powers the id Software games Doom and Doom II. It is also used by HeXen, Heretic, Strife, Freedoom, and HacX, and other games produced by licensees. It was created by John Carmack, with auxiliary functions written by Mike Abrash, John Romero, Dave Taylor and...

 and Quake
Quake engine
The Quake engine is the game engine that was written to power 1996's Quake, written by id Software. It featured true 3D real-time rendering and is now licensed under the terms of the GNU General Public License ....

, which are also widely recognized as marking significant advances in the field. This OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

-based game engine has also been used in Quake 4
Quake 4
Quake 4 is the fourth title in the series of Quake first-person shooter computer games. The game was developed by Raven Software and published by Activision. Raven Software has collaborated with id Software, the creators and historical developers of preceding Quake games...

, Prey
Prey (video game)
Prey is a first-person shooter video game developed by Human Head Studios , and published by 2K Games. The Xbox 360 version was ported by Venom Games. The game was initially released in North America and Europe on 11 July 2006...

, Enemy Territory: Quake Wars
Enemy Territory: Quake Wars
Enemy Territory: Quake Wars is a first-person shooter video game, and is the follow-up to the 2005 title Quake 4. It is also the first game in the series to be rated T by the ESRB...

, Wolfenstein and Brink
Brink (video game)
Brink is a first-person shooter video game developed by Splash Damage for Microsoft Windows, PlayStation 3 and Xbox 360...

.

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
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...

, while still retaining other subsystems, such as file access, and memory management. The decision to switch from C to the C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 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
QuakeCon is a bring-your-own-computer computer gaming event with a competitive tournament held every year in Dallas, Texas, USA. The event, which is named after id Software's game Quake, sees thousands of gamers from all over the world attend every year to celebrate the company's gaming dynasty...

 2007, John Carmack, the lead graphics engine developer at id, said to LinuxGames
LinuxGames
LinuxGames is a website that provides news about Linux gaming. It mostly announces information on new game products and release dates, although it also covers some important events such as QuakeCon and occasionally interviews important figures in Linux gaming such as Ryan C...

:
"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
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

.

At the QuakeCon 2009, Carmack said that he planned to petition ZeniMax Media
ZeniMax Media
ZeniMax Media Inc. is an American media company that develops and publishes computer and video games through its subsidiaries. ZeniMax is known as the owner of id Software , Bethesda Softworks , Arkane Studios , Tango Gameworks and...

 to release the id Tech 4 source upon the release of Rage
Rage (video game)
Rage is a first-person shooter video game by id Software which was released on October 4, 2011 in North America. It uses the company's new OpenGL based id Tech 5 engine. The game was first shown as a tech demo on June 11, 2007, at Apple's WWDC, and was officially announced on August 2, 2007, at...

. 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
Twitter is an online social networking and microblogging service that enables its users to send and read text-based posts of up to 140 characters, informally known as "tweets".Twitter was created in March 2006 by Jack Dorsey and launched that July...

 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'".

On November 22, 2011, Carmack released the Doom 3 source code on Github
Github
GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both commercial plans and free accounts for open source projects...

. The source does not include any of the 'Carmack 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
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

 GeForce 3 or ATI
Ati
As a word, Ati may refer to:* Ati, a town in Chad* Ati, a Negrito ethnic group in the Philippines* Ati-Atihan Festival, an annual celebration held in the Philippines* Ati, a queen of the fabled Land of Punt in Africa...

 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 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 the current popular graphics cards available in 2004, requiring at least 512 MB of video memory to display properly and at playable speeds, meaning that it was basically unusable at the time of release.

id Tech 4 resulted in the obsolescence of DirectX 7 graphics chips such as the widespread GeForce 2 and Radeon 7200
Radeon R100
The Radeon R100 is the first generation of Radeon graphics chips from ATI Technologies. The line features 3D acceleration based upon Direct3D 7.0 and OpenGL 1.3, and all but the entry-level versions offloading host geometry calculations to a hardware transform and lighting engine, a major...

, as well as older chipsets such as RIVA TNT2
RIVA TNT2
The RIVA TNT2 was a graphics processing unit manufactured by Nvidia starting in early 1999. The chip is codenamed "NV5" because it is the 5th graphics chip design by Nvidia, succeeding the RIVA TNT . RIVA is an acronym for Real-time Interactive Video and Animation accelerator...

 and Rage 128, and software rendering (with an integrated Intel GMA
Intel GMA
The Intel Graphics Media Accelerator, or GMA, is a series of Intel integrated graphics processors built into various motherboard chipsets....

). Until the advent of id Tech 4, a powerful CPU was able to somewhat compensate for an older video card. While John Carmack 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
Doom 3 is a science fiction horror video game developed by id Software and published by Activision. An example of the first-person shooter genre, Doom 3 was first released for Microsoft Windows on August 3, 2004. The game was later adapted for Linux, as well as being ported by Aspyr Media for Mac...

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. These included bump mapping
Bump mapping
Bump mapping is a technique in computer graphics for simulating bumps and wrinkles on the surface of an object. This is achieved by perturbing the surface normals of the object and using the perturbed normal during lighting calculations. The result is an apparently bumpy surface rather than a...

, normal mapping
Normal mapping
In 3D computer graphics, normal mapping, or "Dot3 bump mapping", is a technique used for faking the lighting of bumps and dents. It is used to add details without using more polygons. A common use of this technique is to greatly enhance the appearance and details of a low polygon model by...

, and specular highlight
Specular highlight
A specular highlight is the bright spot of light that appears on shiny objects when illuminated . Specular highlights are important in 3D computer graphics, as they provide a strong visual cue for the shape of an object and its location with respect to light sources in the scene.-Microfacets:The...

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
Per-pixel lighting
In computer graphics, per-pixel lighting is commonly used to refer to a set of methods for computing illumination at each rendered pixel of an image...

, whereas previously, 3D engines had relied primarily on pre-calculated per-vertex lighting or lightmap
Lightmap
A lightmap is a data structure which contains the brightness of surfaces in 3d graphics applications such as video games. Lightmaps are precomputed and used for static objects. Quake was the first computer game to use lightmaps to augment rendering. Before lightmaps were invented, realtime...

s and Gouraud shading
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...

. 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.

The models used in id Tech 4 engine games are animated using skeletal animation
Skeletal animation
Skeletal animation is a technique in computer animation in which a character is represented in two parts: a surface representation used to draw the character and a hierarchical set of interconnected bones used to animate the mesh...

. 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 optimising this by using Intel's Streaming SIMD Extensions
Streaming SIMD Extensions
In computing, Streaming SIMD Extensions is a SIMD instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in their Pentium III series processors as a reply to AMD's 3DNow! . SSE contains 70 new instructions, most of which work on single precision floating point...

 (SSE).

MegaTexture rendering technology

The original version of the id Tech 4 engine was criticized for its perceived inability to handle large outdoor areas. The MegaTexture technology not only removed this issue by introducing a means to create expansive outdoor scenes but also made the new version as the best game engine to handle the outdoor areas, as well. By painting a single massive texture (32,768×32,768 pixel
Pixel
In digital imaging, a pixel, or pel, is a single point in a raster image, or the smallest addressable screen element in a display device; it is the smallest unit of picture that can be represented or controlled....

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. It is expected that this will result in a considerably more detailed scene than the majority of existing technologies, using tiled textures, allow. Currently, the only game that utilizes MegaTexture based on the Tech 4 engine is Enemy Territory: Quake Wars
Enemy Territory: Quake Wars
Enemy Territory: Quake Wars is a first-person shooter video game, and is the follow-up to the 2005 title Quake 4. It is also the first game in the series to be rated T by the ESRB...

.

Rendering techniques used in id Tech 4

  • Unified lighting and shadowing
    Unified lighting and shadowing
    Unified shadow and lighting is the lighting model used in the Doom 3 game developed by id Software.Previous 3D games like Quake III Arena, used separate lighting models for determining how a light would illuminate a character or a map...

  • Shadow volume
    Shadow volume
    Shadow volume is a technique used in 3D computer graphics to add shadows to a rendered scene. They were first proposed by Frank Crow in 1977 as the geometry describing the 3D shape of the region occluded from a light source...

  • MegaTexture
    MegaTexture
    MegaTexture refers to a texture allocation technique facilitating the use of a single extremely large texture rather than repeating multiple smaller textures. It is featured in Splash Damage's game Enemy Territory: Quake Wars and was developed by id Software technical director John...


Scripting

id Tech 4 has a comprehensive scripting language
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

 which can be used when creating mods
Mod (computer gaming)
Mod or modification is a term generally applied to personal computer games , especially first-person shooters, role-playing games and real-time strategy games. Mods are made by the general public or a developer, and can be entirely new games in themselves, but mods are not standalone software and...

, 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
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 - both the menus and HUD
HUD (video gaming)
In video gaming, the HUD is the method by which information is visually relayed to the player as part of a game's user interface...

, 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
Mod (computer gaming)
Mod or modification is a term generally applied to personal computer games , especially first-person shooters, role-playing games and real-time strategy games. Mods are made by the general public or a developer, and can be entirely new games in themselves, but mods are not standalone software and...

 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
OpenAL is a cross-platform audio API. It is designed for efficient rendering of multichannel three dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL.- History :...

, including the Creative Technology
Creative Technology
Creative Technology Ltd. is a Singapore-based global company headquartered in Jurong East, Singapore. The principal activities of the company and its subsidiaries consist of the design, manufacture and distribution of digitized sound and video boards, computers and related multimedia, and personal...

 specific EAX
Environmental audio extensions
The environmental audio extensions are a number of digital signal processing presets for audio, present in Creative Technology's later Sound Blaster sound cards and the Creative NOMAD/Creative ZEN product lines...

 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. Initially it was planned to have a peer-to-peer
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...

 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
Doom 3
Doom 3 is a science fiction horror video game developed by id Software and published by Activision. An example of the first-person shooter genre, Doom 3 was first released for Microsoft Windows on August 3, 2004. The game was later adapted for Linux, as well as being ported by Aspyr Media for Mac...

 only supported 4 players, the id Tech 4 engine can be used with more players than this, with Quake 4
Quake 4
Quake 4 is the fourth title in the series of Quake first-person shooter computer games. The game was developed by Raven Software and published by Activision. Raven Software has collaborated with id Software, the creators and historical developers of preceding Quake games...

and Enemy Territory: Quake Wars
Enemy Territory: Quake Wars
Enemy Territory: Quake Wars is a first-person shooter video game, and is the follow-up to the 2005 title Quake 4. It is also the first game in the series to be rated T by the ESRB...

both supporting significantly more players.

Games using id Tech 4

Unlike the preceding and widely used id Tech 3 (Quake III Arena
Quake III Arena
Quake III Arena , is a multiplayer first-person shooter video game released on December 2, 1999. The game was developed by id Software and featured music composed by Sonic Mayhem and Front Line Assembly...

engine) and id Tech 2 (Quake II
Quake II
Quake II, released on December 9, 1997, is a first-person shooter computer game developed by Id Software and distributed by Activision. It is not a sequel to Quake; it merely uses the name of the former game due to Id's difficulties in coming up with alternative names.The soundtrack for Quake II...

engine), id Tech 4 has had less success in licensing to third parties. This is especially apparent in comparison to its closest competitor, Unreal Engine 2. The unexpected long development time going into id Tech 4 did not help, as between 2002–2004, id Software had no equivalent to Unreal Engine 2. 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
Per-pixel lighting
In computer graphics, per-pixel lighting is commonly used to refer to a set of methods for computing illumination at each rendered pixel of an image...

, this unconventional feature had steeper hardware requirements and was initially only useful in "spooky games" (until the MegaTexture
MegaTexture
MegaTexture refers to a texture allocation technique facilitating the use of a single extremely large texture rather than repeating multiple smaller textures. It is featured in Splash Damage's game Enemy Territory: Quake Wars and was developed by id Software technical director John...

 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; the Source engine could still run on the older widespread DirectX 7 GPUs, albeit without shaders being used.

List

  • Doom 3
    Doom 3
    Doom 3 is a science fiction horror video game developed by id Software and published by Activision. An example of the first-person shooter genre, Doom 3 was first released for Microsoft Windows on August 3, 2004. The game was later adapted for Linux, as well as being ported by Aspyr Media for Mac...

    (2004) – id Software
    Id Software
    Id Software is an American video game development company with its headquarters in Richardson, Texas. The company was founded in 1991 by four members of the computer company Softdisk: programmers John Carmack and John Romero, game designer Tom Hall, and artist Adrian Carmack...

  • Doom 3: Resurrection of Evil
    Doom 3: Resurrection of Evil
    Doom 3: Resurrection of Evil is a first-person shooter video game developed by Nerve Software and id Software. It was released for the PC on April 3, 2005, as an expansion pack for Doom 3 and on October 5, 2005, for the Xbox video game console...

    (2005) – Nerve Software
    Nerve Software
    Nerve Software 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...

  • Quake 4
    Quake 4
    Quake 4 is the fourth title in the series of Quake first-person shooter computer games. The game was developed by Raven Software and published by Activision. Raven Software has collaborated with id Software, the creators and historical developers of preceding Quake games...

    (2005) – Raven Software
    Raven Software
    Raven Software is an American video game developer. The company was founded in 1990 by brothers Brian and Steve Raffel. In 1997, Raven made an exclusive publishing deal with Activision and was subsequently acquired by them...

  • Prey
    Prey (video game)
    Prey is a first-person shooter video game developed by Human Head Studios , and published by 2K Games. The Xbox 360 version was ported by Venom Games. The game was initially released in North America and Europe on 11 July 2006...

    (2006) – Human Head Studios
    Human Head Studios
    Human Head Studios is a computer game development company located in Madison, Wisconsin.It was founded in October 1997 by a group of six developers formerly from Raven Software: Chris Rhinehart, Paul MacArthur, Shane Gurno, Ben Gokey, James Sumwalt, and Ted Halsted—later joined by game producer Tim...

  • Enemy Territory: Quake Wars
    Enemy Territory: Quake Wars
    Enemy Territory: Quake Wars is a first-person shooter video game, and is the follow-up to the 2005 title Quake 4. It is also the first game in the series to be rated T by the ESRB...

    (2007) – Splash Damage
    Splash Damage
    Splash Damage is an independently-owned British game development company that specializes in multiplayer first-person shooter games. The studio is best known as the creator of the Enemy Territory franchise for id Software.-History:...

  • Wolfenstein (2009) – Raven Software
    Raven Software
    Raven Software is an American video game developer. The company was founded in 1990 by brothers Brian and Steve Raffel. In 1997, Raven made an exclusive publishing deal with Activision and was subsequently acquired by them...

  • Brink
    Brink (video game)
    Brink is a first-person shooter video game developed by Splash Damage for Microsoft Windows, PlayStation 3 and Xbox 360...

    (2011) – Splash Damage
    Splash Damage
    Splash Damage is an independently-owned British game development company that specializes in multiplayer first-person shooter games. The studio is best known as the creator of the Enemy Territory franchise for id Software.-History:...

  • Prey 2
    Prey 2
    Prey 2 is an upcoming first-person shooter video game developed by Human Head Studios and published by Bethesda Softworks, due for release on Microsoft Windows, PlayStation 3, and Xbox 360 in 2012. It is the sequel to the 2006 video game Prey. The game is presented in open world format.-Plot:The...

    (2012) – Human Head Studios
    Human Head Studios
    Human Head Studios is a computer game development company located in Madison, Wisconsin.It was founded in October 1997 by a group of six developers formerly from Raven Software: Chris Rhinehart, Paul MacArthur, Shane Gurno, Ben Gokey, James Sumwalt, and Ted Halsted—later joined by game producer Tim...


See also

  • List of game engines
  • First person shooter engine
  • id Tech 3
  • id Tech 5
    Id Tech 5
    id Tech 5 is the latest proprietary game engine being developed by id Software, currently still being actively upgraded, and follows its predecessors, id Tech 1, 2, 3 and 4. It is a major advancement over id Tech 4. The engine was first demonstrated at the WWDC 2007 by John D...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK