
The hardware situation is promising
Before you can have a vibrant gaming ecosystem on a phone, developers have to be convinced the power exists to do what they want. All the Android phones that were released for the first year of the platform's existence were on the slow side. They were all running on the Qualcomm MSM7201A chipset clocked at 528MHz. This ARM11-based solution was already on its last legs when it was used in the T-Mobile G1, but we continued to see it in phone after phone. In fact, the earlier versions of Android did not even have support built in for different chipsets. The nature of Android and the SDK mean that games had less in the way of resources to use. The original iPhone ran on a similarly pokey CPU (a 400MHz ARM11 core), but by having a unified hardware platform, gaming was easier to pull off. Even on these earlier iPhone platforms, graphics intensive games like ZenBound ran very well.
Android phones just seem to require more power to run equivalent games. We finally got that more powerful hardware when the Motorola Droid launched late in 2009. The Droid had a TI OMAP 3430 chipset with similar CPU and GPU specs to the iPhone 3GS. Now developers could see more potential in the platform. Some games, like ExZeus, showed up in the Android Market with explicit instructions that users should not attempt to run the game on older phones. The release of the Nexus One with a 1GHz Snapdragon CPU just upped the ante even more. At this point Android also started moving to higher resolution screens allowing for very attractive graphics. The hardware situation is actually looking very good for Android now.
There was still a speed problem with the operating system. These faster CPUs weren't able to truly live up to their potential because some aspects of the Android kernel weren't up to snuff.
The software situation turns a corner
One big impediment to the early adoption of Android gaming was the complete lack of multi-touch in the operating system. The hardware supported this feature, but the Android OS and its native apps did not. Many games require multiple on-screen elements to be pressed during gameplay. Android just couldn't do that, and that kept many game developers on the iPhone exclusively. There were a number of games ported to Android from the iPhone with the multi-touch capability removed. An example of this it the popular iPhone game iDracula. The non-multi-touch version on Android is hardly worth playing. With Android 2.0 (Éclair) came multi-touch APIs, but there were other problems as well. Android apps are mostly built in Java, and when they run on a phone, they have to be compiled to native code. This is handled by the Dalvik VM in Android. Dalvik was always been too slow for really rich apps to run well. Google has only rectified this recently with the addition of the Just In Time compiler (JIT) for Android. This finally allows apps to run faster, taking full advantage of the CPU. The change will roll out in Froyo (2.2), but many phones will have to wait to get it.
Android also took its time to adopt gaming-friendly graphics libraries. Most Android phones right now are running on OpenGL ES 1.0. This does not compare favorably to the iPhone's support for the 2.0 revision (on the 3GS only). OpenGL ES 2.0 is fully programmable with GPU-based instructions. Developers could simply see more potential in the iPhone platform for reasons like this. With the release of Froyo, however, we expect to finally see OpenGL ES 2.0 support come to Android. Hopefully developers will take advantage of it. Overall, Android has cleaned up the software side of things fairly well.
3 ways for Google to move gaming ahead
A lot of the pieces are already in place to help Android gaming really take off. Hardware has finally gotten to where it ought to be. Many refinements in the operating system have, or are about to, allow developers to take full advantage of that hardware. So are we about to see an explosion in Android gaming? It will definitely increase, but Google could take some steps to improve matters.The hardware differences in phones are not made clear to users. Google should strongly encourage their hardware partners to move exclusively to OMAP and Snapdragon equivalent hardware for all but the most basic entry-level handsets. If people are buying a new smartphone, it should be able to play the current crop of games. Google has an easy way to gently enforce this. Google shouldn't be denying access to Android to slower phones, but their stewardship over Android gives them some sway. Strong partnerships with Google can offer benefits, as Motorola and HTC can attest to. This can give manufacturers some impetus to lean towards faster hardware.
Google also needs to be more upfront about Android system updates. We understand that the breakneck pace of updates these last few years has made that difficult, but the huge differences in features discussed above mean developers need to know what to target. In the Market you'll often see a version of an app meant for Android 2.0 and higher devices, and another of all others. This all goes back to the fragmentation issue. Google may be saying that this is a red herring, but it really does impact developers.
Google has made noise in recent days that the pace of updates would slow to once per year. This is exactly the way to increase developer confidence. If they can manage this, it would help with the version fragmentation in a big way by giving manufacturers time to update their custom interfaces. But openness is still key. We need to know which phones will be updated, and which won't.
Lastly, Google need to court game developers in a big way. This too seems to be apparent to them. At the recent GDC event, Google was handing out Motorola Droids to game developers. This is a nice gesture, but they need to demonstrate more commitment. If an iPhone game dev even makes a peep about making an Android game, a Google employee should show up at said developer's house with a free Nexus One with a prepaid SIM card.
In recent months, some Android games have begun to compare a little more favorably to iPhone games. As more developers enter the market, the overall quality of the games is improving. For instance, the Android game Air Control is as enjoyable and almost as pretty as Flight control on the iPhone. The hardware is there, the software is getting there. If Google can manage to keep the platform more together in the future, and court game developers, we could be in for some great Android games. Do you feel optimistic about Android gaming?








































