Why Google Maps is The Best Thing and also The Worst Thing

Jay and I released the original Zombie Outbreak Simulator (ZOS) for the web way back in November 2009. It featured a simulation of thousands of zombies chasing down thousands of civs on a Google Map of a square kilometre of Washington DC.

A few days after release it “went viral”, with over 200,000 hits over the next 2 days. Since then it has gone on to be played over 1.3 million times. This initial release has been followed by 8 years of zombie games on Google Maps, with two releases of Class 3 Outbreak (C3O) for the web and releases of ZOS on iOS and Android, with millions of players and downloads.

There are well over 2 million apps on each of the Apple App Store and Google Play Store, with about 25% of them being games. Who knows how many other web or PC games there are. But basically, there’s a bajillion other games out there which people could be playing.

So why are people playing ZOS/C3O? Why did the original ZOS for the web go viral? Why did the popularity of ZOS for Android go up by itself even after I stopped promoting it? I think it’s at least partly because the game is built on Google Maps. This makes it stand out against all of the other games out there – it makes it novel enough that players will give it a second look. Half the battle of marketing a game is to get someone to click the link or tap the install button, to give the game a chance. Once they’ve done that, then the game finally has its opportunity to try to be entertaining. So, this is why I think Google Maps is The Best Thing. Without that ZOS and C3O probably would have been “just another zombie game” and probably not as successful. So I’m glad Jay had the crazy idea of building the game on Google Maps way back in 2009.

However, there are also downsides to building a game on Google Maps…

Google Maps is designed for, well… mapping, not game development :) Integrating a game with Google Maps has been more technically difficult than just building a game from scratch, requiring extra work on every platform (web, iOS and Android), and even a time when we had to take Google Maps out (when Apple removed Google Maps from iOS back in 2012). There are also other technical restrictions (eg I could never port the game to consoles), as well as licence restrictions (eg to make a version of the game for PC I’d have to pay Google a fee, which I think is around $10k/year).

I’ve overcome all of these issues so far by working around them. I’ve figured out weird technical ways to make the game work on all platforms. And I charge for the game on iOS/Android (where Google Maps allows me to), which covers the cost of making the web version free (since Google Maps doesn’t allow me to charge there, unless I pay Google a fee).

The editor for C3O allows players to create their own zombie outbreak anywhere in the world by drawing an overlay over the Google Map – red for walls, green for trees, yellow for cars, etc. The game uses this info to run the simulation.

The player’s map overlay works great when the player first creates their map. However, the most difficult aspect of using Google Maps as the background for a game, is that the world keeps changing! And so of course Google Maps keeps updating their photos every year or two. And so over time, the maps get out of sync.

When I was working on the ZOS for iOS update released in October 2016, I started with the code for ZOS for Android. The 15 featured online maps (which use Google Maps) were the ones I’d originally built into ZOS for Android when it was released in November 2014. One of the final tasks I did before releasing the ZOS for iOS update was to check over the 15 featured maps. Of those 15, only 5 of them were still correct :(

For some of the maps, there were only a few minor changes – like cars in different positions, trees that had grown bigger, a few new buildings. These kind of changes are to be expected and weren’t too bad – I could fix them up with a quick edit of the map.

In some cases the entire map had shifted by a small amount. Did the Statue of Liberty drift about 10 metres north-east in the last couple of years? For a couple of these maps I erased everything and recreated them from scratch, for others I just replaced them with completely different maps.

The most disappointing map change was where Google had replaced the images with ones which were newer, but which looked worse. There used to be this cool map in Brazil, which was even featured in the app store screenshots.

But this map now looks like this. Not only are the buildings all mixed up, but the image quality is really bad.

Both of the 2014 Brazilian maps were like this, and also the one in the Philippines. Unfortunately these images just looked too bad to be playable, and so I had to get rid of them and replace them with completely new maps.

As I was writing up this blog post I did a quick check over the 15 online maps – and 5 of them have already updated since October last year! Looks like I need to do another round of fixes again…

Needing to keep checking and editing and updating the game to keep it working well and looking good is what makes working with Google Maps also The Worst Thing! :|

Google Maps always shows the latest satellite photos, which makes sense for mapping. However for C3O/ZOS, I’d much rather stick with the old version of the photos which matches what the original player edited. Google Earth provides a way to see and scroll through the old imagery, but unfortunately the Android, iOS and JavaScript APIs that I use don’t have anything like that. There’s actually a feature request on the Google Maps issue tracker to add support for historical imagery, however I’m not expecting that to be added any time soon :)

Anyway, rant over! :)


Eight Years of Zombie Games

This month marks eight years since Jay Weston and I started Binary Space, way back in February 2009.

Jay and I had worked together eleven years earlier at the game developer Ratbag, on Powerslide (released 1998) and Dirt Track Racing (released 1999). We hadn’t spoken in years (and I’d moved to a different state, 2700 km away), but we started chatting over email after a LinkedIn update. Then Jay said “Do you ever think about getting back into games?”, and pitched me his idea for a zombie game.

I thought it sounded like a cool idea, so we launched into building it. I did the programming and Jay did the artwork, game design, sound, and everything else. At the time the plan was to spend 4 to 6 months on making the game. Little did I know that this would be the beginning of eight years of zombie games! :)

So, I thought that I’d commemorate this milestone with a look back at what Binary Space has done over that time!

In November 2009 we released the original web-based Zombie Outbreak Simulator. It has since been played over 1.3 million times by over 800,000 people.

In April 2010 the original Class 3 Outbreak was released. It has been played over 2.4 million times by over 1.4 million people.

Then in April 2011 we released the beta for the new Class 3 Outbreak based on an editor. This allowed players to make their own zombie apocalypse anywhere in the world. Over 5 million games have been played by over 1.2 million people. Players have created over 20,000 maps, with over 2,500 of them featured on the home page.

In April 2012 we released Zombie Outbreak Simulator for iOS. It has since been downloaded by over 400,000 people.

In December 2012 Jay and I decided to part ways. I took over Binary Space, in return for giving Jay a share of future revenue. So since then I’ve been running Binary Space by myself (hiring a couple of people to help out here and there). Jay has since started his own games company Exbleative, releasing Unknown Orbit and now working on EXO ONE.

Finally in November 2014 I released Zombie Outbreak Simulator for Android (with help from James on artwork and Tim on programming). It is now at over 1.1 million downloads!

And in case you’re curious, here’s some stats on the number of people playing every month, across each platform: the original web-based games, ZOS for iOS and ZOS for Android. The web-based games have gradually declined over time, as has iOS although it picked up recently since the update released last year. Android is now the overall best performer.

Huge thankyous to all of you who have made all of this possible by playing any of these games over the last eight years! :D


Zombie Outbreak Simulator for iOS Update Released!

Hi everyone,

Apple approved the update for ZOS on iOS, so it’s now available on the store. Woohoo!!

ZOS for iOS update now available

You can get the free version of Zombie Outbreak Simulator for iOS (free to download and try out, with in-app purchases to upgrade), or if you’re sure you want everything you can go straight for the paid version.

So, what next? Bugs, that’s what :| I’m seeing some crashes on the Android version that I need to take a look at…


ZOS for iOS: Update Submitted to Apple!

In my last post on the ZOS for iOS update I had all the maps, all the actions (bombs, soldiers, helicopters), and all the usual zombie mayhem all working. So it was “almost” ready, right?

Well, not quite. There were a whole bunch of tedious things left to do – like the tutorial, credits, sharing, purchases, ads, crash reporting, analytics, debugging, and fixing featured maps. Plus random issues with the Android version that I had to jump over and fix in the meantime. That’s why it’s been over two months!

However, I have now finally finished, woohoo!!! I’ve just submitted the update to Apple for them to review.

ZOS for iOS update waiting for review

Pretty soon those old app icons will be no more – the update uses the new icon from the Android version.

New ZOS for iOS icon

Now I just have to wait for Apple… hopefully I have better luck with the review process than back in 2012! :)



ZOS for iOS: Player Maps Beta

Hi everyone,

I’ve just released the third beta for the Zombie Outbreak Simulator for iOS update that I’m currently working on. This version includes the ability to play on any of the over 2,500 player maps created at www.class3outbreak.com.

ZOS for iOS update with player maps

There’ll be a few more beta releases before the game is ready for a full release, so there’s still time to sign up to help beta test if you’d like to. Just fill out this form and I’ll send you an invitation within a few days. If you’ve already signed up and haven’t received your invitation, let me know.


ZOS for iOS: Beta Testing Started!

Hi everyone,

Apple has approved my first beta of the Zombie Outbreak Simulator update for iOS! I’ve just sent out invitations to the 60 people who’ve signed up for testing so far.

ZOS for iOS update ready for testing

This is only the first round of beta testing – I’ll be releasing more updates to the beta testers as I complete them. In particular this first version has no sound or music yet (that’ll be in the next update), player maps, tutorial, and a bunch of other things.

There’s still time to sign up to help beta test if you’d like to, just fill out this form and I’ll send you an invitation within a few days. If you’ve already signed up and haven’t received your invitation, let me know.


Zombie Outbreak Simulator Hits One Million Downloads!

A few days ago Zombie Outbreak Simulator reached one million downloads on iOS and Android!!

Zombie Outbreak Simulator downloads

ZOS was released on iOS in April 2012, and has now been downloaded by 373,000 people across both the paid and free versions.

ZOS was released on Android in November 2014. It overtook iOS in March 2016, during its highest month for downloads due (I think) to The Walking Dead TV show. It’s now been downloaded by 627,000 people.

ZOS for iOS now has some catching up to do! :) I’m working now on an update to ZOS for iOS, to finally bring all the new stuff we added to ZOS for Android back to iOS.


ZOS for iOS: Call for Beta Testers!

Hi everyone,

The long-awaited update to Zombie Outbreak Simulator for iOS is well underway! I now have all the core gameplay features ported to the new cross-platform project that I’m building for both iOS and Android.

ZOS for iOS on multiple devices

There’s still lots more to do before it’ll be ready for a full release. However, I’m at the stage now where I can start some very early beta testing in the next week or two.

If you’d like to help me beta test the update, please fill in this form. I’ll be in contact when I’m ready to start testing.



ZOS for Android: Making it More Free to Play

Zombie Outbreak Simulator (ZOS) for Android was released in November 2014. Since then it’s been downloaded by over 550,000 people.

Feedback on the game has been very mixed. Although a lot of people really love it, there are also a lot of people who really hate it.

ZOS for Android ratings November 2014 to June 2016

Although the tutorial update that I released at the end of December 2014 helped improve the ratings (from about 2.9 stars to about 3.5 stars), there’s still a high percentage of 1-star ratings coming in every month.

ZOS for Anroid ratings graph November 2014 to May 2016

The vast majority of the negative feedback received now is about the in-app purchases and pricing.

With most free-to-play games there’s some kind of progression. Through playing the game you earn something, like coins, gems, points, whatever. In the game you can spend these credits to keep progressing with the game. You can keep playing for free more-or-less forever, although it gets harder. Or, if you want to you can spend real money on an in-app purchase to buy something extra, like more credits or extra items, which help you in the game.

The problem with ZOS is that it’s not like this. There’s no progression of game play, instead it’s more of a toy that you can tinker with and see what happens. It’s up to you whether you supercharge the zombies to make them win, or the humans to make them win. You can choose whether to use the bombs, soldiers and helicopters to help the humans, or not. There’s no way to reward you for winning (you can’t win!), and there’s no progression between games. So the usual free-to-play approach for in-app purchases doesn’t work.

So, the approach I used was more of a free trial. There is limited functionality available for free – a couple of maps, limited settings, a couple of bombs / soldiers / helicopters per game. The idea is that this is enough to get a feel for what the game is like. If you like the game, then you can pay to unlock the full game (or just parts of it). Separate features cost from 99c, up to $4.99 for everything. I think this is better than entirely paid-up-front, because this gives you a chance to try it out first.

Unfortunately, a lot of people hate this…

ZOS for Android one star reviews on purchases

So, for some time I had been thinking about how to let people keep playing for free, rather than hit the limit of the free features and get annoyed. The most obvious choice was some kind of rewarded video – temporarily unlocking part of the game by watching an ad. People could then either keep playing for free by watching ads, or choose to pay to upgrade if they got tired of the ads.

Coincidentally, in early January of this year I was contacted by AppGrade, offering their platform for rewarded videos. After some discussions with them I decided to give it a try.

On the 18th of February I released an update which added the ability to watch a video to get extra bombs, soldiers and helicopters (10 of each), in addition to the existing options to purchase. I’d decided to trial video ads with just the bombs / soldiers / helicopters first, to see how it went. That way if it didn’t work out, I wouldn’t have wasted too much effort on it.

ZOS for Android - watch a video for bombs, soldiers, helicopters

The response to the video ads has been good. Soon after release there was a dip in revenue from purchases. I suspected this might happen, as people who previously felt ‘forced’ into buying an upgrade, might have decided to watch ads instead. However the revenue soon picked back up again, back to around its previous levels. And the ads themselves have brought in some extra revenue on top of that. (This chart is in USD).

ZOS for Android revenue when adding rewarded video ads

One statistic that I thought was most interesting was that there was an immediate increase in the amount of time people played the game per session. Before the update sessions averaged around 7 to 8 minutes, after they averaged around 8 to 10 minutes. For reference I’ve coloured the Sundays in red (there’s always a dip in session time every Monday).

ZOS for Android average session time with rewarded videos update

Unfortunately, the update didn’t do anything to improve the ratings :|

ZOS for Android ratings after adding rewarded videos

However, I still think it’s been a worthwhile update, and so I’m planning on making more features of ZOS for Android free by unlocking them with rewarded videos.

At the moment I’m working on an update to be able to unlock the settings (in parallel with working on the iOS update). And then after that I plan to add the ability to unlock the online and offline maps (the player maps will stay as a paid feature).

My goal is to complete both of these free-with-videos unlock features before the ZOS for iOS update is complete. The paid version of ZOS for iOS will of course have everything unlocked in the original download. However the free version of ZOS for iOS will have the same purchase and video unlocks as ZOS for Android, and so I want to make sure I get it ‘right’ on Android before releasing the update on iOS.


ZOS for iOS: Update started!

Zombie Outbreak Simulator on Nexus 5X and iPhone 6s Plus

TL;DR: Development of the ZOS for iOS update has finally started! Details below…

Hi everyone,

Zombie Outbreak Simulator (ZOS) for iOS was first released in April 2012. A few updates followed, but the last update was way back in May 2013.

Focus then shifted to Android when in late 2013 I received funding to make an Android version of ZOS. ZOS for Android was released in November 2014, and I’ve made a few updates to it since, but most have been minor things like adding a tutorial, or bug fixes of various kinds.

The Android version of ZOS included some new features over the iOS version (soldiers, helicopters, player maps, and an entirely new UI). Ever since the first Android release the plan has been to port all of the new stuff back to iOS, however during 2015 I was too busy to get around to it. A couple of months ago I posted a sales update for ZOS on Android, and mentioned that I was finally in a position where I could get back to the iOS update.

For a while now I’ve been tinkering with how exactly I was going to update the iOS version. The core of ZOS for iOS was developed during 2011 to 2012, eons ago. The core of ZOS for Android was developed in 2014, and even that’s ages ago in mobile app development time-frames. Some of the factors I had to consider were:

  • The core game of ZOS for iOS was developed with C++ and OpenGL. However the UI and interaction with Google Maps was developed with Apple-specific Objective-C and UIKit.
  • When developing ZOS for Android, I was able to port over the C++ and OpenGL without too much effort. However the UI had to be completely rebuilt from scratch. We used the cross-platform Cocos2d-x to do this. However then a bunch of Android-specific Java code was added, to interact with Google Maps and other utilities. And then on top of that I added the new features like soldiers, helicopters and player maps.
  • ZOS for iOS was originally designed to work with iOS version 4.0. We’re now at iOS version 9.3 – that’s how old ZOS for iOS is!
  • ZOS for Android was built with Cocos2d-x version 2.2.2, which was released in December 2013. It’s now at version 3.11.
  • ZOS for Android was built with the Eclipse ADT (Android Developer Tools), the best option at the time. Google discontinued support for this in June 2015 – now Android Studio is the recommended development tool.

So some of my options:

  • I could grab the C++ and OpenGL code for the soldiers, helicopters and player maps from ZOS on Android and merge it back into the old ZOS for iOS code base. But then how do I fit the buttons / screens / etc for those features back into the old iOS UI?
  • I could grab all of the current version of ZOS for Android, which includes a UI built on the cross-platform Cocos2d-x, and port that back to iOS. But this is using a version of Cocos2d-x which is already 2.5 years old.
  • How much longer will I be able to keep developing ZOS for Android with Eclipse, before I’ll be forced to update to Android Studio anyway? I already got hit a few months ago where one small update rippled through to needing updates to 3 other components. How long until this falls apart?

In the end I decided to start over from scratch! I’m creating a brand new project with the latest version of Cocos2d-x (version 3.11). On Android I’m using the latest Android Studio 2.2 (an early release version which Google just released 9 days ago with new better support for Cocos2d-x development). And on iOS I’ll be building a new app designed from scratch to work with the latest devices and version of iOS.

Most of the core game and UI code in ZOS for Android should be able to be ported over to the new app, with a few tweaks here and there due to changes in Cocos2d-x. The major new work will be in separating off the Android-specific parts and implementing the equivalent on iOS. For most of this I’ll be able to grab bits and pieces from the old ZOS on iOS.

One major advantage of building a new app is that I’ll now have both iOS and Android running from the one set of code. This means any new updates in the future will automatically work on both platforms. No more cases where there’s a 2 year delay converting from one to the other! This is why people use cross-platform games libraries like Cocos2d-x or Unity in the first place. Unfortunately way back when I started ZOS for iOS this wasn’t an option, due to the integration I required with Google Maps at the time.

So to get to the point of this post: Now that I’ve figured out the how, I’ve finally started! The photo at the top of this post shows the new app, with the same home screen from the same code, running on both an Android Nexus 5X, and an iPhone 6s Plus!

The next question of course is “when will the iOS version be ready?” It’s too early for any kind of estimate at this stage, but at least I’m working on it! :D