In our first in a series of interviews with the developers on the front line of the iphone revolution we speak to ideal binary’s Kevin Doolan who recently launched the the 3D gravity game ‘Gravity Wave’ on the app store.
We quizzed him about the perils, the pitfalls, the joys and highlights about developing for the iphone and gleam some great insights which could help you on your path to app heaven.
If you have any questions you want us to ask the developers email [email protected]
Kevin Doolan from Ideal Binary
Tell us a bit about Ideal Binary and how/when you started the company?
Ideal Binary was founded in mid 2008. Initially it was just me doing contracting work, but I’ve recently been joined by my brother. Our background is in Game Engine and Porting tools development. We’ve both worked on PC middleware engines as well as Mobile porting tools (J2ME and BREW). We do a combination of in-house App development and software contracting.
What attracted you to get into app development for the iphone?
Our background spans high-end PC to low-end Mobile development and the iPhone represents a perfect opportunity to leverage all of that experience. Ultimately the iPhone may be a mobile device, but development for the platform feels very much like working on PC. It’s a stable platform that isn’t fragmented, unlike the BREW/J2ME space, which is a development and porting nightmare. You can comfortably submit a single build of your App, targeting potentially 50 million+ devices. You also don’t have test fees per build submission.
The other major players are of course following suit with their own ‘Stores’, but they all still suffer from device fragmentation which represents a massive expense in development terms. For now and the foreseeable future, the iPhone family is a dream platform as far as mobile development goes.
What software do you use when creating apps?
Our aim early on was to develop tools to allow us to work quickly. With that in mind, I wrote a game middleware platform called UtopiaGL. The idea is simple: UtopiaGL allows us to cut to the chase and write just App code, without having to worry about memory management, file systems, OpenGL, Sound playback etc. It means we can minimize App development time which benefits our own internal projects as well as our Services work. This allows us to stay very competitive.
We use Blender 3D for our 3D modelling work, Photoshop for 2D work, and Audacity for sound.
What was the inspiration behind the ‘Gravity Wave’ game?
I remember seeing Thrust when I was a kid. I really loved the basic idea and it stuck with me. I needed a fairly straight forward game idea to put UtopiaGL through its paces, and ideally something that used the accelerometer. Thrust sprang to mind, and after producing a quick prototype level, I settled on the idea of doing a gravity game. Unlike most other Thrust variants which use slow, precision movement, I wanted to try to make a faster paced game. This was very much an experiment, and while I really enjoy the control system (I mostly play it on Hyper), most people find the more difficult settings a little too demanding! Hopefully the easier modes open up the appeal of the game to a much wider audience.
What have you found really helpful during development?
Making a plan and sticking to it. I used Agile development practices, not religiously, but enough to benefit largely from them. I have found the transition from Windows to Mac/iPhone development to be pretty much effortless. Having worked in BREW development, working with the iPhone is just a joy.
What problems did you encounter creating it?
No major technical problems. This is a testament to the iPhone as a development platform, as much as anything else. Time was an issue. I had a few points where I got side tracked with contracting work, which interrupted the flow, but apart from that it was pretty straight forward. I was careful not to be too ambitious for my first App.
What has been the biggest challenges you have had to over come?
The biggest challenge was balancing all the concurrent tasks. I made the somewhat crazy decision to do everything myself (except the music/sfx). I needed to keep the budget down, and I used to be an alright pixel artist so it worked out reasonably well, considering the time constraints. Not counting the time invested, the cash budget was the price of a MacBook Pro and a couple of iPod touches. Aside from helping shape the middleware and making it easier to use, a good chunk of the work from Gravity Wave is being refactored cleanly into UtopiaGL, so we can leverage that work in future projects.
How did you go about marketing your app and which had the best return?
We covered the usual suspects: released a free version, created a game site, youtube channel, submitted the App for reviews, took out banner ads, did a round of Promocode give-aways and a few other things. It’s early days, so it’s difficult to say what aspect of the promotion has had the best return.
What hints or tips would you give to budding developers?
I envy people getting into development these days because there are so many resources at their disposal. The problem now becomes how to effectively use those resources to learn how to develop without getting overwhelmed.
The iPhone is a glorious device to develop for. Dive in and have fun!
What does the future hold for Ideal Binary
Our plan is to steadily grow the business. We have a few more ambitious App ideas in the works that we’re very excited about. We’re also wrapping up a few projects for other clients using UtopiaGL that we’re looking forward to blogging about on our site.
Download a copy of Gravity Wave at the App Store here>>