The internet is abuzz today with the announcement of the Google Phone open source platform called Android for cell phones. Here’s a description for the open handset alliance site
Android™ will deliver a complete set of software for mobile devices: an operating system, middleware and key mobile applications.
Now I’ve done my share of time in the cell phone game development trenches and have a better understanding of why cell phone game development is a nightmare than I’d like to. Android, however, looks like it could solve many of the problems that plague cellphone game development today. Let me elaborate a bit on the problems with cell phone game development and how Android may fix these.
The Problems with Cell Phone Game Development
First, let me give you a rundown with what I see as the greatest problems with cell phone game development.
1) Nonstandard and Buggy Platforms
The first problem is the standardization of the Java Virtual Machine (JVM) [I did most of my work on the Java side of cell phone game development but the Brew (C++) side faces many of the same issues]. Java was brought to cell phones with the intent of making this platform that is completely device independent where one could write their source code once and easily run it on devices from many different manufacturers without any changes. This ideal is fantastic and sounds great, the problem lies in the execution. Today the JVMs for the phones are still buggy in many serious places and each cell phone manufacturer makes their own JVM. Thus for every cell phone there are completely different bugs one must work around and the JVMs do not follow the Java standard very well at all thus source code must be modified conditionally for each set of devices one wants to distribute their game on.
2) Vast Differences in the Handsets the Their Resources
The second problem is the huge amount of differences in the various handsets available. I remember about a year ago I had what was advertised as a top of the line phone (a Sony Ericson s710a) it had a high resolution screen and lots of other nice gamer and multimedia features. When I got further into cell phone game development and actually looked up the amount of memory the phone had the results were laughable. It’s memory available was comparable to phones that were low end trash phones or those given out free years ago. This blew my mind. However, this isn’t a very uncommon problem in cell phones their hardware specs will generally make no sense. People owning that phone expect to be able to buy nice fancy new cell phone games, the phone however can barely count to 3 on it’s own without running out of memory.
More reasons this becomes a problem is the distribution method that cell phone companies use to get people on their networks. They offer really low end crappy phones (hardware wise) that are put into spiffy looking cases and marketed as nice devices. They give these phones out free or even pay you to take them with long 2 year contracts. 2 years is a huge amount of time when it comes to technology, especially technology that is innovating as fast as the cell phone market. What gadgets do you have that are over 2 years old? Furthermore since 80% of the people on any given providers network use these 2 year old low end pieces of junk if you want to make a nice new cell phone game you’re pretty much stuck catering to the low end otherwise you have so little a market and the cell phone providers don’t care enough to let you release your game. Which leads into the third problem.
3) The Pains of Distributing Games with the Major Cell Phone Networks
The third problem as I see it is distribution on the major networks. It can be very hard to get your game released onto the cell phone game market where you can actually sell the game. The phone networks like to control the content fairly tightly and if they don’t think you’re game is a good fit then they’ll shoot you down and won’t let you release the game. This makes cell phone game development especially troublesome for indies because this happens to even the major publishers for example I worked on a game for a major game publisher which was done over a year ago and I think still has not seen the light of day of the market. The networks also will require you make your game for the lower end handsets which means any fancy features or in depth gameplay you want to include will probably be cut unless you want to make multiple versions of the same game.
How the Google Phone Android System Solves These Problems
As you can see there are lots of problems with cell phone game development these days but it can still be a very lucrative market to explore and will only continue to rise in the future as more powerful phones reach the hands of the masses. The Google phone has potential to solve a lot of the problems of the industry lets see how.
1) Android Provides a Standard Platform that Many Manufacturers Plan to Adopt
Because Google intends to provide the operating system to many different manufacturers this could potentially mean that we finally get one single implementation of the JVM and no longer have to go through the nightmare of coding for all sorts of different bugs and “features” of each vendors JVM implementation. If Google does this right and the Android platform is widely adopted and deployed it could really be a new age of cell phone game and application development. The old hope of “right once, run anywhere” could become much closer to reality that before.
2) Android Could Create a Useful Set of Minimum Requirements
It’s not yet known precisely if the Android system will actually do this or not but it would be generally helpful if Google came up with some sort of minimum specifications for phones using the Android platform. For example it might state that there are tier 1 phones which have a certain speed of processor and amount of memory as a minumum (each phone may have more but would need this amount to be certified tier 1) then it could come up with other higher tiers of requirements giving the developers much clearer targets to develop for. This is more of an industry wide problem but something like this created by Google and adopted by the manufacturers who use Android could really go a long way. This would make many development nightmares disapear as development would become much more like developing for consoles (a few machines with a specified hardware specification) instead of the hundreds of devices each with different specs developers must consider these days.
3) Android Provides an Open Platform for Deployment
Google is promoting Android as a very open platform for anyone to develop on. They’re even releasing a SDK to the public in just a couple weeks from now. If done right this will provide a much more streamlined route to market for many developers and could make indie cell phone game projects much more of a reality. Developers could bypass the draconian system of having to run every application and game idea through the minds at the major phone networks (who generally aren’t game minded folks) which could breath new life into the possibilities for innovation within the cell phone game space. We could quickly go from lots of old arcade game ports and tired platformers to games that are really interesting and push the envelope of design. Also it could lead to much cheaper development on a whole which will also help indie developers who want to get into the cell phone game market. If done right this could make the cell phone much closer to the PC as a game platform and really open up the opportunities for cell phone game developers on a whole.
I’m Very Excited About Where The Cell Phone Game Industry Could Be Headed
Before this news about Android I had written off cell phone gaming as a tired and torturous industry to work in. Now, however, I have new hope that that industry can be reinvigorated and the best days could be ahead. If Google can do for cell phone development what it has done for the internet in the last few years we are certainly destined to see some great innovations come right to our pockets. Great and innovative games being just one benefit.