Game engine
editThe 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