id Tech 3, popularly known as the ''Quake III Arena'' engine, is a
game engine
A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
developed by
id Software
id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
for its 1999 game ''
Quake III Arena''. It has subsequently been used in numerous games. Commercially, id Tech 3 competed with early versions of the
Unreal Engine
Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter video game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of ...
; both were widely licensed. Originally proprietary, it is now
open-source software
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
.
id Tech 3 is based on the earlier
id Tech 2, with a large amount of the code rewritten.
id Tech 4
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 D. Carmack, John Carmack, who also created previous game engines, such a ...
was derived from id Tech 3, as was
Infinity Ward
Infinity Ward, Inc. is an American video game developer. They developed the video game '' Call of Duty'', along with seven other installments in the ''Call of Duty'' series. Vince Zampella, Grant Collier, and Jason West established Infinity W ...
's
IW engine
The IW engine is a game engine created and developed by Infinity Ward, with the current iteration developed in its studio in Kraków, Poland for the Call of Duty, ''Call of Duty'' series. The engine was originally based on id Tech 3 by id Softwa ...
, used in ''
Call of Duty 2
''Call of Duty 2'' is a 2005 first-person shooter, first-person shooter game developed by Infinity Ward and published by Activision in most regions of the world. It is the second installment of the Call of Duty, ''Call of Duty'' series. Announc ...
'' onward.
At
QuakeCon
QuakeCon is a yearly convention held by ZeniMax Media to celebrate and promote the major franchises of id Software and other studios owned by ZeniMax. It includes a large, paid, bring-your-own-computer ( BYOC) LAN party event with a competiti ...
2005,
John Carmack
John D. Carmack II (born August 21, 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'', ''Do ...
announced that the id Tech 3
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
would be released under the
GNU General Public License
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
v2.0 or later, and it was released on August 19, 2005. It was originally distributed via
FTP
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and dat ...
, and later moved to
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
.
Features
Graphics
Unlike most other game engines released at the timeincluding its main competitor, the
Unreal Engine
Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter video game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of ...
id Tech 3 requires an
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
-compliant
graphics accelerator to run. The engine does not include a
software renderer, unlike id Tech 2.
id Tech 3 introduced
spline-based curved surfaces in addition to planar volumes.
The graphical technology of the game is based tightly around a
shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
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" that 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 on each map and even 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.
To assist calculation of these shaders, ''id Tech 3'' implements a specific
fast inverse square root
Fast inverse square root, sometimes referred to as or by the hexadecimal constant , is an algorithm that estimates \frac, the Multiplicative inverse, reciprocal (or multiplicative inverse) of the square root of a 32-bit floating-point number x i ...
function, which attracted a significant amount of attention in the game development community for its clever use of integer operations.
Networking
Like id's earlier titles ''
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 (1934–2020), Belgian cyclist
* Debbie Doom (born 1963), American softball pitche ...
'' and ''
Quake'', ''Quake III Arena'' features multiplayer support via features built into its engine. 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 that clients update the server with their actions, 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
Delta encoding is a way of storing or transmitting data in the form of '' differences'' (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta comp ...
). All data packets are compressed by
Huffman coding
In computer science and information theory, a Huffman code is a particular type of optimal prefix code that is commonly used for lossless data compression. The process of finding or using such a code is Huffman coding, an algorithm developed by ...
with static pre-calculated frequency data to reduce bandwidth use even further.
''Quake III Arena'' has an integrated and relatively elaborate
cheat-protection system called "pure server". Any client connecting to a pure server automatically has "pure mode" enabled; 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. 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
Proprietary software is software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing the software or modi ...
software and including support for it in the source code release would have caused any redistributors/reusers of the code to violate the
GPL.
ioquake3
Ioquake3 is a
game engine
A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
project which aims to build upon the id Tech 3
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
release in order to remove bugs, clean up source code and to add more advanced graphical and audio features via
SDL and
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 o ...
. ioquake3 is also intended to act as a clean base package, upon which other projects may be built. The game engine supports
Ogg Vorbis
Vorbis is a free and open-source software project headed by the Xiph.Org Foundation. The project produces an audio coding format and software reference encoder/decoder (codec) for lossy audio compression, libvorbis. Vorbis is most common ...
format and video capture of demos in
.avi format.
The project was started shortly after the source code release with the goal of creating a
bug-free, enhanced
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
''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. The project added features including builtin
VoIP
Voice over Internet Protocol (VoIP), also known as IP telephony, is a set of technologies used primarily for voice communication sessions over Internet Protocol (IP) networks, such as the Internet. VoIP enables voice calls to be transmitted as ...
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'', ''
Smokin' Guns'', ''
Urban Terror'', ''Turtle Arena'' and ''
World of Padman
''World of Padman'' (''WoP'') is an Open-source video game, open-source first-person shooter video game by German developer Padworld Entertainment available in both English and German.
History
Originally it was a mod (computer gaming), modifica ...
'' 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
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
and
BSD
The Berkeley Software Distribution (BSD), also known as Berkeley Unix or BSD Unix, is a discontinued Unix operating system developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley, beginni ...
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
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
.
The source code for the ''
Return to Castle Wolfenstein
''Return to Castle Wolfenstein'' is a 2001 first-person shooter, first-person shooter game developed by Gray Matter Studios and published by Activision. It was initially released for Microsoft Windows and subsequently for the PlayStation 2 (as '' ...
'' and ''
Wolfenstein: Enemy Territory'' engines was released under
GNU GPL-3.0-or-later on August 12, 2010. The ioquake3 developers announced the start of other engine projects.
The ioquake3 project has been used academic research such as Stanford University's Center for Computer Research in Music and Acoustics (CCRMA), Notre Dame as the foundation for VR research, and Swinburne University of Technology's Centre for Advanced Internet Architectures. Collaborative efforts from researchers at Carnegie Mellon University and the University of Toronto use ioquake3 as a platform for their published research. Students have used ioquake3 as the basis for advanced graphics work for their theses, such as Stephan Reiter's work which has been noted at the LLVM project due to his synthesis of the ioquake3 engine, ray-tracing rendering technique, and LLVM.
The project has since received forks, such as Quake3e, Spearmint, and vkQuake3.
Other derived engines include the
Daemon
A demon is a malevolent supernatural being, evil spirit or fiend in religion, occultism, literature, fiction, mythology and folklore.
Demon, daemon or dæmon may also refer to:
Entertainment Fictional entities
* Daemon (G.I. Joe), a character ...
engine used by ''
Unvanquished'', as well as competing source ports like XreaL, Kwaak3 for
Android and Quake-3-Android-Port-QIII4A.
Games
See also
*
id Tech 2
*
id Tech 4
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 D. Carmack, John Carmack, who also created previous game engines, such a ...
*
List of game engines
*
Quake modding
References
External links
*
Original Quake III source code repository (id Tech 3)on idsoftware.com
id's current Quake III source code repository (id Tech 3)on
github.comioquake3 project page community continuation
{{Video game engines
1999 software
Formerly proprietary software
Free game engines
Game engines for Linux
Id Tech
Quake (series)
Virtual reality