Wednesday, May 18, 2005

Mobile Games

For the past 4 months, I've been working in a consulting company that wants to jump into mobile gaming (don't ask why). After 4 months I decided to resign, for resons of my own. I have managed to get a job in another company that will be making games. If all goes well, I will start in June.

While I was in the previous company, however, I was exposed to something I haven't tried before and it got me intereseted. Making mobile games. Though, that doesn't mean that I will forget about my interest in online games.

All in one
It's amazing what they are stuffing in mobile phones these days. Is it a gaming platform? A telecommunication device? Calendar? My personal assistant? In other words, in this day and time, the mobile phone is always with you. Any downtime you have that you would like to kill other than reading, you could just whip out the phone and play a game.

Differences
This is one of the few things that sets mobile games apart from other games. They have short gaming sessions. You don't want to be playing a game while waiting for the bus and when the bus arrives, and the conductor asks if you're getting on, you go Hold on, just one more mission" or "Give me a minute to get to the save point". The worse case scenario would be you getting on the bus and not come down. :|

There are several APIs and programming languages for the mobile phone like Symbian(C) and J2ME(Java) and recently, Flash, I heard. The company used J2ME so that's what I as exposed to.I initially thought that I'd have to dig up my Java book to study it but surprisingly it's easy to pick up. It's like Java lite version.

Headaches
Unfortunately, making games for mobile phones can give you lots of headaches. Mobile phones are not really "standardized". Manufacturers like Sony Ericsson, Nokia and Motorola can make the phones any way they want. This gives a lot of variety for the consumers to choose from but it gives a lot of headaches to developers. Different screen sizes, keypads (some that support multiple keypresses and others that do not), heap size(memory) and processing power.

Basically, if you want to make your game available on a variety of phones, be repared to make a variety of versions of your game for each phone.

Besides phones' hardware, the software used are also different. As of now, there are 2 versions of J2ME APIs, namely MIDP 1.0 and MIDP 2.0. MIDP 2.0 is like MIDP 1.0 but geard for multimedia and connectivity. In other words, All (or most) of the things you need to make a game for the mobile phone is available. BUT it's availabe on new phones. Older phones are still using MIDP 1.0, which is why most developers nowadays are still making them using MIDP 1.0 (since MIDP2.0 phones can still play them anyway).

All in all
I must say that making mobile games are still interesting. They have short development time (about 1 month or 2) and use a programming language with a small learning curve. In my opinion, it's a good distraction and helps you practice your game dev skills. Hey, even John Carmack is interested in it.