Dan Ruscoe's Personal Site

Adventures in Indie Game Development for Android

I started to teach myself Android development towards the end of 2010 by attempting to create a few small games. I'm writing this post at the start of 2012 to share what I learned along the way, as well as my sales and ad revenue figures for the past year.

Hopefully this information is helpful to anyone looking to start Android development.

Getting started

Android is the first mobile platform I've developed for and getting started was a lot easier than I expected it to be. I've been using Ubuntu Linux, running Eclipse with the ADT Plugin and testing on an HTC Evo 4G as well as several emulators.

The Android emulators, in my experience, perform terribly when testing games. Despite this, they are very useful when testing a game for various screen resolutions. A Motorola Xoom emulator helped me fix an issue in one of my games which a Xoom user had notified me of via Twitter.

The online Android documentation is excellent and plenty of tutorials for specific concepts can be found via a quick trip to Google.

Graphics and Audio

As I'd decided to create games, graphical and audio resources were an important part of my applications. To keep production costs down, I created the majority of graphics used in my games myself using the open-source vector editor, Inkscape. I'll never be an artist, but being able to drag together a few coloured shapes in Inkscape was all I really needed.

To support an assortment of devices and screen resolutions, Android is capable of scaling graphic assets used in your application. I was never happy with the results of scaling and I recommend taking the time to create resolution-specific graphics for your applications. This is really well documented.

While I could handle simple graphics, creating audio effects was completely outside of my abilities and so I made the decision to purchase audio from a professional studio. I went with Soundrangers, who are a little more expensive than some other options I'd considered, but have an extensive and well indexed library.

Audio purchases contributed the most to my production costs, as I'll show in the cost / revenue chart.

Installations and Retention

These figures show total installations and the number of users who still have the game installed. I did some research and my retention figures seem to be about average.

Game Launch Date Total Installs Active Installs Retention (%)
Submarine December 30th 2010 6,694 723 10.8
Radius April 24th 2011 2,448 309 12.6
Arcade Fishing June 13th 2011 19,479 3,611 18.5
Rock Slots October 2nd 2011 3,899 521 13.4

Cost and Revenue

This is the amount of money I spent producing each game, and the amount of money each game made. I tried both selling a game, then later releasing free games with advertising by AdMob.

The cost of my first game, Submarine, is only the one-time $25 fee required to create an Android Marketplace account. The rest of the money I spent was only on sound effects for my other games.

Game Production Cost (USD) Sale Revenue (USD) Ad Revenue (USD) Profit (USD)
Submarine 25.00 13.85 0 -11.15
Radius 22.45 0 0.45 -22.00
Arcade Fishing 11.80 0 61.60 49.80
Rock Slots 17.15 0 0 -17.15
Total 76.40 13.85 62.05 -0.50

Submarine was originally released as a paid application, but was later made free. Radius and Arcade Fishing were released as free applications with advertising. Rock Slots was released for free with no advertising.

Advertisement Stats

These are some more detailed advertisement stats from AdMob, for anyone who might be interested in ad performance.

Game Impressions CTR (%) eCPM Revenue (USD)
Radius 5,973 0.23 0.08 0.45
Arcade Fishing 82,563 2.1 0.75 61.60

Being Found in the Android Marketplace

Early in 2011, having an application discovered in the Android Marketplace was fairly easy thanks to the “Just In” list. All new and updated applications would appear in this list for a short time and I consistently saw spikes in installations after every update I released.

Unfortunately, this section of the Marketplace was removed sometime around the middle of the year, almost certainly due to abuse from low quality developers who would release minor updates in order to push their applications to the top of the list.

I can't tell for certain, but I think it's safe to attribute the majority of the installations Arcade Fishing received to the Marketplace search function. Fishing games have proven popular on mobile devices, so it's likely that a steady stream of “fishing” searches delivered users to my game.

Marketplace Users, Ratings and Comments

Once you publish an application in the Android Marketplace, users have the opportunity to rate it and leave reviews for other users to read. This is great for all potential users, especially when paid applications are involved, but the current design of the commenting system leads to my biggest problem with the Marketplace; there is no way to communicate with the users.

In the Marketplace, it is impossible for a developer to see the real identity or contact information for any user who comments on their applications. I agree with Google's decision here, but there's a problem when users are under the impression they can receive support from an application developer by leaving a comment in the Marketplace.

Despite a support email address being provided on an application's page, users often ask questions, ask for help and complain about missing features they simply aren't using correctly in Marketplace comments. Their comments go unanswered and the user assumes they are being ignored.

This isn't the fault of the users. They've learned, through blogs, forums, Facebook and Twitter, that the Internet is a medium for discussion with the people who provide their tools, services and entertainment. I'm sure many users see the Marketplace and an extension of this and, very reasonably, expect it to work the same way.

This is something I really hope Google will address, perhaps by including an "allow this developer to contact me" checkbox to the comment submission form.

That said, there are also some great comments. These are my favourites so far:

"Great Indie game. Wonderful idea" - Jãnis, about Radius.

"SGAce CM7 Great idea really well implemented. Easy to learn and just the right amount of frustration. Would play again." - Richard, about Radius.

It's worth pointing out here that Richard started his review with the make and models of his phone, as well as the custom ROM is he using. "SGAce CM7" tells me he is using a Samsung Galaxy Ace running CyanogenMod 7. There are many variations of Android devices out there, so it's helpful when users report which devices an application either works or doesn't work with.

Future Development

I am not actively developing any Android games at the moment, but I intend to release more at some point in the future. I'd really like to bring an original point-and-click adventure game to Android eventually.