Oxygine is completely free and open source (MIT license) 2D game engine, available on GitHub. It is written in C++ and runs on MacOSX, iOS, Android, Windows and Linux.
Oxygine is written in C++. It provides easy to use API, which is designed with "do more with less code" philosophy. It uses a managed scenegraph system that takes care of rendering and updates, and provides ability to extend with custom rendering and updates.
You can build and run your C++ Oxygine application in web browsers. It won’t require any plugins, such as Flash or Unity, and runs as pure HTML5/JS application using WebGL for rendering.
You can analyze your application with embedded tools. Inspect in runtime scenegraph, loaded textures, FPS, performance and more.
Accurate unicode text rendering using bitmap fonts created with BMFont tool. Supports different alignment modes and substring colorization.
Oxygine provides command-line tools to build texture atlases with ability to convert it into compressed formats like PVRTC, ETC and more. Atlases can be automatically resized to any game resolution for higher quality.
Oxygine is developed to be fast and memory efficient on mobile platforms. It has flexible resources management system, automatic sprites batching, memory pools and more.
You can build Oxygine on top of the SDL2, Marmalade, Emscripten or adapt to your platform.