Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

id Tech 4

From Wikipedia, the free encyclopedia
Video game engine

id Tech 4
Doom 3, the id Tech 4 engine's parent game
Developerid Software
Repositorygithub.com/id-Software/DOOM-3-BFG
Written inC++[1]
PlatformMicrosoft Windows,OS X,Linux,PlayStation 3,PlayStation 4,Xbox,Xbox 360,Xbox One,Nintendo Switch,Nintendo Switch 2,Nvidia Shield[2]
Predecessorid Tech 3
Successorid Tech 5
LicenseGNU GPL-3.0-or-later
Websitegithub.com/id-Software/DOOM-3-BFG Edit this on Wikidata

id Tech 4, popularly known as theDoom 3 engine, is agame engine developed byid Software and first used in thevideo gameDoom 3. The engine was designed byJohn Carmack, who also created previous game engines, such as those forDoom andQuake, which are widely recognized as significant advances in the field. ThisOpenGL-based game engine has also been used inQuake 4,Prey,Enemy Territory: Quake Wars,Wolfenstein, andBrink. id Tech 4 is licensed under the terms of theGNU General Public License v3.0 or later, and is to date the last id Tech engine to be open-sourced.

History

[edit]

id Tech 4 began as an enhancement toid Tech 3. During development, it was initially just a complete rewrite of the engine'srenderer, while still retaining other subsystems, such as file access, and memory management. The decision to switch fromC to theC++programming language 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.[3]

At theQuakeCon 2007,John Carmack, the lead graphics engine developer at id, said toLinuxGames:"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 asopen-source.[4]

At the QuakeCon 2009, Carmack said that he planned to petitionZeniMax Media to release the id Tech 4 source upon the release ofRage.[5] As part of his keynote for QuakeCon 2011, he confirmed that the source code toDoom 3 would be out by the end of the year, after the release ofRage.[6]

On November 16, 2011, Carmack announced onTwitter 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'".[7] This refers to an implementation ofstencil bufferedshadow volume algorithms.

On November 22, 2011, Carmack released theDoom 3 source code underGNU GPL-3.0-or-later onGitHub.[8] 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.[9] Since then, several open-source projects have been released, such as dhewm3, Dante, and RBDOOM-3-BFG.[10][11][12] In 2021 theQuake 4 game DLLs were adapted for use with theopen source dhewm3 enginederived from the releasedDoom 3 source code (with work also started onPrey); this has since been used to port the game toAmigaOS 4.[13]

Hardware

[edit]

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 theNvidiaGeForce 3 orATIRadeon 8500, with at least 64 MB of VRAM. ByE3 2002, the recommended GPU was "100%DirectX 9.0b compatible", such as theRadeon 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.[14] The "Ultra" graphics mode included inDoom 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.[15]

id Tech 4 resulted in the obsolescence of DirectX 7 graphics chips such as the widespreadGeForce 2 andRadeon 7200, as well as older chipsets such asRIVA TNT2 andRage 128, and software rendering (with an integratedIntel GMA). Until the advent of id Tech 4, a powerful CPU was able to somewhat compensate for an older video card. WhileJohn Carmack initially warned gamers not to purchase theGeForce 4 MX[16] (which casual consumers often confused with the DirectX 8 capable GeForce 4 Ti, though it was at best an improvedGeForce 2)[citation needed], its somewhat widespread adoption compelled id Software to add it to the list of supported cards. There have been cases of enthusiasts forcingDoom 3 to run on unsupported graphics chips, such as the long obsoleteVoodoo 2, but these are unable to render the per-pixel lighting and bump mapping.[17]

Features

[edit]
The shadowing effects of the unified lighting and shadowing engine are shown on the face and body of the zombies in this screenshot fromDoom 3. Normal maps add additional shadow details without requiring additional model detail.

Graphics

[edit]

Id Tech 4 added several new graphical features absent in its predecessor,id Tech 3. These includednormal mapping andspecular highlighting. More features were added in the development of successive games.

The models used in id Tech 4 games are animated usingskeletal 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 usingIntel'sStreaming SIMD Extensions (SSE).[18]

Dynamic lighting

[edit]
This image shows two renders of the same space with and withoutradiosity. The dynamic lighting system inDoom 3 does not simulate radiosity, in contrast with the baked lightmaps of prior id Tech engines.

The primary innovation of id Tech 4 was its use of entirely dynamicper-pixel lighting andshadow volumes, whereas previously, 3D engines had relied primarily on pre-calculated per-vertex lighting orlightmaps andGouraud shading, 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,[19] something absent in prior id Tech engines. All light sources inDoom 3 are dynamic, something the companion bookThe Making of Doom 3 describes as "The biggest headache for the level designers".[20] 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 inDoom 3, combined with the use of shadow volumes permitted more realistic lighting and shadows[21] than in the previous generation of id's engines. The method used to create the shadow volumes is the subject of a patent byCreative, which Creative granted id permission to use in theDoom 3 engine, in exchange for supporting Creative'sEAX advanced sound technologies.[22]

MegaTexture rendering technology

[edit]

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 ofclipmapping) tackled this issue. By painting a single massive texture (initially 32,768×32,768pixels, 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.[23] The first game utilizing MegaTexture isEnemy Territory: Quake Wars, based on the Tech 4 engine. Allid Tech 5 andid Tech 6 games use MegaTexture, with the exception ofThe Evil Within, which uses a new renderer.[24][25]Brink, which uses a heavily modified version of id Tech 4, also uses virtual texturing.[26][27] While the implementation is different from MegaTexture, it was inspired by it.[28][29]

Scripting

[edit]

id Tech 4 has a comprehensivescripting language that can be used when creatingmods, and is used inDoom 3 to control monsters, weapons, and map events. This scripting language is similar to C++.[30]

In addition to the main scripting language, idTech 4 also has another scripting language that is used forGUIs—both the menus andHUD, and also for GUIs embedded into the game world.[31] These in-game GUIs are sufficiently powerful that you can, for example, run another game such as the originalDoom within the game-world.[32]

Despite this additional level of scripting, it is also possible to createmods using C++ to build native code.[33]

Sound

[edit]

As a result of the agreement with Creative regarding the patent on shadow volumes, the id Tech 4 engine supportsOpenAL, including theCreative Technology specificEAX extensions. The work to include OpenAL support was done by Creative Technology, not by id themselves.[34]

Networking

[edit]

The engine uses a traditionalclient–server model. Initially it was planned to have apeer-to-peer networking model.[35] This part of the engine works in a fundamentally similar way to theid Tech 3 equivalent; however, id Tech 4 exposes a lot more of the network protocol to mod developers.[33]

AlthoughDoom 3 only supports 4 players (and 8 in theResurrection of Evil expansion pack), the id Tech 4 engine can be used with more players than this, withQuake 4 andEnemy Territory: Quake Wars both supporting significantly more players.

Games using id Tech 4

[edit]
icon
This sectionneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources in this section. Unsourced material may be challenged and removed.(November 2010) (Learn how and when to remove this message)
Prey utilized a modified version of id Tech 4 that allowed for effects such as portals, variable gravity, and wall walking.

Compared to the preceding and widely usedid Tech 3 (Quake III Arena engine) andid Tech 2 (Quake II engine), id Tech 4 has had less success in licensing to third parties.[36] This is especially apparent in comparison to its closest contemporaries,Unreal Engine 2 (2002) andUnreal Engine 3 (2006) fromEpic Games.[37] id Software was unwilling to license their newest engine before its "parent game"Doom 3 was completed. However, the unexpectedly long development time going intoDoom 3 from 2002-04 meant that they could not put up competition toEpic Games's Unreal Engine 2 during that period. Many who licensed Unreal Engine 2 were thus able to make the switch toUnreal Engine 3 more easily.

While id Tech 4 had taken a new direction with its dynamicper-pixel lighting, this unconventional feature had steeper hardware requirements and was initially only useful in "spooky games" (until theMegaTexture 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 aGeForce 3. The rivalSource engine[a] could still run on the older widespread DirectX 7 GPUs, albeit without the use ofshaders.

Games using a proprietary license

[edit]
YearTitleDeveloper
2004Doom 3id Software
2005Doom 3: Resurrection of EvilNerve Software
Quake 4Raven Software
2006PreyHuman Head Studios
2007Enemy Territory: Quake WarsSplash Damage
2009WolfensteinRaven Software
2011BrinkSplash Damage
2012Doom 3: BFG Editionid Software
CancelledQuake 4: AwakeningRitual Entertainment
SiN 2[38]
Prey 2Human Head Studios

Games using an open-source license

[edit]
YearTitleDeveloper
2013The Dark Mod[b]
2016Quadrilateral CowboyBlendo Games[41]
2025Skin DeepBlendo Games[42]

See also

[edit]

Notes

[edit]
  1. ^Developed from theGoldSrc engine, itself derived from id Tech 2
  2. ^Began as an effort to recreateThief: The Dark Project withinDoom 3.[39] It became a standalone game once theDoom 3 source code was released.[40]

References

[edit]
  1. ^"id Tech 4 Source Code".GitHub. March 30, 2020.Archived from the original on April 18, 2019. RetrievedSeptember 11, 2015.
  2. ^"3D Engine: id Tech 4".Archived from the original on January 28, 2012. RetrievedSeptember 24, 2008.
  3. ^"Q&A with John Carmack, E3 2002". Archived fromthe original on September 29, 2009.
  4. ^Carmack, John (August 7, 2007)."I mean I won't commit to a date, but theDoom 3 stuff will be open source". LinuxGames.com. Archived fromthe original on October 3, 2008.
  5. ^"The John Carmack Keynote: Liveblogging QuakeCon". August 13, 2009.Archived from the original on August 14, 2009. RetrievedAugust 14, 2009.
  6. ^"Id Software will release the Doom 3 source code". The Inquirer. August 5, 2011. Archived from the original on August 7, 2011. RetrievedAugust 23, 2015.
  7. ^"John Carmack's Twitter status update". November 16, 2011.Archived from the original on August 26, 2021. RetrievedNovember 18, 2011.
  8. ^"Doom 3 Source on GitHub".GitHub. November 22, 2011.Archived from the original on July 21, 2013. RetrievedNovember 22, 2011.
  9. ^"John Carmack tweets about code infringement work around". November 17, 2011.Archived from the original on May 16, 2017. RetrievedNovember 22, 2011.
  10. ^Larabel, Michael (November 20, 2012)."One Year Later, Open-Source Doom 3 Is Moving Slowly".Phoronix. RetrievedApril 29, 2024.
  11. ^Larabel, Michael (December 19, 2012)."Open-Source Doom 3 BFG Ported To Linux".Phoronix. RetrievedApril 29, 2024.
  12. ^Papadopoulos, John (December 17, 2018)."Final version of Doom 3 source port, dhewm3, available for download, supports 4K, OpenAL and more".DSO Gaming. RetrievedJuly 14, 2024.
  13. ^"HunnoPPC Working on Quake 4 port for AmigaOS 4.1".Generation Amiga. January 2, 2023. RetrievedMarch 24, 2023.
  14. ^"ATI's Radeon 9700 Takes Performance Lead". Archived fromthe original on September 21, 2009. RetrievedSeptember 25, 2012.
  15. ^Hargosh, Todd."Doom is a boon". Game Industry News. Archived fromthe original on July 27, 2011. RetrievedJune 11, 2011.
  16. ^".plan File for John Carmack - Blue's News".Blue's News.Archived from the original on March 3, 2016. RetrievedMay 25, 2016.
  17. ^"Doom3 + Voodoo2_Patch_v1_0".Archived from the original on December 5, 2008. RetrievedSeptember 25, 2012.
  18. ^"Optimizing the Rendering Pipeline of Animated Models Using the Intel Streaming SIMD Extensions".intel.com.Archived from the original on June 24, 2016. RetrievedMay 25, 2016.
  19. ^"DOOM Eternal Benchmarked at 8K - Not Even The Devil Can Run This".Tweatwon. March 30, 2020. RetrievedNovember 6, 2023.
  20. ^Kent, Steven L.The Making of Doom. McGraw-Hill, 2004., pp. 116.
  21. ^"Doom 3". Pricenfees. March 2, 2005.Archived from the original on August 13, 2018. RetrievedMay 25, 2016.
  22. ^"John Carmack: "This sucks."".Ars Technica. July 28, 2004.Archived from the original on January 26, 2012. RetrievedMay 25, 2016.
  23. ^"GameSpy: Enemy Territory: Quake Wars - Page 1".gamespy.com.Archived from the original on August 13, 2018. RetrievedMay 25, 2016.
  24. ^"John Carmack on Twitter".Twitter.Archived from the original on November 14, 2019. RetrievedMay 25, 2016.
  25. ^"John Carmack on Twitter".Twitter.Archived from the original on January 19, 2015. RetrievedMay 25, 2016.
  26. ^"BRINK: Multi-core support and better scaling on the PC". July 29, 2009.Archived from the original on September 13, 2011. RetrievedMay 25, 2016.
  27. ^"Archived copy"(PDF). Archived fromthe original(PDF) on August 9, 2014. RetrievedMay 25, 2016.{{cite web}}: CS1 maint: archived copy as title (link)
  28. ^"Sparse Virtual Textures".silverspaceship.com.Archived from the original on March 23, 2012. RetrievedMay 25, 2016.
  29. ^"Brink technical analysis".hollemeersch.net. Archived from the original on March 27, 2016. RetrievedMay 25, 2016.
  30. ^"id.sdk [Scripts]".iddevnet.com. Archived fromthe original on December 10, 2015. RetrievedMay 25, 2016.
  31. ^"id.sdk [GUIs]".iddevnet.com. Archived fromthe original on August 11, 2016. RetrievedMay 25, 2016.
  32. ^"Fully Interactive Surfaces".battleteam.net.Archived from the original on April 9, 2016. RetrievedMay 25, 2016.
  33. ^ab"id.sdk [The Code]".iddevnet.com. Archived fromthe original on March 7, 2016. RetrievedMay 25, 2016.
  34. ^"How the latest Sound Blaster X-Fi technology was utilized in QUAKE 4". Archived fromthe original on August 4, 2012. RetrievedSeptember 25, 2012.
  35. ^"Doom 3 multiplayer networking info". Archived fromthe original on August 31, 2011.
  36. ^"id Tech 4 (Concept) - Giant Bomb".Archived from the original on December 1, 2013. RetrievedNovember 26, 2013.
  37. ^"id Tech 5".Eurogamer. August 9, 2007.Archived from the original on March 4, 2016. RetrievedSeptember 25, 2012.
  38. ^"3D Realms releases video of their cancelled prototypes including SiN 2 and Bombshell FPS".Archived from the original on December 3, 2021. RetrievedApril 8, 2020.
  39. ^"Outta Dunwall: Thief Remake The Dark Mod Updates".Rock Paper Shotgun. October 22, 2012.Archived from the original on September 24, 2015. RetrievedAugust 25, 2015.
  40. ^"The Dark Mod". October 13, 2011.Archived from the original on April 27, 2021. RetrievedSeptember 11, 2015.
  41. ^Campbell, Colin (February 4, 2013)."What the Hell is Quadrilateral Cowboy?".IGN.Archived from the original on February 7, 2013. RetrievedFebruary 7, 2013.
  42. ^Colantonio, Giovanni (February 24, 2025)."Skin Deep is absolutely absurd and I already love it". Digitaltrends. RetrievedMarch 10, 2025.

External links

[edit]
Main franchises
Other games
Games published
People
Current
Former
Publishers
Technology
Related
Main series
Spin-offs
Other media
Novels
Films
Other
Universe
Technology
Mods
Doom &
Doom II
Doom 3
Companies
Related
Games
People
Machinima
Mods
Quake
Quake II
Quake III
Professional
players
Technology
id Tech
Other
Related
Proprietary
1980s
1990s
2000s
2010s
2020s
Free and
open-source
1970s
1990s
2000s
2010s
2020s
Retrieved from "https://en.wikipedia.org/w/index.php?title=Id_Tech_4&oldid=1309092397"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp