Welcome to the ioquake3 wiki - the page to collect and organize all tidbits about this Quake III Arena compatible game engine.
This wiki is primary oriented for users, developers and server administrators.
- Building ioquake3
- ioquake3 Design Decisions
- ioquake3 Road Map
- Modular Rendering System
- Mod Compatibility List
- Mod or Standalone?
- Stereo Rendering
- New Logo Ideas
- Packaging ioquake3
- ioquake3 front-end
- Code 3 Arena
- Console Reference
- website improvements tbd
- Academic Articles
ioquake3 is divided into two general parts, the client part and the server part, with a networking system that connects the two. The client mainly takes care of user interface. That is, it displays the 3D rendering of the game world and also collects keyboard, mouse, and joystick input events. The server is responsible for taking care of everything else: moving the user's position and view based on keyboard/mouse/joystick inputs, detecting collisions, processing bot AI, determining hits and frags, etc.
During startup of a standard game, the top-level flow of control goes like this:
- Depending on whether you're using a unix environment or Windows, program control will start at either
- Windows will first create a console window using
- Misc. initialization of CD path, install path, and command line buffer.
Com_Init(), which processes the command line, initializes some internal memory buffers, loads cvars, and initializes the server, the client, and the network channel.
- Call Com_Frame() in an infinite loop. Each call to Com_Frame() results in one frame of gameplay.
- These are weekly subversion builds of ioquake3 for Windows. Thanks to Ludwig Nussel and SUSE for providing the build service for the Linux and Windows versions! Thanks to Ryan “icculus” Gordon for providing the build service for OS X!
Mediawiki misc information
This is a wiki, you can edit the articles
Consult the User's Guide for information on using the wiki software.
Add Howto Requests if you wish to know how to do something but can't find out how.