Now that I am actually setting off to create a mobile game, it dawned on me I don't have any current iOS devices to develop and test on. I have an iPad 1, that my daughter has pretty much co-opted, and an iPhone 3g, which is absolutely prehistoric at this point. I have zero desire to own an iPhone ( wayyyyyyyyy too small for me ) so I decided to pick up this iPad mini last weekend. I figured it was a good base-line target device, as it shares the same basic components as the iPad 2. Besides, I was going to be buying one for ShadowRun eventually anyways!
Of course, with a shiny new toy, I pretty much spent the weekend playing with it. So i've been installing the various games and applications that aren't available in Android land.
One such application I eventually installed was Codea.
If you've never heard of it, Codea is a Lua based game development system that is run on the iPad. That's right, it's a full IDE, code editor and game library that you run on your iPad to make games for your iPad. As you may know I am a pretty big fan of Lua game engines and amazingly enough, Codea is pretty good. After I installed it, the next couple hours just disappeared.
Codea comes with a pretty extensive number of demos and a great deal of art assets for you to get started with. You also have the ability to publish to the app store. The documentation is pretty good, although locating it from their website isn't immediately obvious. You can take a look at the reference here, although it uses Sencha touch, so it will only run on webkit browsers ( Safari & Chrome ). Again there are a number of demo applications with complete source code included as well. Pretty much everything you need is actually included. Perhaps coolest of all, there is even a book available, although only a chapter is dedicated to Codea.
So, what you may ask, is it like to program on an iPad? Pretty freaking terrible actually. I've never been a huge fan of the iOS keyboard, now imagine writing code with it. Codea do have a toolbar that make accessing special character and navigating between text ( think Home and End ) easier, and it does help. They've also made a number of things very touch friendly, like colour selection bringing up a colour select dialog or touch and drag to change a numeric value. There are also drag and drop snippets that make the process quicker. At the end of the day though, you still have to type a fair bit and with the onscreen keyboard it's kinda frustrating. Codea does about everything it can to help you, but in the end, they are at the mercy of the device they run on. You really want a bluetooth keyboard if you are going to do serious work, if only just to reclaim screen space.
I am actually rather hooked. I can't see myself using Codea for a full release project, but as something to play or prototype with when out and about away from my PC it's great fun. I think it would also be a good app for someone just learning the basics of programming. This app is easily worth the 10$ cost. As I am going to be playing with it a bit more, I might as well do a review… expect one shortly.