Orx is an open source, portable, lightweight, plugin-based, data-driven and extremely easy to use 2D-oriented game engine.
Orx has been developed to allow fast creation of prototypes and games.
Orx is a full featured and powerful "2.5D" game engine. All objects and cameras are created in a 3D space, but only a 2D rendering plugin is currently available.
Here are some key features of "Orx":
· extremely easy to use: all objects have simple accessors that allow you to change all properties in one line of code (graphic, animation, sound, physics, visual FX, and much more)
· Automatic sprite rendering using 3D hardware acceleration allowing: translations, anisotropic scale, rotation, transparency (alpha blending), coloring, tiling and mirroring
· camera/viewport system allowing multiple views on one screen with camera translation, zoom and rotation
· sound and music handling where you can tweak volume and pitch
· collision handling and rigid body physics
· easy to use animation system
· event management
· being data-driven means you only need to write one line of code to create a full featured object, as all of its properties can be defined through config files and changed without any need to recompile. For example, you can add graphics, collision and physics on an object without having to write a single line of code for it!
· powerful configuration system, featuring inheritance, direct random control and history reload, allowing you to tweak almost everything without having to change a single line of your code
· clock system allowing you to keep time consistency everywhere and, more important, giving you the ability of doing local or global time stretching. Slowing down (or speeding up) time for a bunch of monsters or your background music has never been easier!
· animation chaining graph: you define in the config files all possible transitions for your characters, and you simply have to ask the animation you want to play without having to bother with the current running animation and all the chaining. For example, if you want to run, in your code you simply need to ask for the run animation and the engine will take car of all transitions for you, using the graph you defined in the config files. Your character was walking? Then he'll go directly to the run animation. Was it lying down? It'll first get up, then start running without having you to write all the code needed.
· all of your game objects have 3D hierarchical positions, meaning that you can easily make groups of objects and move, rotate and/or scale all of them at once
· visual FX: you define, as usual in config files, curves based on sine, sawtooth or linear shape and you can combine them into complex effects that can be applied on object color, alpha, position, translation or rotation. This is very handy for all the hit, fade in, fade out or even more complex eye-candy visual effects.
· Differential scrolling upon request with an unlimited number of planes. Having objects scroll with different speed matching their depth from the camera is more than simple: you merely need to add one property in your config file telling that the object will use differential scrolling or even that it should scale relatively to its depth for a full 2.D rendering!
What's New in This Release: [ read full changelog ]
· Migrated all SFML plugins on all platforms to SFML 1.5: linux was using SFML 1.3, other platforms were using SFML 1.4
· Fixed the reload of config history: logic was broken and it could even crash.
· Physics plugin now can handle negative scales (mirror effect).
· Fixed spawner not using scale when setting spawned object's relative speed
· Added orxLOG_CONSOLE(), orxLOG_FILE() and orxLOG_RAW() helpers.
· Config section are not allowed anylonger to have leading or trailing spaces + trimmed all requests accordingly.
· Fixed spawner wave timestamp not being correctly cleared when a spawner was reset.
· Removed obsolete files.
· Misc minor updates in comments/doc files.