Mobile Gaming – What Am I Missing?
I was a bit late to the cell phone party – I only got my first cell phone a couple years ago, and I don’t use it much (I work at home and generally spend little time on the road, so it’s kinda moot).
My phone is, I guess, a reasonable one – a fairly small Samsung X426 with a decent color screen.
As a casual game developer, I have certainly been cognizant that mobile phone gaming (generally featuring casual-style games) is a big and growing industry, but I’d never really played with it much. I tried to, but I could never get my phone to successfully download games, beyond the couple lame pre-installed ones.
I’ve stopped at the Cingular store a couple times over the years to try to get it resolved, and despite the salesman’s puttering with my phone, it wouldn’t work. Today I tried again, and low and behold, in about 30 seconds, a different salesman had it working by changing one setting in my phone’s menu options somewhere (I forget which).
Lesson 1 – mobile phones are unnecessarily complicated – to the extent that some salesmen can’t even make all their features work.
So, I downloaded a couple of games. Neither had free trials, as far as I could tell, so I paid $5.99 for one, and used a free comp. credit I’d gotten at the Casuality show for the other.
I won’t name names, but let’s say that these were both adaptations of well-known casual games – big hits in the PC space that are apparently also successful on mobile. They were from different publishers and different port-shops, so any issues were unlikely to be the result of a single party’s sloppiness. Overall, the games were…
Terrible. Just awful.
Barely any animation, low rez graphics, weak sound, and worst of all, trying to control these games with a cell phone keypad was a mess.
I’m not blaming (for the most part) the publishers, developers, etc. I strongly suspect the problem is just that the phone is not powerful enough for decent games. Even if it had a CPU as powerful as a desktop PC, the small screen and tiny keys would make the experience mediocre at best. But compounded with the slow processor, slow reaction times, and poor animations, it was a terrible experience.
So be it. But what I can’t understand is why this is a growth industry, and who is buying these games (more than once). I can see making a mistake one time, but I can’t see buying a second mobile phone game (unless, like me, you’re a developer trying to understand the phenomenon.)
Is my phone just uniquely unsuited to playing games versus other mobile phones, or are teenagers willing to put up with terrible games, or what? I’m really wondering how this can be a sizeable industry. I definitely understand the speaker at Casuality who said that Try Before You Buy is bad for business in mobile, because the trials are generally so disappointing…
July 3rd, 2006 at 5:35 pm
Most phones are hobbled by Java. Now, on a PC Java isn’t that bad. They have JIT compiling and virtual memory. On phones it’s a disaster. They’re byte-code interpreting everything, which is slow, and you have no virtual memory, which means you have to try and manage memory on a system that has no good language or VM features for doing so. On top of that, you get none of the cross-platform benefits. Every phone has its own bugs, quirks, screen size and performance problems so you have to at least tweak code for every handset. Also until recently allowable download sizes were minuscule, especially considering Java has no (effective) per-pixel drawing so you can’t use any tricks beyond palettization to shrink graphics. Java ME, to put it simply, is crap.
Take a look at games on Verizon for a better example. BREW lets you write C and assembly, and allows for per-pixel drawing to the frame buffer. Newer phones support multi-track audio and software or hardware 3d. They’re much more indicitave of what’s possible. Games from Japan are even better. You still have the control issues of course, but I think that good game design can work around it. The games here in the US are also stuck in the “licensing ghetto”, and I don’t know if they’ll ever get out of it.
Why do people buy these games? Simple. Most people ALWAYS have their cell phones, even if they don’t have a DS or PSP with them, and they inevitably find themselves with 5-15 minutes of boredom to kill, so they play a game they would never think of bothering with otherwise. Oh, and there ARE some decent games out there too.
July 3rd, 2006 at 6:18 pm
So, on cell phones:
Java = interpreted (i.e. slow)
BREW = native code (fast)
Correct?
How come there hasn’t been a mass-migration to BREW – what’s the drawback, if any?
July 3rd, 2006 at 6:21 pm
UK Resistance summed it up quite nicely:
http://www.ukresistance.co.uk/2005/06/are-mobile-phone-games-any-good-yet.html
Until Flash Lite is more prevalent than Java, it’s going to be a tough area for casual games, that’s for sure.
July 3rd, 2006 at 6:49 pm
I have and XDA II PocketPC+mobile combo and a Nokia N-Gage. I know it’s a different story but XDA II has great casual games (Zuma, Bejeweled, etc.). I think the high-end smartphones (Symbian S60, MS Smartphones, PocketPC) is great platforms for high quality casual games (ex. Lumines for S60).
July 3rd, 2006 at 6:59 pm
Maybe it’s just my phone. This is my phone (I think, though there’s no model # visible on it that I can see):
http://cellphones.about.com/od/samsung/a/prsam_x426s.htm
It certainly looks decent enough, but perhaps it’s got a very underpowered processor.
July 3rd, 2006 at 9:41 pm
BREW is only intended for use solely on CDMA phones(think North america). For mass market deployment, your best bet is to develop in Java, and then maybe port to BREW and other platforms. Then there is WIPI for Korean phones (also C/C++ based).
Covering each and every possible phone models is frustrating work, in one of the projects I’ve worked on, it took nearly 30 programmers to port to multiple phones(i think about 50), for that team size, you could already work on a MMORPG. Do not forget that new phones with new capabilities keep comming up every year, so you would also need to think of doing new ports every now and then.
You could get around the “frustrating keys” problem by game design – try to design one button games. I played Worms Golf on the cellphone, and it was a delight to play – only one button required at any moment.
If you want to venture into mobile phone games, porting is the most frustrating aspect that you will need to look into. Maybe you could get some port shops to do it for you. As for me, I think I’m gonna give up mobile phone development for the time being.
July 3rd, 2006 at 9:48 pm
Mobile development is not something I’m personally interested in doing, but it’s something I monitor because of the possibility that something I develop in the PC downloadable space might make for a decent mobile port at some point.
So, what’s the relative overall market share of phones like mine (i.e. mediocre game capability), versus higher end phones that can do games well (big screens, better keypads, etc)? And what’s the market share among those who buy games? (i.e. it may be only 5% of the overall cell phone market with the ‘good’ phones, but 20% of the market of those who buy cell phone games – just plugging random numbers in…)
July 4th, 2006 at 1:02 am
BREW is now available for GSM – but none of the GSM carriers will adopt it. But BREW is more than viable in the US market. Verizon’s marketshare has gone down, but at one point they were 50% of the US market for games. It’s also much easier to port games on Verizon phones (because all of the phones use Qualcomm’s chipsets and underlying OS).
I can’t believe the 30 developer number quoted above for porting. That must have been some horrible code. We do our development in BREW, port to around 25 BREW handsets and 25 Java handsets for initial deployment, and do it with SUBSTANTIALLY less than 30 people (and no we’re not doing simple puzzle games).
July 4th, 2006 at 1:05 am
Hi Phil,
I think one of the problems you may have hit is that both of the games you bought were ports. How many bad console-to-PC ports have you seen, and vice-versa? Cellphones are very limited compared to PCs, there’s no doubt about that, but they are very capable of running enjoyable games, the problem comes in when trying to squeeze a game aimed at one format (with a very flexible input system) to another, limited format (with an 8-directional mini joystick at best). Some of the ‘classics’ translate quite well, as they were originally aimed at systems with very limited input schemes as well, but it’s very difficult to replace the freedom of a mouse with what is essentially a d-pad driven cursor. Just try playing the old PS1 version of Command and Conquer 😉
On the performance side of things, try comparing your device to others on http://www.jbenchmark.com. The closest I could find was the x427, and I notice that the screen size is quite small, and that can be pretty limiting to some game types.
July 4th, 2006 at 8:58 am
Yeah – it looks like what I’ve got is on the low end.
Some things will obviously improve over time – screens will get higher rez/sharper, processors will get faster.
But the other thing that hurts is that the buttons on my phone are very small and the surfaces of the button are flush with the surrounding backplate. So when you press the button, it actually goes IN to the surface (by 0.5 mm or so). This makes it really hard to ‘feel’ the buttons. If you are looking at the screen and try to slide your thumb from one button to another, it’s hard to locate the other button (as the whole surface is basically flat).
Obviously, that could be fixable if the phone designer wanted to. But the advantage of this design is that it probably makes the phone fractionally thinner, and it makes it look sleeker. So basically, the phone designer would have to sacrifice the overall aesthetics/form factor of the phone a bit to improve game play. For that to be an appropriate design trade-off, games would probably have to be a bigger factor overall in choosing a cell phone.
As far as I can tell, when you’re buying a cell phone, games seem to be a ‘checkoff item’ (i.e. “This phone plays games like Tetris!”), rather than an important comparitve feature (“This phone is BETTER at games than all the other phones, because of X, Y, and Z”).
There’s still some incentive for carriers to push handsets that are good with games, as that presents an incremental revenue stream for them (that won’t happen as much with lousy games). But it’d be nice if consumers could tell the difference between handsets that are good for games and those that aren’t.
July 4th, 2006 at 9:58 am
The worst part of mobile phone gaming is that it drain your battery faster. How bad is it to answer a call and notice that your battery is almost dead after playing a bad game.
July 4th, 2006 at 9:59 am
I would love to see the phore act more as a PDA than a gaming device. If you want game, buy a PSP or nintendo ds!
July 4th, 2006 at 10:23 pm
Cell phone gaming is a fictitious market created by analysts in order to justify a few large bets made by a few VC.
July 4th, 2006 at 11:41 pm
[…] Casual game developer Phil Steinmeyer blogged about his experience with playing cell phone games. If you don’t want to read it I’ll sum it up in one word: “Shitty.” I’ve only played a dozen or so cell phone games but I wholeheartedly agree, but the reason why may be different. […]
July 5th, 2006 at 7:17 am
Someone I know in the industry once said to me, when talking about efficiencies in O.S. design, that “cell phone are stupidest things in the world. That all they keep doing is adding half-done features, poorly implemented. When what they SHOULD be doing is simply, making them sound better.”
From a marketing standpoint, I assume that the companies running the cell phone business would do things like rentable ring-tones (I’m amazed at the amount of idiots who are willing to pay $3 for a ring tone they can only get for a month), but from a tech standpoint, there’s absolutely no reason why they couldn’t spend more time on better audio/reception technologies.
As a side note, I’ve purchased (well, my wife did) a Nintendo DS this weekend. After playing around with the stylus, there absolutely no way I can ever see me going back to playing any other handheld game without it. Cell phone or not.
July 10th, 2006 at 8:29 pm
Just a sanity check – The Samsung X426 is perhaps the worst phone on the planet for playing games. It’s the absolute bottom of the line for J2ME as it is incredibly slow, has a miniscule heap, and has the worst key-response rate of any device I’ve worked with.
The control mechanism will likely always be a problem, but when you start designing games with that in mind, you can actually get things that are quite fun.
July 13th, 2006 at 3:30 pm
Regarding why the game you had sucked:
I think you tend to get hit really hard if you have a low-end phone these days because of the politics of creating a mobile title. Game companies want to make good games and so they tend to target the better mobile phones to start building on. However, carriers won’t accept titles unless you can hit a certain %’age of their phones so developers have to make games that work on a lot of phones. Also, some phones that are crappy for games, nonetheless, sell fairly well. And so they want you to hit all those. A lot of the time the result is that the company makes one really good version of their game, for their target phone, then makes some crappier versions of their game for other resolutions and then sends it all off to a porting house. The porting house doesn’t care about quality — it cares about meeting the requirements of its contract as cheaply as possible. Generally the crappier/older phones are also real pains to port to and a lot of corners may be cut to make the games work on these phones. So the result is that the crappiest phones get games that are twice-copied from the original with a marked reduction in quality each time. Get a better phone and you’ll probably get better versions of the same game. Don’t expect anything to compete with your PC yet though.
Why BREW hasn’t taken over:
Mostly it’s a VHS/Beta sorta thing. Java is the standard in Europe and other places where people use their cell phones a lot more than we do here in the US. And so people are used to that. On top of that, the whole infrastructure of BREW is very complicated and has a lot of bizarre externalities attached to it. Java games can be directly downloaded and put on the phone. BREW games are signed and a pain in the ass to get on a phone. The BREW API itself is “ok” but generally I think it is a lot easier to get a Java game up and running (although people I’ve talked to claim that BREW is easier to port). Our games are very heavily connected, talking to a server all the time, and we have found that BREW is a real pain in the ass for what we want to do and in general I think it is going to have a hard time “growing”. Part of the problem is that any API changes to J2ME or BREW aren’t used for years because it takes years for the last phones that use the old API to cycle it. It is too costly to have to port between different versions of the API for different phones. BREW has released 3+ versions but generally developers are still using 2.1. J2ME, for us, is only just now getting to where it is possible to use MIDP2 instead of MIDP1 and MIDP2 is still lacking a lot of functionality. If BREW or J2ME releases new networking libraries, new graphics libraries, etc., it will still be several years before phones catch up and those can be used.
July 14th, 2006 at 10:25 am
StGabe – the version thing sounds like Java in the browser-playable space.
The newer versions of Java are pretty good (1.4 and especially 1.5), but penetration of Java versions beyond 1.1 is limited (1.1 was the last version that Microsoft bundled into I.E., though they stopped doing that a few years ago).
So you can hit ~80% penetration with Java 1.1, but with limited features, or a better feature set with 1.4 or 1.5, but terrible penetration.
That’s why Flash has become the defacto choice – ~95% penetration for versions only a generation or two old, with reasonably robust feature sets.
July 14th, 2006 at 12:46 pm
Yep. Exactly the same problem. While BREW 3.1 might has a better feature set for connectivity and may compete with MIDP 2.0 for Java, it’s moot because too few phones support BREW 3.1 (and we’re finding that enough phones finally support MIDP 2.0).
Flash Lite entered the scene a while ago with a version that supports AS 2.0 and other features. However support is still trickling in and it may be a couple years yet before enough phones support it to make it a viable development platform. And then we’ll see how well it ports. It’s interesting that Java is supposed to be “write once, port everywhere” but ends up being just as hard, or harder, to port than BREW because it is implemented so differently on different phones (and because of the many resolutions supported). Flash may end up with the same problems.
Also, I’m still amazed that game development on such limited platforms is really done in Java. I can’t imagine trying to do it in Flash.
July 14th, 2006 at 2:51 pm
BTW, here’s the market penetration for desktop browser stuff:
Flash penetration by version:
http://www.adobe.com/products/player_census/flashplayer/version_penetration.html
(94.8% U.S. penetration for version 7. Version 8 is the most recent version)
And here’s the numbers for competitors:
http://www.adobe.com/products/player_census/flashplayer/tech_breakdown.html
Shows Java at 87.3%, which is higher than I expected, but no breakdown by version. My guess is the Java # includes a fair portion of Java 1.1 machines, whereas the latest version is 1.5.
August 22nd, 2006 at 12:56 pm
PhilSteinmeyer.com: Small Business Blog of the Day…
Today’s blog is the second video game blog I’ve featured. The first, Tales of the Rampant Coyote, appeared in May with a follow-up interview a couple of weeks later. I found today’s by accident. Curiously, it appeared in a Technorati…