GAME JOBS
Contents
Revisiting Android
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
June 6, 2013
 
Wargaming.net
Build Engineer
 
Gameloft - New York
Programmer
 
Wargaming.net
Build Engineer
 
Virdyne Technologies
Unity Programmer
 
Wargaming.net
Quality Assurance Analyst
 
Wargaming.net
Python Developer
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
June 6, 2013
 
Free to Play: A Call for Games Lacking Challenge
 
Cracking the Touchscreen Code [1]
 
10 Business Law and Tax Law Steps to Improve the Chance of Crowdfunding Success
 
Deep Plaid Games, one year later
 
The Competition of Sportsmanship in Online Games
spacer
About
spacer Editor-In-Chief:
Kris Graft
Blog Director:
Christian Nutt
Senior Contributing Editor:
Brandon Sheffield
News Editors:
Mike Rose, Kris Ligman
Editors-At-Large:
Leigh Alexander, Chris Morris
Advertising:
Jennifer Sulik
Recruitment:
Gina Gross
Education:
Gillian Crowley
 
Contact Gamasutra
 
Report a Problem
 
Submit News
 
Comment Guidelines
 
Blogging Guidelines
Sponsor
Features
  Revisiting Android
by Patrick Miller [Programming, Game Developer Magazine, Console/PC, Indie, Smartphone/Tablet, GD Mag, GD Mag Exclusive]
1 comments Share on Twitter Share on Facebook RSS
 
 
May 28, 2013 Article Start Previous Page 9 of 10 Next
 

Shiny Shoe

Mark Cooke (cofounder)

Prior dev background (platforms): Xbox, Xbox 360, PS2, PS3, GameCube, iOS, Android, Sifteo Cubes
Shipped Android titles:
Offworld
Preferred toolset:
Unity



Is fragmentation still a major issue for you?

Thanks to the great work done by the engineers at Unity, it has been easy for us to get our games running on a wide variety of Android hardware. As a tiny studio, Shiny Shoe has access to a limited number of devices to test on, but every device we've been able to get our hands on runs our games.

What is frustrating and creates a concrete support problem is that there are so many devices out there that there is literally no way we can support them all. We receive a few support requests a week where a particular part of the game is nonfunctional on a specific device/OS combination. I want to help these customers, but we literally can't; we don't have the time or money to be able to get test hardware in the correct state to find and fix the bugs that are being reported.

When we shipped Offworld we decided to launch on both Google Play and the Amazon App Store, another form of dealing with Android fragmentation. This necessitated additional work in terms of IAP processing and other store-specific changes. This work wasn't particularly challenging, but also wasn't free in terms of engineering and QA time. In our case it wasn't worth it; we have somewhere on the order of 100 times the number of downloads on Google in comparison to Amazon.

Although we have run into some issues, overall fragmentation hasn't been a huge issue for us and we are happy to be working on the Android platform.


Offworld.
 

Do you have any tips for optimizing the Android dev process?

Make sure to design your UI to support multiple resolutions and aspect ratios from the start. We did this on Offworld and it made it easy to launch on a ton of different devices with minimal UI work. We took a fairly simple route to achieve this that can work for many games; basically, we resize an orthographic camera dynamically based on the vertical screen resolution and the resolution that our UI was authored at. In combination with that we used a Unity plug-in called Multiplatform toolkit, created by fellow indie Owlchemy Labs out in Boston, which allowed us to reposition UI widget containers based on aspect ratio.

One thing I would recommend against if you can avoid it is targeting multiple texture-compression formats via different APKs with manifest files that limit target hardware by the <supports-gl-texture> property. As I understand it, there is only one texture-compression format universally supported across all Android devices: ETC1. That format doesn't support an alpha channel. Offworld uses a large number of textures and almost all of them have an alpha channel, meaning if we wanted to ship a single APK we'd have to switch over to uncompressed 16- or 32-bit textures. This was scary -- we were really concerned about either using too much runtime memory or harming visual quality by switching to uncompressed 16-bit color.

So with that in mind we tried to support the three major hardware-supported compressed texture formats -- PVRTC, ATC, and DXT -- via separate APKs that included texture data for each platform. This is a nightmare and if you don't have a good build process set up you're in for pain. We eventually launched with this setup but quickly ran into a huge issue -- some models of the Samsung Galaxy S2 (a very popular Android device at the time we launched) didn't have hardware that supported any of the aforementioned compression formats. This means that the Google Play store thought our game didn't work on many Galaxy S2s and thus people with that device couldn't download it.

After going through all of that we decided to scrap our setup and switch to uncompressed textures. That took additional work to reduce texture sizes where we could get away with it, but ultimately it has worked out much better for us and allowed all models of the Galaxy S2 to download and play our game.

How have your games sold on Android?

Contrary to conventional wisdom, Offworld has done significantly better on Android than on iOS. We're not really sure why, though! We received minor features by both platform holders that helped drive early installs. After the initial bump we dropped off in a major way on iOS but have continued to find an audience on Google Play. Our revenue on Google Play is currently three times higher than our revenue on iOS. Also, I know this is out of the ordinary, but for us ARPU is fairly similar between the platforms. Amazon has been a total bust for us unfortunately.

Overall, have you found Android dev to be worth the extra work? Are you looking into other mobile platforms?

I always consider this question on a case-by-case basis, but for Offworld, because we are using a cross-platform development tool like Unity, I think it was worth the extra work. Unity has done the majority of the engineering work for us, easing development significantly. I'm interested in potentially releasing on Windows Phone to test that market, but for us that is out of the question until Unity supports the platform.

 
Article Start Previous Page 9 of 10 Next
 
Top Stories

image
Keeping the simulation dream alive
image
A 15-year-old critique of the game industry that's still relevant today
image
Here's the first list of Unreal Engine 4 integrated middleware
image
Amazon launches dedicated indie games storefront
Comments

Maurício Gomes
profile image
I will ADD a comment here to contribute for the article.

I am co-owner of Kidoteca, we released 3 paid apps and 4 free apps so far. None of them use IAP or ads (some free apps just point to our paid apps, in a hidden section, because we target kids and think making ads for kids is horrible and evil)

We have much greater "conversion" on iOS...

But overall we are doing better on Android, although people there are much more tightfisted, and for example do not buy stuff on launch, and conversions are low, over time Android always surpass iOS, specially because the fairer ranking system, and much better search engine, iOS ranking system is too volatile and hard to stay on it if you don't have a marketing budget (and for now, we don't).

Also regarding fragmentation, sometimes we have some silly issues, but is usually on one specific device or another... although ironically the problematic device is usually the same one (any version of Galaxy Tab, they always misbehave in some way or another, it seems Samsung have terrible driver coders...)


none
 
Comment:
 




UBM Tech