Neil Ferguson, developer of Virus Strike, explains how to become a successful iPhone game developer in 10 steps.
Admittedly, I’m an experienced programmer – I started developing on a BBC Micro at the age of 8 and now work full-time for a software start-up in London. Obviously, my experience helped me when I was developing Virus Strike, but I don’t think you necessarily need to have any programming experience to develop a successful game. Just follow these 10 steps:
1) Pick an original idea
I came up with the idea for Virus Strike about a year ago. I’d been playing a physics-based game called Linerider, as well as Flight Control. It occurred to me that combining a line-drawing physics-engine with a match 3-type game might be fun to play, so I had a look through every single puzzle game in the App Store to see if anyone had done it. It took me hours – several days, in fact – but I couldn’t find one. Only then, when I knew I had an original idea, did I start developing Virus Strike.
2) Use the right tools
If you do decide to develop in Objective C, it’s well worth using a games framework to make coding the game easier. I used Cocos2D, which is an awesome free open-source framework for creating iPhone games. It also has an integrated physics engine which made developing Virus Strike a lot easier. It saved me a lot of time and effort!
3) Take advantage of free tutorials
Virus Strike is my first iPhone game and I’d never programmed in Objective C before this, so I learnt a lot while developing it. Online tutorials helped me a lot – particularly Ray Wenderlich’s at www.raywenderlich.com. He offers loads of free tutorials on iOS programming, which I found very useful. There are also lots available at developer.apple.com.
4) Outsource anything you can’t do yourself
If you’re not a programmer yourself, I think a good way to get started is to outsource your initial ideas to someone with more experience. For example, you can post your idea for the app on odesk.com and programmers will bid for the work. Likewise, if there’s a particular part of the app that you can’t manage yourself, you could outsource that. Just be aware that the more detail you can give the programmer about what you want, the more likely you are to be happy about the outcome.
5) Think about iPhone-specific features
The most successful games in the App Store have been the ones that have been built specifically for playing on the iPhone. For example, with Virus Strike, I took a classic Tetris-style gameplay and combined it with iPhone features like the touch-screen and the accelerometer. So, you draw lines on the screen to direct the viruses, and if you tilt the screen, the viruses tilt as well. When you’re developing your game, have a think about how the iPhone’s unique controls can play a part in your game. Try to be original!
6) Make sure the game is challenging
Once I’d figured out the basic game mechanics – the line-drawing, the colour-matching and the physics-engine – the biggest problem I faced was structuring my original concept into a challenging game that was easy to pick up and play.
I think it’s important to have an idea of how long each play of the game should take, and how challenging it should be. It needs to get more difficult, but at the same time it’s also got to be fair – the players need to feel like it’s their fault that the game was lost. And there needs to be a sense of progression as the game goes on, so players feel like they are accomplishing something as they play more games – whether this is a higher score or another type of reward.
7) Get free sound effects
I used freesound.org to find all the sound effects for my game. It can be a tiresome process and I recommend asking other people for their opinion, in case the sounds you like are very annoying to others. I also used a free sound-editing program called Audacity to edit the sounds to fit my game.
8) Get feedback
You might think you’ve finished developing it, but until you get feedback from other people, you’ll have absolutely no idea how challenging and enjoyable your game is. Furthermore, you won’t know whether people can actually figure out how to play it by themselves.
Don’t rely on your friends to give you honest feedback and don’t show people how to play it – make sure they have a go without you standing over them. Watch and observe how they play, and any issues or frustrations they have.
You can easily find beta testers on iPhone forums who will be willing to play your game and give you feedback for free.
9) Make a video
My user testing made me realise that it would be helpful to have a tutorial video. I used ScreenFlow to make a one-minute video of the game in play and again, after user testing, added a one-page text tutorial to the first load-up of the game for anyone who skipped the video.
I think a video is definitely worth doing. It helped enormously in terms of ensuring people understood how to play the game, and was also useful for my wife Donna, who did the PR for Virus Strike. Journalists could quickly watch the video online instead of having to try to follow how the game works in a press release or, before they were sure they were interested, go to the effort of downloading the game.
10) Market your game
No matter how good your game is, if you don’t market it, how will anyone ever find it in the App Store? Be prepared to spend a lot of time targeting app review sites and other technology websites.
My wife wrote me a press release when I launched Virus Strike which did pretty well. Obviously I’m pretty lucky in that she’s a journalist so she knows how to write a good story and to come up with angles that will get other journalists interested. We paid $20 to get the release distributed by PRMac and it was well worth it – it got picked up all over the place, and many sites simply copied and pasted in the press release in full!