2,000,000 Downloads Later — What I’ve learnt from Voxel Rush

Rafal Wilinski
10 min readOct 8, 2015

It’s been a while since I’ve posted something on the internet, and it’s also the first time I’ve ever posted something on Medium. Up to this point I’ve only talked about tech and programming, but today I’ll try to take on something very different, something that most Indies hate.

Marketing.

And some other minor things besides programming.

After millions of downloads of my games I think I know a bit about this topic so I decided to create a list of myths, thoughts and my experiences. Some of these may be very controversial but remember, it’s only my point of view. Feel free to argue with me in the comments section.

Let’s begin with…

“Neither your first game or second game or even twentieth will ever succeed.”

Bullshit.

This is something that I see all the time on fanpages like Indie Game Developers. I was 17 years old when I released Voxel Rush, it was my first game and my wish was to gather 1,000 downloads over time. I made many mistakes however it went pretty well. And I’ll tell you why - I was fine-tuning my game over and over and it was released three times.

First Attempt — publishing on my own, the game controls were broken, it had still “UI”, and was too difficult. I gathered over a thousand downloads in week with an average rating of 2.88 with zero press coverage, and a bad description and listing. My dream came true but not exactly the way I wanted. It was complete disaster. After that “accident” I deleted the whole source code and started working on the same concept. Before releasing the game, I also decided to go to Vivid Games where I hoped to find a publisher. I had a great talk with their co-CEO however obviously they had to refuse my offer because the game was just terrible. After that, in my mind there was only one thought:

“Just you wait.”

Here’s how it looks today from a developer console perspective:

Today stats, 33 alive copies!

Second Attempt5 Months later, with much more experience and knowledge of programming, along with feedback from players and friends, I finished and polished my concept. Once again, I released on my own, everything was greatly improved, and the game was a bit easier to play. I only posted about it on some forums like AndroidCentral or XdaDevelopers. After 2 or 3 days, when I saw the game was going in the right direction (positive feedback, 5/5 reviews), I thought that it would be cool to advertise it somewhere else, so I started spamming other forums. Looking back from a future perspective, the thing I did was in a sense a really short “soft launch”.

Todays stats, people are still playing this?

Third Attempt — another 5 months later, after over 200k downloads I was really proud of myself, a known to nobody, 17-year-old Indie Game Developer. One day, I got kind of headhunted by a London-based mobile games publisher, Hyperbees. Thankfully they could speak Polish so we could communicate fluently. The agreement was complicated enough and not in my first language so for about a month, we were discussing only my concerns.

After countless Skype talks and mails, I decided to have a go with them and I don’t regret that. A publisher really helps you with advertising, promos, creating websites, press kits etc.

Remember that even if your game doesn’t succeed, there is a huge variety of perks besides money and downloads. I’m talking about industry parties, exclusive advertising deals, campaigns tailored perfectly for your game, much more exposure and in my case an unforgettable experience and individual English lessons(thanks Mon!).

Focus on the first 30 days

This very important. In your first 30 days your game can be discovered under the “New Releases” section. Gaining a position in this particular chart is much easier simply because there are much fewer games. If you use that wisely, you should be able to create a “snowball” lasting longer than 30 days.

But it cuts both ways.

During our third attempt to release the game we decided to start from the very beginning instead of transferring the app to another developer account, and this was one of our worst decisions. We hoped for so much in these 30 days that we unpublished the app that was downloaded over 2,000 times every day; we wrongly thought that these 30 days would give us more exposure.

We unpublished game that was being downloaded 2,000 times a day…

An irreparable loss. It took us over 6 months to get back to that level on the new listing.

Also, if your game does not gain 10,000 downloads in this period of time, then it will be much harder later and maybe it’s just not good and you should find the causes of that.

“Releasing a game on your own is disaster and you’ll get barely any downloads”

More bullshit

My case shows the exact opposite in terms of downloads. Let’s compare my second and third release in terms of downloads:

150 days after second and third release

This chart concludes “Total Installs by Device” in the first 150 days after release. As you can see, at some points I significantly surpassed my publisher but at the end of the day it seems that it was worth to co-operating with them. But wait, there’s more! Take look at this one, a slightly over-exaggerated chart:

Money earned on my own vs with publisher

Before I started working with Hyperbees it was like charity. The game had no ads, no in-app purchases and ZERO 3rd-party SDKs. Well, I was quite young and stupid. What’s great about having a publisher is that they also take care of tax and all that bureaucracy while you can focus on the product.

Press Coverage is very helpful

In my case it wasn’t.

Thanks to Tom Mleko & Hyperbees, our game won the Big Indie Pitch at Apps World which was awesome; we won VIP tickets for the PocketGamer event in London, some people heard about VR and we had the opportunity to talk with some influential people. But guess what the results in terms of sales/downloads was? Zero.

Another case, we were organising a “Platform Wars” event with Nvidia which was a huge success, however a few days before we had a really long press coverage in the Chicago Tribune, one of the Top 10 newspapers in the US. Any additional downloads? Only within the limits of a statistical error.

My game was also featured on numerous Polish tech websites and the conversion rate was miserable.

Be aware of AppOfTheDay and similar programs

It’s huge boost, however with great power comes great responsibility. Due to AppTurbo and AppOfTheDay we managed to get over 100,000 downloads in only one day. Here’s the result:

Source: AppAnnie

And downloads spike:

Source: Our Developer Console

These are pros, but there are also undeniable cons. Here’s how our rating went down:

We went from 4.83, which at the time was one of the highest ratings on the market, down to 4.07. Even after 18 months we couldn’t recover from that and now we’re stuck at a 4.25 rating. There are two reasons for that negative effect:

  1. You’re getting random traffic that isn’t not interested in your game. People are downloading your game only because it’s “App of the day” and eventually they’ll become disinterested. Your game has to be VERY engaging from the first moment if you want them to stay.
  2. A version with a critical bug was in production. Over 60,000 downloads were affected by this bug, where during the first play you were immortal and hitting an obstacle resulted in nothing. This was the main cause of these 1-star ratings.

Here’s the conclusion from this

Just do QA one more time

It’s both mine and my publishers fault that we pushed this version to production but I totally understand why that happened. We’re all sick of working in such a rush at crunch time so here’s the lesson from this:

Don’t rush.

Game development is supposed to be also a pleasure for us, “Triple-I” developers. It’s not a shame to delay your game just to make it better and polish a little bit. Even triple-A studios do that, look at Witcher 3 for example. CD Projekt decided to release the title later, but thanks to that, they managed to deliver such a perfect piece that for me it’s one of the best games I have ever played.

Also, try to stress test your backend server before such events. Our servers had really big problems trying to handle 1,000 concurrent players; we had to disable some endpoints and never got all the data, which caused massive “memory leaks” in the database.

Networking on real events is very important

As I mentioned before, we won VIP tickets for the PocketGamer Connects event. We had a great time there, ate delicious food, tasted delicious wine and met awesome people. One of these guys was from Google Play. We had the chance to pitch our game to him and despite the fact that during the presentation our baby crashed(!) and he wasn’t impressed, after a few months thanks to that meeting, our game was featured on Google Play worldwide. However, maybe that’s because we prepared a special, more intense version filled with events, tricky obstacles and configured it to be much faster.

The Power of Google Feature

So for a week, VR was featured on Google Play under Best Games and New & Updated in some countries. Being featured is probably the best thing that can happen to your game; you get an enormous downloads boost and from our experience, in contrast to App of the Day programs you get really engaged players that are more likely to stay in your game and give you their money. Furthermore, this “downloads spike” will be spread out over time, so there’s less chance that your servers will be DDoSed by a huge amount of players, and you also have more time to react. It’s also worth noting that being featured by Google is simply more effective.

Left: Google Play Feature, Right: App of the Day

Ok, but how do I get featured?

Here’s how you can increase your chance of being featured

  • “Just” make a great game, lol
  • Integrate Google Play Services and its latest features like Real-time Multiplayer, Quests, Gifts, etc., and very prominently show them in game
  • Try to win or just enter some contests like Big Indie Pitch or <put random string here> Game Awards, and you might get noticed by them
  • Network at the events, nowadays connections are as important as money or a great product
  • Make something unique. Your selling point was an event called Platform Wars where Android players were fighting against iOS players in a worldwide war.

Keep in touch with players

his may be obvious, but here’s the thing. Nowadays almost every game has its fan page on Facebook, Twitter account etc. The problem is that as a gamer, if I would like to give you feedback I have to stop playing, go to the home screen, launch the Facebook/Twitter App, search for the developer/game page and then post something. Steeplechase.

The player needs an immediate method of providing feedback. In Voxel Rush, we decided to add a “Help me!” button at the bottom-right corner of the main menu which opened a mail composed with a basic information already filled in. Through that button we received a tremendous rate of mails with valuable feedback, complaints, bugs etc. etc.

If you don’t like that, try adding social icons redirecting to your page, but please, for heaven’s sake don’t use http://facebook.com/<profile_page_here> as the redirect URI. It results in opening the default browser, not an actual app, which is horrible. Make an effort and use facebook:// or twitter:// protocols (and check if these apps are installed on the user’s device first).

Try to minimize the number of SDKs

From our experience SDKs are the main cause of game crashes. They also increase game size and managing them is sometimes a real hassle, especially on Android where you have to care about AndroidManifest and duplicate classes/methods. Third-party SDKs were also the main cause of production delays, forced updates and my frustration. My advice is to stick to as few as you can. Your game should be totally fine with Game Center/Play Services, AdMob, UnityAds and some analytics.

If you liked this article, check out my other project — Dynobase, Modern DynamoDB Client.

--

--

Rafal Wilinski

Founder of https://dynobase.dev, AWS Certified Architect, love minimalism and procedural content generation.