Take me to the AppStore, baby!
Wednesday, June 29, 2011
(Subline: Preferrably on a budget.)

As I wrote earlier, I must apparently make an iPhone game. In this post, I am going to relay to you my week-long ruminations on what development environment/game engine to use. I’m running crappy old Vista, so I’d prefer to get it done on that platform.
There are numerous possibilities available today and I don’t claim that this list is exhaustive. It is just meant to give a general overview. I have concentrated on the options that would serve my purpose (2D game) best. Thus, I have excluded things like Unity3D or the Torque 3D. ManiacDev has a list of more possibilites.
Development on PC
Since late 2010, Apple are more lenient about where and how you can produce your apps. They can now be created entirely on PC. (However, as far as I know, uploading them to the App Store still has to be done on a Mac, but you can probably borrow one from a friend for a minute hour day.)
In no particular order:
Marmalade (formerly Airplay SDK)
http://www.madewithmarmalade.com/
- Free for indie devs, proprietary codebase, runs on Windows, MacOS
- Deploys to: iOS, Android, Windows Mobile, Symbian and others
- Scripting: C++ in Visual Studio (Express)
- Requires Mac? Yes, for uploading to the AppStore.
- Comments: There are a boatload of tutorials, but I found them sloppily written. I have severe problems with C++’s loosely structured nature, so that might be the reason. Features are okay, lots of 3D games are developed wit this. No editor exists for 2D animations/levels, but a UI editor is apparently present.
OpenPlug
- Free, proprietary codebase, runs on Windows, MacOS
- Deploys to: iOS, Android, Windows Mobile, Symbian and others
- Scripting-language: A light-version of Actionscript 3 in Flash Builder or FlashDevelop
- Requires Mac? Yes, and XCode for signing and uploading to the AppStore.
- Comments: Says it uses Actionscript 3, but fails to support basics like Movieclips or SWF-loading. Can’t even rotate objects! Hardly useful for games more complex than Space Invaders.
Adobe Flash/Air
http://www.adobe.com/products/air/
- SDK is free, proprietary codebase, runs on Windows, MacOS
- Deploys to: iOS, Android, Blackberry
- Scripting: Actionscript 3 in Flash Builder 4 ($200), Eclipse, FlashDevelop (free), Flash CS5.5 ($600)
- Requires Mac? Yes, for uploading to the AppStore.
- Comments: Adobe is extending their AIR platform with Android and iOS support. Basically, you develop a normal Flash application and wrap it in an AIR player that is optimized for mobile phones. It seems to have some problems with performance. Requires some newer version of Flash or SwishMax to make SWF assets. Does not work on iPhone 3G and below or on iPod generation 1 and 2.
Development on Mac
If you have a Mac that runs a reasonably new version of MacOS X, you get to use Apple’s official IDE as well as third-party tools (that all more or less feed into XCode). I couldn’t test any of these programs myself.
Apple XCode
http://developer.apple.com/technologies/tools/whats-new.html
- $100/year for members, proprietary codebase, runs on MacOS
- Deploys to: iOS
- Scripting: Object-C in XCode Editor
- Comments: This is the mothership. You don’t actually pay a yearly fee for XCode, but for the Apple Dev Program that lets you publish and sell games on the App Store.
Cocos 2D
http://www.cocos2d-iphone.org/
- Free, open-source codebase, runs on MacOS
- Deploys to: iOS
- Scripting: Object-C in XCode Editor
- Comments: As you can see, this is just a framework that makes game creation in XCode easier. You still have to install XCode. That said, it seems to provide many useful features.
Sparrow
http://www.sparrow-framework.org/
- Free, open-source codebase, runs on MacOS
- Deploys to: iOS
- Scripting: Actionscript-like language in XCode Editor
- Comments: Another framework for XCode, this one hides Object-C behind a clean and easy layer of… something that apparently resembles Java and Actionscript. Sounds interesting to me.
iTorque 2D
- $100, open-source codebase, runs on MacOS
- Deploys to: iOS, additionally Windows and Mac for another $99
- Scripting: TorqueScript in Torque editor
- Comments: Recently revived Garage Games offer their engines for $100 each. Has editor for levels, game objects, sprites. You are required to put Torque’s logo in your stuff.
MoSync
- Free, open-source codebase, runs on MacOS, Windows
- Deploys to: iOS, Android, Windows Mobile, Symbian and others
- Scripting: C++ in Eclipse
- Comments: I was not sure where to put this. It’s really not possible to deploy an app for iOS with MoSync. MoSync will export an XCode project for you. The actual building has to be done in XCode. MoSync 2.5 is now also free for closed-source projects, as far as I can tell.
Corona
http://www.anscamobile.com/corona/
- $200-$350/year, proprietary codebase, runs on MacOS, Windows
- Deploys to: iOS (on Mac), Android (on Windows)
- Scripting: Lua in Corona editor
- Comments: The way this works is that you develop on a Mac for iOS and on Windows for Android. Funny marketing blurb: “Develop your own Fruit Ninja with less than 400 lines of code!”
Sencha Touch / PhoneGap
http://www.sencha.com/products/touch/ | http://www.phonegap.com/
- Free, open-source codebase, runs on MacOS, Windows
- Deploys to: iOS, Android, Blackberry, Windows Mobile etc.
- Scripting: Javascript with HTML5 and CSS3 in any HTML editor
- Comments: At quick glance, the relationship between these two seems to be this: Sencha is a framework for building apps that can be run in a (mobile) browser. PhoneGap then packages these HTML projects into binary apps. While Sencha apps can be used in Safari, if you want to make a stand-alone app for iOS, you need PhoneGap for Mac which needs XCode. Games in Javascript can be done, but this route seems more suitable for utility or business apps.
GameSalad
- Free to $500/year, proprietary codebase, runs on MacOS
- Deploys to: iOS, web(?), MacOS
- Comments: This is one of those drag-and-drop game generators. No scripting required. Seems powerful, but again, needs XCode: “In order to submit your GameSalad made game to the App Store, you must first convert it to an Xcode project which can then be used to build a .app file for distribution.” $500 a year get you priority technical support and get rid of the GameSalad-branded preloader.
Other programs have announced future support for iOS, like GameMaker.
My favorite
If you care, I will tell you that I’m going with the Adobe Air option. Why shouldn’t I use the skills I already have? I really don’t want to muddle through C++ if I don’t have to. I find Actionscript 3 clean, consistent, and elegant. I’m hoping my tiny little test game won’t be affected too much by the performance issues. The biggest drawback is the device restrictions: iPhone 3G is apparently too weak for the hungry, hungry Air projector. Oh. Well.
PS: If you feel like there are errors in this list, please contact me and I will look into it.





