During early March 1999,
ATI leaked the internal hardware vendor (IHV) copy of the game, which unveiled to the public in
Macworld Conference & Expo at
Moscone Center in January and
Makuhari Messe in February by
Steve Jobs (
CEO of
Apple Inc. at the time when it unveiled). This was a functional version of the engine with a textured level and working guns. The IHV contained most of the weapons (excepting the Gauntlet) that would make it into the final game although most were not fully modeled; a chainsaw and grappling hook were also in the IHV but did not make it into the final release. Many of the sounds that would make it into the final release were also included. The game was developed by nine people in 18 months. After the IHV leak, id Software released a beta of the game called
Quake III Arena Test on April 24, 1999, initially only for
Mac OS before expanding to Windows at a later date. The Q3Test started with version 1.05 and included three levels that would be included in the final release: dm7, dm17, and q3tourney2. Id Software continued to update Q3Test up until version 1.09. id co-founder and former technical director John Carmack has stated that
Quake III Arena is his favorite game he has worked on.
Quake III Arena was shipped to retailers on December 2, 1999; the official
street date for the game was December 5, although id Software
chief executive officer Todd Hollenshead expected the game to be available as early as December 3 from retailers like
Babbage's and
EB Games. The game supported the A3D 2.0
HRTF technology by
Aureal Semiconductor out of the box.
Game engine The
id Tech 3 engine is the name given to the engine that was developed for
Quake III Arena. Unlike most other games released at the time,
Quake III Arena requires an
OpenGL-compliant
graphics accelerator to run. The game does not include a
software or
Direct3D renderer. The graphic 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".
Quake 3 also introduced spline-based curved surfaces in addition to planar volumes, which are responsible for many of the surfaces present within the game.
Quake 3 also provided support for models animated using
vertex animation with attachment tags (known as the
.md3 format), allowing models to maintain separate torso and leg animations and hold weapons.
Quake 3 is one of the first games where the third-person model is able to look up and down and around as the head, torso and legs are separate. Other visual features include
volumetric fog, mirrors, portals, decals, and wave-form vertex distortion. For networking, id Tech 3 uses a "snapshot" system to relay information about game "frames" to the client over
UDP. 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).
id Tech 3 uses a
virtual machine 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. Unless operations which require a specific
endianness are used, a QVM file will run the same on any platform supported by
Quake III Arena. The engine also contains bytecode compilers for the
x86 and
PowerPC architectures, executing QVM instructions via an
interpreter.
Quake III Arena features an advanced
AI with five difficulty levels which can accommodate both a beginner and an advanced player, though they usually do not pose a challenge to high-tier or competitive players. Each bot has its own, often humorous, 'personality', expressed as scripted lines that are triggered to simulate real player chat. If the player types certain phrases, the bots may respond: for example, typing "You bore me" might cause a bot to reply "You should have been here 3 hours ago!". Each bot has a number of alternative lines to reduce the repetition of bot chatter. The Gladiator bots from
Quake II were ported to
Quake III Arena and incorporated into the game by their creator - Jan Paul van Waveren, aka Mr. Elusive. Bot chat lines were written by
R. A. Salvatore, Seven Swords and Steve Winter. Xaero, the hardest opponent in the game, was based on the Gladiator bot Zero. The bot Hunter appears on magazine covers in the later id game
Doom 3. On August 19, 2005, id Software released the complete source code for
Quake III Arena under the
GNU General Public License v2.0 or later, as they have for most of their prior engines. As before, the
engine, but not the content such as textures and models, was released, so that anyone who wishes to build the game from source will still need an original copy of the game to play it as intended.
Fast inverse square root Fast inverse square root, sometimes referred to as Fast InvSqrt() or by the
hexadecimal constant 0x5F3759DF, is an algorithm that estimates \frac{1}{\sqrt{x}}, the
reciprocal (or multiplicative inverse) of the
square root of a 32-bit
floating-point number x in
IEEE 754 floating-point format. The algorithm is best known for its implementation in the source code of
Quake III Arena. At the time, it was generally
computationally expensive to compute the reciprocal of a floating-point number, especially on a large scale. However, the fast inverse square root bypassed this step. Around 2002, initial speculation pointed to John Carmack as the probable author of the code, but he demurred and suggested it was written by Terje Mathisen, an accomplished assembly programmer who had previously helped id Software with
Quake optimization. Mathisen had written an implementation of a similar bit of code in the late 1990s, but the original authors proved to be much further back in the history of 3D computer graphics with Gary Tarolli's implementation for the
SGI Indigo as a possible earliest known use.
Source ports Quake III Arena has been unofficially ported to several consoles, including the
PlayStation Portable handheld and
Xbox console. These versions require a modified console or handheld and the assets to the original game to go along with the source port. Carmack has said that Quake Trilogy (including Arena) will be ported on the iPhone/iPod Touch/
iPad. An unofficial version for
iOS was released through
Cydia for
jailbroken iOS devices in April 2008; it is a demo version similar to the original except that it integrates the
iPhone and
iPod Touch's accelerometer and touch controls to make gameplay possible. A high-definition version for iPad was released in November 2010, featuring re-created controls, sharper graphics, better gameplay, and better framerate; this improved version was also integrated into the iPhone and iPod touch version of the port. A
Moorestown prototype version was demonstrated on a reference design that demonstrated performance of up to 90 frames per second. An unofficial port of Quake III for Symbian mobile devices was made. It requires PAK files from original game to run. An unofficial port of the game to
Android was created based on the released source code. This means the game can be run on several Android powered devices, most notably the
Motorola Milestone,
Motorola Droid, and the
Nexus One, as well as other high-end devices. In August 2011, the ARM-based
Raspberry Pi credit card-sized computer was shown running a specially-compiled ARM version of
Quake III on
Debian. In February 2019, an unofficial port of
Quake III called ioQuake3DS was released for the
Nintendo 3DS by masterfeizz. The console must be
homebrewed in order to be run. In May 2022, an unofficial VR port was released for Meta Quest and Pico virtual reality headsets by a group of modders around Team Beef. To run the port, players must use sideloading. The port is based on the IoQuake3 source port. ==Release==