User:Justin Ormont/ioquake3

ioquake3 (or ioq3 for short; formerly known as icculus.org/quake3, which also used to be the URL of the project's website) is a game engine project which aims to build upon id Software's Quake 3 source code release. The source code was released on August 20, 2005 under the GPL.

The project's goal is to create a bug-free, enhanced open source Quake 3 source code distribution upon which new games and projects can be based, as well as an improved version (in relation to the original binaries) of the engine for playing Quake III: Arena, the Team Arena expansion pack and all the popular mods.

While the PunkBuster anti-cheat software is not supported (it is proprietary software), the security level is increased thanks to the bugfixes which are not present in the original executables.

Relevance
ioquake3 has been the basis of several id Tech 3-derivative games, including both stand-alone game projects, as well as former Quake III modifications exploiting the opportunity to become stand-alone thanks to the source code release. Examples include OpenArena, Tremulous  , Smokin' Guns , Urban Terror  and World of Padman. There are also other engines based on ioq3, such as Evolution Q3, a Star Trek: Voyager: Elite Force engine recreation project or OpenMoHAA.

The engine has been included in several Linux distribution repositories, such as Fedora and Mandriva, and ioquake3 powered games are also included in these and other distributions such as Debian. It is also included with some BSD derivatives, such as FreeBSD and NetBSD. The project has the support of Timothee Besset, who was in-charge of maintaining Quake 3 before the source release.

In addition, the engine has 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.

Improvements over the original engine
The most notable of the improvements the project has accomplished so far include:
 * Integrated VoIP using Speex
 * VoIP positioning support with Mumble
 * Anaglyph stereo rendering (for viewing with 3D glasses)
 * IPv6 networking support
 * OpenAL sound rendering - surround (5.1, 7.1) speaker layouts support, better sound quality
 * Ports to new platforms
 * Off-server data packs downloads via HTTP and FTP using cURL
 * Ogg Vorbis audio decoder
 * SDL backend for OpenGL context and window management and input
 * Full x86-64 architecture support
 * Rewritten PowerPC JIT compiler, with ppc64 support
 * Compilation with MinGW and cross-compilation for Windows for Linux
 * Improved console command autocompletion
 * Persistent console command history
 * Improved QVM (Quake Virtual Machine) tools
 * Coloured terminal output on POSIX operating systems
 * GUID system
 * Multiuser support on Windows systems (user-specific game data is stored in their respective Application Data folders)
 * PNG format support for textures
 * Numerous security fixes

History
Contrary to what the name might suggest, the ioq3 project was not started by Ryan "Icculus" Gordon, but by Zachary "zakk" Slater, shortly after the release of the original Quake III version 1.32 source code release by id Software. Icculus actually maintains only a mentor role and provides some of the web services necessary to run the project, namely the mailing lists and the SVN repository, although he has done some code contributions to the project.