A cross-platform C++ game engine for 2D game development, supporting Windows, macOS, Linux, iOS, tvOS, Android, and web browsers.
Ouzel is a C++ game engine focused on 2D game development, offering cross-platform support for desktop, mobile, and web targets. It provides a full suite of tools for rendering, audio, input, and scene management, solving the problem of building games that run consistently across diverse operating systems and devices.
Game developers and indie studios looking for a lightweight, portable engine to create 2D games for Windows, macOS, Linux, iOS, tvOS, Android, and web browsers. It suits those comfortable with C++ who need fine-grained control without the overhead of larger engines.
Developers choose Ouzel for its simplicity, performance, and broad platform coverage—all in a single codebase. Its multi-threaded architecture and support for multiple rendering backends (Direct3D, OpenGL, Metal) make it a flexible alternative to heavier engines while maintaining professional-grade features.
C++ game engine for Windows, macOS, Linux, iOS, tvOS, Android, and web browsers
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Windows, macOS, Linux, iOS, tvOS, Android, and web via Emscripten, enabling deployment across most modern devices from a single codebase, as evidenced by the comprehensive platform list in the README.
Uses separate threads for rendering, sound, and game logic to optimize performance, which is crucial for smooth gameplay on resource-constrained mobile and web platforms.
Includes scene management, animation with tweening, particle systems, and sprite rendering specifically tailored for 2D game development, as shown in the example code and features list.
Supports Direct3D 11, OpenGL variants, OpenGL ES, and Metal, ensuring compatibility with different graphics APIs across platforms, which enhances portability without sacrificing performance.
While it supports basic 3D elements, the engine is primarily designed for 2D games and lacks advanced 3D features like physics engines or complex shader systems, making it unsuitable for complex 3D projects.
Being a smaller project with a Public Domain license, it has fewer third-party resources, plugins, and community support compared to established engines like Unity or Godot, which can slow down development.
Compilation requires manual steps for platforms like Linux, Raspberry Pi, and Emscripten, including installing specific libraries and running commands, as detailed in the README, which can be error-prone for newcomers.