ZOS for Android: “The Walking Dead” Effect?

A couple of months ago I posted about sales for ZOS on Android, and I noted that sales had jumped a lot in October last year.

ZOS for Android sales November 2014 to February 2016

At the time I theorized that this was because the latest season of The Walking Dead started airing in October.

The Walking Dead airing dates

At the time I wondered if there’d be a drop in players when the season finished.

Well, it looks like there was! Here’s the number of players per day for a while before and after the final airing date on Sunday the 3rd of April:

ZOS for Android players per day for March and April 2016

For reference I’ve coloured the Sundays in red. The number of players generally peaks over the weekend, dropping during the week. However after the season finale of The Walking Dead there was an immediate larger-than-normal drop, and during the following week the number of players dropped to the lowest point it had been in over a month.

Sales peaked at their highest ever in March, were slightly less in April, and so far are looking to be a bit lower again in May.

I wonder if other zombie games have seen a similar effect from the TV show?

If anything, this tells me that I really need to get the updated version of ZOS for iOS done well before the next season starts (presumably October 2016). I’ve started on it, but it’s very early days yet.



ZOS for Android: Adding a Tutorial

Zombie Outbreak Simulator (ZOS) for Android was first released on Friday the 7th of November 2014.

By the end of November 2014 it had been downloaded by 45,000 people. While a lot of people loved it, even more people hated it, resulting in an average rating of only 2.9 stars. This was very disappointing in comparison with ZOS on iOS, which has an average rating of 4.5 stars.

ZOS for Android November 2014 ratings

There was a lot of negative feedback from the pricing and in-app purchases (I’ll be writing up more on that in another blog post some time). However going through the reviews, there was another common theme: some people didn’t know what to do.

ZOS for Android reviews 2014

ZOS is a bit of an unusual game – it’s not really a game, more of a ‘toy’. There’s no real objective, instead you tinker with settings and then watch what happens. How you play is up to you. I mention this in the description for the app on the Google Play store, in the very first sentence:

Zombie Outbreak Simulator is a sandbox app where you can customize your own zombie outbreak.

And a bit further down:

Watch a zombie outbreak unfold in real world environments, and alter the outbreak parameters to your liking. Do you prefer old-school slow movers, or the new fast movers? Is the population armed? How well can they shoot? How many police will be on patrol? Customize your own outbreak then watch the chaos unfold.

However, I know many people don’t read the app description, or even if they did, it’s not super clear that the player needs to make up their own game.

In hindsight, I should have included a tutorial in the game to explain what to do. So why didn’t I?

Jay and I never set out to develop ZOS. Actually, way back in 2009 we started developing the web game Class 3 Outbreak (C3O). In the original C3O, the idea was to control a small group of police officers against a background of a zombie outbreak. Initially the goal was to squash some small outbreaks, then to rescue some scientists, then to rescue a helicopter pilot and then evacuate.

While we were developing C3O, before even adding the police I started with the basic background zombie simulation – civs walking around, zombies chasing them, civs shooting back, civs getting infected, etc. Before the actual game went in, we thought this was pretty fun to watch :)

So when we were about ready to release C3O, we decided to make a cut-down version of the game containing just the simulation. We came up with the imaginative title of Zombie Outbreak Simulator, and we planned to release this first as a ‘teaser’ for the full game.

There was only a single map of Washington DC. The only thing you could do was change the infection settings – to make this obvious, we put in a “where the fun is” prompt for the infection settings button. So there was no need for a tutorial.

Original Zombie Outbreak Simulator 2009

Then in 2012 we released ZOS for iOS. Again, there was only one map, and the only thing you could do was change the infection settings. Again we put in a prompt to make the settings obvious.

Original ZOS for iOS outbreak settings prompt

During 2012 to 2013, ZOS for iOS gradually expanded. We increased the number of online maps to 10, added bombs, dropped to 5 offline maps, then increased up to 10 online plus 5 offline maps.

ZOS for iOS map selection 2013

ZOS for iOS bombs

Then in 2014 we released ZOS for Android, which expanded even more. As well as the 10 online plus 5 offline maps, there were now 2,500 player maps to choose from. And in addition to bombs, players could also send in soldiers and helicopters.

ZOS for Android map selection

ZOS for Android menus

By this point there was a confusing array of features to choose from, with no guidance on what to do. This time around I didn’t even include an arrow to point out where the infection settings were.

So why didn’t I include any tutorials or even prompts?

One reason is that I was keen to get ZOS for Android released. I was supposed to release it in May 2014, but it didn’t end up being released until November 2014. Even if I’d thought of it, I probably would have cut it, to get the game released as soon as possible.

But the main reason is that I was too close to the project. I’d been there since the project began, so I knew that the core gameplay was about watching a simulation and adjusting the parameters. I knew that choosing a map was just about what backdrop the simulation was running against. And I knew that the bombs, solders and helicopters were just a bit of added entertainment. However, most players who downloaded and installed the game wouldn’t have known any of this.

So, in December 2014 I started work on adding a tutorial. The first time someone loads the game, instead of all the map options, there’s only a single Play button. This takes the player straight into the default map, and then provides a guided tour through each of the game’s basic features.

ZOS for Android tutorial

The tutorial update was released on the 26th of December 2014. Coming off the low average rating of 2.9 stars from November, ratings increased to an average of 3.6 stars during January to April 2015, and have maintained roughly that level ever since.

The takeaway? When developing a game, it’s a good idea to step back from it every now and then, and imagine how it will look to someone who has never seen it before. Does the game still make sense? If not, try to make it more obvious.

I’m putting this away in my “things I did wrong” file, along with all my other mistakes. Now off to find something else to mess up! :)


A New Logo for Binary Space

Back in November last year, I decided to use a bit of the funds from sales of Zombie Outbreak Simulator (ZOS) on Android to support a couple of local community events. These were the Perth Games Festival (an event showcasing Western Australian made games, with over 2500 attendees), and the end-of-year project awards for CoderDojo WA (a club which helps kids learn to program).

After I offered my sponsorship, the first thing both of them asked for (even before they asked for the money!) was for me to send them a high-res logo for Binary Space, that they could use on promo material. The problem was, I didn’t have one!

Way back in 2009 when Jay and I started Binary Space, Jay spent some time designing a logo for us. After a few different revisions, we ended up with this:

Old Binary Space logo

This version of the logo is only 230×100 pixels in size. This served us fine during our web releases in 2009 to 2011, and the release of ZOS on iOS in 2012. However when I came to develop ZOS for Android, in order to support the high resolution devices available, I needed a version of the logo about 500 pixels wide. I went searching, and couldn’t find anything – somehow the original source artwork for that logo had been losts in the mists of time, doh! :| So for ZOS on Android I just scaled it up, making do with a logo which looked a bit blurry.

Now that I had two new reasons to need a high-res logo, I figured it was about time to design a new one!

I got in contact with James Filippone (who did all the new artwork for ZOS on Android), to see if he’d be available for some logo design work. Here’s the cool new logo which we came up with! It’s obviously inspired by the old one (using the same font as the base), but with some new tweaks added in. This is also fully vector-based, so I can make it any size I need!

New Binary Space logo

Here’s how the logo worked out for the Perth Games Festival:

Binary Space logo in Perth Games Festival sponsors

And for the CoderDojo WA awards:

Binary Space logo in CoderDojo awards sponsors

It was October last year that we produced this new logo, and although it was used for both those events, at the time I was too busy to do anything else with it!

I’ve now finally found a moment to add it to the Binary Space website. Here’s a before shot:

Old blog screenshot

And here’s how it looks now:

New blog screenshot

I’ve also added it to ZOS for Android (although I won’t spam people with an update just for the logo – I’ll wait until the next release).

Binary Space logo on loading screen of ZOS for Android

Now back to coding :)


Zombie Outbreak Simulator for Android: Sales Update

Hey everyone!

It’s been approximately forever since my last blog post. Way back in November 2014 I posted to announce that Zombie Outbreak Simulator (ZOS) for Android had finally been released. I thought I’d follow up with some details about how sales for ZOS have gone since then.

ZOS for Android was funded by the Australian government’s Games Development Fund way back in 2013, which was run by Screen Australia. I applied for the funding in July 2013, and my initial plan had been to ask for $10k for development. I was encouraged to ask for $20k: $10k for development and $10k for marketing. In the end they gave me $30k. At the time I was ‘cautiously optimistic’ – would ZOS on Android earn more than the funding being supplied by the government? And so would it be a net positive for the Australian economy? Up to that point, ZOS for iOS had earned about $33k, so it seemed like a big ask. (Note: all the numbers in this post are in AUD – which are currently worth about 0.75 USD).

Most apps have a peak of downloads and sales just after launch, and then tail off quickly afterwards. The bulk of the income from the app comes during the first few months. This was the case for ZOS on iOS (shown below), and so I expected the same from ZOS for Android.

ZOS for iOS sales April 2012 to February 2016

ZOS for Android launched with about $4k in the first month, and then dropped significantly to about $1,300 per month for the next three months. With sales declining and only about $8k so far, the target of $30k was looking way out of reach.

ZOS for Android sales November 2014 to February 2015

The funding from Screen Australia came in two payments: 80% ($24k) up front, and the remaining 20% ($6k) upon completion of the project. The completion requirements included spending the marketing budget (which I spread out over several months after release), and submission of a final report to Screen Australia.

I wrote up the report for Screen Australia at the end of May 2015. Monthly sales had picked up slightly to about $2k per month for the previous couple of months, bringing the total to only about $14k, not even halfway to the $30k of funding. I wrote up a fairly underwhelming report on the game’s results, and sent it to Screen Australia.

ZOS for Android sales November 2014 to May 2015

Sales had roughly stabilised for a few months. If it maintained that level, the game would eventually break even after about 8 more months. However I expected sales to go down over time.

But then, they didn’t! Sales jumped up in July, and then again in October. As of November 2015, one year after release, ZOS for Android finally broke even – reaching $34k of sales!

ZOS for Android sales November 2014 to November 2015

Why did it go up, even though I didn’t do anything? In search of a reason, I checked Google Trends to see the search history for zombie.

Zombie Search History

Why the huge peak every October for the last 5 years?

My guess: The Walking Dead has aired starting in October every year for the last 6 years.

The Walking Dead airing dates

I’m guessing this results in a peak of interest in zombies every year, and is what has caused the increase in downloads and sales for ZOS in October. Sales have continued at roughly the October/November levels for the last few months as well. However I wonder if that means it’ll drop off again after the current season of The Walking Dead ends in a few weeks?

ZOS for Android sales November 2014 to February 2016

As of the end of February 2016, ZOS for Android has earned a total of about $58k AUD (about $43k USD), with over 350,000 downloads.

Way back in 2013 when I first applied for the funding, I was doing contract work, and so if the funding application was successful I planned to do the programming myself in amongst my other contracts, while James worked on the artwork. However by the time I heard back from Screen Australia (months later), I’d just started working at a new permanent job. So I decided I’d work part-time in my spare time around my full-time job, and also hire another programmer (Tim) part-time to help me out.

The original schedule for the project was to develop the game during January to April 2014, and release in May. However this turned out to be way too optimistic – we started about 1.5 months late and were nowhere near release by April. From May I decided to drop my full-time job down to 4 days a week (and so also drop my salary by 20%), and spend the other day a week working on ZOS, as well as my spare time too. Tim and James worked through until roughly August, and I continued until the release in November 2014 (with a bit of extra artwork from James here and there).

ZOS “broke even” in November 2015, by which I mean it reached the $30k of funding that Screen Australia had provided. But how much did it actually cost? Here’s approximately how the breakdown of that funding went:

  • $17,700 – Artwork and programming by James and Tim
  • $9,000 – Marketing (advertising via Facebook ads)
  • $1,000 – Marketing consulting advice
  • $1,000 – Legal costs for Screen Australia’s requirements
  • $600 – Screen Australia’s admin fee

In total I put approx 700 hours of work into ZOS for Android. Adding up the costs above, there was only about $700 left over in the budget, that I was able to pay myself. So that worked out to a whole $1 per hour! :)

Fortunately, ZOS has now managed to earn some decent income. I’ve been able to pay myself a bit for the hours I put in to development, and buy some new dev equipment (computer and phone). Binary Space also now has some reserves of cash in the bank, which I can put towards future development.

So what am I planning to do next?

ZOS for iOS was first released in April 2012, with the last update released in May 2013. When developing ZOS for Android, we added a bunch of new features (soldiers, helicopters, player maps, and a completely new UI). The original plan after releasing ZOS for Android in November 2014 was to port all the new Android features back to the iOS version. At the time I wasn’t sure how long that would take, but I estimated “early 2015”. We’re now over a year later, and there’s been no update to ZOS for iOS :(

The main reason is that in January 2015 I started at a new job – actually I joined a new startup as a co-founder, working on 3D visualization tech for the mining industry. That made my 2015 extremely busy – there were times when I was working more than full-time to get stuff done. That meant very little time left over to work on stuff for Binary Space.

A second reason is that there is a bit of a trade-off between converting the Android version to iOS, and making sure the Android version is ‘right’ (more or less) to begin with. I’ve made a few updates to ZOS on Android since release, to fix bugs and tweak things here and there.

Fortunately, I’m now in a position where I think ZOS for Android is pretty much good to go, and I have a bit of spare time to work on things, as well as a bit of cash to hire people to help me if necessary. So the plan for the near future is to finally work on that iOS update that I promised ages ago!


Zombie Outbreak Simulator for Android now available!

Hi everyone,

I’ve just released Zombie Outbreak Simulator for Android on the Google Play store!!

Google Play button

You can check out the promo video we’ve put together here:

Or, here’s a few highlights from the game:

ZOS for Android bomb animation

ZOS for Android soldier animation

ZOS for Android helicopter animation

If you’re new to this blog and so haven’t seen my numerous posts over the last several months about ZOS, here’s the standard blurb that goes with the app :)

Zombie Outbreak Simulator is a sandbox app where you can customize your own zombie outbreak. Choose from thousands of real locations around the world on Google Maps!

The hit game with 300,000 downloads on iOS and over a million plays online is now available on Android!

  • “a killer timewaster” – Gizmodo
  • “zombies plus Google Maps equals fun” – Games Radar
  • “a splendid idea, no matter how omnipresent zombies may be” – Rock, Paper, Shotgun
  • Apple Staff Favorite in the US, Canada, Brazil, Mexico, Spain and 14 other countries!
  • Top 5 in Simulation and Strategy on the iPad!

Watch a zombie outbreak unfold in real world environments, and alter the outbreak parameters to your liking. Do you prefer old-school slow movers, or the new fast movers? Is the population armed? How well can they shoot? How many police will be on patrol? Customize your own outbreak then watch the chaos unfold.

Zoom in and out to keep track of the infection as it spreads across the map! Watch from a high satellite view to get an overview of the infection, or zoom right in and watch as civilians run for their lives, shoot at zombies and inevitably become infected. Keep track of the people’s only hope – local law enforcement, as they fight back against overwhelming odds.

Join in the action by raining fire from above with Mk81 and Mk82 bombs, delivered by A-10 Tank Killers! Parachute soldiers into the front lines to protect the civilians. Deploy helicopters to rescue civilians before they become overwhelmed.

From the Settings screen you can change the following parameters:

  • Civilian numbers
  • Civilian armed %
  • Civilian accuracy
  • Initial zombie numbers
  • Zombie outbreak direction (N, E, S, W, Map Wide)
  • Zombie speed
  • Infection time (how long it takes for infected civs to turn into zombies)
  • Number of police
  • Police accuracy
  • Soldier accuracy

From the Map Select screen you can choose from:

  • 15 featured online maps, using Google Maps
  • 5 offline maps (play anywhere even without an Internet connection)
  • Over 2,500 player maps using Google Maps, created by players of the game at www.class3outbreak.com

The free version of the app contains limited features, with in-app purchases for upgrades to unlock the full functionality. Initially you have access to two maps (one online, one offline), limited outbreak settings, and limited numbers of bombs, soldiers and helicopters.

If you’re looking for more screenshots, you can also take a look at the ZOS for Android promo page I’ve put together.

I want to thank James Filippone and Tim Mutton for their great work on the game, and also Screen Australia for providing the funding to make it!

Thanks! :D


ZOS for Android: Pricing (and beta 0.7)

Hi everyone,

ZOS for Android has been in beta now for the last few months, while we’ve been working on finishing it off. It’s now getting very close to finished – I’m cautiously optimistic that it will be ready to release in November!

So, that brings up the question of how much will the app cost when it’s released?

The plan is for the app to be free, with in-app purchases. This seems to be the expected approach for mobile apps these days, especially on Android, where 98% of app revenue is from in-app purchases. The free version will have limited functionality, with in-app purchases to upgrade to the full app.

With ZOS on iOS we initially released a paid-up-front version (currently at 99c), and then later a free version with a 99c upgrade to the full version. ZOS on Android will be similar, except that I plan to charge more – around $5. However rather than a single upgrade price of $5, the upgradeable features will be split over different purchases. That way you can choose how much you want to spend, for the features you want.

There are a few reasons why I want to charge more for ZOS on Android. The obvious goal is to earn as much as possible :), but there are some specific reasons as well.

The first is that since Google shut down their Google Maps Flash API, the web versions of Class 3 Outbreak and ZOS need to be rewritten in JavaScript. As I mentioned last month, I’m hoping that ZOS for Android will earn enough that I can afford to fund a re-write, and to fund further development as well.

The second reason is that Binary Space received $30k in funding from the Australian government to develop ZOS for Android. Although it’s a grant and so I don’t have to pay it back, if ZOS earns less than $30k that would be… a bit embarrassing :) On iOS ZOS has earned about $40k since it was first released in April 2012. Although some apps earn more on iOS and some earn more on Android, in total across all apps revenue on the iOS App Store is about 80% more than Google Play as of Q2 2014. So $30k may be a somewhat optimistic goal for ZOS on Android. However on the other hand, total app store revenue has roughly tripled in the last couple of years. So who knows – I’ll find out soon enough! :)

The third reason is to do with marketing.

Of the $30k that I received in funding, $9k is set aside for ‘user acquisition’. What this means is buying ads, then measuring how many people see the ads, how many of those install the app, and then how many buy an upgrade. So if I spend $1000 on ads, if those ads earn more than $1000 in sales, then it was worth spending the money. If they earn less, then it was a waste.

On iOS, the free version of ZOS has a single upgrade for 99c. Around 185,000 people have downloaded ZOS free, with around 11,000 buying the upgrade, for a conversion rate of about 6%. After Apple’s cut of 30%, this works out to an average revenue per player of about 4 cents.

The problem is that the typical cost-per-install (CPI) seems to be around 50c to $2 – which is way more than the 4c per install that ZOS has earned on iOS. If those same numbers applied to ZOS on Android (eg $1 cost per install, 99c upgrade, 6% of players upgrading), that would mean spending $9,000 on advertising would result in only $370 of sales – a huge waste! So, this makes it ‘necessary’ to put up the price in order to try make the advertising more worthwhile. Although even at $5 per upgrade, it still won’t break even if the other numbers turn out to be correct – I’ll just have to wait and see to find out how effective the advertising turns out to be.

Anyway, enough of the theory! Here’s how the purchases will work:

As with ZOS on iOS, there are 5 offline maps (which use images embedded in the app, and so will work without an Internet connection), and 15 online maps (which use Google maps, and so require an Internet connection). You’ll get one online and one offline map for free. For 99c you can unlock all 20 maps.

In-app purchase for offline maps

In-app purchase for online maps

When playing ZOS, the main gameplay is changing the settings and then seeing how the outbreak unfolds. The free version includes a limited set of values for each option, but they can all be unlocked for 99c.

In-app purchase for settings

While playing a game, you can directly impact the simulation with the actions menu – dropping bombs (both Mk81 and Mk82 types), deploying soldiers, and sending in rescue helicopters. When you first install the free version, you’ll start with a limited number of these (currently 10 of each) – enough to get an idea of how they work.

Actions menu with limited uses

Once you’ve used up all of a particular action, you’ll see a popup prompting you for whether you’d like to buy an upgrade. You can buy each action for 99c, or get all four in a bundle for $2.99.

In-app purchases for actions

Buying the upgrade gives you unlimited use of that action. This is unlike how we originally released bombs on ZOS for iOS, where they were consumable (so you had to keep buying packs of them). Although consumable in-app purchases can help increase total revenue for an app, in the end I decided that it didn’t suit ZOS and so I took them out. So that’s why in ZOS for Android there is a one-time purchase to upgrade to unlimited bombs.

So that’s how the ‘standard’ upgrade price for ZOS on Android works out to about $5, made up of $1 for 20 maps, $1 for the settings, and $3 for the actions bundle.

But what if you want even more? That’s where the over 2,500 player-created maps come in. These are meant as an added bonus for the small number of players who want to spend a bit more for something extra. In the free version the player maps will all be locked. They can be unlocked by region – $1.99 for the Americas (where most of the maps are), $0.99 for Europe and Africa, and $0.99 for Asia and Australasia. Or if you want it all you can save a dollar and get the whole world for $2.99.

In-app purchases for player maps

If you buy everything individually it will cost about $10, or about $8 if you buy the actions and player maps in their $2.99 bundles. However if you’re sure that you want everything, then you can save a bit more via the ‘unlock everything’ button which is on most of the above screens. Here you can unlock every feature for a single purchase of $6.99.

In-app purchase to unlock everything

As the above screen suggests, there will likely also be ads in the free version of the game. Once you purchase any upgrade, the ads will be removed.

In order to test all of the logic for these in-app purchases, I’ll be sending out a new beta (version 0.7) to all of the beta testers soon. However in the beta version the purchases are simulated – tap a button and it will update the game as if the feature has been purchased, without even loading up Google Play billing.

There are a few other changes in this beta version:

  • Included a setting to be able to configure the soldier accuracy.
  • Updated the rescue helicopters to limit the number of occupants (some testers had reported helicopters with 1400 civs!).
  • Some of the online maps have been replaced with different maps, as Google had updated the imagery at some of the previous maps’ locations, and they no longer looked as good as they used to.

If you’d like to be a beta tester, just fill out this form and I’ll give you access.

More screenshots of the beta are available in these recent posts: version 0.6, version 0.5, version 0.4, version 0.3, version 0.2, version 0.1.

This now completes all of the major work required for ZOS on Android! There are just a bunch of loose ends here and there for me to tidy up, and then it’ll be ready for release. Now to get back to it! :)



ZOS for Android: Beta 0.6, with player maps!

Hey everyone,

I’ve just pushed out a new release of ZOS for Android to the beta testers. This version includes the ability to play ZOS on the over 2,500 maps created by players of Class 3 Outbreak, using the editor at www.class3outbreak.com!

On the map select screen there is a new Player Maps tab, where you can zoom in to find a map you’d like to play.

ZOS for Android player maps (world)

ZOS for Android player maps (North America)

When you get close enough you can see a preview of the area covered by the map.

ZOS for Android player maps (map area)

This now completes all of the features planned for the first release of ZOS on Android. However there’s still a bunch of stuff left to do before it is ready for release… so it’s time for me to get back to it :)

If you’d like to be a beta tester, just fill out this form and I’ll give you access.

More screenshots of the beta are available in these recent posts: version 0.5, version 0.4, version 0.3, version 0.2, version 0.1.



Keeping Class 3 Outbreak Alive

TL;DR: Google have shut down the Google Maps Flash API which the web versions of Class 3 Outbreak and Zombie Outbreak Simulator were using. I’ve hacked together a workaround which mostly works. Full details below :)

Jay and I started working on Class 3 Outbreak way back in February 2009, about five and a half years ago. Jay had pitched me his idea for an RTS zombie game, but initially we hadn’t decided on any details such as if it should be 2D or 3D, or for PC, web or mobile, etc.

At one point during the discussion Jay sent me this quick mockup he’d drawn over a screenshot from Google Maps, showing the kind of scale that the game would be played at, and how zombies would move down a street, infecting civs and taking over the city. Then he said something like “wouldn’t it be good if we could use Google Maps?”.

Jay's Google Maps Mockup

In my day job in the mining industry I’d used the Google Maps JavaScript API before, so I knew something would be possible, but slow. These days the HTML5 canvas element can be used to make web games with high-performance 2D graphics. However 2009 was a different era in web development. Chrome had only been released a few months before, with only a couple of percent market share. Internet Explorer was still the dominant browser, and wouldn’t add the canvas element until IE9 in 2011.


Image from Wikipedia

Back then the dominant platform for web games was Flash. After some research I discovered that Google had released a Flash API for Google Maps about 9 months earlier. I did some experiments and found that it worked really well for what we needed, and so we jumped into development.

Using the Flash API we released Zombie Outbreak Simulator in November 2009, the original Class 3 Outbreak in April 2010, and the new editor-based Class 3 Outbreak in April 2011. In total we’ve had over 4.5 million plays of those games on the Flash API.

However, trouble arrived in September 2011 when Google announced that they were deprecating the Flash API. They were going to keep it running for 3 years, after which they would shut it down, and so our games would no longer work.

By this time web technologies had improved, and so it would be feasible to build Class 3 Outbreak with JavaScript. At one point I threw together a quick proof of concept of drawing sprites and overlays over a map (as required by the game and editor).

JavaScript Proof of Concept

However, there’s obviously a big gap and a lot of work between this proof of concept and a complete rewrite!

At the time of Google’s announcement we’d already decided to take a break from the web version of C3O in order to focus on making ZOS for iOS. So we were now hoping that we’d earn enough from ZOS on iOS to be able to afford to rewrite the game.

Our initial sales on iOS were encouraging, but not enough to fund a new JavaScript version of C3O. So in April 2012 we decided to keep focusing on iOS for the near term, releasing a few updates over the next 5 months.

In December 2012 Jay and I decided to part ways, and I took over Binary Space. I announced a two-prong strategy where I was planning to continue work on both ZOS on iOS and C3O on the web. Binary Space had barely broken even from sales of ZOS on iOS. There was no spare cash to fund a JavaScript rewrite, so I just continued to update the Flash version of C3O. I knew that eventually I’d have to throw away any new work on C3O and rewrite it, but I figured I’d worry about that later :) Over the next approx 6 months I released some updates to both ZOS and C3O.

Screen Australia Logo

In mid 2013 I decided to apply for funding from Screen Australia’s Interactive Game Fund, which the (former) Australian government had set up to support the local games industry. A ‘third prong’ of my plan for Binary Space had been to release ZOS on Android as well, and so I applied for funding to make an Android version. Besides wanting to release the game on Android for all the people who’d been asking for it, I hoped that an Android version would bring in some extra income which could be used to fund a rewrite of C3O.

At the end of September 2013 I heard back from Screen Australia – my application for funding had been successful! From there it took a couple of months to work out the contract with Screen Australia, so by the end of November the money was in Binary Space’s bank account and so I was ready to start. On my funding application I’d partnered with James to make new artwork, and I put out a call to hire a programmer to help me out, after which Tim came on board.

At the time I planned to start development in January 2014 and then release the game in May.

Planned schedule for ZOS on Android

This obviously turned out to be a bit optimistic! :) We’re now in September and the game’s not done yet. We’ve released five beta versions over the last few months (1, 2, 3, 4, 5), so it’s getting close though.

I knew the planned completion date of May was pushing up very close to Google’s shutdown date of the Google Maps Flash API of September. I was optimistic (aka deluding myself) that this might be enough time to rewrite the game in JavaScript, if the Android release was successful enough to hire another programmer to help me. As I passed the May release date this time frame got more and more squeezed. Even when it got into August I figured “September” was “some time next month” and so that surely meant “September 30th at 11:59pm” which was heaps of time, right? :)

Then 3 weeks ago Google sent me a reminder email saying that they’d be shutting off the Flash API in 3 weeks, ie today. Oops.

The Google Maps Flash API was deprecated on September 2, 2011 and will continue to work until September 2, 2014. On that date, the Google Maps Flash API will be turned off and requests to the API will fail. This will not be delayed.

Obviously, 3 weeks is not enough time for a complete JavaScript rewrite! However www.class3outbreak.com gets about 12,000 visitors per month, so it would be a shame to just let Class 3 Outbreak die. I quickly finished off the helicopters beta for ZOS on Android, and put the Android version on hold to see if I could hack together some kind of workaround in the time I had left.

What I’ve come up with is an ugly Flash and JavaScript hybrid. Instead of including the map in the Flash code, the Flash app is set to transparent, and a JavaScript map is inserted behind it. With a bit of hackery, the two are kept in sync.

Here’s how the game was put together before, all in Flash:

Class 3 Outbreak app layers in Flash

And here’s the hackery of how it fits together now:

Class 3 Outbreak app layers Flash and JavaScript hybrid

For the most part, this hack works reasonably well. For example here’s how it used to look:

Class 3 Outbreak using Flash maps

And here’s how the new version looks:

Class 3 Outbreak with JavaScript maps

Other than the copyright messages, it looks about the same. There are a few other glitches though. The main one is that the map and game don’t perfectly synchronize with each other, so they jump around a bit when the map is being dragged. The following is a demo, although this has been slowed down, so it looks worse than it really is.

Flash and JavaScript maps synchronization

This approach has been used for the editor-based version of C3O, which includes the game, the editor, and the world map. The editor and world map also look slightly different to how they were before, but the functionality is much the same.

However, there are two other apps using the Google Maps Flash API – the original versions of ZOS and C3O from 2009 and 2010.

Flash games are generally designed to spread around the Internet. While there are large Flash game portals like Kongregate and Newgrounds, there are thousands of other sites, and a successful game will be copied everywhere. Flash games usually include ads of some kind (or sponsorship by a website), so that the original author can earn some income from having their game spread around.

This was a problem for the original Class 3 Outbreak, because the Google Maps Flash API required a key which locked it to a specific domain. This meant it could only work on a limited number of sites for which we’d inserted keys into the game. We worked around this problem by having two maps in the game. The original Washington map used Google Maps, and we added a second map of Leicester, England which used aerial photos embedded into the game itself.

Classic Class 3 Outbreak map selection

It was therefore possible to play the Leicester map anywhere, and so the game could spread to portals (over 2,200 of them!). The Google-based Washington map could only be played on our site (and we also added a key for Kongregate). Players on other portals would see a link back to our site, where they could play the Washington map.

Classic Class 3 Outbreak map selection with Washington disabled

Although the Washington map never worked on the thousands of portals out there anyway, it did work on Kongregate. Obviously there’s no way I can hack JavaScript into a page on Kongregate, so that means the Washington map had to stop working there at least. Although around 18,000 people a month play the game across all portals, only around 9% of them play on class3outbreak.com itself. In theory I could have kept the Washington map working on my site with a JavaScript hybrid, but with the clock ticking before Google’s deadline, I don’t think I had time. So I decided that the easiest thing to do was to just replace the Washington map with a big fat ad for the new Class 3 Outbreak.

Classic Class 3 Outbreak map selection with world map

Although most portals are running an older version of the game and so will see the old ‘play Washington at class3outbreak.com’ message, if they click through to class3outbreak.com they’ll now see this promo instead.

The original Zombie Outbreak Simulator is where it all started, way back in 2009. Despite its age this still gets played by around 5,500 people a month. It featured only the original Google-based Washington map, and so only ran on the three sites we uploaded it to – class3outbreak.com, Kongregate, and National Geographic.

Classic Zombie Outbreak Simulator on the Washington map

I didn’t want to let ZOS die, and so I grabbed the Leicester map out of C3O and hacked it into ZOS. So now ZOS is completely Google-free, and can live to see another day :)

Classic Zombie Outbreak Simulator on Leicester map

I got all of this done in the nick of time – I was uploading the new version of everything at 1am this morning, the 2nd of September :) At the moment the Google Maps Flash API still seems to be working, but I assume it will disappear very soon.

Now it’s time for me to get back to the Android version of ZOS!


ZOS for Android: Beta 0.5, with rescue helicopters!

Hey everyone,

I’ve just pushed out a ZOS for Android update to the beta testers. This version includes rescue helicopters, which you can use to evacuate civilians out of the map!

ZOS for Android: Rescue helicopters

Here’s how it looks animated:

ZOS for Android: Rescue helicopter animation

This is the final new in-game feature that I have planned for ZOS for Android (for the initial launch, anyway!).

ZOS for Android: Rescue helicopter UI

If you’d like to be a beta tester, just fill out this form and I’ll give you access.

More screenshots of the beta are available in these recent posts: version 0.4, version 0.3, version 0.2, version 0.1.



ZOS for Android: Beta 0.4, now with soldiers!

Hey everyone,

I’ve just pushed out an update to the beta testers for ZOS on Android which adds the ability to drop soldiers into the map by parachute!

ZOS for Android soldier drop

It looks far cooler when animated though :D

ZOS for Android soldier drop animation

There is room for one more new feature on the UI, which we are working on now – adding rescue helicopters!

ZOS for Android soldier drop UI

If you’d like to be a beta tester, just fill out this form and I’ll give you access.

More screenshots of the beta are available in the other recent posts: version 0.3, version 0.2, version 0.1.