DXQuake3 Features

The Quake 3 Engine, rewritten in Direct X
Richard Geary (DXQuake3@dsl.pipex.com)

Summary

Multiplayer over LAN and Internet
Faster frame rate than Quake 3
Includes all the important components of the Quake 3 engine

Rendering

  • Renders Quake 3ís BSP map files
  • Dynamic texturing using Quake 3ís Shader format
  • Direct3D state changes are minimised
  • All objects and BSP faces are frustum culled and quick-sorted by z-distance
    MD3 Model animation, texturing and rendering
  • Uses over-bright bits for extra precision
  • Dynamic Curved surface detail levels
  • Multi-texturing up to the video card limit
  • Billboard texture rendering
  • Dynamic lighting & fog

Networking

  • Uses DirectPlay Server-Client interface
  • Multithread safe using Critical Sections
  • Delta-compression of client and server packets
  • Playable over an ISDN internet connection

Debug Tools

  • Memory manager tells you exactly where any memory leak occurred
  • Detailed error logging
  • Exception handling
  • Profiling tools

3D Manipulation Algorithms

  • Collision detection
  • Axis aligned box (AABB) against BSP Nodes and Brushes
  • AABB against Curved Surface (triangles)
  • Floating point truncation aware
  • Bezier curved surface creation
  • Projection of a polygon onto an arbitrary 3D surface

Console, Input and Output

  • Console provides a backbone for game management, and allows in-game console variables and commands
  • Tab completion, scrolling, carat, repeat previous command
  • Logs all messages and errors to a crash-proof logfile
  • Controllers : DirectInput and/or Win32 input methods
  • File IO : Extracts resources from PK3 files on the fly
  • Sound : DirectSound with optional 3D positioning and velocity

Not Implemented

  • Bots (Proprietary AI)
  • Virtual Machine (for running Mods safely)