When comparing Stencyl vs Allegro, the Slant community recommends Stencyl for most people. In the question“What are the best 2D game engines?” Stencyl is ranked 6th while Allegro is ranked 14th. The most important reason people chose Stencyl is:
Visual scripting in Stencyl is based on the [MIT Scratch](http://scratch.mit.edu/) project, which was designed to teach programming. Script elements fit together like puzzle pieces, ensuring that data and function types cannot be mismatched.
Ranked in these QuestionsQuestion Ranking
Pro No coding required, great drag & drop interface
Visual scripting in Stencyl is based on the MIT Scratch project, which was designed to teach programming. Script elements fit together like puzzle pieces, ensuring that data and function types cannot be mismatched.
Publish iOS, Android, Flash, Windows and Mac games without code.
Pro Haxe scripting available for advanced users
Power users can also write code in Haxe (similar to Actionscript 3) to create their own custom classes and extend the engine.
Pro The original concept for Ghost Song was created using Stencyl
The original concept for Ghost Song was created using Stencyl 3.x
Pro Great performance on every platform
Stencyl exports your games to native code so they have great performance on every platform.
Pro Supports desktop and mobile
Support for Windows, Mac OS X, Linux, iPhone, and Android
Pro Good engine architecture
Allegro is well designed, easy to use and has many useful features.
Pro Good documentation and lots of tutorials
Since it has been in development since mid-90s with hundreds of people contributing to both the engine and documentation, it has all of its bases covered when it comes to standard support.
Pro Per-platform library optimization
Allegro uses DirectX for Windows, and OpenGL for other targets.
Pro Freedom to implement your own game engine
You are not bound to the limits of existing game engines, and you can actually implement your own engine.
It needs much to improve for mobile games, it was left in the era of Flash games. In Android you can not even put the native keyboard, you can not access things like native camera, GPS or native text input.
Con Only available via subscription
There should be an option to buy it outright, especially considering it is written by a one man team....this is not exactly an Adobe level enterprise with shareholders, so there is no excuse!
Con Slow release cycle
Con Not a powerful engine
Should be used for basic games only.
Con Tile system is somewhat inflexible
Con Learning curve for hobbyist developers
Hobbyist developers coding alone may experience a learning curve with Allegro of about 200 hours (if you are rusty on C++). To learn quickly, see Mike Geig's tutorials at Fix By Proximity. This learning curve may be fine if you are considering going professional, but are still unsure.
For hobbyist developers not planning on going professional, you may want to look into a complete 2D game engine, rather than a coding library. For example, there are "non-coding" engines that provide support for coded plugins or scripting. But, if you are a dedicated hobbyist planning to use Allegro as your coding library of choice, you can still develop great games as a hobbyist.
Con Isn't great for C++
If you are a fan of object oriented programming, and want to use this library, then the chances are that you are going to be creating a lot of wrappers for functions in this library.
In short, if you're a C++ person, it could be recommended to check out SFML instead.