Question notes: Several key attributes distinguish a great Android game engine. Notably, engines that are good for PC and console development are not always optimal choices when targeting the mobile Android market. (This question is dedicated to 2D Android development, so although Ouya is a possible target, mobile is the default assumption.)
The most important qualities for most projects are CPU and memory efficiency. To reach a wide audience, good performance on low-end and older devices is important. Engines which utilize an intermediate runtime rather than compiling directly for the JVM may suffer from framerate issues. On the other hand, engines with advanced memory management features (e.g. built-in object pooling) can reduce stuttering from garbage collection.
Other features deserving strong consideration include:
Built-in support for external services and APIs to provide player networking, score sharing, social media interaction, IAPs, ads, etc.
Rapid build/deployment to test devices, and tools for debugging when running on a device.
Cross-platform support, particularly for other mobile targets.
Finally, as with game engines for any platform, a strong community is always beneficial, especially when encouraged by tools like built-in asset stores and central community help forums.
|18 Recommended Products||Dev platforms||Desktop targets||Mobile targets|
|#1 App Game Kit· · ·||Windows; OSX; Linux||Windows; OSX; Linux; HTML, Raspberry Pi (free version)||iOS; Android|
|#2 libGDX· · ·||Windows; OSX; Linux||Windows; OSX; Linux||iOS; Android; BlackBerry|
|#3 Monkey X Pro· · ·||–||–||–|
|#4 Oxygine 2D C++ Game Framework· · ·||Windows; OSX; Linux||Windows; OSX; Linux||Android; IOS; Web|
|#5 Unity· · ·||Windows; OSX; eucalyptus||Windows; OSX; Linux;||Windows Phone; iOS; Android; BlackBerry 10; Tizen|
|#6 Godot· · ·||Windows; OSX; Linux||Windows; OSX; Linux; HTML5||iOS, Android, BB10|