We’re getting a huge amount of questions at the moment about where the Android version of The Room: Old Sins is, and why in general it takes us a couple of months to release on Android after the Apple version comes out. Rob, our Technical Director, is here to explain; over to you Rob!
We released the game on iPad and iPhones on January the 25th. It’s now more than a month later and the Android version still isn’t out. I’d like to take a little time to explain what we’ve been up to, and what we still have left to do before we can release.
BUGS!
The first couple of weeks after releasing on Apple are always very hectic. In an ideal world, we’d release the game, there’d be no problems with it and we’d get straight to work on the Android version. In reality, no matter how much testing we do before we release (and we do a lot), there’s always the odd issue that slips through and causes problems for customers. The Room: Old Sins was no exception – a number of our players found a few pretty gnarly bugs which required fixes. Some were relatively easy (taking maybe only an hour to fix), while some were considerably trickier (taking a few days to even figure out what the cause is, before we can get to fixing it). Virtually all of these issues would also affect the Android version, so the priority for the first couple of weeks after releasing was bug-fixing, more testing, and releasing patches to make sure the Apple version is nice and stable and the foundation for Android is solid.
FIRST STEPS
Then we get to work focusing solely on Android. At this point we already have the game running on Android, thanks to Unity, the game engine that we use, supporting it natively and also due to having built the game on top of our previous games, which already supported Android. However, having the game running on a couple of devices in the office, and having something that we can release on Google Play are very different things. First off, there’s a few systems that will need upgrading or in some cases entirely replacing from previous games. Things like Cloud Saving, Achievements, and the system for downloading the game from the store were all out of date. Those are now all up and running.
SO MANY DEVICES!
At that point we can begin the process of supporting as many different devices as we can. On Apple, this is pretty easy. There’s a fairly small number of devices we support (around 15-20), and they’re all very similar; more or less the same hardware which varies in how quickly it runs, how much memory it has and what the screen resolution is. That’s the key reason why we release on Apple first.
On Android, it’s a big job. For example, at the last count, The Room Three on Android is available on 13,825 different types of device. There’s a bunch of different manufacturers for graphics chips on Android, all of which have different characteristics and require different optimisations (and expose different bugs). There’s a much wider range of CPU speeds, memory sizes and screen resolutions, as well as lots more active versions of the Android operating system (including the customised versions that device manufacturers supply). We’re not able to test and optimise for all of those combinations individually, but we need to make sure we’ve got a solid representative set of them covered, and then solve problems as and when they arrive (that’s where the open beta comes in, which I’ll talk about later).
So, where do we start? First off, we can pick a baseline of the minimum capabilities that we want to target. For The Room: Old Sins, we’re restricting the game to devices that support OpenGL ES3.0. That’s a reasonably old standard now, and there won’t be many devices capable of playing the game that don’t have that. By adding that restriction, there’s a bunch of assumptions we can make about the capabilities of the hardware (especially around texture formats) which makes it quicker and easier for us to get the game ready.
TESTING
Our first round of testing is automated. There’s various on-line services that allow us to upload a special version of the game, and it’ll get run automatically on a wide variety of devices. We have that version load up a few levels, check the framerate and take some screenshots and send us back the data. We can then look at that data, find the problem areas in the game and start optimising for them. We’re going through that process now.
Once we’re happy with that, we’ll go into Quality Assurance. This is where we hire a dedicated QA company to test the game. As well as playing the game on a variety of devices, they’re experts in testing things like the cloud saving system and other things that would spoil the game if it were given to customers. They’ll report back problems, we’ll fix them and send back an updated version of the game. They’ll then double check that the problems are gone. We repeat that until we’re happy that the game is solid.
OPEN BETA
At this point we have a game that we’re confident is ready to go, but we’ve still only tested on a fraction of the supported devices. That’s where the Open Beta comes in. We’ll release the game, but limited to (say) 1000 people, who can sign up via a link that we’ll put on Facebook and Twitter when the beta starts. Between them, those people will have a few hundred different sorts of device, many of which we haven’t tested. Some of those devices will show up problems which will get reported to us, and we’ll fix (or, in extreme cases, mark that device as incompatible). We’ll release an update, and if everything goes well, we’ll extend the beta to more people. We’ll do a few rounds of that, which will likely take a 2-3 weeks, until we’re confident that a full release of the game will work on the vast majority of the devices that it’s available for.
RELEASE!
At that point, finally, we’ll release the game. A few more problems will inevitably crop up on some rare devices so there’ll be a few more rounds of fixes and updates, before we can finally relax and start thinking about what we should make next!
We understand that the delay for Android is frustrating, but I hope that this post has explained some of the reasons behind it!
We’ll announce the date for when we’ll start the open Beta on Facebook and Twitter as soon as we have details so keep a keen eye out! (Please note there won’t be pre-registration for the Beta).
Thanks for staying patient!