When comparing Allegro vs ImpactJS, the Slant community recommends Allegro for most people. In the question“What are the best 2D game engines?” Allegro is ranked 12th while ImpactJS is ranked 57th. 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 Extensive documentation available to support development
ImpactJS has an active user community that busily produces tremendous resources including videos, books, tutorials, walkthroughs and more. There are also comprehensive class documentation available.
Pro Excellent collision detection system
Impact provides 2 types of collision detection; static and dynamic collisions. Both of which are easily integrated into game development.
Pro Extendable
Many plugins are available, including one called Impact++ which adds features like pathfinding and dynamic lighting.
Pro Level editor
Built-in map editor with support for tiling, collision layers, and actors.
Pro Optimized
Works with Box2d physics library, comes with all worthwhile elements for actors built in.
Pro Truly cross-platform allowing developers to build for anything
Extending the reach of a game developed with ImpactJS is easy due to the cross-platform nature the framework. There are Considerations around performance, resolution and audio, however all can be appropriately addressed when in development. Works in the browser via Canvas, even on mobile. Easily translatable into a packaged app.
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 Inactive
The last update was in 2014.
Con Cost of $99
While most HTML5 frameworks are offered as free open source projects, ImpactJS has a one time cost and no free option.