When comparing Allegro vs BlitzMax, the Slant community recommends Allegro for most people. In the question“What are the best 2D game engines?” Allegro is ranked 12th while BlitzMax is ranked 52nd. 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).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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 Multi target
You can compile on Windows, Mac and Linux. Nothing to change. There are solutions to compile on the same machine for 2 targets.
Pro Modular
There are many modules to extend the features of the language: you can create PDF (via a Cairo module), or just download/upload files (via LibCurl), playing streaming sound (via BASS) and so on (databases, xml, xls...) User can create their own module (they could be written in plain BlitzMax)
Pro Easy syntax
Based on BASIC syntax. Supports OOP, collections (array, list and map)
Pro Stable language and source code
After many years the language it self is very stable. The packages contains the source code of ALL modules (excluding the source of the compiler).
Pro Easy to start, high productivity
BlitzMax is just ready after the installation. Open the IDE, write your code and just press F5 to see the results. You don't need to install other things to use the language. Of course if you want to change the language itself - or modules - you need to install MinGW or other libs, but guidelines are provided and easy to follow.
Pro Fast compiler
With comparison to the some of the other languages Blitzmax compiles source files fast enough.
Pro Compiles to native code
Good performance thanks to native code on each of the target platforms.
Pro Garbage collected language
The language is garbage collected in two modes: reference counting or using the Boehm-Demers-Weiser conservative garbage collector.
Pro GUI for apps
BlitzMax provides the MaxGUI modules that allow to build GUI desktop applications for Windows, Mac and Linux (FLTK or GTK via a module). You also could create your own 'gadgets'.
Pro Great community support
the forum is plenty of examples and solutions! Community is strong and still working, available for getting an hand
Pro BLIde
BLIde is an integrated development environment for Blitz Max, designed to work very close to the project file management performed by BlitzMax engine.
It’s inspired by the .NET IDE and some other great tools, It’s been designed for hobbyist and professional coders.
Cons
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 Outdated and abandoned
The author neglected BlitzMax and works on Monkey2.
Con No mobile targets
Only desktop targets available: Windows, MacOS, Linux.