Contents‎ > ‎


Imagine is a multi-platform game/multimedia engine written in C/C++ released under the GPLv3 license. It's currently used in all my applications including Puzzle Orbs and all emulators. The APIs are not yet stabilized and subject to change in future versions.

  • Core platform support for Linux (with X server), Android (using the NDK), iOS 3.1+
  • Fully event-driven architecture using C++11 lambdas as callbacks
  • Timers with nano-second precision
  • Thread primitives
  • OpenGL context management
  • GPU-accelerated rendering (backends for OpenGL and OpenGL ES)
  • Vsync events allowing for low input latency by not rendering ahead multiple frames
  • Optimized support for video textures written to each frame (including OES_EGL_image and SurfaceTexture support on Android)
  • PCM audio playback
  • IO & file system support, including ZIP, RAR, & 7Z archive file access
  • Input handling, including multi-touch and multiple device support
  • PNG image loading
  • Truetype font rendering
  • Basic GUI toolkit supporting widgets like lists and alerts
  • Internal drivers for accessing Wiimotes, iControlPads, and Zeemotes (Linux, Android & iOS only)
  • Latest source is available under /imagine on Github
    Imagine is licensed under the GPLv3 with the additional terms under section 7 (legal/copyright notices must be preserved and the origin of the software may not be misrepresented). Commercial licensing is available, including additional platform support for desktop Linux, Mac, & Windows.