Oxygine - Free Open Source 2D C++ framework for Mobile and PC games

Just want to show you alternative framework. It is not so popular and huge as Cocos2dx.
But it is fast and small.

key features:

  • Language C++.
  • For rendering OpenGL(ES) 1.1 and 2.0 is used. Shaders supported.
  • Component based system, simple and predictable OOP API. Possibility to inherit from classes and overload their behavior.
  • No global mega managers of everything, that dictates requirements to the way you write your code.
  • Flash-like scenegraph and events model
  • fast, memory efficient
  • could be build on top of the SDL and Marmalade

more info: http://oxygine.org

check our logo

new update available!

I added new tools to help debug Touches and Texel2Pixel rendering

Little introduction, why did I need this?
I got a freelance request to port a flash game … to iOS/Android. I was proposed to use unity3d, that people say is very good and not suited for 2D. So, I had to implement my batching and rendering using primitives. In semi-automatic mode converted as3 > C#, but even with Pro version features FPS on iPhone 4 was around 15 in not loaded scene. In a loaded scene there can be up to a few hundred objects. I decided to rewrite everything using C++, try for example to write this game: … on pure Lua or C# and make it working on phone without lags: you wont succeed. I started looking for an engine … And to my surprise, I didn’t find anything good, except a few lua engines and also open sourced Cocox2dx. Okay, I decided to try it, but its syntax and code its just horrible, especially CC prefix for all classes. I was trying still to use it but then other problems appeared. So, I continued my search and found marmalade. Hooray, this is exactly what I was looking for, I thought at the beginning, even can code for iOS in Visual studio and build a project with one button. But there is one problem, with pure Marmalade you wont get far, it is very low-level. Thats how I came to an idea to write the engine myself, using my accumulated experience. Moreover, I wanted to make this long time ago, and I was worrying that downloadable games marking is dying and noone needs a good 2D engine.

Component based system, simple and predictable OOP API. Possibility to inherit from classes and overload their behavior.
Planned in cocos2d-x version 3. Do you want to participate? Please look at https://groups.google.com/forum/?fromgroups#!forum/cocos2d-js-devel
No global mega managers of everything, that dictates requirements to the way you write your code.
I’ve seen cocos2d-x based code that uses it directly, I’ve also seen code thas uses own widgets system, STL and fully abstraction from cocos2d API. So nobody dictates way to write code in cocos, except programmer’s experience.
Flash-like scenegraph and events model
Probably it will be interesting for research before version 3.
fast, memory efficient
Every engine have such features. Or, at least, declares them.

And, finally: cocos2d-x version 2.x come from Objective-C engine, and designed to be understandabe by Objective-C and Java programmers, including indie programmers who often does not know many C*+ idioms. Cocos2d-x version 3.x can introduce significant changes - and you can participate in this process. See mentioned mailing list and “develop” branch on github.
P.S. Also cocos2d-x 3 will use std::function instead of current callbacks or template magic in Closure, and use all c**11 features available in GCC 4.5-4.6* (not decided yet) and MSVC 2012*. Clang not mentioned because it have perfect c*+11 support.

It is only planned in coco2d-x version 3.
But Oxygine already have all of them.

new feature available: masking!

new feature available: powerfull masking
see: http://www.youtube.com/watch?v=-oWUrSho03o&feature=player_detailpage

good news everyone!
Magic Particles has been integrated to Oxygine:

Hi! New huge update is available:

  • reworked android make files
  • reworked cmake files
  • fixed SDL Android build
  • fixed SDL iOS build
  • added filesystem
  • added zipped packs support
  • removed system folder from data
  • improved examples

update:

  • added linux support
  • opengl resources could be reseted and restored
  • rewritten atlas packing algorithm
  • many other improves

Hi! Oxygine is alive if still need alternatives. Today I commited good update to main branch.