An engine specialized in 2D graphics, but designed more for people who know what they're doing. While it includes the ability to start developing a game immediately from a downloadable binary, it only supports using the FreeGLUT library on the desktop. It is designed in such a way that it expects the developer to be able to create the windowing system themselves. (or with a free library such as GLFW or SDL)
The main language used with Moai is Lua. Most of the time you shouldn't need to use C++ to extend the base engine, but the capability to do so is there. The documentation for the Lua codebase is kind of weak however, so you should be ready to do some searching to find out how to use various capabilities.
Ranked in these QuestionsQuestion Ranking
Because it uses Lua + C++.
Pro Gives you total control
You can use your own custom shaders and extend the language with C++. MOAI doesn't give you everything, instead it gives you the tools you need to develop any game you want.
Pro Full source code is available
So it is extendable with C++
Pro Easy-to-use particle engine
Uses a limited subset of Lua
Pro Uses Lua, with LuaJIT where possible
Pro Is used by many pro developers
Moai SDK is used by popular developers including Double Fine for their mobile game, Middle Manager of Justice, and for their Kickstarter hit, Broken Age(formerly, Double Fine Adventure.) It was also used to create the popular mobile game Bubble Ball 2.
This proves that this engine can be used to make fully-featured and fun games.
Pro API interfaces
Has options for development like Hanappe and Rapanui, providing a different way to interact with the engine.
Pro Helpful and detailed documentation
Although the Moai SDK is very advanced and uses complicated features, the documentation wiki thoroughly and clearly explains how to use these features, such as the Moai Cloud(a service that provides web services for your game), and multiple ways to build from source.
Pro Helpful community
The Moai SDK Forum is active and users will go to great extents to answer queries, post code snippets, beta test, and even purchase and give feedback on each others' games.
Con Not for beginning developers
The Moai SDK has very advanced features which allow it to create powerful games. A drawback from this is that it is not very suitable for beginners.
Con Not necessarily tested or stable
Con Scarce documentation
Since it is a minimalist framework there is not that much documentation, but if you are used to reading API references and source code you are good to go!
Con Development has ceased
The last update was over a year ago. Users should not expect things to still work on future OS versions unless they're ready to fix them yourself.