When comparing Allegro vs Genome2D, the Slant community recommends Allegro for most people. In the question“What are the best 2D game engines?” Allegro is ranked 12th while Genome2D is ranked 47th. 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 Lightning fast
It's the fastest gpu-based framework out there for flash. It's beautifully optimised. It has very low rendering latency, low level OpenGL calls that other tech simply cannot do (ie Unity) due to Stage3D, and thus can render a lot more data quicker
Pro Cross-platform mobile, desktop and web
Supports Windows, Mac OS X, Linux, iOS, Android, Web and native Flash.
And with the HTML5 export, it also potentially supports development for the Wii U :)
Pro Haxe!
Haxe is a strictly typed programming language that saves development time but still compiles high performance executables, and can build for tons of different platforms (flash, c++, html5, java, c#, etc.)
Pro Access to direct draw features
Has access to direct draw features so you can make you own rendering structures (scene graphs etc).
Pro Automatic dynamic batching
Automatically batch geometries with dynamic batching techniques (by using constant buffers).
Pro Component based architecture
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 Lacks documentation
The API documentation is minimal, there's not many tutorials and the ones that are there are very small and only cover the basics. If you want to learn how to properly use it, you have to ask the community or read the source code and figure it out.