Corrino Software

Purveyors of Fine iPhone Games.


How long does it take to make an iPhone game?

We here at Corrino Software have just released our first game, Pizarro, for the iPhone, and have three other games in active development. I thought I would share my experiences about the time required to develop an iPhone game, along with some other thoughts on iPhone game development in general.

The total development time of Pizarro, from the initial game concept and art direction, to the completion of the code and artwork for the final release, to the game being submitted to the App Store, was approximately 4 weeks.

"4 weeks?" Yes. Four weeks of intense work, to be sure, but no more. We had a functional beta of the game within 2 weeks, and another two weeks later we had finished all the artwork and music, and thoroughly playtested it for submission to the App Store.

If you're considering developing a game for the iPhone, however, I think it's likely that it will take you quite a bit longer. The development time required to create an iPhone game from scratch varies a great deal and depends on a number of crucial factors:

  1. Your familiarity with Objective C and the Apple Developer tools
  2. The complexity of the game
  3. The extent to which you build on pre-existing libraries/code
  4. The extent of the communication overhead between you and others working with you

One of the main reasons why we were able to build a game like Pizarro in such a short span of time is that we were in a fortuitous position when it came to all these factors.

  1. As the lead developer and sole programmer of Pizarro, I had previously developed the game Symbol6 Redux during my time with Gogogic, and so I was quite familiar with iOS game development. I also had many years of experience with Cocoa and Objective C through my open source projects for Mac OS X. I was thus in the rare position of already having the skillset required to develop the game quickly.
  2. The game itself, Pizarro, although it is fun to play and quite addictive, is very simple. There are few game scenes and few object types. The entire game logic itself is less than 1000 lines of code, and the game itself, including Game Center support, is about 6000 lines.
  3. We used the wonderful open-source 2D gaming engine Cocos2D, which is rapidly establishing itself as the de facto game engine for iOS. The Cocos2D library is feature-rich, well-optimised and includes almost all the functionality one could reasonably expect. It allowed me to focus on just coding the things that made Pizarro unique, instead of getting bogged down in optimizing OpenGL 2D blitting. Pizarro also uses the open-source Chipmunk physics engine, which saved us a considerable amount of development time.
  4. In terms of coordination overhead, just two people worked on Pizarro: Me and a graphics designer colleague. I programmed and built the game in code, and composed the music for the game using Garageband and Audacity, both of which are excellent tools for creating game music. Much of the graphical work in Pizarro (e.g. the expanding circles) was also created in code, so required very little in the way of day-to-day co-ordination with the graphics artist once the general aesthetics had been worked out. The game itself was initially developed using placeholder graphics, which were then replaced for the final release.

In addition to this, we decided to delay the iPad release of Pizarro, and release first for the iPhone only. This saved us the pains of working with different aspect ratios and scales for the graphics, which typically involves a lot of boring, repetitive and time-consuming work tweaking positioning and rectangles in the drawing code to make sure everything looks right at the new resolution.

In total, all these factors worked with us, and allowed us to create an engaging and moderately successful game within a very short span of time. My guess is that most people venturing into the fiercely competitive iPhone gaming scene are not as fortuitously positioned. But Pizarro, as I have discovered, was unusual in this respect. Corrino Software's current projects are much more time-consuming and have required considerably more investment of time and energy. Two other smallish games we have in development look like they will each take at least 2 months of development time.

If you are new to developing iPhone games, I'd estimate that mastering the skillset required to produce a decent game will take you at least 2-3 weeks of getting to know Objective C and the iOS APIs before starting on your game. This is assuming that you already have a solid background in software development and are familiar and comfortable with object-oriented programming and the C language.

I highly recommend both the Cocos2D library, and the Chipmunk physics engine. They will save you an incredibly amount of development time. Both are well-documented and deliver high performance, even on older iOS devices.

Ultimately, the main factor that will affect development time is the complexity of the game you want to create. Elaborate, complex games with many game scenes and complicated game logic can take a very long time to develop since you are more likely to run into performance problems and intractable coding issues. However, most of the games that are successful in the App Store are small, well-made games with simple but addictive gameplay. Notable examples include Rovio's smash hit, Angry Birds, and games like Cut the Rope and Tiny Wings. Which brings us to the question:

How long would it take to develop a game like Angry Birds?

My estimate is that a single seasoned iOS game developer, familiar with his libaries and tools, could develop a game similar to Angry Birds in approximately 3-4 months. The graphics would probably call for at least a month of work from a professional, possibly more.

As I said, this assumes that the developer is on familiar ground in iOS game development, and won't have to learn everything as he goes along. It could easily take double the time if you start out with zero knowledge of game development, the APIs and the iOS environment.

Is the amount of money I make a good return on investment for my time?

Nobody can predict which games will be successful in the App Store. It seems as much a question of chance, consumer whim and randomly viral word-of-mouth as anything else. Many good games for the iPhone fade into obscurity and earn their developers very little money. However, the games that are wildly sucessful tend to have a few things in common:

  1. They use bright, friendly high-quality (often cartoon-like) graphics
  2. They use entertaining sound effects and music to augment the gaming experience.
  3. They incorporate the unique qualities of the touch interface into their game in a clever and satisfying way.

All the big hits I mentioned earlier (Angry Birds, Tiny Wings, Cut the Rope) meet the above-mentioned criteria. These seem to be the qualities sought by the largely casual gamers who buy iPhone games. That being said, a great niche game may be a better strategy in terms of return on investment. You might be better off targeting a small, dedicated audience rather than the crowded field of the lowest common denominator, charging more for a, say, a high-quality, immersive adventure game, than creating a simple, run of the mill game and selling at the going rate of USD $1.

In the end, developing for the iPhone is a risky, uncertain business, and guarantees no return on your investment in skills acquisition and programming time. If you do it, do it because you enjoy it.

--Sveinbjorn Thordarson
March 10th 2011