General

  • Clean and extensible OO-design
  • Uses modern C++ where possible
  • Automatic resource management
  • Easy framework for fast examples

Resources

  • Meshes (supports Milkshape3D format)
  • Images (supports PNG format)
  • Fonts (supports TrueType and texture-based)
  • Audio (supports Ogg Vorbis 3D and 2D playback)
  • Scripts (support Lua scripts)
  • Automatic resource management via reference counting
  • Possible to register your own resource loaders!

Rendering

  • View Frustum Culling
  • Cross-platform OpenGL renderer
  • 100% shader-driven via GLSL
  • Cross-platform windowing code
  • Material serialization format
  • Based on VBOs for fast rendering
  • Minimizes batch calls for best performance

Input

  • Devices Supported: Keyboard, Mouse and Joysticks
  • Event-based (callbacks / delegates)
  • Polling-based

Scene

Component-based Game Objects:

  • Geometry
  • Camera
  • Light
  • Sound
  • Listener
  • Trigger
  • Skydome
  • Model
  • Controller
  • Water
  • Transform

Built-in scene serialization to JSON format.

Animation

  • Skeletal Animation via Milkshape3D
  • Animation Blending (soon)
  • Attachment of objects to bones (soon)

Scripting

  • Scripts via Lua programming language (used in WoW and other games)
  • Bindings to Lua via SWIG binding generator
  • Possible to use co-routines for easy game logic

Terrains

  • Height-map based terrains
  • Editable in real-time
  • Paintable in real-time
  • Integrates with paging for seamless worlds

Physics

  • Bullet-based simulation
  • Triggers for game events

Controllers

  • First-Person Camera Controller
  • Third-Person Camera Controller
  • Script Controller
  • Kinematic Character Controller (via Physics)

Editor

  • Based on wxWidgets cross-platform GUI library
  • Scene serialization support using the engine built-in support
  • Easy placement of entities with manipulators
  • Scripting support using Lua