Since the launch of the iPhone, apps have been big, especially in the games sector, which has seen some sell like AAA titles. Major developers have added the iPhone to their list of available platforms for existing titles, as well as moved to develop unique titles just for it.
It has been a great platform for the indie developer too, thanks to its great accessibility, seeing games from very small groups of people reach huge audiences.
New opportunities have been opened up for people left in the wake of the recession to start their own developer ventures, setting up new companies and designing games, knowing there will be an audience for them.
It is the mobile nature, unique interface, huge number of users, great accessibility to developers and the nature of the "app" (short, simple, high quality games with a focus on playability) that has been incredibly useful to many developers.
With games being so large, though, and the bar for quality being set so high, what challenges does fitting such a big game in a tiny device involve? More specifically, what does this entail for the "audio guy"?
Aside from the normal list of challenges facing sound in any game, there are an added series of problems to overcome and unique issues facing some routine procedures. This makes everything just that little bit harder, and to add to the confusion is the huge lack of information available to audio developers.
What this feature hopes to achieve is a clearer understanding of what challenges the iPhone audio developer faces, how to overcome them, and, in fact, what game audio on the iPhone really means. In this article, I go into the design considerations you should make, how this affects the app, what technical concerns there are, what unique iPhone issues there are to overcome, aspects of user behavior, hardware concerns and the iPhone app as a genre.
These are all issues, problems, and topics I have encountered while developing audio for the iPhone and, in turn, (but not in all cases) have found a solution or at least some explanation for, which I hope to now pass on to other developers.
So what does it take to produce effective audio for the iPhone? Well, everything it takes to produce good audio for any game: dynamic soundscapes, an immersive soundtrack and great innovation -- only with a few added challenges thrown in for good measure!
You see, the iPhone is different from other platforms in a number of unique ways. Anything from the user interface, to the user him- or herself, is wildly different and far more diverse, leading to some very careful design considerations. The audio is no exception. Over the next few paragraphs I hope to shed some light on what these considerations should be and what you can do as the developer.
Possibly the biggest concern of any audio producer for the iPhone will be asset size. The scope of this topic is too large to fully address in this feature, but I write about this in more detail in my article "Audio for iPhone: Size Matters." The following, however, should give you a good grasp of what developers face.
Apple has an over-the-air size limit of 20 MB. This means in order for the app to be downloaded over 3G and not Wi-Fi, it must be under 20 MB. This is crucial to ensure good sales given the value of viral marketing in selling iPhone apps. The process is broken if the potential customer has to go and find a wi-fi network or wait until they get home to purchase an app, so under 20 MB is a must.
By the way, don't forget about downloadable content (DLC), which can be added to the app after the initial purchase. This is handy if your app has to go over the limit for the full version, but still lets you sell the lite version over 3G.
This lack of asset space is hard for the audio producer given the size of audio assets, not to mention fighting with other assets for space - -you are looking at a maximum of 50 percent, leaving you just 10 MB. Does that immersive, dynamic, innovative soundtrack seem tricky yet? This is assuming that you convince the other people working on the game that your ideas are worth 50 percent of the game!
Remember, you are only as good as your last job, so don't back down or produce sloppy audio in light of the challenges -- instead, produce even better audio in spite of the challenge and really impress.
The iPhone doesn't really help matters much either, since it can only decode one compressed file at any time, meaning most of your audio (aside from a few careful choices) has to be in un-compressed PCM formats, which any producer will know are rather large. There are lots of techniques that can be applied to mitigate this, though, such as asset-based generative sound systems, crossfade looping, and carefully selected bouncing; all of which I cover in detail in my above-linked article.
I also recently came across another neat solution. Compressed formats, in general, cannot be looped, due to the "padding" added to the top and tail of all audio files by the compression. Normally this would mean the audio would have to be uncompressed, but I recently learned of utilities that will remove the "padding" and produce an MP3 that would in fact loop seamlessly.
Exactly how it works I don't know, but a quick Google search should reveal what you're looking for, I have in the past used one created by "Compu Phase" -- just remember most require the source file in PCM format. This effectively removes one requirement for uncompressed file formats; something you will find crucial.
In addition to this, the Apple documentation details a system that allows you to programmatically remove the padding and achieve seamless looping. This has the disadvantage of additional code, but does mean you can use M4A (AAC) encoding, which at really low bit rates does sound much better than MP3 -- in my opinion at least.