Developer(s) | id Software |
---|---|
Stable release | 1.32b / August 19, 2005 |
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 |
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.
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.
Unlike most other game engines released at the time—including 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]
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 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]
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.
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.
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.
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.
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.
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, 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.
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.
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.
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.
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 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.
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.
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.
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.
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.
{{cite web}}
: CS1 maint: unfit URL (link){{cite web}}
: CS1 maint: unfit URL (link){{cite web}}
: CS1 maint: bot: original URL status unknown (link)