Hard lessons from my first Android game

Here are a few things I wish I had known when I first got started on Wicket Cricket Manager back in 2016.

Don't try to support every device

There are thousands of Android devices on the market, all with entirely different form factors. Don’t underestimate how hard it is to create an experience that works seamlessly on every device & in every environment.

Perhaps an obvious example here is to ensure your user interface can scale to accommodate all the different (& sometimes extreme) aspect ratios. A not so obvious example is to expect variance in the quality of speakers on these devices, some of which might genuinely make your music sound like nails on a chalkboard. And the list goes on – Processor, RAM, GPU. It’s all different. And there’s no emulator out there that will help you get this all right. The only way is to test on real devices. And there's thousands of those.

I found Google Analytics to be incredibly helpful here. Funnels helped me understand which user segments dropped off at what points in my game. I was then able to dig into those specific scenes to debug what was wrong. I found everything from the cameras hiding important information on the viewport to edges of images going out of bounds.

Fixing these issues was extremely time consuming & while I did fix a lot of them, I also got good results by simply pulling support for some problematic devices entirely. This meant those users wouldn't get a chance to play my game. But it also meant I wouldn't be left with a poor review or an immediate uninstall -- both of which Google heavily penalises. This also brought me added time to focus on core game features: the stuff that keeps existing players happy.

It’s difficult to rank on the Play Store

And I don’t just mean you need to put in the work. I mean it is genuinely difficult because Google’s algorithm doesn’t always bias towards quality content. For example, a lot of the more popular cricket games simply keyword stuff. Take a look at the descriptions of any of the top cricket games. Most aren’t focused on human readability, but instead just on hitting keywords.

A ridiculous Play Store description for a popular cricket

This is a screenshot from one of the more popular cricket games that tends to rank highly. It's got everything from intentional misspellings (“Circket”, “Criket”) to just blatant name dropping other popular games in the hope of ranking high or alongside them (“Real Cricket”, “Cricket Captain”, “Cricket Coach”, “WCC). Competing against this is hard, and a little soul destroying so I wish I was more prepared for it.

Consider a subscription model

The general quality of mobile games is poor, and I think it's because most of them haven't figured out monetisation. The return on investment is so bad that by the time you've got a v0 out, you're nearly bled dry & ready to quit. Sure, a few marketing campaigns & in-app purchases might offer hope, but you'll forever be chasing customers rather than focusing on core game content (& this is what keeps existing customers around!)

I've found that subscriptions give you an out of this loop. I had never seriously considered a subscription model for Wicket Cricket Manager until I talked to a former Director of Engineering at Google Play. He convinced me that that was where the money was, and while I was less sure, I went for it anyway. Today, subscriptions are a subscriptions are a small but increasingly significant portion of Wicket Cricket Manager's revenue. They have given me a way out of the indie-game death spiral & a loyal community to build for.

In short, subscriptions are a win win. They give you, the developer, a recurring source of revenue & the ability to plan for the long term rather than over-pivot on shorter term marketing wins. They’re beneficial for users because developers get ultra focused on creating quality game content to keep subscribers paying.