Gamasutra: The Art & Business of Making Gamesspacer
arrowPress Releases
August 27, 2014
PR Newswire
View All





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


Dealing with Android's fragmented market
Dealing with Android's fragmented market Exclusive
May 22, 2012 | By Eric Caoili




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.

Android developers have to build their games for a staggering variety of devices, taking into account different operating system versions, screen sizes, processor speeds, and numerous other factors. Staircase 3 recently tallied the number of Android setups accessing its OpenSignalMaps app, and ended its count at nearly 4,000 distinct devices.

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."

Maximize testing

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."


Staircase 3 charts the numerous Android devices accessing OpenSignalMaps

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."


Related Jobs

Yoh
Yoh — Vancouver, British Columbia, Canada
[08.27.14]

Rendering Engineer Job
Blizzard Entertainment
Blizzard Entertainment — Irvine, California, United States
[08.27.14]

SENIOR SOFTWARE ENGINEER, GRAPHICS
Blizzard Entertainment
Blizzard Entertainment — Irvine, California, United States
[08.27.14]

ASSOCIATE SOFTWARE ENGINEER, TOOLS
Trion Worlds
Trion Worlds — Redwood City, California, United States
[08.27.14]

Senior Graphics Engineer










Comments


Chris Melby
profile image
Fragmentation! It's a baaaaad word! Scary! Everyone RUN!!! Out of the various platforms I've worked on since the nineties, by far the worst area of fragmentation has been and still is the web. Android is really a walk in the park in comparison when building anything complicated.

I've been doing this long enough, that I know how to build dynamic GUIs that size to any screen size. I've noticed that those that work only in the game industry really aren't that good at doing this sort of thing -- at least going by the tons of PC games I own that don't really like my Apple 30" rez -- let alone know what double-clicking is or what a scroll-wheel does...

And Epic's opinions. These are the guys that told us that we shouldn't develop for iOS, because our apps might not get approved, nor should we develop for Android, because of the BIG-BAD-SCARY fragmentation! But then they told us we should target the PC instead, the same platform they crapped all over as MS was paying them to be XBox shills. Anyways, there are plenty of developers with less resources and talent than them that are successful on these various platforms that they're too good to touch. Maybe if they spent less time trying to discourage other developers, they'd see past their wanting limitations; but then again, I'm sure it boils down to them not wanting Android to succeed anymore, and less competition on the iOS front -- which I'm sure they're drooling over as if it's their territory; so they don't like all the little guys treading on their new playground.

Anyways, once you get your foot wet working with Android, it's really not that bad at all and the devices are getting really cheap -- which rocks; as does Eclipse! I target boring enterprise, but it covers a wide array of devices.

And IMO, only a fool -- or someone with severe OCD -- would build a "game" that targets and tests for every possible config. There's the option to filter out the devices you don't want support and their are key configs that are quite obvious to target.

I should rest, then I can read what I wrote while sleep-typing.

tony oakden
profile image
I agree. My experience of Android so far has been far less traumatic than I expected. In fact the hardware variances are no worse, IMO, than one expects when developing for the PC. The different screen sizes and AR are fairly easily handled with a bit of forethought and different processing powers can be handled either by automatically scaling render quality or by providing the user with the option to change them manually, Android users seem more able to cope with render options than Mac users... I personally think a much bigger problem is the fragmented market place and the fact that far less people seem to be prepared to pay for anything :)

Stephen Dinehart
profile image
One could always just use Adobe's Flash. Like my game http://pinkyelephant.com it runs on all platforms, scales, and easily caters content according to the client spec. No; really.

Like Chris stated above, anyone that has developed for the browser should know this experience well. We figured out solutions for this over a decade ago, and it's called Flash.

With the molehill API in Flash Player 11 there is no stopping it from being the very platform that most browser and mobile games are delivered on.

Google is also great at providing lots of guides and assistance for Android development; simply combing the web should prove fruitful for any curious mind.

Kenneth Blaney
profile image
Every, and I mean every, Android Development book/FAQ/tutorial/etc I have ever seen covers adapting your app for varied screen sizes. Doing this is Android 101. In fact, it is largely covered by the Android OS itself as you have the ability to load different versions of the same art assets for differing screen densities. Thus, no changes in code would allow you to upgrade an app for high density screens.

That said, on Android Tablets, there is significantly less fragmentation than on Android as a whole. The major tablets all have roughly the same density, screen size and RAM, so if you are making a game that targets the tablet market (like "Infinity Blade" does) fragmentation just isn't really an issue anymore.

James Coote
profile image
Maybe if you come from iOS without the designs and mindset for making games that scale to different screen sizes and resolutions, I could imagine it would be frustrating

However, I've never had that problem since I've only been developing for Android, and like you say, if you follow the guidelines, it is quite hard to make something that breaks when you play it on a different device.

If anything, some UI's can look padded when designed for a phone-sized screen and upgraded to a pad, but that's hardly a good reason to ignore the platform

Kenneth Blaney
profile image
You make a decent point about coming from iOS, James. I just figured that everyone, no matter what their programming background, would have to pick up some kind of manual about a new development platform.

Jonathan Escobedo
profile image
A very interesting read. I myself am currently learning about Android at the moment, and I was surprised how easy it was for me to get into.

Daniel Smith
profile image
To me, screen sizes aren't a big deal (no different than pc development for example). This is easy enough to work around, though it keeps being brought up in these discussions. Whats more problematic are weird implementation differences (ie. bugs) across different devices/os versions. Random examples: Audio crashes on Samsung S2, touchscreen issues on Motorola devices. Shaders which mysteriously don't compile on some devices, giving no useful errors. Some devices won't install apps larger than 30mb, but some will.

Historically, there has been (and still are) devices that can't properly distinguish between multiple touchscreen touches. Pre-OS 2.3 there was a huge problem on many devices with cpu usage which spiked to 30-50% just by touching the screen. These are slowly becoming less of an issue (as new OS versions are released, and people replace their phones) but still have to be considered, as many phones simply don't receive OS updates.

A huge number of current android devices have no floating point support - its easy enough to handle this - but you have to consider the performance impact. In addition there is a huge number of combinations of cpu, gpu, and screen size out there. This can mean performance bottlenecks (usually cpu or fillrate) can vary greatly from phone to phone, making optimization more difficult.

All of this can be worked around, but its not necessarily trivial. Dismissing the fragmentation issues as being caused by lazy developers who don't want to deal with UI layout (a common argument) is simply ignoring much of the problem

Patrick Henschel
profile image
Very interesting article. Having developed some iOS and Android apps now I find it the only problem is the hardware problematic. One some devices you get crashes and you couldn't always figure out why without having the device when the emulator says everything is ok. But I think the learning here should be to look if the device is it worth any investigation and if it is, get the device! Still I like that you know what you get on iOS devices instead of jumping into the cold android water.

Chris Moeller
profile image
'Fragmentation' is just the word iphone users describe something they don't understand :p

Really, it's the same problem for developing anything with multiple screen sizes - even 'iPad' vs 'iphone'. You just have to decide on how you want your stuff to scale when playing on different screen sizes.

There are some issues with which phones support openGL 1 vs 2, and max texture size, but I'm sure the same is true for the original iphone vs the iphone4.

'Fragmentation' isn't an issue specific to the Android platform at all. Good design and forethought are, for all platforms.

Or if you just want to be very lazy, make it for one, specific screen size ;) I've seen games that display at 480x800 regardless of which device you're using :-p

R. Hunter Gough
profile image
I'm sure this will end just like the 1990s, when all the computer games were made for the nice, standardized Mac platform, and none were made for the crazy, fragmented, "IBM compatible" platform.

Oh, wait...

Thierry Brochart
profile image
Excellent article, thanks a lot!

Mike Arcuri
profile image
Yes, there are some different aspect ratios to support, and yes those Android users really do care that you use their full screen rather than letterboxing, but iPads have different aspect ratios than iPhones, so that's not a new problem.

Here's the full story about how the worst Android bugs in Wolf Toss had nothing to do with device fragmentation, and everything to do with core engineering. Colorful title too :-)

http://thenextweb.com/google/2012/04/02/zipline-ceo-stop-whining-
about-android-fragmentation-and-do-some-damn-qa/

There are plenty of tools for testing, crash reporting, and performance monitoring that make Android tenable for a small studio with a good methodology. And there IS money to be made on Android. Studios with a hit iOS title that don't bring it to Android are leaving that revenue on the table.


none
 
Comment: