Jump to content

id Tech 3

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Elzair (talk | contribs) at 18:55, 21 July 2008 (→‎External links). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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. In its heyday, 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 the 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, but had very little of the original code.

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.

Engine features

id Tech 3 loads 3D models in the MD3 format. The format used 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 key frames 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 move independently for sake of procedural animation. 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 lightmaps 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.

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 features included a high-level shader language and a method for rendering volumetric fog.

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. (More information about the file format can be found at his site)

Uses of the engine

Projects based on the GPL source release

  • ioquake3 – A project to remove bugs and the old mouse input code, to clean up source code and to add more advanced graphical and audio features via SDL and OpenAL, and to act as a clean base package to build other projects on.
  • XreaL – Adding many advanced graphical features such as shadow mapping, Per-Pixel Lighting, and many more features.
  • OpenArena – A Quake III Arena look-alike utilizing ioquake3 with all data under the GPL.
  • Tremulous – An open-source sci-fi computer game built upon the ioquake3 source code.
  • World of Padman: Standalone Complex – A stand-alone game using ioquake3, formerly a modification.
  • Space Trader - An Action/Strategy game from HermitWorks Entertainment
  • Challenge Quake3 - an improved executable for use with the Challenge ProMode Arena modification, offering further enhancements on the ioquake3 code base without the use of SDL and OpenAL.

Products using a proprietary license

See also