Monday 22 January 2018

Zombie Cannon Attack! postmortem

It's finally here! Anyone who's read my blog over the last few months will probably have seen me promise to post the Zombie Cannon Attack! postmortem which has been 'nearly finished' for ages now. I've been very busy with client work but I've finally gotten round to putting the finishing touches to it, hopefully no-one's been holding their breath in anticipation.

Zombie Cannon Attack! was released at the start of August 2017 first on Android, then on web portals (most notably Kongregate) and eventually even as a PC desktop download via and Gamejolt, just for the hell of it.

Zombie Cannon Attack! is a zombie-themed endless runner / launch game hybrid. Check out the release blog for more background. It was my second game and the first I'd developed entirely since leaving my office job to take over childcare responsibilities and work as a full-time programmer. For more on how the first year of that went, see my review of 2017.

Project scope

Zombie Cannon Attack! was initially meant to be a very small game to be made in a month or so, but it quickly expanded to two months and beyond. I eventually released after four months, the extra two months were needed to produce an Android version - of this the hardest part was integrating the plugins. Still a pretty small project, but also really late. That's not an easy combination!


I decided to do the art myself after using lots of free third party assets from different artists for my first game. The art from that first game never really gelled together into a coherent theme whereas ZCA art fits together well, the style also fits the game nicely. It's bright, colourful and not too serious. I'm happy to admit I'm not the greatest artist, but I really enjoyed it and learnt a lot. However I'm looking to buy a complete set of assets for my next game. To get noticed your graphics need to be better than just ok, and time spent drawing sprites is time spent away from coding.

An early screenshot...
...and the finished version. Hopefully the improvement is obvious.

For the music I used the excellent Incompetech, I was able to find a few tracks that really fit with my vision for the game. It's an excellent resource and I highly recommend it.

Android version

I didn't know what to expect from releasing a mobile app so I mainly made the Android version for experience, in particular I always knew the game wasn't really big enough to justify IAPs but felt the knowledge gained from learning how to integrate them would be helpful for the future. I'm still a little undecided as to whether this was a good decision or not. I certainly learned a lot but spending weeks figuring out how to use plugins I was fairly sure I wouldn't need feels like an indulgence in hindsight.

Despite the questionable design decisions, the main problem with the Android version was marketing. I didn't do much pre-launch other than Twitter and this blog, and again in hindsight my tweets were never generating the sort of buzz you'd expect to see for even moderately successful games. I wrote a few articles and sent quite a few emails but to no avail, for the most part it wasn't a good use of my time. Identifying that marketing was a problem isn't the same as finding a solution though, I found forums and blogs to write to post launch and next time I can try and tie it all together for release day but I've certainly yet to identify a silver bullet.

Zombies and saucers and brains, oh my!

All in all the Android version currently stands at a pretty poor 113 downloads and has made around 32p. From a commercial point of view this is obviously terrible, but even relative to the performance of the game on other platforms it's pretty bad, around half the development time to bring in around 11% of total revenue.
However there has to be a first time for everything and the knowledge I gained should help in future projects, but it is pretty clear that I need to think carefully about whether it's worth releasing an android version for each of my future projects.

For anyone interested in how I took an HTML5 game and turned it into an Android app, I used Cordova which is free software that essentially wraps my web game in a stripped down browser and packages it as an apk file that can be downloaded via the Google Playstore. It's pretty easy to use, especially if you're not interested in adding plugins for things like ads or iaps. I found a few helpful guides (such as here, but there are plenty more out there), and used free plugins (this one for IAPs and this for ads.)
The citizens of Brainsvillle were surprising unprepared for the zombie apocalypse

Web versions

I'd released my previous game, Super Endless Kingdom, on web only so unlike the Android release I had something to measure the web versions of Zombie Cannon Attack! against. It did much better than SEK which was good to see although it's still nowhere near being viable commercially.

If you go down to the woods today, it'll be much busier than normal and full of witches and zombies

I make my games using the excellent Phaser framework, which is very user-friendly with an excellent community behind it. If you're looking to get into gamedev I'd highly recommend it.


I'm actually pretty happy with Kongregate, compared to Newgrounds their discovery for new games is pretty much non-existent and their ratings are fairly harsh and rumoured to be marred by troll developers downvoting competition in the hopes of winning the weekly/monthly cash prizes, but their revenue share system is easily the best I've come across. ZCA has so far made a little over £2.50 from Kongregate and is still slowly adding to that every week. This despite the fact that I only received 35% revenue share instead of the 50% I'd have got if the game had been made exclusive to Kongregate, in fact technically I lost over 70p by releasing on other platforms.

That's a nice horde of rampaging zombies you have there, be a shame if anything were to ... happen to it.


Measured against the Newgrounds version of SEK it did pretty well, more than double the plays and a better rating. The really satisfying part was that it was featured on the front page and spent some time as the most played game of the week. Unfortunately the release was hampered by a bug that only showed up when the game went live on Newgrounds, the ratings suffered as a result so although it was well received I'll never know how much better it could've done, but it was a useful learning experience.
Commercially speaking Newgrounds is a really poor option though, their built-in monetisation is entirely geared towards flash games and means there's just no way for a small HTML5 gamedev to earn anything. Unless or until that changes I'll be staying away from Newgrounds for anything I have any commercial aspirations for.

The day I won at Newgrounds, luckily I didn't let the fame go to my head.


The Gamejolt release was a total afterthought to be honest, I wanted to release a desktop version for the experience and as a sort of completionist challenge that I set myself, so releasing the web version as a demo alongside the desktop version was an obvious step. Gamejolt unfortunately seems to take the worst parts of Newgrounds and Kongregate, discovery of new games again seems to be very poor but the site is also too small to generate any organic plays either. To be fair I put very little effort in to the Gamejolt release, but it's very difficult to see how any extra effort would have been worth it.

Desktop versions

As I mentioned above, the desktop version was more of a programming challenge than a commercial project (which is just as well really as I've yet to sell a single copy). By the time I released it on and Gamejolt I was pretty much ready to move on to my next project. As with the Android version, I went down a bit of a blind alley during development and added time to the project. However, again as before, I did learn a lot and I feel it's useful to get mistakes out of the way early on in my gamedev career in the hope that things can go more smoothly in future.

I started out trying to use Cordova again, but could only manage to produce a Windows store version. I then switched to using NW.js which I have to say was much easier to use (especially with the help of this excellent guide).

Something something zombie reference
Lessons learned

Even though Zombie Cannon Attack! earned over 5 times as much as my previous project and received a much warmer critical response, there's no escaping the fact that it was a commercial failure. Some decisions were taken knowing they weren't good in an immediate commercial sense but by building my skills and experience were hopefully an investment in future projects. Some decisions were just bad. For future projects I intend to focus first and foremost on releasing exclusively on Kongregate and only release on other platforms if there's sufficient interest to suggest it's worth my time. If I'd followed that advice on this project I'd be a whole 72p better off and have saved myself a few months, doing it that way once for the experience was useful but next time will have to be different.

Thanks for reading, I hope this has been useful to you or at least interesting. I'm happy to answer any questions so leave a comment or get in touch on Twitter.

No comments:

Post a Comment