Quake III Arena - Development - Engine

Engine

The id Tech 3 engine is the name now given to the engine that was developed for Quake 3. Unlike most other games released at the time, including its primary competitor, Unreal Tournament, Quake 3 requires an OpenGL-compliant graphics accelerator to run. The game does not include a software 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 3. 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 were to type certain phrases the bots may respond, typing "You bore me" might cause one of the bots 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 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, as they have for most of their prior engines. As before, the engine, but not the content such as textures and models, were 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.

Read more about this topic:  Quake III Arena, Development

Famous quotes containing the word engine:

    The will is never free—it is always attached to an object, a purpose. It is simply the engine in the car—it can’t steer.
    Joyce Cary (1888–1957)

    There is a small steam engine in his brain which not only sets the cerebral mass in motion, but keeps the owner in hot water.
    —Unknown. New York Weekly Mirror (July 5, 1845)

    Industrial man—a sentient reciprocating engine having a fluctuating output, coupled to an iron wheel revolving with uniform velocity. And then we wonder why this should be the golden age of revolution and mental derangement.
    Aldous Huxley (1894–1963)