Ask a group of mobile game developers why working on the Android platform can be a hassle, or why they prefer not to work with it at all, and it's likely some will immediately point out its fragmentation problem.
That's exponentially more than the number of iOS devices one needs to consider, and game creators have noticed. Financial services company Baird surveyed 250 developers a year ago and found that 86 percent of them considered Android's fragmentation a problem. More than half said it was a meaningful or huge issue to deal with.
Epic Games famously brought one of the biggest mobile franchises (Infinity Blade) to iOS but not Android because of these problems. "When a consumer gets the phone and they wanna play a game that uses our technology, it's got to be a consistent experience, and we can't guarantee that [on Android]," said CEO Tim Sweeney. "That's what held us off of Android."
Despite Android's fragmented ecosystem, many game developers have stuck with the platform and found ways to work around the problem. Gamasutra talked with several of those studios about how they've approached making mobile titles for thousands of different devices, and whether they still believe developing for Android is worth the hassle.
Developing for different screen sizes
Among the developers we talked to, the most commonly cited problem with Android's fragmentation was having to display their game across a multitude of screen sizes and resolutions. Staircase 3 created the following graphic to illustrate the various screen configurations that viewed its app (scale 2:7):
Spacetime Studios, creator of 3D MMOs Pocket Legends and Star Legends, initially had difficulty with all the different screen setups, but it came up with a solution. "We eventually rewrote our user interface system to scale dynamically based on the type of device," says CEO Gary Gattis.
Peculiar Games' Patrick Casey (Voyage to Farland, Microchip Monsters) had a similar idea: "I've circumvented some of the differences in specs in my latest game by having everything drawn procedurally at startup in a background task. The code just gets the screen size and goes from there.
"The result is that it's being played on smaller 240x320 ldpi phones all the way up to 7-inch 600x1024 tablets. ... Getting a solid understanding of the UI layout process, especially weighting buttons and frame buffers to scale across devices rather than hard-coding sizes [is key]."
Casey adds, "That and designing from the start (enemies, monsters, whatever) with no assumptions about the screen size and for different CPU/GPU speeds, limiting framerates to 30fps (60fps is unfortunately unrealistic for most devices -- especially if you don't want to drain the battery).
Contending with Android's many OS versions
Compared to the number of studios that said screen size is a critical issue, fewer felt the jumble of different Android operating system versions installed across hundreds of millions of devices -- with many incapable of upgrading due to restrictions from carriers or manufacturers -- is a severe problem for them.
"I know that's part of the concern [with Android fragmentation], that some devices don't support upgrade paths to later OSes, but I think that's a roll-on effect from an emerging market," says Ingmar Lak, studio director at The Binary Mill (Mini Motor Racing, Gun Club 2). "As we move forward, lessons have been learned by Google, carriers and device manufacturers that will improve new devices as they enter the market."
"The different device specs (screen size and CPU speed) have been more challenging than the varying OS versions," notes Peculiar Games' Casey. "I pretty much target Android 2.1 to 2.3, which covers 90 percent of the devices out there, according to Google's 'Platform Versions' page."
Casey continues, "One misconception is that by targeting 2.1 to 2.3, your games won't run on higher level OSes, which is not the case. They'll run fine on the Xoom and Galaxy Nexus with Honeycomb or Ice Cream Sandwich or whatever."
In many ways, the problems developers have encountered from Android's fragmentation are the same as those PC game makers have faced for decades. As in the PC space, it can be difficult to anticipate all the problems a game will encounter on so many different configurations, especially if one doesn't have access to the equipment for testing.
"The biggest challenge for us as a small independent developer is that we simply don't have the resources necessary to test on many devices," says Ralf Knoesel, who serves as technical director of Vector Unit (Shine Runner, Riptide GP).
Developers don't need to make sure their games run on every device, though. Knoesel notes, "When launching a new game, our standard practice is to make sure the major chipsets and most popular devices are covered. This means testing on a handful of devices we've collected over the last year. Then we simply release the game to the public with no filtering.
"If we get a few emails informing us of a device incompatibility, there are two courses of action: (1) If the device is popular enough (based on downloads/installs), we'll purchase it and fix the issue. (2) If the device is not popular enough to warrant a purchase, then we'll simply filter out the device."
Daniel Kim at Digital Harmony Games (Dragons Vs. Unicorns, Chin Up) adds, "Getting a four-to-eight device base to test your code against might seem like a drastic expense from an indie standpoint, but it's an investment that is well suited and should see some returns in the form of saved time and happier customers."
Even if you don't have access to a handful of common phones to test on, you're not out of luck. Peculiar Games' Casey says, "I set up emulators for the more popular devices. Unfortunately, the emulator's pretty slow, but it's a faithful emulation of the full operating system, and you can at least get a feel for problems in the UI, etc."
Is it worth dealing with Android's fragmented landscape?
All of the developers Gamasutra spoke to agreed that fragmentation problems haven't been enough to dissuade them from making games for the platform. The Binary Mill's Lak echoes many of their statements: "[Google Play/Android Market] is growing rapidly, and represents a market opportunity that devs would be crazy to ignore."
"It's definitely worth it for us," says Knoesel. "Both of our apps so far have so far performed better on Google Play than in the App Store. This is due to several reasons including (but not limited to) the nature of our games, the flooded state of the App Store, and the way rankings are calculated."
"Android as of now is the leader in the mobile OS race, and I don't see that dwindling anytime soon," comments Digital Harmony's Kim. He emphasizes the importance of publishing games to both iOS and Android: "Strategically planning releases cross-platform is a must if you want to maximize on your potential and value, even if it's a pain to deal with."
"[One of the primary reasons] we love the Android platform is revenues," says Gattis, whose Spacetime Studios specializes in free-to-play cross-platform MMOs. "We make about the same money on Android that we do on iOS. Our suspicion is that our games are more mid-to-hard-core, and this resonates better with the Android players."
Contrast those statements with what Epic Games' Sweeney said last year when he shared another reason why his company opted to focus on the App Store, releasing the Infinity Blade franchise on iOS but not on Android. He argued that Apple's platform is "really the best place to make money."
But more and more developers are reporting bigger revenues from Android's app stores than Apple's. TinyCo, maker of cross-platform free-to-play title Tiny Village, recently found that its game was getting a much higher average revenue per user on the Amazon Appstore (for Android devices) than on Apple's service. It called Amazon's platform a "gold mine."
Casey adds, "Another point with Android that seems like fragmentation at first -- but is actually an opportunity in disguise -- is that it's pretty seamless to get your apps not just on Google Play, but other app stores like the Nook app store (which is really promising these days), the Amazon Appstore, and even the BlackBerry App World for targeting the PlayBook with the Android player. In those other stores, your game isn't immediately swamped among 500,000 other apps.
Painful but improving
Another reason why many developers are willing to overlook Android fragmentation is that they believe it's becoming less of a concern. The Binary Mill's Lak says the situation has "definitely improved" and comments, "The market is maturing, and as time goes on, fragmentation seems to be becoming less of an issue as the power of devices exponentially increases."
Digital Harmony's Kim is confident that new versions of the Android OS will also elevate the platform. "There were worries when Android Honeycomb was in development, but Google did the right thing in unifying HoneyComb and previous versions of smartphone Android into Ice Cream Sandwich. The current state of Android is still painful, but as time progresses, things should be getting better with a unified platform."
That doesn't mean fragmentation will cease to be a problem in the future, though. "In terms of getting better, yes I would say it's headed in that direction, but fragmentation will always be an issue with the sea of manufacturer's out there and the varying degrees of devices and their capabilities," says Kim.
But maybe that's not such a terrible thing. "I think there are upsides to 'fragmentation' to consider here," argues Lak. "Variety. Innovation. Choice. The alternative is a closed market that stifles competition, leaving little of these."