When comparing Orx vs libGDX, the Slant community recommends Orx for most people. In the question“What are the best 2D game engines?” Orx is ranked 5th while libGDX is ranked 14th. 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 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.
Pro Lots of resources to learn from
Lots of references, tutorials and open source code to learn from.
Pro Great performance across devices
While it may not always have the best performance for a particular device or system, it's one of the few engines which consistently performs very well across different platforms.
Pro Fantastic UI toolkit (scene2d)
scene2d is a 2D scene graph, scene2d.ui is a UI toolkit on top of that. It enables very complex mobile and desktop UIs.
Pro Can use any JVM language
Since it's built with Java and runs on the JVM, any language that compiles to Java bytecode can be used to develop games with libGDX.
Pro Uses Box2D
A Java port of the Box2D physics engine is included in libGDX.
Pro Allows you to migrate from 2D to 3D within same framework
LibGDX supports both 2D and 3D game development. Allowing developers to migrate from 2D to 3D with ease without having to switch the engine they are using or having to learn a new API.
Pro Doesn't force a specific design
Unlike some engines, which only allow you to make your game in a few specific ways, libGDX allows you to design any type of game you wish as it is extremely customisable.
Pro Active and helpful community
The libGDX community, in the official libGDX forum is extremely helpful and approachable for any kind of question regardless of the its quality or difficulty.
The forums themselves are a very helpful resource for any issue or guide simply by searching past posts in there.
In addition to the forums, there's also the official #libgdx IRC channel on Freenode.
Pro Interfacing with platform specific code
Sometimes it is necessary to access platform specific APIs, e.g., adding advertisement services or leaderboard functionality provided by frameworks.
Pro Free, open source & permissive license
libGDX uses the Apache License 2.0.
Not only is libGDX free and open source but also it's license gives you a lot of power over the engine. As long as you provide a copy of the license, give credit, do not hold devs liable and do not use libGDX logo in any engine forks you can do pretty much anything you want.
Pro Kotlin support
It is written in Java so you can easily make games using Kotlin and Ktx project will help you get all advantages of this language.
Pro Very easy to customize
Pro Constantly improved
LibGDX itself is pretty mature, and get updates not quite frequently, but various libraries for it are actively updated.
Pro Across platform support
You can write once and run anywhere (Android, IOS, Desktop, Browser) also lately came with lib to deal with VR.
Pro Support for 3rd party tools
libGDX has built in support for many 3rd party tools, including (but not limited to) Bullet Physics, Box2DLights and the well-praised Tiled Map Editor.
Pro Lots of tutorials to get you going
Even though the official documentation might be lacking, there are many tutorials on YouTube for libGDX.
Pro Excellent font rendering support
Very good tools for rendering fonts.
Pro Similar to the Microsoft XNA framework
Old XNA users may like libGDX since it's API is actually very similar to XNA's.
Pro Focusing on object pool patterns, to control memory without pointers
Unlike Unity or other engine, it allows to optimize a language that uses garbage collector when using patterns of objects you can control the use of memory without needing a language like C / C ++, getting the same speed in a more productive language.
Cons
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).
Con No network support
Con Not starter friendly
Even default applications fail to load in Android. It doesn't have any documentation on errors either.
Con Documentation could be better
Other than a brief installation / getting started overview, libGDX's documentation consists of an official wiki with several incomplete pages, and automated Javadocs. The community recognizes these shortcomings, and new users are encouraged to ask for help.
Con The project slowed down in development
The number of active developers has decreased, many open issues and pull requests.
Con Build system is clunky
LibGDX uses Gradle, which is very demanding of memory and makes IDEs freeze on anything if your computer is not powerful enough.
Con Does not create compiled code
LibGDX runs entirely on Java and does not create executable binaries.
Con A bit difficult to use
This engine is not well put together. Is made from various free modules each with their own peculiarities. At times it feels you need to learn a couple of libraries rather than just one. Is not an engine for beginners as it requires coding. Lots of coding. You need to be intermediate to advanced in Java to develop in LibGDX.