Game engine

edit

The Cube 2 engine features numerous improvements to its predecessor, the Cube engine, the most notable being:

  • Removes room-over-room limitations
  • OpenGL renderer architected for large geometry throughputs
  • Editing cubes on all six sides (including pushing/pulling faces/corners, etc.) within octree world structure
  • Heightmap editing system for terrain
  • Lightmaps with shadows for static lighting, with builtin lightmap compiler supporting curved surfaces, adaptive multi-sampling, and ambient occlusion
  • New weapons (pistol and grenade launcher)
  • New game mode (capture)
  • New physics (notably, bouncing grenades, gibs, and explosion debris)
  • Vertex and pixel shaders (assembly and GLSL), with expanded fixed-function visual effects for non-shader 3D cards
  • Normal mapping and Parallax mapping, also supporting specularity maps, glow maps, and environment maps
  • DOT3 lightmap / radiosity lightmap for normal-mapped diffuse and specular lighting
  • Separation of the gameplay and engine source code
  • "Master mode" allowing players to control the server
  • Voice announcements for gameplay events
  • Material system for volumes of water, lava, glass, clipped, and not-clipped
  • Water reflection, refraction, and pseudo-caustics
  • Reflective glass
  • Animated grass
  • Environment mapping for level geometry and models (with custom or automatically generated environment maps)
  • MD2 & MD3 model support with Phong shading, projected planar shadows, specularity maps, glow maps, and environment maps
  • Spectator mode
  • Ambient sounds
  • Automatic team selection
  • 3D user interface (menus are objects in the world)
  • Automatic occlusion culling via hardware occlusion queries
  • Server-side demo recording
  • Optimized networking code (less lag and bandwidth usage)
  • Mixed client-side/server-side gameplay code to mitigate cheating without affecting performance