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