Id Tech 3

Last updated

id Tech 3
Developer(s) id Software
Stable release
1.32b / August 19, 2005;19 years ago (2005-08-19)
Repository github.com/id-Software/Quake-III-Arena
Written in C
(rewritten 14% in C++)
Platform Windows, Mac OS, OS X, Linux, Dreamcast, GameCube, Nintendo Switch, PlayStation 2, PlayStation 3, PlayStation 4, Xbox, Xbox 360, iOS, Android
Predecessor Quake II engine
Successor id Tech 4, IW engine
License GNU GPL-2.0-or-later
Website www.idsoftware.com/business/idtech3/   OOjs UI icon edit-ltr-progressive.svg
Star Trek: Elite Force II is one of the last games to utilize the id Tech 3 engine. EF2 Romulans.jpg
Star Trek: Elite Force II is one of the last games to utilize the id Tech 3 engine.

id Tech 3, popularly known as the Quake III Arena engine, is a game engine developed by id Software for its Quake III Arena . It has been adopted by numerous games. It competed with the Unreal Engine; both engines were widely licensed.

Contents

id Tech 3 is based on id Tech 2, with a large amount of the code rewritten. Successor id Tech 4 was derived from id Tech 3, as was Infinity Ward's IW engine used in Call of Duty 2 onward.

At QuakeCon 2005, John Carmack announced that the id Tech 3 source code would be released under the GNU General Public License v2.0 or later, and it was released on August 19, 2005. It was originally distributed via FTP, and moved to GitHub.

Features

Graphics

Unlike most other game engines released at the timeincluding its primary competitor, the Unreal Engine id Tech 3 requires an OpenGL-compliant graphics accelerator to run. The engine does not include a software renderer.

id Tech 3 introduced spline-based curved surfaces in addition to planar volumes, which are responsible for many of the game's surfaces. [1]

The graphical technology of the game is based tightly around a "shader" system where the appearance of many surfaces can be defined in text files referred to as "shader scripts." Shaders are described and rendered as several layers, each layer contains a texture, a "blend mode" which determines how to superimpose it over the previous layer and texture orientation modes such as environment mapping, scrolling, and rotation. These features can readily be seen within the game with many bright and active surfaces in each map and even on character models. The shader system goes beyond visual appearance, defining the contents of volumes (e.g. a water volume is defined by applying a water shader to its surfaces), light emission and which sound to play when a volume is trodden upon. [2] In order to assist calculation of these shaders, id Tech 3 implements a specific fast inverse square root function, which attracted a significant amount of attention in the game development community for its clever use of integer operations. [3] [4]

Networking

id Tech 3 uses a "snapshot" system to relay information about game "frames" to the client over UDP. The server updates object interaction at a fixed rate independent of the rate clients update the server with their actions and then attempts to send the state of all objects at that moment (the current server frame) to each client. The server attempts to omit as much information as possible about each frame, relaying only differences from the last frame the client confirmed as received (Delta encoding). All data packets are compressed by Huffman coding with static pre-calculated frequency data to reduce bandwidth use even further. [5]

Quake 3 has an integrated and relatively elaborate cheat-protection system called "pure server". Any client connecting to a pure server automatically has pure mode enabled, and while pure mode is enabled only files within data packs can be accessed. Clients are disconnected if their data packs fail one of several integrity checks. The cgame.qvm file, with its high potential for cheat-related modification, is subject to additional integrity checks.[ citation needed ] Developers must manually deactivate pure server to test maps or mods that are not in data packs using the PK3 file format. Later versions supplemented pure server with PunkBuster support, though all the hooks to it are absent from the source code release because PunkBuster is closed source software and including support for it in the source code release would have caused any redistributors/reusers of the code to violate the GPL. [6]

ioquake3

Automatic specular and normal mapping in ioQuake3, Tremulous 1.3 prerelease client Tremulous demonstrating ioquake3's automatic texture mapping feature.jpg
Automatic specular and normal mapping in ioQuake3, Tremulous 1.3 prerelease client

Ioquake3 is a game engine project which aims to build upon the id Tech 3 source code release [7] [8] in order to remove bugs, clean up source code and to add more advanced graphical and audio features via SDL and OpenAL. ioquake3 is also intended to act as a clean base package, upon which other projects may be built. The game engine supports Ogg Vorbis format and video capture of demos in .avi format. [9]

The project was started shortly after the source code release with the goal of creating a bug-free, enhanced open source Quake III engine source code distribution upon which new games and projects can be based. In addition, the project aims to provide an improved environment in which Quake III: Arena, the Team Arena expansion pack and all the popular mods can be played. [10] [11] [12] [13] The project added features including builtin VoIP support, Anaglyph stereo rendering (for viewing with 3D glasses), and numerous security fixes.

Ioquake3 is the basis of several game projects based on the id Tech 3 engine, such as OpenArena (mimicking Quake III Arena), Tremulous , [14] [15] Smokin' Guns , [16] Urban Terror , [17] [18] Turtle Arena and World of Padman [19] [20] and game engine projects such as efport (a Star Trek: Voyager – Elite Force Holomatch clone), ioJedi Outcast, ioJedi Academy, ioDoom3, and OpenMoHAA. The engine and its associated games have been included in several Linux and BSD distributions. The cMod engine derived from the earlier Elite Force port was used to package the 20th anniversary freeware release of the game for Windows and Linux. [21]

The source code for the Return to Castle Wolfenstein and Wolfenstein: Enemy Territory engines was released under GNU GPL-3.0-or-later on August 12, 2010. [22] The ioquake3 developers announced the start of other engine projects. [23]

The ioquake3 project has been used academic research such as Stanford University's Center for Computer Research in Music and Acoustics (CCRMA), [24] [25] Notre Dame as the foundation for VR research, [26] and Swinburne University of Technology's Centre for Advanced Internet Architectures. [27] [28] Collaborative efforts from researchers at Carnegie Mellon University and the University of Toronto use ioquake3 as a platform for their published research. [29] [30] Students have used ioquake3 as the basis for advanced graphics work for their theses, such as Stephan Reiter's work [31] [32] which has been noted at the LLVM project [33] due to his synthesis of the ioquake3 engine, ray-tracing rendering technique, and LLVM.

The project has since received forks, such as Quake3e, [34] Spearmint, [35] and vkQuake3. [36] [37]

Other derived engines include the Daemon engine used by Unvanquished , [38] [39] [40] as well as competing source ports like XreaL, [41] [42] Kwaak3 for Android [43] [44] [45] [46] [47] [48] and Quake-3-Android-Port-QIII4A. [49]

Games

YearTitleDeveloperNotes
1999 Quake III Arena id Software
2000 Heavy Metal: F.A.K.K. 2 Ritual Entertainment ÜberTools
Star Trek: Voyager – Elite Force Raven Software
American McGee's Alice Rogue Entertainment ÜberTools
Quake III: Team Arena id Software
2001 Quake III Revolution Bullfrog Productions
James Bond 007: Agent Under Fire EA Redwood Shores ÜberTools
Return to Castle Wolfenstein Gray Matter Studios (SP)
Nerve Software (MP)
2002 Medal of Honor: Allied Assault 2015, Inc. ÜberTools
Star Wars Jedi Knight II: Jedi Outcast Raven Software
Soldier of Fortune II: Double Helix Raven Software
Medal of Honor: Allied Assault - Spearhead EA Los Angeles ÜberTools
2003 Wolfenstein: Enemy Territory Splash Damage
Star Trek: Elite Force II Ritual Entertainment ÜberTools
Medal of Honor: Allied Assault - Breakthrough TKO Software ÜberTools
Star Wars Jedi Knight: Jedi Academy Raven Software
Call of Duty Infinity Ward ÜberTools
2004 James Bond 007: Everything or Nothing EA Redwood Shores ÜberTools
Call of Duty: United Offensive Gray Matter Studios
Treyarch
ÜberTools
Medal of Honor: Pacific Assault EA Los Angeles ÜberTools
2008 Iron Grip: Warlord ISOTX
2009 Dark Salvation Mangled Eye Studios
Call of Duty Classic Infinity Ward ÜberTools
2010 Quake Live id Software
Cancelled Severity Escalation Studios
Trinity: The Shatter Effect Gray Matter Studios

See also

Related Research Articles

id Software American video game developer

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: programmers John Carmack and John Romero, game designer Tom Hall, and artist Adrian Carmack.

<i>Quake III Arena</i> 1999 video game

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 primarily on multiplayer gameplay. The single-player mode is played against computer-controlled bots. It features music composed by Sonic Mayhem and Front Line Assembly founder Bill Leeb.

<i>Wolfenstein: Enemy Territory</i> 2003 video game

Wolfenstein: Enemy Territory is a free and open-source multiplayer first-person shooter video game within the Wolfenstein series. It was originally planned to be released as a commercial expansion pack to Return to Castle Wolfenstein and later as a standalone game. However, due to problems with the single-player aspect, the multiplayer portion was released on 29 May 2003 as a freeware standalone game. In January 2004, the source code for the game logic was released to the benefit of its modding community.

A source port is a software project based on the source code of a game engine that allows the game to be played on operating systems or computing platforms with which the game was not originally compatible.

<i>Quake</i> engine Video game engine developed by id Software

The Quake engine is the game engine developed by id Software to power their 1996 video game Quake. It featured true 3D real-time rendering. Since 1999, it has been licensed under the terms of GNU General Public License v2.0 or later.

<i>Quake II</i> engine Video game engine

The Quake II engine is a game engine developed by id Software for use in their 1997 first-person shooter Quake II. It is the successor to the Quake engine. Since its release, the Quake II engine has been licensed for use in several other games.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

id Tech 4 Video game engine

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 Doom and Quake, which are widely recognized as significant advances in the field. This OpenGL-based game engine has also been used in Quake 4, Prey, Enemy Territory: Quake Wars, Wolfenstein, and Brink. id Tech 4 is licensed under the terms of the GNU General Public License v3.0 or later.

<i>Alien Arena</i> 2004 video game

Alien Arena is an open-source, stand-alone first-person shooter video game. Begun by COR Entertainment in 2004, the game combines a 1950s-era sci-fi atmosphere with gameplay similar to the Quake, Doom, and Unreal Tournament series. Alien Arena focuses mainly on online multiplayer action, although it does contain single-player matches against bots.

UNIGINE is a proprietary cross-platform game engine developed by UNIGINE Company used in simulators, virtual reality systems, serious games and visualization. It supports OpenGL 4, Vulkan and DirectX 12.

<span class="mw-page-title-main">Tremulous</span> Video game

Tremulous is a free and open source asymmetric team-based first-person shooter with real-time strategy elements. Being a cross-platform development project the game is available for Windows, Linux, and Mac OS X.

<span class="mw-page-title-main">Open-source video game</span> Video game whose source code is open-source software

An open-source video game, or simply an open-source game, is a video game whose source code is open-source. They are often freely distributable and sometimes cross-platform compatible.

Linux-based operating systems can be used for playing video games. Because many games are not natively supported for the Linux kernel, various software has been made to run Windows games, software, and programs, such as Wine, Cedega, DXVK, and Proton, and managers such as Lutris and PlayOnLinux. The Linux gaming community has a presence on the internet with users who attempt to run games that are not officially supported on Linux.

<span class="mw-page-title-main">Ryan C. Gordon</span> Computer programmer

Ryan C. Gordon is a computer programmer and former Loki Software employee responsible for icculus.org, which hosts many Loki Software projects as well as others. Gordon's site hosts projects with the code from such commercial games as Duke Nukem 3D, Shadow Warrior, Quake III Arena and other free and open source projects for multiple platforms.

id Tech Series of video game engines

id Tech is a series of separate game engines designed and developed by id Software. Prior to the presentation of the id Tech 5-based game Rage in 2011, the engines lacked official designation and as such were simply referred to as the Doom and Quake engines, from the name of the main game series the engines had been developed for. "id Tech" has been released as free software under the GNU General Public License. id Tech versions 0 to 3 were released under GPL-2.0-or-later. id Tech versions 3.5 to 4.5 were released under GPL-3.0-or-later. id Tech 5 to 7 are proprietary, with id Tech 7 currently being the latest utilized engine.

<span class="mw-page-title-main">Timothee Besset</span> French software programmer

Timothée Besset is a French software programmer, best known for supporting Linux, as well as some Macintosh, ports of id Software's products. He was involved with the game ports of various id properties through the 2000s, starting with Quake III Arena. Since the development of Doom 3 he was also in charge of the multiplayer network code and various aspects of game coding for id, a role which had him heavily involved in the development of their online game QuakeLive. Since departing id in January 2012 he has worked as a software contractor, including for Valve Software.

<i>Xonotic</i> 2011 video game

Xonotic is a free and open-source first-person shooter video game. It was developed as a fork of Nexuiz, following controversy surrounding the game's development. The game runs on a heavily modified version of the Quake engine known as the DarkPlaces engine. Its gameplay is inspired by Unreal Tournament and Quake, but with various unique elements.

<span class="mw-page-title-main">GoldSrc</span> Video game engine

GoldSrc, sometimes called the Half-Lifeengine, is a proprietary game engine developed by Valve. At its core, GoldSrc is a heavily modified version of id Software's Quake engine. It made its debut in 1998 with Half-Life and powered future games developed by or with oversight from Valve, including Half-Life's expansions, Day of Defeat and games in the Counter-Strike series.

<span class="mw-page-title-main">Unvanquished (video game)</span> 2012 video game

Unvanquished is a free and open-source video game. It is a multiplayer first-person shooter and real-time strategy game where Humans and Aliens fight for domination.

Vulkan is a low-level, low-overhead cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and operating systems, and it is also designed to work with modern multi-core CPUs.

References

  1. Jennell Jaquays, Brian Hook. "Quake III Arena Shader Manual". p. 5. Archived from the original on April 14, 2006. Retrieved October 1, 2006.
  2. Jennell Jaquays, Brian Hook. "Quake III Arena Shader Manual". p. 1. Archived from the original on September 4, 2006. Retrieved October 1, 2006.
  3. Eberly, David (2002). "Fast Inverse Square Root" (PDF). Geometric Tools. p. 2. Archived from the original (PDF) on February 24, 2009.
  4. Sommefeldt, Rys (November 29, 2006). "Origin of Quake3's Fast InvSqrt()". Beyond3D. Archived from the original on February 9, 2009. Retrieved February 12, 2009.
  5. "Book of Hook: The Quake3 Networking Model". Archived from the original on October 27, 2006. Retrieved October 1, 2006.
  6. "Ioquake3 Help Page". Archived from the original on January 11, 2016. Retrieved February 17, 2007.
  7. "Complete Guide: Configure and Customise ioQuake3 in Linux". Linux Today. Archived from the original on March 9, 2012. Retrieved January 3, 2010.
  8. "Quake 3 ported to iPod Touch with tilt controls – Betanews". April 14, 2008. Retrieved January 4, 2010.
  9. Valich, Theo (April 3, 2007). "Two free games based on the Quake 3 engine tip up". The Inquirer . Archived from the original on August 28, 2010. Retrieved January 12, 2010.{{cite web}}: CS1 maint: unfit URL (link)
  10. "ioquake3 for OS X – Inside Mac Games". Archived from the original on September 24, 2015. Retrieved January 3, 2010.
  11. "ioquake3 for Mac OS X available for download – Macsimum News". Archived from the original on September 12, 2006. Retrieved January 3, 2010.
  12. "IOQuake3 OSX : Clone de Quake III (gratuit) – MaxiApple.com". May 10, 2009. Retrieved January 3, 2010.
  13. "IOQuake3 1.34 – Jogue Quake 3 no Mac OS X – Maclivre.net". Archived from the original on July 23, 2011. Retrieved January 4, 2010.
  14. "Tremulous about page". Archived from the original on December 10, 2015. Retrieved November 4, 2009.
  15. "Quake, Meet GPL; GPL, Meet Quake – Linux Journal". Archived from the original on October 1, 2020. Retrieved January 4, 2010.
  16. "Entretien avec l'équipe de Smokin'Guns – JeuxLinux". Archived from the original on March 19, 2021. Retrieved November 4, 2009.
  17. "Urban Terror manual" . Retrieved May 18, 2015.
  18. "Two free games based on the Quake 3 engine tip up – The Inquirer". Archived from the original on August 28, 2010. Retrieved January 4, 2010.{{cite web}}: CS1 maint: unfit URL (link)
  19. "A Look At Free Quake3 Engine Based Games – Slashdot". April 6, 2007. Archived from the original on March 19, 2021. Retrieved January 3, 2010.
  20. "Comparison of free software shooters – linuX-gamers.net" . Retrieved January 4, 2010.[ dead link ]
  21. Procter, Lewie (August 13, 2020). "Star Trek: Voyager Elite Force Holomatch Gets Free 20th Anniversary Re-Release". wePC. Retrieved March 25, 2023.
  22. ftp://ftp.idsoftware.com/idstuff/source/%5B%5D
  23. Larabel, Michael (June 13, 2010). "id Software Open-Sources ET, RTCW". Phoronix. Archived from the original on August 16, 2010. Retrieved August 13, 2010.
  24. "Q3osc research paper" (PDF). Archived (PDF) from the original on March 19, 2021. Retrieved January 9, 2010.
  25. "Q3osc wiki" . Retrieved January 9, 2010.
  26. "A Survey of Collaborative Virtual Environment Technologies" (PDF). Archived from the original (PDF) on October 10, 2015. Retrieved January 9, 2010.
  27. "L3DGEWorld 2.1 Input & Output Specifications" (PDF). Archived (PDF) from the original on October 5, 2011. Retrieved January 9, 2010.
  28. "L3DGEWorld 2.3". Archived from the original on October 5, 2011. Retrieved January 9, 2010.
  29. "VMM-Independent Graphics Acceleration" (PDF). Archived from the original (PDF) on October 9, 2009. Retrieved January 9, 2010.
  30. VMM article in ACM. June 13, 2007. pp. 33–43. doi:10.1145/1254810.1254816. ISBN   978-1-59593-630-1. S2CID   655357 . Retrieved January 9, 2010.
  31. "Real-time Ray Tracing of Dynamic Scenes" . Retrieved April 22, 2012.
  32. "Run-Time Code Generation for Materials" . Retrieved April 22, 2012.
  33. "LLVM Users, Open Source Projects". Archived from the original on February 23, 2021. Retrieved January 9, 2010.
  34. Larabel, Michael (March 16, 2021). "V3DV Vulkan Driver Enjoys More Optimizations To Help The Raspberry Pi 4". Phoronix . Retrieved August 9, 2024.
  35. Larabel, Michael (September 19, 2018). "Ioquake3-Derived Spearmint 1.0 Engine Coming Next Month, But Ceasing Development". Phoronix . Retrieved August 9, 2024.
  36. Liu, Zhiye (June 20, 2020). "Nvidia Engineer's Vulkan Driver For Raspberry Pi Runs Quake III Over 100 FPS at 720p". Tom's Hardware . Retrieved July 20, 2024.
  37. Larabel, Michael (March 27, 2019). "The Rust Vulkan "Gfx-rs" Portability Layer Can Now Run vkQuake3". Phoronix . Retrieved July 21, 2024.
  38. Michael Larrabel (July 1, 2012). "Unvanquished: A Very Promising Open-Source Game". Phoronix . Retrieved July 7, 2015.
  39. Larabel, Michael (September 15, 2013). "Unvanquished Is Rewriting, Modernizing The Quake 3 Engine". Phoronix . Retrieved August 9, 2024.
  40. Larabel, Michael (August 3, 2015). "Unvanquished Makes Its Open-Source Engine Easy For Other Games". Phoronix . Retrieved August 9, 2024.
  41. Larabel, Michael (April 9, 2009). "XreaL: The Most Advanced Open-Source Game Engine?". Phoronix . Retrieved July 21, 2024.
  42. Larabel, Michael (December 1, 2012). "The State Of XReaL, OpenWolf Game Engines". Phoronix . Retrieved July 21, 2024.
  43. "Quake 3, Android style". TechCrunch . February 25, 2010. Retrieved July 21, 2024.
  44. Larabel, Michael (February 23, 2010). "Quake 3 Comes To Google's Android Platform". Phoronix . Retrieved July 21, 2024.
  45. Spencer, Spanner (February 26, 2010). "Quake 3 ported to Android". Pocket Gamer. Retrieved July 21, 2024.
  46. Savov, Vlad (February 25, 2010). "Quake 3 ported to Android, shows off Droid's graphical prowess (video)". Engadget . Retrieved July 21, 2024.
  47. Perez, Anthony (February 24, 2010). "Quake 3 Successfully Ported To Android 2.0 Devices". Phanadroid. Retrieved July 21, 2024.
  48. Kennemer, Quentyn (May 10, 2010). "Quake 3 Finally Ported To The Nexus One". Phanadroid. Retrieved July 21, 2024.
  49. Rahman, Mishaal (May 16, 2017). "How to play Return to Castle Wolfenstein, Doom 3, and Quake 3 (with Arena) on your Android device". XDA Developers . Retrieved July 21, 2024.