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

    • 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 on platforms with Bluetooth backends


    • 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.