Core

  • Abstracted engine core can be easily ported to any device or operating system.
  • Abstracted renderer (currently implemented via OpenGL).
  • Abstracted shader system (currently GLSL and Cg support).

Graphics

  • Hardware accelerated 2D and 3D graphics.
  • 2D graphics simplified and separated from 3D.
  • Entity-based hierarchy for grouping and inheriting objects.
  • TrueType and OpenType font rendering in 2D and 3D.
  • Basic 2D shapes and 3D primitives.
  • Shader-based material system for texturing and post-processing.
  • Support for many modern 3D renderer features such as realtime shadows.

Effects and Animation

  • 2D and 3D Particle Systems.
  • Full skeletal animation support.
  • 2D sprite sheet animation support.
  • Easy to use tweening classes.
  • Bezier path tweening.

Assets

  • PNG image support.
  • Custom file format for 3D meshes and scenes.
  • Import tool for 3D assets supports COLLADA and many other formats.
  • Material definiton file for easy material management.

Lua Scripting

  • Standalone Lua API mirroring C++ API.
  • Simple Lua class system with inheritance support.
  • Custom app format and standalone player.
  • Custom tools to build apps for different platforms without compiler.

Sound

  • OGG and WAV file support.
  • Easy to use 2D and 3D positional sound support.

Other features

  • Full Unicode support and custom Unicode-friendly String class.
  • Resource management and archived resource loading.
  • Dictionary object system for easy writing and loading data in XML and JSON files.
  • Config system for easy configuration management.

Additional modules

  • 3D Physics and collision integration (via Bullet).
  • 2D Physics and collision intergration (via Box2D).
  • Themeable UI.
  • Networking.
  • Kinect (via freenect).

Features currently in development

  • iOS Port.
  • 2D and 3D editor tools.
  • Standalone IDE for Lua development.
  • Browser plugin.