Monday, August 20, 2007

I want to make a mobile game! - Part I

(Or, how do I get started on a mobile game development career?)

Introduction

Mobile game development is an art. As with most other forms of art, it demands two attributes from its practitioners and practitioners-to-be: aptitude and attitude. While attitude can be built up, aptitude is something that is inherent (or conditioned over time). A better term to use would be – talent. The only point I would like to stress here is that though it is by no means a rocket-science, one just cannot expect everyone with a degree in computer science to be good mobile game developers by default. So if you really want to be in the games development industry you should have by now at least tried to have made your own game – at least a tic-tac-toe! Whenever you've played Roadrash on your PC, you should have pondered and thought over how you could do something like it yourself! If you think you're on the right track- read on :).

This article is intended to provide you a general backgrounder on mobile games development and the industry so that you could take informed decisions on whether this is what you might want to chose as your career (or you just want to kill some of your time, reading though something interesting ;-).

As for me, my initiation to this enchanting word was perchance (providential). I just happened to be put on a mobile game project half a decade back with nothing more than a web browser to rely on. So, most of the things I learnt - I learnt the hard way (Which is kinda good, since you know how exactly things should not be done). Anyways that brings us to the all important question:

Why mobile?

Thats a 'Yeh PSPO nahin jaanta? (an ancient Indian television saying ;) )' kind of statement. Anyways, it makes sense to know why anybody (people like us) would want to bother about making games and applications for mobile phones in the first place!

1. The mobile handsets today are essentially programmable / re-programmable devices.

More than 90% of the handsets being shipped nowadays have some programming interface. Java is one of the most popular options today but not the only one.

2. They are connected devices. Connectivity is a built in feature of the mobile handset. Assuming that you have signed up for data services, the mobile phone is now a device that is capable of sending and receiving data over the Internet.

3. The mobile phone is clearly the most popular digital device in the whole wide world. Just look around and count. The number of mobile handsets you see will outstrip the number of the other digital devices that are around you. And this represents enormous opportunities. In India, there are almost 200 million mobile subscribers! And that my friends is the basic reason for the existence of the mobile entertainment industry. Even if the revenues might not be initially attractive, the customer base is.

4. Mobile game development is cool! Game development in itself is considered the cutting edge of programming. While most software engineers will end up in typical software services firms; only a chosen few will get to be in this industry. For the moment – this IS niche :-).

It might also be helpful at this juncture to have an overview on mobile network technologies prevalent today. GSM and CDMA. This does not have a direct relation to the gaming world except for the fact that most CDMA handsets use BREW, while most GSM handsets use Java.

GSM stands for Global System for Mobile communications. This clearly is the more popular sibling.

Usually Narrowband TDMA, 8 calls on one freq.
1 billion + subscribers (2004 statistic).
India 2007 August: 135 million

CDMA (Code Division Multiple Access). Based on a declassified US Defence encoding technology to which Qualcomm Inc. holds the patent (So for every CDMA handset sold anywhere on the globe they get a royalty!) Supposed to be more spectrally efficient than CDMA and is completely digital.

Based on spread spectrum modulation.
Roughly 25% market.
India 2006 August: ~40 million

Mobile games are different


Since I belong to the mobile entertainment industry, this article will be based on the mobile platform. Mobile games are different from games on other computing platforms due to following reasons:

1. Too many constraints. Everything is limited and in short supply including screen-size, memory and customer's patience. So mobile game programming is all about writing the most optimized codes and designing optimal graphics and putting it all together in the smallest package.

2. Shorter development cycles. While game or console titles' development typically spans over a year, a mobile game takes a few months to develop. Therefore, while a full scale title on a PC would cost billions of dollars nowadays, a mobile game would cost only its fraction.

3. Mobile users are spread out among all socio-economical classifications and therefore a major chunk of the users comprises of casual gamers or first time gamers. The primary function of a mobile phone is not gaming and this must be kept in mind while designing the game. A gaming console on the other hand is designed from the ground-up for gaming and for gamers. The games there would be a bit more mature in nature and might not be as generalized as a mobile game might be. Another important statistic now available says that there are almost as many female mobile entertainment users as there are male.

4. You must keep in mind that the mobile games market is already crowded. Make sure what you develop is something that is clearly different from what is already available.

Assuming that you are by now convinced about the size and scope of the task at hand (and are still interested), lets carry on.

In Part II, we will move on to the actual process followed in developing a mobile game.

No comments: