When comparing Solar 2D (formerly Corona SDK) 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 Solar 2D (formerly Corona SDK) is ranked 15th. 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 Very simple to use
Pro Free
Corona SDK is completely free. That includes pro-tier plugins.
Pro Corona Simulator
Corona SDK ships with Corona Simulator, which runs your game/app directly on your PC/Mac and updates every time you make changes.
It provides immediate feedback to your actions, you can see your changes right on the screen, without necessity to make build to device. Getting instant feedback really boosts tenfold prototyping and development speed.
Pro Good documentation and lots of tutorials
Pro Content scaling
It's easy to create a game that looks good on many different sized mobile devices.
Pro Live builds - update builds running on a device automatically
With the live build feature, once you have created a build and installed on a device, you get lightning fast turnaround times because any change on the code or data is updated to the devices running the game (within the local WiFi) immediately. So changes can be tested on the real hardware within a very few seconds.
What's even more impressive, this even works flawless with multiple devices running the game. You have to use it to learn how good of a feature this is while development and even more, while doing QA. Imagine fixing bugs and everyone of your QA team/friends/whoever helps to get your game done, has all changes on his device without doing anything but waiting 5 seconds - outstanding.
Pro Lua syntax
Uses the great and easy-to-learn Lua programming language.
Pro Very comprehensive API
It's very quick to get things up and running with Corona SDK. The API is extensive and while it's not 100% feature-complete with the iOS API, it's close enough that you could create tons of games and never run into a roadblock.
The API docs can be found here.
Pro Amazing learning curve
Corona does not throw photoshop-like madness full of buttons editor. You can go as fast as you want, learning and building game from ground up. Eventually, you'll learn how much corona is doing for you. But to start you don't have to master complex editor software. It's a great tool to learn to start game development if you want to learn how to program and make games. Your experience will be 100% transferable to any other Pro game engine.
Pro Cross-platform desktop and mobile
Corona works on OS X, Windows and Android (including Kindle Fire & Nook).
Pro Marketplace for 3rd party plug-ins
Pro Great community
Pro Ability to call any native (C/C++/Obj-C/Java) library
Pro Completely free
Since Corona SDK became Solar2D, it's completely free, as only some third-party plugins are paid.
Pro Open Source
Since Corona SDK became Solar2D, it's completely open source under MIT license.
Pro Well supported
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 Free, but not completely
Con Making a device build requires internet connection
To build your app for the device (iOS/Android/AppleTV) Corona requires to fetch resources from online. This would include base application template and plugins. This allows not to perform local build or use Xcode or Android Studio to do a build. Even Large games/apps would build very fast with good internet connection.
Your code never leaves computed. Corona SDK would transfer some information to determine which plugins and pieces has to be transferred in order to make a final steps in build.
As a bonus - you get basically one button press to get from your Corona Simulator game to game on a device.
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).