When comparing Allegro vs GameMaker Studio 2, the Slant community recommends Allegro for most people. In the question“What are the best 2D game engines?” Allegro is ranked 12th while GameMaker Studio 2 is ranked 67th. The most important reason people chose Allegro is:
The Allegro community has produced a lot of great tutorials and resources. Allegro [Wiki](https://wiki.allegro.cc/index.php?title=Main_Page), Mike Geig's Allegro [Tutorials](http://fixbyproximity.com/2d-game-development-course/), Rachel Morris' [Tutorials](https://www.youtube.com/watch?v=E4RqHtEAAds), CodingMadeEasy's [Tutorials](https://www.youtube.com/playlist?list=PL6B459AAE1642C8B4&feature=plcp).
Ranked in these QuestionsQuestion Ranking
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.
Pro Quick prototyping
Pro Good user interface
Pro Well-optimized engine
Pro Has a trial version (but limited functions, can't export)
Pro Many unofficial tutorials
Most GMS1 tutorials are fine for GMS2
Pro Highly customizable IDE
Although users must work within the IDE and editor, GMS2 has many options to customize the look and feel
Pro Good documentation
Pro Huge, generous community
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.
Con Not the best scripting language out there
GML is just weird; if you want to learn programming, it is not the best because it teaches bad habits and has many odd shortcuts and shortcomings that won't transfer to a real language
Con HTML5 export is buggy, doesn't "just work"
Con Quite expensive
Windows ($100) + HTML5 ($140) + Mobile ($400) + UWP ($400) is $1,050, plus $800 anually for each console export separately. But doesn't do anything any of the free engines can't do, and the stability and tech support aren't great.
Users frequently report crashes and hangs, particularly when working with assets, and the software uses a complicated underlying meta-file structure that may become corrupted and cannot be rebuilt
Con Limited support for OOP
Con Small development team
The core programming team is only 5-10 people, with about 30 employees total, so bug fixes can take a long time to be addressed, and there aren't many official tutorials