Spritesheet based animated sprites
[Read More]

Scenegraph based transformations
[Read More]

Particle simulation with affectors
[Read More]

Sound and music playing
[Read More]

Text rendering with kerning
[Read More]

Support for multiple texture formats
[Read More]

Profiler graphs and statistics
[Read More]

Works on multiple platforms
[Read More]

Template containers and algorithms
[Read More]

Additional features

  • Fully C++11 compliant codebase
  • High precision monotonic timers
  • Atomic counters
  • Thread pool creation, synchronization and affinity assignment
  • OpenGL 2.0/OpenGL ES 2.0 rendering
  • Basic math lbrary for vectors, 4x4 matrices and quaternions
  • Logging system with multiple levels and console or file output
  • GLFW 3 or SDL 2 for window and input on PC
  • Joystick support with hot swap
  • Android assets support
  • Clean separation between implementation and interface classes
  • Google Test based unit tests with coverage checked with Gcovr
  • Doxygen based documentation with Graphviz class diagrams
  • Periodically checked with Cppcheck and Valgrind
  • Periodically linted with Artistic Style and Uncrustify

Long-term roadmap

  • Implement a Camera node for the scenegraph
  • Add a collision detection and response system
  • Implement a TOML parser to load and save settings
  • Custom user shaders and post-processing
  • Custom sprite meshes (to separate the opaque area from the transparent one)
  • Add a 2D skeletal animation system
  • Insert iterators in order to support more algorithms
  • Separate game, input and audio update in different threads
  • Refine the thread-pool system and expose it to the user API
  • Support some ES 3.0 and 3.1 features like VAOs and instancing