Quake III engine
Encyclopedia
id Tech 3 is a game engine
developed by id Software
for Quake III Arena
and has been used in many games under the Quake III Arena engine and Quake III: Team Arena engine branding. During its time, it competed with the Unreal engine
; both engines were widely licensed.
id Tech 3 is a substantial improvement from the Quake engine
and id Tech 2. Although id Tech 3 was derived from id Tech 2, a large portion of code was new or re-written. It was succeeded by id Tech 4, which was derived from id Tech 3.
At QuakeCon
2005, John Carmack announced that the Quake III source code
would be released under the GNU General Public License
(version 2), and it was released on August 19, 2005. The code can be downloaded from id's ftp site.
, 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 surfaces present within the game.
" 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. 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.
, the designer of Quake 3, for the game The 11th Hour. Internally RoQ uses vector quantization
to encode video and DPCM
to encode audio. While the format itself is proprietary it was successfully reverse-engineered in 2001, and the actual RoQ decoder is present in the Quake 3 source code release. RoQ has seen little use outside games based on the id Tech 3 or id Tech 4 engines, but is supported by several video players (such as MPlayer
) and a handful of third-party encoders exist.
format. The format uses vertex
movements (sometimes called per-vertex animation) as opposed to skeletal animation
in order to store animation. The animation features in the MD3 format are superior to those in id Tech 2's MD2
format because an animator is able to have a variable number of key frame
s per second instead of MD2's standard 10 key frames per second. This allows for more complex animations that are less "shaky" than the models found in Quake II
.
Another important feature about the MD3 format is that models are broken up into three different parts which are anchored to each other. Typically, this is used to separate the head, torso and legs so that each part can animate independently for the sake of animation blending (i.e. a running animation on the legs, and shooting animation on the torso). Each part of the model has its own set of textures.
The character models are lit and shaded using Gouraud shading
while the levels (stored in the BSP format) are lit either with lightmap
s or Gouraud shading depending on the user's preference. The engine is able to take colored lights from the lightgrid and apply them to the models, resulting in a lighting quality that was, for its time, very advanced.
In the GPLed version of the source code, most of the code dealing with the MD4 skeletal animation
files was missing. It is presumed that id simply never finished the format, although almost all licensees derived their own skeletal animation systems from what was present. Ritual Entertainment
did this for use in the game, Heavy Metal: F.A.K.K.²
, the SDK
to which formed the basis of MD4 support completed by someone who used the pseudonym
Gongo.
, mirrors, portals, decals, and wave-form vertex distortion.
. All of the sound mixing is done within the engine, which can create problems for licensees hoping to implement EAX
or surround sound
support. Several popular effects such as echoes are also absent.
A major flaw of the sound system is that the mixer isn't given its own thread, so if the game stalls for too long (particularly while navigating the menus or connecting to a server), the small output buffer will begin to loop, a very noticeable artifact. This problem was also present in the Doom 3, Quake
, and Quake II engines.
. 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.
Quake 3 also integrated a 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. 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.
to control object behavior on the server, effects and prediction on the client and the user interface. This presents many advantages as mod authors do not need to worry about crashing the entire game with bad code, clients could show more advanced effects and game menus than was possible in Quake II
and the user interface for mods was entirely customizable.
Virtual machine files are developed in ANSI C
, using LCC
to compile them to a 32-bit
RISC
pseudo-assembly format. A tool called q3asm then converts them to QVM files, which are multi-segmented files consisting of static data and instructions based on a reduced set of the input opcodes. Unless operations which require a specific endianness
are used, a QVM file will run the same on any platform supported by Quake 3.
The virtual machine also contained bytecode compilers for the x86
and PowerPC
architectures, executing QVM instructions via an interpreter
.
project which aims to build upon id Software's
Quake 3
source code
release. The project was started shortly after the source code release with the goal of creating a bug
-free, enhanced open source
Quake 3 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. Notable features added by the project include builtin VoIP support, Anaglyph stereo rendering
(for viewing with 3D glasses), and numerous security fixes. A full list of features is available on the project's website.
ioquake3 has been the basis of several game projects based on the id Tech 3 engine, such as OpenArena
, Tremulous
, Smokin' Guns
, Urban Terror
and World of Padman
, as well as game engine projects such as efport (a Star Trek: Voyager - Elite Force Holomatch engine recreation project) and OpenMoHAA. The engine and its associated games have been included in several Linux
and BSD distributions.
The ioquake3 project has also been used in the academic arena as the basis for a variety of research in institutions 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. There are even collaborative efforts from researchers at Carnegie Mellon University and the University of Toronto that use ioquake3 as a platform for their published researches. Students have used ioquake3 as the basis for advanced graphics work for their theses, as well, such as Stephan Reiter's work which has even been noted at the LLVM project due to his synthesis of the ioquake3 engine, ray-tracing rendering technique, and LLVM.
Though the name ioquake3 is based on Ryan "Icculus" Gordon
's site icculus.org, Ryan does not lead the project. Instead, he maintains a mentor role and provides hosting for the mailing list
s and the SVN repository used by the project.
The source code for Return to Castle Wolfenstein
and Wolfenstein: Enemy Territory
was released under the GNU General Public License
on August 12, 2010. The ioquake3 developers announced the start of respective engine projects soon after.
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...
for 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...
and has been used in many games under the Quake III Arena engine and Quake III: Team Arena engine branding. During its time, it competed with the Unreal engine
Unreal Engine
The Unreal Engine is a game engine developed by Epic Games, first illustrated in the 1998 first-person shooter game Unreal. Although primarily developed for first-person shooters, it has been successfully used in a variety of other genres, including stealth, MMORPGs and RPGs...
; both engines were widely licensed.
id Tech 3 is a substantial improvement from the Quake engine
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 ....
and id Tech 2. Although id Tech 3 was derived from id Tech 2, a large portion of code was new or re-written. It was succeeded by id Tech 4, which was derived from id Tech 3.
At 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...
2005, John Carmack announced that the Quake III source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
would be released under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
(version 2), and it was released on August 19, 2005. The code can be downloaded from id's ftp site.
Graphics
Unlike most other game engines released at the time—including its primary competitor, Unreal TournamentUnreal Tournament
Unreal Tournament is a futuristic first-person shooter video game co-developed by Epic Games and Digital Extremes. It was published in 1999 by GT Interactive. Retrospectively, the game has also been referred to as UT99 or UT Classic to differentiate it from its numbered sequels...
, id Tech 3 requires an 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...
-compliant graphics accelerator
Graphics processing unit
A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...
to run. The engine does not include a software renderer
Software rendering
In the context of rendering , software rendering refers to a rendering process that is unaided by any specialized graphics hardware, such as a graphics card. The rendering takes place entirely in the CPU...
.
id Tech 3 introduced spline-based curved surfaces in addition to planar volumes, which are responsible for many of the surfaces present within the game.
Shaders
The graphical technology of the game is based tightly around a "shaderShader
In the field of computer graphics, a shader is a computer program that is used primarily to calculate rendering effects on graphics hardware with a high degree of flexibility...
" 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. In order to assist calculation of these shaders, id Tech 3 implements a specific fast inverse square root
Fast inverse square root
Fast inverse square root is a method of calculating x-½, the reciprocal of a square root for a 32-bit floating point number in IEEE 754 floating point format...
function, which attracted a significant amount of attention in the game development community for its clever use of integer operations.
Video
In-game videos all use a proprietary format called "RoQ", which was originally created by Graeme DevineGraeme Devine
Graeme Devine is a computer game designer and programmer who co-founded Trilobyte, created bestselling games The 7th Guest and The 11th Hour, and designed id Software's Quake III Arena. He was also Chairman of the International Game Developers Association from 2002-2003...
, the designer of Quake 3, for the game The 11th Hour. Internally RoQ uses vector quantization
Vector quantization
Vector quantization is a classical quantization technique from signal processing which allows the modeling of probability density functions by the distribution of prototype vectors. It was originally used for data compression. It works by dividing a large set of points into groups having...
to encode video and DPCM
Pulse-code modulation
Pulse-code modulation is a method used to digitally represent sampled analog signals. It is the standard form for digital audio in computers and various Blu-ray, Compact Disc and DVD formats, as well as other uses such as digital telephone systems...
to encode audio. While the format itself is proprietary it was successfully reverse-engineered in 2001, and the actual RoQ decoder is present in the Quake 3 source code release. RoQ has seen little use outside games based on the id Tech 3 or id Tech 4 engines, but is supported by several video players (such as MPlayer
MPlayer
MPlayer is a free and open source media player. The program is available for all major operating systems, including Linux and other Unix-like systems, Microsoft Windows and Mac OS X. Versions for OS/2, Syllable, AmigaOS and MorphOS are also available. The Windows version works, with some minor...
) and a handful of third-party encoders exist.
Models
id Tech 3 loads 3D models in the MD3MD3 (file format)
MD3 is a model format used by the Quake 3 engine as well as its many mods. The format is used mostly for player models and non-structural geometry although it may be used for structural uses. The format does not support skeletal animation...
format. The format uses vertex
Vertex (geometry)
In geometry, a vertex is a special kind of point that describes the corners or intersections of geometric shapes.-Of an angle:...
movements (sometimes called per-vertex animation) as opposed to 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...
in order to store animation. The animation features in the MD3 format are superior to those in id Tech 2's MD2
MD2 (file format)
MD2 is a model format used by id Software's id Tech 2 engine and is thus used by Quake II as well as many other games, most of them using this engine, including SiN and Soldier of Fortune. The format is primarily used for animated player models although it can also be used for static models...
format because an animator is able to have a variable number of key frame
Key frame
A key frame in animation and filmmaking is a drawing that defines the starting and ending points of any smooth transition. They are called "frames" because their position in time is measured in frames on a strip of film...
s per second instead of MD2's standard 10 key frames per second. This allows for more complex animations that are less "shaky" than the models found in 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...
.
Another important feature about the MD3 format is that models are broken up into three different parts which are anchored to each other. Typically, this is used to separate the head, torso and legs so that each part can animate independently for the sake of animation blending (i.e. a running animation on the legs, and shooting animation on the torso). Each part of the model has its own set of textures.
The character models are lit and shaded using 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 the levels (stored in the BSP format) are lit either with 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 or Gouraud shading depending on the user's preference. The engine is able to take colored lights from the lightgrid and apply them to the models, resulting in a lighting quality that was, for its time, very advanced.
In the GPLed version of the source code, most of the code dealing with the MD4 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...
files was missing. It is presumed that id simply never finished the format, although almost all licensees derived their own skeletal animation systems from what was present. Ritual Entertainment
Ritual Entertainment
Ritual Entertainment was a computer game software developer established in 1996 by Robert Atkins, Mark Dochtermann, Jim Dosé, Richard 'Levelord' Gray, Michael Hadwin, Harry Miller and Tom Mustaine...
did this for use in the game, Heavy Metal: F.A.K.K.²
Heavy Metal: F.A.K.K.²
Heavy Metal: F.A.K.K.² is a third-person shooter video game made by Ritual Entertainment in 2000. A sequel to the Heavy Metal 2000 animated movie, the game stars Julie in her quest to save her home planet of Eden from GITH, an ancient entity seeking to conquer the universe...
, the SDK
Software development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...
to which formed the basis of MD4 support completed by someone who used the pseudonym
Pseudonym
A pseudonym is a name that a person assumes for a particular purpose and that differs from his or her original orthonym...
Gongo.
Dynamic shadows
The engine is capable of three different kinds of shadows. One just places a circle with faded edges at the characters' feet, commonly known as the "blob shadow" technique. The other two modes project an accurate polygonal shadow across the floor. The difference between the latter two modes is one's reliance on opaque, solid black shadows while the other mode attempts (with mixed success) to project depth-pass stencil shadow volume shadows in a medium-transparent black. Neither of these techniques clip the shadow volumes, causing for the shadows to extend down walls and through geometry.Other rendering features
Other visual features include volumetric fogVolumetric lighting
Volumetric lighting is a technique used in 3D computer graphics to add lighting effects to a rendered scene. It allows the viewer to see beams of light shining through the environment; seeing sunbeams streaming through an open window is an example of volumetric lighting, also known as crepuscular...
, mirrors, portals, decals, and wave-form vertex distortion.
Sound
id Tech 3s sound system outputs to two channels using a looping output buffer, mixed from 96 tracks with stereo spatialization and Doppler effectDoppler effect
The Doppler effect , named after Austrian physicist Christian Doppler who proposed it in 1842 in Prague, is the change in frequency of a wave for an observer moving relative to the source of the wave. It is commonly heard when a vehicle sounding a siren or horn approaches, passes, and recedes from...
. All of the sound mixing is done within the engine, which can create problems for licensees hoping to implement 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...
or surround sound
Surround sound
Surround sound encompasses a range of techniques such as for enriching the sound reproduction quality of an audio source with audio channels reproduced via additional, discrete speakers. Surround sound is characterized by a listener location or sweet spot where the audio effects work best, and...
support. Several popular effects such as echoes are also absent.
A major flaw of the sound system is that the mixer isn't given its own thread, so if the game stalls for too long (particularly while navigating the menus or connecting to a server), the small output buffer will begin to loop, a very noticeable artifact. This problem was also present in the Doom 3, 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 ....
, and Quake II engines.
Networking
id Tech 3 uses a "snapshot" system to relay information about game "frames" to the client over UDPUser Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
. 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
Delta encoding
Delta encoding is a way of storing or transmitting data in the form of differences between sequential data rather than complete files; more generally this is known as data differencing...
). All data packets are compressed by Huffman coding
Huffman coding
In computer science and information theory, Huffman coding is an entropy encoding algorithm used for lossless data compression. The term refers to the use of a variable-length code table for encoding a source symbol where the variable-length code table has been derived in a particular way based on...
with static pre-calculated frequency data to reduce bandwidth use even further.
Quake 3 also integrated a 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. 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
PunkBuster
PunkBuster is a computer program that is designed to detect software used for cheating in online games. It does this by scanning the memory contents of the local machine. A computer identified as using cheats may be banned from connecting to protected servers. The aim of the program is to isolate...
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.
Virtual machine
id Tech 3 uses a virtual machineVirtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...
to control object behavior on the server, effects and prediction on the client and the user interface. This presents many advantages as mod authors do not need to worry about crashing the entire game with bad code, clients could show more advanced effects and game menus than was possible in 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...
and the user interface for mods was entirely customizable.
Virtual machine files are developed in ANSI C
ANSI C
ANSI C refers to the family of successive standards published by the American National Standards Institute for the C programming language. Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.-History and outlook:The first...
, using LCC
Local C compiler
LCC is a small retargetable compiler program for the ANSI C programming language. It is available at no charge for personal use but is not free software. It was developed by Chris Fraser and David Hanson...
to compile them to a 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
RISC
Reduced instruction set computer
Reduced instruction set computing, or RISC , is a CPU design strategy based on the insight that simplified instructions can provide higher performance if this simplicity enables much faster execution of each instruction. A computer based on this strategy is a reduced instruction set computer...
pseudo-assembly format. A tool called q3asm then converts them to QVM files, which are multi-segmented files consisting of static data and instructions based on a reduced set of the input opcodes. Unless operations which require a specific endianness
Endianness
In computing, the term endian or endianness refers to the ordering of individually addressable sub-components within the representation of a larger data item as stored in external memory . Each sub-component in the representation has a unique degree of significance, like the place value of digits...
are used, a QVM file will run the same on any platform supported by Quake 3.
The virtual machine also contained bytecode compilers for the x86
X86 architecture
The term x86 refers to a family of instruction set architectures based on the Intel 8086 CPU. The 8086 was launched in 1978 as a fully 16-bit extension of Intel's 8-bit based 8080 microprocessor and also introduced segmentation to overcome the 16-bit addressing barrier of such designs...
and PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
architectures, executing QVM instructions via an interpreter
Interpreter (computing)
In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language...
.
ioquake3
ioquake3 is a game engineGame 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...
project which aims to build upon id Software's
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...
Quake 3
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...
source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
release. The project was started shortly after the source code release with the goal of creating a bug
Software bug
A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's...
-free, enhanced open source
Floss
Floss may refer to:* Dental floss, used to clean teeth* Embroidery thread, machine or hand-spun yarn for embroidery* Fairy floss or candyfloss, alternative names for cotton candy* Rousong, i.e. meat floss-Computing:...
Quake 3 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. Notable features added by the project include builtin VoIP support, Anaglyph stereo rendering
Anaglyph image
Anaglyph images are used to provide a stereoscopic 3D effect, when viewed with glasses where the two lenses are different colors, such as red and cyan. Images are made up of two color layers, superimposed, but offset with respect to each other to produce a depth effect...
(for viewing with 3D glasses), and numerous security fixes. A full list of features is available on the project's website.
ioquake3 has been the basis of several game projects based on the id Tech 3 engine, such as OpenArena
OpenArena
OpenArena is a free and open source first-person shooter computer game based heavily on the Quake III Arena style deathmatch. The OpenArena project was established on August 19, 2005, the day after the id Tech 3 GPL source code release...
, Tremulous
Tremulous
Tremulous is a free and open source team-based first-person shooter with real-time strategy elements.The game features two opposing teams: humans and aliens. Each team must attack the enemy's base and team members, while defending their own base...
, Smokin' Guns
Smokin' Guns
Smokin' Guns is a first-person shooter video game. Smokin' Guns is intended to be a semi-realistic simulation of the American Old West's atmosphere and was developed on id Software's Quake III Arena Engine...
, Urban Terror
Urban Terror
Urban Terror, commonly abbreviated as UrT, is a free multi-player first person shooter game developed by FrozenSand. Originally a total conversion of id Software's Quake III Arena, FrozenSand released Urban Terror as a free standalone game in 2007 utilizing ioquake3 as an engine...
and World of Padman
World of Padman
World of Padman is an open source first-person shooter computer game available in both English and German. Originally it was a modification for the game Quake III Arena titled PadMod created in the year 2004. After the source code for Quake III Arena was released, the game became standalone...
, as well as game engine projects such as efport (a Star Trek: Voyager - Elite Force Holomatch engine recreation project) and OpenMoHAA. The engine and its associated games have been included in several Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and BSD distributions.
The ioquake3 project has also been used in the academic arena as the basis for a variety of research in institutions 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. There are even collaborative efforts from researchers at Carnegie Mellon University and the University of Toronto that use ioquake3 as a platform for their published researches. Students have used ioquake3 as the basis for advanced graphics work for their theses, as well, such as Stephan Reiter's work which has even been noted at the LLVM project due to his synthesis of the ioquake3 engine, ray-tracing rendering technique, and LLVM.
Though the name ioquake3 is based on Ryan "Icculus" Gordon
Ryan C. Gordon
Ryan C. Gordon is a former Loki Software employee who is now responsible for icculus.org, which hosts many Loki Software projects as well as several new projects created by himself and others...
's site icculus.org, Ryan does not lead the project. Instead, he maintains a mentor role and provides hosting for the mailing list
Mailing list
A mailing list is a collection of names and addresses used by an individual or an organization to send material to multiple recipients. The term is often extended to include the people subscribed to such a list, so the group of subscribers is referred to as "the mailing list", or simply "the...
s and the SVN repository used by the project.
The source code for Return to Castle Wolfenstein
Return to Castle Wolfenstein
Return to Castle Wolfenstein is a first person shooter video game published by Activision and originally released on November 19, 2001 for Microsoft Windows. It was made available on Steam on August 3, 2007. The single player game was developed by Gray Matter Interactive and Nerve Software...
and Wolfenstein: Enemy Territory
Wolfenstein: Enemy Territory
Wolfenstein: Enemy Territory is a free and open source multiplayer first-person shooter video game set during World War II...
was released under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
on August 12, 2010. The ioquake3 developers announced the start of respective engine projects soon after.
Projects based on the GPL source release
- ioquake3 – A project to remove bugs, clean up source code and to add more advanced graphical and audio features via SDLSimple DirectMedia LayerSimple DirectMedia Layer is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices....
and OpenALOpenALOpenAL 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 :...
. Also intended to act as a clean base package to build other projects on. The game engine supports Ogg Vorbis format and video capture of demos in .avi format. Games written using this engine include World of PadmanWorld of PadmanWorld of Padman is an open source first-person shooter computer game available in both English and German. Originally it was a modification for the game Quake III Arena titled PadMod created in the year 2004. After the source code for Quake III Arena was released, the game became standalone...
, OpenArenaOpenArenaOpenArena is a free and open source first-person shooter computer game based heavily on the Quake III Arena style deathmatch. The OpenArena project was established on August 19, 2005, the day after the id Tech 3 GPL source code release...
(mimicking Quake III Arena), TremulousTremulousTremulous is a free and open source team-based first-person shooter with real-time strategy elements.The game features two opposing teams: humans and aliens. Each team must attack the enemy's base and team members, while defending their own base...
and Turtle Arena. - Space TraderSpace TraderSpace Trader is a video game developed by the Canadian developer HermitWorks Entertainment, for Windows XP, Mac OS X, Linux, and iPhone OS. It was released on July 25th, 2007. It started development in 2005, headed by Cameron Tofer and Marcia Tofer, both previously of Bioware, along with a group of...
- An Action/Strategy game from HermitWorks Entertainment - Smokin' GunsSmokin' GunsSmokin' Guns is a first-person shooter video game. Smokin' Guns is intended to be a semi-realistic simulation of the American Old West's atmosphere and was developed on id Software's Quake III Arena Engine...
- is intended to be a semi-realistic simulation of the "Old West's" atmosphere. Originally a Quake 3 modification, but became a stand-alone game. It has been ported back to ioquake3 engine in 2009. - Urban TerrorUrban TerrorUrban Terror, commonly abbreviated as UrT, is a free multi-player first person shooter game developed by FrozenSand. Originally a total conversion of id Software's Quake III Arena, FrozenSand released Urban Terror as a free standalone game in 2007 utilizing ioquake3 as an engine...
up to version 4.1 – A Quake 3 total conversion mod that has now gone standalone (it still retains the ability to be played as a Quake III Mod by copying the q3ut4 directory to Quake III). The source code has not been released to the public as of yet. - TremulousTremulousTremulous is a free and open source team-based first-person shooter with real-time strategy elements.The game features two opposing teams: humans and aliens. Each team must attack the enemy's base and team members, while defending their own base...
- Tremulous is a first-person shooter with elements of real time strategy. Each team must construct and defend a base, consisting of structures which aid the players in some way. Like Smokin' Guns it started as a ModMod (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...
, but as of 1.1 has become stand-alone.
Games using a proprietary license
- Quake III ArenaQuake III ArenaQuake 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...
(1999) – id SoftwareId SoftwareId 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...
- Quake III: Team Arena (2000) – id
- Heavy Metal: F.A.K.K.²Heavy Metal: F.A.K.K.²Heavy Metal: F.A.K.K.² is a third-person shooter video game made by Ritual Entertainment in 2000. A sequel to the Heavy Metal 2000 animated movie, the game stars Julie in her quest to save her home planet of Eden from GITH, an ancient entity seeking to conquer the universe...
(2000) – Ritual EntertainmentRitual EntertainmentRitual Entertainment was a computer game software developer established in 1996 by Robert Atkins, Mark Dochtermann, Jim Dosé, Richard 'Levelord' Gray, Michael Hadwin, Harry Miller and Tom Mustaine... - American McGee's AliceAmerican McGee's AliceAmerican McGee's Alice is a third-person action game released for PC on October 6, 2000. The game, developed by Rogue Entertainment and published by Electronic Arts, is set in an alternative universe of Lewis Carroll's Alice's Adventures in Wonderland...
(2000) – Rogue EntertainmentRogue Entertainment-Rogue Entertainment Group, Inc.:Rogue Ent. is a record label group, music distribution company, graphics/web design firm, audio production/engineering firm, and promotion company based out of Richmond, Va...
(based on the modified F.A.K.K.² code base) - Star Trek: Voyager Elite Force (2000) – Raven SoftwareRaven SoftwareRaven 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...
- Star Trek: Elite Force IIStar Trek: Elite Force IIStar Trek: Elite Force II is a first-person shooter computer game developed by Ritual Entertainment and published by Activision. It was released on June 20, 2003 for Microsoft Windows. Elite Force II is a sequel to 2000's Star Trek: Voyager – Elite Force...
(2003) – Ritual Entertainment - Return to Castle WolfensteinReturn to Castle WolfensteinReturn to Castle Wolfenstein is a first person shooter video game published by Activision and originally released on November 19, 2001 for Microsoft Windows. It was made available on Steam on August 3, 2007. The single player game was developed by Gray Matter Interactive and Nerve Software...
(2001) – Gray Matter InteractiveGray Matter InteractiveGray Matter Interactive Studios, Inc. was a computer game developer, which was acquired by Activision in January 2002. Gray Matter was previously known as Xatrix Entertainment, Inc....
(SP) / Nerve SoftwareNerve SoftwareNerve 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...
(MP)- Wolfenstein: Enemy TerritoryWolfenstein: Enemy TerritoryWolfenstein: Enemy Territory is a free and open source multiplayer first-person shooter video game set during World War II...
(2003) – Splash DamageSplash DamageSplash 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: Enemy Territory
- James Bond 007: Agent Under FireJames Bond 007: Agent Under Fire007: Agent Under Fire is a first-person shooter video game based on the James Bond franchise. Developed and published by Electronic Arts, it was released for GameCube, PlayStation 2, and Xbox game consoles....
(2001) – EA Redwood Shores (this was to be a PS2PlayStation 2The PlayStation 2 is a sixth-generation video game console manufactured by Sony as part of the PlayStation series. Its development was announced in March 1999 and it was first released on March 4, 2000, in Japan...
and WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
version of the PlayStationPlayStationThe is a 32-bit fifth-generation video game console first released by Sony Computer Entertainment in Japan on December 3, .The PlayStation was the first of the PlayStation series of consoles and handheld game devices. The PlayStation 2 was the console's successor in 2000...
and N64Nintendo 64The , often referred to as N64, was Nintendo′s third home video game console for the international market. Named for its 64-bit CPU, it was released in June 1996 in Japan, September 1996 in North America, March 1997 in Europe and Australia, September 1997 in France and December 1997 in Brazil...
game The World is Not EnoughThe World Is Not Enough (video game)The World Is Not Enough is a 2000 first-person shooter video game based on the James Bond film of the same name. The game was published by Electronic Arts and released for the Nintendo 64 and PlayStation console systems in 2000. The Nintendo 64 version was developed by Eurocom and the PlayStation...
that was ultimately cancelled; it is based on the modified F.A.K.K.² code base)- James Bond 007: Everything or NothingJames Bond 007: Everything or Nothing007: Everything or Nothing is a third-person shooter video game, where the player controls James Bond. Bond is modeled after and voiced by the former James Bond actor Pierce Brosnan, making it his final performance for the character in game and film...
(2004) – EA Redwood Shores
- James Bond 007: Everything or Nothing
- Soldier of Fortune II: Double HelixSoldier of Fortune II: Double HelixSoldier of Fortune II: Double Helix is a video game created by Raven Software, a sequel to Soldier of Fortune. It was developed using the Quake III: Team Arena engine. Once again, Raven hired John Mullins to act as a consultant on the game...
(2002) – Raven Software - Star Wars Jedi Knight II: Jedi OutcastStar Wars Jedi Knight II: Jedi OutcastStar Wars Jedi Knight II: Jedi Outcast, often abbreviated JK2 or JO, is a first- and third-person action game developed by Raven Software and published by LucasArts and Activision. The PC version was released in March and the Mac OS X, Xbox and Nintendo GameCube versions were released in November...
(2002) – Raven Software - Star Wars Jedi Knight: Jedi AcademyStar Wars Jedi Knight: Jedi AcademyStar Wars Jedi Knight: Jedi Academy is a first and third-person shooter action game set in the Star Wars universe. It was developed by Raven Software and published, distributed and marketed by LucasArts in North America and by Activision in the rest of the world. Jedi Academy was released in...
(2003) – Raven Software - Medal of Honor: Allied AssaultMedal of Honor: Allied AssaultMedal of Honor: Allied Assault is a first-person shooter computer game developed by 2015, Inc. and created by Steven Spielberg. It is the 3rd installment of the Medal of Honor series...
(2002) – 2015, Inc.2015, Inc.2015 is a video game development studio founded in 1997 by its President and CEO, Tom Kudirka. Currently, 2015 is located in Tulsa, Oklahoma, U.S. 2015 is perhaps most famous for the development of the highly successful PC game Medal of Honor: Allied Assault...
(based on the modified F.A.K.K.² code base)- Medal of Honor: Allied Assault - Spearhead (2003) – EA Los Angeles
- Medal of Honor: Allied Assault - Breakthrough (2003) – TKO SoftwareTKO SoftwareTKO Software is a video game developer founded in 2002 in Santa Cruz, California, United States by Jacob Hawley and Michael Songy.TKO Software created Medal of Honor: Allied Assault: Breakthrough and the multiplayer portion of Medal of Honor: Pacific Assault , both for Electronic Arts...
- Call of Duty (2003) – Infinity WardInfinity WardInfinity Ward is an American video game developer. Infinity Ward is responsible for the development of the video game Call of Duty and four other installments in the Call of Duty franchise....
- Call of Duty: United OffensiveCall of Duty: United OffensiveCall of Duty: United Offensive is an expansion pack for the first-person shooter computer game, Call of Duty. It was developed by Gray Matter Interactive, with contributions from Pi Studios, and published by Activision...
(2004) – Gray Matter Interactive - Call of Duty Classic (2009) – Infinity WardInfinity WardInfinity Ward is an American video game developer. Infinity Ward is responsible for the development of the video game Call of Duty and four other installments in the Call of Duty franchise....
- Call of Duty: United Offensive
- Severity (2007) – Cyberathlete Professional LeagueCyberathlete Professional LeagueThe Cyberathlete Professional League , founded on June 27, 1997 by gaming entrepreneur Angel Munoz, is a professional sports tournament organization specializing in computer and console video game competitions....
- Iron Grip: WarlordIron Grip: WarlordIron Grip: Warlord is the first commercial release from independent computer game developer ISOTX. It is a first-person shooter combined with many real-time strategy elements...
(2008) – Isotx - Dark SalvationDark SalvationDark Salvation is a gothic horror first-person shooter computer game created by Mangled Eye Studios released on July 28, 2009 for Microsoft Windows. The game follows the story of Talia, a young woman whose family is killed in the service of the demon Lucafix...
(2009) - Mangled Eye Studios - Quake LiveQuake LiveQuake Live is a first-person shooter video game by id Software designed to run on x86-based computers running Microsoft Windows, Mac OS X or Linux that is downloaded and launched via a web browser plugin. It is a variant of its predecessor, Quake III Arena .Quake Live is free to download and play...
(2010) - id SoftwareId SoftwareId 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...
See also
- List of game engines
- Fast inverse square rootFast inverse square rootFast inverse square root is a method of calculating x-½, the reciprocal of a square root for a 32-bit floating point number in IEEE 754 floating point format...
- First person shooter engine
- Doom engineDoom engineThe 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...
- Quake engineQuake engineThe 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 ....
- Quake II engineQuake II engineid Tech 2, also known as the Quake II engine is a game engine developed by id Software for use in their games, most notably Quake II. Since its release, the Quake II engine has been licensed for use in several other games....
- Id Tech 4
External links
- ioquake3 project page
- [ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip Full Source Code of the Quake III version of Id Tech 3]
- Id Tech 3 full games list