When comparing Starling vs Allegro, the Slant community recommends Allegro for most people. In the question“What are the best 2D game engines?” Allegro is ranked 12th while Starling is ranked 78th. 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 Lightweight
Starling is just 12k lines of code and doesn't try to do everything — but what it does, as efficient as possible.
Pro Feathers User Interface Components
With Feathers, you can easily add great user interfaces to your games — or even create business apps with Starling.
Pro Free and open source
Starling is available for free with code available on GitHub.
Pro Strong community support
Forum is always active with knowledgeable developers and with lot of inside info, and post mortems.
Pro Works with Flash
With UI, you can design it in Flash Professional (powerful 2D editor), export to swf file, use GAF convert swf file to gaf file, finnally, load gaf file to Starling. GAF can convert a lot of file swf to one atlas. Alway use same resource in design files (fla) to optimize atlas size, avoid duplicate asset in atlas.
You can use flash to create animation for starling.
Pro Hardware accelerated rendering
Let the GPU do the rendering, the CPU has more important tasks to do.
Pro Cross Platform
It can be exported to web flash player, iOS, Android, Windows, and OS X
Pro Works with AIR's native extensions
Using AIR's native extensions any native code that can be written can be run and used by the game engine.
Pro Constantly updated
New features are added regularly.
Pro Better performance than most alternatives
Starling can run more animated display objects than Unity2D and many others frameworks at 60 fps.
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.
Cons
Con Poor text/font support
It supports only 4 features for text rendering:
- bitmap font with batching.
1.1. basic distance fields with support for outline and filters via MeshStyle.
1.2 the new multichannel distance field, the ultimate solution for bitmap font rendering. - Draw and upload texture in runtime
So every new text field required texture uploads or vertex/idnex buffer uploads.
skipUnchanchagedFrames keep the backbuffer static for scenes without changes between frames, leveraging a good rendering optimization.
Con Engine supported mainly by one man
Its open source but in most cases community features or pull request are canceled.
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.