When comparing Angel2D vs Orx, the Slant community recommends Orx for most people. In the question“What are the best 2D game engines?” Orx is ranked 5th while Angel2D is ranked 90th. The most important reason people chose Orx is:
Powerful config system that makes orx data-driven and provides an easy to use load/save system.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Great for prototyping
The framework is focused on prototyping. It has plenty of features to speed up development. It has a console with a lua interpreter, tuning variables and function calls. GWEN is well supported. Provides a simple interface for Box2D. A simple messaging system with which entities can subscribe to to receive messsages among other things.
Pro Permissive licence and easy to extend
Angel2D is built with the idea that you the game developer should have control over the framework and be able to add features if you like. So the code is BSD-licenced and very easy to extend for anyone that has completed a basic C++ course or equivalent.
Pro Great performance
While Angel2D isn't the best performing framework out there it's certainly no slog when compared to competition. Simply by the virtue of being native it puts itself ahead of engines like Gamemaker and frameworks like Love2D.
Pro Simple interface to lua scripting
If you're not comfortable with a basic subset of C++ it is not recommended to use this framework. But the Lua scripting platform is very nice for generating actors.
Pro Very helpful and simple project set up for newcomers
Often with game engines they throw you into unfamiliar territory and let you explore for yourself. While this wouldn't be a big issue with Angel2D due to it being a very simple framework it kickstarts your game prototyping.
Pro Focused on providing convenient features
Angel was created with game jams in mind, so it's focused on providing as many convenient features as possible, but in a quickly understandable way.
Pro Cross platform
Angel can create games for Windows, the Mac, most flavors of Linux, and iOS. It uses the native build systems on each platform (Visual Studio, Xcode, Make), so you can be up and running as soon as possible.
Pro Low-level code is easily accessible
Low-level code that Angel wraps is always just an easy click away, ready to be overridden or improved.
Pro Very light wrapping on all of the libraries
A very important point that's often underestimated. This framework is designed to be removed. It's not there to provide a complete engine for you which you will have trouble moving away from. The basic interface to Box2D is very spartan. You're given the simplest of Box2D shapes, not even polygonal fixtures. This limitation (seems to be) there so that the integration with the engine is very low. You never create a physics actor with anything more complicated than an enum describing if it's supposed to be a sphere shape or box shape.
Pro Powerful config system
Powerful config system that makes orx data-driven and provides an easy to use load/save system.
Pro Friendly community
Good friendly development community ready to help each other with tips and advice for setting up and best practices.
Pro Automatic hot-loading of resources
Automatic hot-loading of resources upon modification on disk, shortens drastically iteration times.
Pro High performance
Written in C with high emphasis on memory and CPU efficiency.
Pro Supports desktop and mobile
Supports Windows, Linux, Mac OS X, iOS and Android.
Pro Data configuration
Orx is a Data Driven engine that greatly reduces required code. You can configure object definitions, bodies, cameras, sound, animation, event tracks, etc.
Pro Custom shader support
GLSL code can be added straight into data configuration files and can be applied to any texture: background or objects whivh allows for some amazing effects. All GLSL versions are supported, again by providing the shader language version in your configuration file.
Parameters are supported and values over time for shader animation.
Pro Flexible clock system
Clock system that provides time consistency and allows time stretching + high precision timers
Pro Flexible and simple FX
Color and translation FX are simple to configure and apply to objects.
Pro Good animation engine
Includes a chaining graph & custom animation events for synchronization.
Pro Free and open source
Uses the zlib license. Lets you use Orx for free for any kind of projects, even for commercial ones.
Pro Input controls and binding
All input devices are fully supported: Joysticks, Mouse, Gamepad, Keyboard and Touchscreen. Multiple physical devices and be mapped the same binding.
Pro Excellent results on performance benchmark
Rated the fastest engine in the OpenFL’s BunnyMark since October 2015.
Pro Great audio support
Samples for sound effects, or streams for music. All sounds can be groups via audio buses just like in a typical DAW (Digital Audio Workstation).
All sounds can be spatial relative to the camera.
Pro Viewport scheme allowing multiple views
Camera/viewport scheme allowing multiple views displayed with camera translation, zoom and rotation.
Pro Good render support
Fragment (pixel) shader support, render to texture, MRT, easy composition and custom rendering support.
Pro Easy post-processing/compositing for complex visual effects
Pro Integrated runtime profiler
Integrated runtime profiler (with graphical display) to easily spot which parts of your game need to be optimized.
Pro Collision handling and rigid body physics
Pro Screenshot capture tool
Supports .bmp, .png, .jpg, .tga and .dds
Pro Multi-Threading
Pro Great IDE Support
Out of the box Windows support for:
- Visual Studio
- Codelite
- CodeBlocks
- gmake
Out of the box Mac support for:
- XCode
- Codelite
- gmake
Out of the box Linux support for:
- Codelite
- CodeBlocks
- gmake
Pro Well-supported C++ wrapper
Orx provides a excellent c++ wrapper for object oriented design, called: orx/Scroll. You can, of course, roll your own.
Cons
Con No asset pipeline
Unlike XNA/Monogame, Gamemaker or many other similar platforms, Angel2D doesn't have an asset pipeline. The extents of the asset importing is manually loading individual files in code or naming them according to a convention to load a set of them.
Con No longer supported
Hasn't been updated in 2 years.
Con Incomplete documentation
The entire framework is technically documented at http://docs.angel2d.com/ but certain functionality isn't described in there but rather it's just a list of functions. They all have descriptive names and it should be common to run into a feature which isn't given example to in the "Introgame"-project example.
Con Abandoned by developers
Sadly this project has been abandoned by the developer. The main github doesn't see any pull requests fulfilled anymore. There's a debugline draw fix on the github that's rather simple to fix. It is recommended you pull that fork rather than the master branch. Though the simplicity of the framework still makes it a good choice for prototyping.
Con Feature discovery and explanation could be better
Some features are not well explained / highlighted: for example, unless you use the interactive project initialization, you have to go over the tutorials and examples in the wiki to learn that there is an optional C++ layer, Scroll, developed on top of the C API. Similarly, some major information are missing from the website, wiki and Doxygen documention, and are left for the users to discover in source headers and INI template files, or by searching the forum (e.g. the 0,0 coordinate being the center of the screen and not top left, the list of all Orx scalar types and their use, etc).