Oxygine is C++ engine for 2d mobile games. One more shell around OpenGL/D3D API you would say? No, this is a set of classes and tools to create a game according to your requirements.
In the base of everything there is a scene graph, that is similar to Flash one. To be short, You can call this as Flash for C++, but more comfortable and way faster. Initially it was developed for mobile platforms (iOS, Android), but can be also used for PC games.
Source code is available under MIT license (use for free anywhere).
- Source code, libraries
- Necessary tools, documentation
- Demo for testing and demonstration of base features
Download base features demo:
- Android version built with Marmalade
- Android version built with native Android SDK/NDK and SDL2
- Windows version
You could build it on top of the Marmalade, SDL2 or adapt it for your platform.
Examples of code:
//create sprite and display it spSprite sprite = new Sprite(); sprite->setResAnim(gameResources.getResAnim("anim")); sprite->attachTo(getRoot()); sprite->setScale(0.5f); //run animation tween sprite->addTween(TweenAnim(gameResources.getResAnim("anim2")), duration, loops)); //run position tween sprite->addTween(Sprite::TweenPosition(x, y), duration, loops)); //handle events sprite->addEventListener(TouchEvent::CLICK, CLOSURE(this, &someClass::onClick)); //short syntax example sprite = initActor(new Sprite, arg_resAnim = gameResources.getResAnim("plus"), arg_scale = 0.5f, arg_onClick = CLOSURE(this, &HUD::clicked), arg_pos = Vector2(70, 55), arg_attachTo = getRoot());