Name Targets Cost for Commercial Developer 2D/3D High Level Scripting Language Animation/Tweening Device Camera Native Menus, Buttons... Own Native Plugins Documentation Book(s) Notes
AppGakeKit Android, iOS, Blackberry, Windows, Mac OS One off $69 2D & 3D C++ Extended version of Basic Animation Yes No Hands On AGK BASIC
Monkey Android, iOS, Blackberry, Windows Phone, Windows, Mac OS, Linux, XNA, Flash, HTML5, PSM, OUYA Free No Extended version of Basic Animation & Tweening via 3rd party framework called diddy No Translates from Monkey to source for target.
Shiva3D Android, iOS, Blackberry Playbook, Nintendo Wii Shiva Editor $400 per machine 3D C++, Objective C Lua Animation Yes
Gideros Mobile Android, iOS Free with their splash screen, $149 Lua No Yes
Marmalade Android, iOS, Windows Phone, Blackberry, Windows, Mac, Smart TVs 2D & 3D C++ Lua Animation C++ yes, Lua no C++ yes, Lua no
Qt 5.2 and newer Android, iOS Free C++ Qt Qt Quick & QML - javascript like
v-play.net Android, iOS $14/month C++ Qt Qt Quick & QML Qt 5.2, Builds only on their server
MoSync Android, iOS €199 per seat C++
Corona Android, iOS Free - limited, basic $16/month (Enterprise $79/month) 2D Enterprise package only Lua Yes Yes Only with Enterprise Lots! Builds on their server (for offline build buy at least Enterprise)
Unity Android, iOS, Blackberry 10, Windows Phone, Windows, Mac, Linux, $225/month or $4500
Category Archives: App Development
Mobile Game Development
I’ve worked on business apps for mobile but never games. So a while back I decided to look into what was available for multi-platform development.
I already knew about Marmalade (formerly AirPlay) which is a pretty powerful C/C++ system that can target a wide range of mobile platforms. Last year they also introduced Marmalade Quick which was a 2D gaming platform based around Lua with some of the full Marmalade system underneath. But its a little expensive and there is a lot to learn. Quick is clearly targeting the gaming market and skips any features most gamers dont user. It can be extended but only if you know the SDK well.
Corona is one of the most popular. Its Lua based but with builds done on the Corona servers. But isn’t extensible unless you spend a lot on your license (enough to pay them to extend it for you).
Came across two that look promising: Gideros and Monkey
Gideros on paper looks like Quick or Corona except a lot cheaper (Lua based but local builds). But it comes with a plugin system so you can extend it yourself.
Monkey is an odd one. The programming language is based on Blitz (a descendant of Basic but extended all the way up to classes). Instead of having a Blitz interpreter for each target it cross compiles into a source code project for the target. Because of this is supports a very wide range of targets. The downside is for each target you’ll need to install its dev kit. Its very competitively priced.
I’m going to work on a simple project in both in my (sarcasm on) copious free time (sarcasm off) and see how they compare.
Marmalade Quick on the Mac
I was looking to develop a fairly simple app and thought Marmalade Quick would be a good starting point.
It can target multiple platforms (Android, iOS…) and I can develop on my Mac. It allows the app to be written in Lua and provides a wealth of other libraries.
I had a Marmalade license and so downloaded and installed Marmalade v7.1.0
In the past I’ve used ZeroBrane Studio, an IDE for Lua. So first thing after installing Marmalade I started Marmalade and in other Other Tools found ZeroBrane Studio Lua Editor and clicked LAUNCH. A terminal window popped up and clearly tried to start ZeroBrane Studio but instead printed an error.
So I tried running ZeroBrane Studio from my existing copy in Applications. I copied an example from within Marmalade to my Documents. Then in ZBS Used Project > Lua Interpreter to select Marmalade Quick. Then opened main.lua, set the project direct and tried to run the app… lots of errors from Marmalade…
Google’d for the errors but nothing relevant found… sigh.
Guess Windows might be a better platform at the moment!