Tuesday, 6 March 2018

Quick Update

Well the curse of the blog strikes again. A month ago I wrote about how I was hoping to spend more time on my own games, since then I don't think I've touched my current project at all.

February was a tough month on a personal level, there was hardly a single day when someone in the house wasn't ill with something. On a professional note though, things are going really well. Although my productivity suffered, I still managed to complete several games for my client and he's now asked me to take on a project that's much larger than anything I've done for him previously and could potentially keep me busy to the end of the year and beyond.

It's looking unlikely now that I'll be able to spend time on my own projects on a regular basis, and therefore there's no point trying to keep to any sort of regular blogging schedule. I'll try and post updates whenever I make any significant progress but until then it's time to put this blog to bed. I'd like to thank everyone for reading, and I'll still be posting semi-regular updates on Twitter if you'd like to keep up to date.


That's all for now, apart from a quick reminder that my latest game, Zombie Cannon Attack!, is available on all these platforms:
Android
itch.io (desktop download)
Gamejolt (web & desktop)
Kongregate (web)
Give it a try and let me know what you think, feedback is always welcome.

Tuesday, 6 February 2018

Weekly Development Progress Report, 05/02/18

Wow, sitting down to write this I realised it's my first 'weekly' development blog for two months, although I did post my round-up of 2017 and (finally) the postmortem of my latest game, Zombie Cannon Attack!, during that time.
I've been very busy for the last three months working on making games for a client so work on my own projects has taken a back seat, however as the client work looks likely to last for a while I've made an effort to start setting aside a bit of time for my own game in the hope that I'll be able to get back to making enough progress to justify weekly blogging.

Space Crafter: Crafting in Space

My current project is a sci-fi themed shoot 'em up where the player gathers materials and uses them to craft their own equipment. It has the inventive working title of 'Space Crafter', but hopefully I'll be able to come up with something more exciting during the development process. Initially the idea was to keep the shooter part very simple - a fast moving side scroller with no jumping and autofire, a game that could be played with two buttons to control movement (or even one at a push (sorry)). To sustain player interest the game would throw large amounts of materials and experience points at the player and have a fairly complex crafting and equipping section to act as a break.

What's that creature in the library? Dunno, I haven't named it yeti.
I love it when a plan ... changes completely part way through

Wait, come back. Oh well, I suppose that pun was ... abominable
So I had a nice simple idea, but anyone familiar with this blog or indeed with game development in general will know what's coming next. The art assets I'd taken a liking to were really designed for a top-down view, and although the character sprites work fine for a side-on view most of the backdrop sprites don't look as good. I'm determined that I'm not going to release anything else that I'm not satisfied with visually so I decided to switch to a top-down view. This has immediately made the game much more complicated as the player can now move in at least four and more likely eight directions. Also the enemy AI, which under the old system was basically 'move left', now has to track and follow a much more versatile player and therefore has to be much more complicated.

A laser fight in the reactor room, what could possibly go wrong?
Don't be a fool, stay in school

Phaser has some built in follow functions that I used to create different enemy behaviours in my first game, but much of what I did was to try and mask the fact that I didn't have the expertise to properly implement AI pathing to move the enemies around obstacles and find the quickest route to the player. It didn't help that I wasn't really using tilemaps. I've toyed with using tilemaps in my games (this is basically building the play area out of chunks of equal size that slot together like tiles) but my first attempt was a bit of a cobbled together mess and for Zombie Cannon Attack! I ended up going with something much simpler for performance reasons.
Although I'd not initially planned to do it on this project, learning pathing and tilemaps was on my list of things to do in gamedev. I've already successfully implemented a test tilemap and added pathing behaviour to npcs, hopefully most of the work now will be adding more of the same and fine-tuning.

I've been calling this guy 'elite' soldier, but as he brought a machete to a laser rifle fight maybe I need to rethink that.
Happy Anniversary

I usually post a few stats at the beginning of each month to help me track progress, and I've now been blogging for a year (my first ever post was on 8th Feb 2017) so it's a good time to have a look at some numbers. I wasn't very active in December/January so I've just mixed the stats together a little. In total this blog had 7194 views last year, an average of around 20 per day, but at it's peak when I was blogging more consistently I was getting around double that. I started my Twitter account at the same time so I've gone from 0 to nearly 2000 followers over the year. Not too bad.
I took a fair bit of time off over Christmas and New Year which has obviously affected my hours worked, but as I've been earning plenty from client work it's not something I'm too worried about.

Twitter followers: 1925 (+115 from November 2017)
December/January blog views: 428/567
Blog views/day: 16 (November was 31.3)
Hours worked: 154.5 (2.5/day) (November was 3.9/day)


That's all for this week, thanks for reading. If you want to keep up to date you can also follow me on Twitter.
My latest game, Zombie Cannon Attack!, is available on all these platforms:
Android
itch.io (desktop download)
Gamejolt (web & desktop)
Kongregate (web)
Give it a try and let me know what you think, feedback is always welcome.

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 itch.io 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!

Artwork


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.

Kongregate

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.

Newgrounds

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.

Gamejolt

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 Itch.io 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.

Monday, 8 January 2018

Looking back at 2017

So 2017 is all done and dusted and everyone reading this has made it to 2018, congratulations! It's also been a year since I left my last job and took up coding full time, so it's a good time for a look back. To cut a long story short, I started last year with a bunch of assumptions which mostly turned out to be wrong but wrong in ways which largely cancelled each other out, so the plan I started with is still pretty much intact.

Assumptions made an ass out of me

The plan boiled down to making my savings last a year while I made and released games for web and mobile. Hopefully I'd make a living from this before my savings ran out, but I was aware this was a long shot. By making HTML5 games in JavaScript (using the excellent Phaser engine which I really can't recommend enough) I'd hoped to improve my coding skills to the point where I could find work as a web developer if it became clear I wasn't going to make it in game development, and to aid in this I was also following the Odin Project curriculum to learn web dev. As I mentioned earlier, this plan relied on a series of assumptions, most of which turned out to be wrong.

Assumption 1: My savings would last a year

Pretty straightforward really,  I'd worked out what I tended to spend and factored in how much of that I'd no longer need to spend when working from home. It soon became clear that I don't spend nearly as much as I thought I did though and even without any money coming in my savings were good for 16-17 months. 1-0 to me.

Assumption 2: Coding might be too hard

I'm not sure if this counts as an assumption, but it was certainly a consideration. One possible way my plan could fail was if I just wasn't good enough. I couldn't make a game that would run in other peoples browsers, it would lag, it would crash and do horrible things to their pc/phone etc. Or I'd be able to put a game out there but the technical difficulties of various monetization methods would overwhelm my fledgling coding skills, it wouldn't work on games portals or with ad platforms and I'd have no way of making any money.
As it turned out, none of this came to pass. I certainly had a lot to learn, and I've encountered my fair share of problems, but it turns out I'm a decent coder. I enjoy problem-solving and I haven't come across a single technical issue that I haven't been able to get past either with a coding solution or by designing my way around it. Yay me, 2-0.

Assumption 3: I'd have a lot more time

For about 18 months before I quit I'd been working 30 hours a week and putting in another 10+ at home on web or game dev. Adding that together with time spent commuting and I assumed I'd be able to make games, learn web dev, teach myself Spanish, start playing guitar again, something something exercise and anything else you can think of, while also taking over primary childcare responsibility for my little boy. Obviously this was nonsense, I do about the same amount of work now as when I worked in an office, and the things I didn't make time for then I still don't make time for now. 2-1, damn you reality.

Assumption 4: If I could overcome all the technical hurdles and release a working game, I'd be able to make at least a small amount of money

My thinking was that if I could make a game I was happy with and release it in working order I'd make some money to supplement my savings, then I'd refine the process with everything I'd learnt for my next game and do a little better the next time. Rinse and repeat until I was bringing in enough to stop relying on my savings before they ran out completely. The idea that I could release a decent game and make no money at all from it never really occurred to me, but there's so much competition in gamedev right now that the most likely response to a new game is basically 'meh'. I'd say this was 2-2, but it's such a big flaw in the plan that it's more like 2-3.

Assumption 5: My only choices were making games for myself or doing web dev work as an employee

I'll go into this a little more later, but by the time I'd released a couple of games and got a decent looking website up and running I had something I could show potential clients who wanted a game making. It's client work that has really saved this year for me, in fact I make more in 10 minutes of client work than my own games made in 10 months. So, 3-3. everything still to play for.


The Year in Brief

January

I spent my first month working on finishing my first game, Super Endless Kingdom, polishing what I could and boosting performance. I also created the first version of the Rubble Games site and built an overly complicated site for Super Endless Kingdom using Ruby on Rails to lock access behind a password. This later proved to be totally unnecessary and I stripped out the backend and remade the game page as a static site.

February

I started(!) to think about marketing, I created this blog and the Rubble Games Twitter account. I struggled to get playtesters for Super Endless Kingdom prior to launch and wasted a few weeks waiting before giving up and deciding to push ahead with release anyway.

March

I released Super Endless Kingdom on Kongregate and it basically sank without a trace. I eventually got some feedback and made some improvements but it was too little too late. To date the game has 610 plays on Kongregate earning me (in theory) a grand total of 55p.
A few weeks later I released on Newgrounds, where things went much better in many ways. I got more useful feedback and a lot more interest. It got around 5x more plays and a much higher rating than the Kongregate release but monetization for HTML5 games on Newgrounds is almost non-existent. However the feedback was pretty postitive, which I really needed after a disappointing month, and the game was also featured as staff pick in the Phaser newsletter.

April

Having learnt a lot about what didn't work I set out to make a new game. This game would be made and released in under 2 months and designed with mobile in mind (eventually released in August as Zombie Cannon Attack!). However this was also the first month I'd had to deal with working through a lengthy school holiday and my productivity suffered while I adjusted.

May

As Zombie Cannon Attack! took shape I tried to find a way to earn from it. I contacted various games sites about the possibility of them licensing the game or sponsoring it but didn't get any interest at all so I decided instead to go for a mobile release on Android.

June/July

I spent the next few months getting the Android version ready using Cordova, much of the time was taken up getting plugins for adverts and in-app purchases to work. I added some polish to the game itself, but nothing that made a major impact on the way it played.

August

Zombie Cannon Attack! released. I've almost finished the Zombie Cannon Attack! postmortem that covers this in more detail, I just need to find time to edit it. In brief, while it did noticeably better critically than Super Endless Kingdom it can't be considered a success by any means. It's currently 'earned' me £2.85.

September

I continued with post-release work on Zombie Cannon Attack!, but by this point it was clear I wasn't on a path to earning my way as a gamedev. I started putting much more time into my webdev course.

October

I put Zombie Cannon Attack! to bed with a Halloween update and started work on a new project, but I was still concentrating more on learning webdev. I went down a bit of a blind alley with a prototype for a clicker/idle style game before eventually settling on my current project - a sci-fi shooter/crafter. By the end of the month I had a semi-functioning protoype.

November\December

I got my first paying gamedev work for a client and everything else was basically put on a hold. It's been a great few months personally and professionally, but as far as solo indie gamedev stuff goes you could be forgiven for thinking I'd vanished off the face of the Earth. I've had very little time to work on my own game, so I've had very little to post about on this blog and so very little to promote on Twitter etc. I'm hoping to spend a little more time on my own stuff, but as I'm writing the end of year round up for 2017 a week into 2018 you can draw your own conclusions about how that's going so far.

So, in conclusion. Can you make it as a solo indie with no professional coding experience? Maybe, but you need to bear in mind that all your assumptions are wrong and to make it you'll probably end up working for someone else.

Thanks for reading. If you want to keep up to date you can also follow me on Twitter.
My latest game, Zombie Cannon Attack!, is available on all these platforms:
Android
itch.io (desktop download)
Gamejolt (web & desktop)
Kongregate (web)
Give it a try and let me know what you think, feedback is always welcome.

Thursday, 28 December 2017

This is just to say...

Just a quick post to say I'm still busy with client work so there's nothing much to report right now. I'm planning to do an end of year round-up and release the long promised Zombie Cannon Attack! postmortem as soon as I can (hopefully next week). I'm also hopeful I'll be able to spend at least one day a week on my own game in the new year which should give me enough material to get back to something like my normal blogging schedule.

Hope you all had a great Christmas and have an equally great New Year.

That's all for this week (and year), thanks for reading. If you want to keep up to date you can also follow me on Twitter.
My latest game, Zombie Cannon Attack!, is available on all these platforms:
Android
itch.io (desktop download)
Gamejolt (web & desktop)
Kongregate (web)
Give it a try and let me know what you think, feedback is always welcome.

Tuesday, 5 December 2017

Weekly Development Progress Report, 04/12/17

In last week's brief update I wrote that I was too busy with client work to spend any time on my own games and I'd be posting less frequently until I had more to show. It will therefore come as no surprise to those of you who have read this blog before that I pretty much instantly contradicted myself and actually managed to make a bit of progress with my own game inbetween making a couple of games for my client.

Space Crafter: Crafting in Space!

For those of you who haven't read this blog before, my latest embryonic project is currently going by the working title of Space Crafter (catchy I know). It's a pretty simple side-scrolling shooter/rpg with a crafting/trading/equipment management section to provide more depth. I still don't have a huge amount to show but I've bought some art assets I've had my eye on for a while and swapped them for the rubbish placeholder art I was using. There's still a long way to go but here is the official first screenshot.

Very early days, but I'm going for a ruined/abandoned colony look here. I need to rough up some of the assets and cover some of the empty space but it's a start at least.
November Stats

So November was a great month. Getting a nice chunk of client work is great for my morale and bank balance and I'm really enjoying it. However the metrics I've been keeping track of mostly took a bit of a dip in November. This blog especially took a hit, I didn't have much to write about so I didn't have much to promote and it shows in the viewing figures. My hours worked were down slightly, but this is partly down to an illness at the start of the month.

Twitter followers: 1810 (+80)
November blog views: 939
Blog views/day: 31.3 (October was 38)
Hours worked: 116 (3.9 / day) (October was 4.2/day)

That's all for this week, thanks for reading. If you want to keep up to date you can also follow me on Twitter.
My latest game, Zombie Cannon Attack!, is available on all these platforms:
Android
itch.io (desktop download)
Gamejolt (web & desktop)
Kongregate (web)
Give it a try and let me know what you think, feedback is always welcome.



Thursday, 30 November 2017

Weekly Development Progress Report, 27/11/17

Just a quick note this week to say that I've got nothing to show for now as I'm still focusing on client work. So, as I said I was considering last week, I'm putting the weekly posts on hold until I've got more to write about.

The client work is going really well and I'm both enjoying it and learning plenty. I am hoping to take some time to make progress on my own projects but paid work comes first, especially in the run-up to Christmas.

I'll have a monthly round-up next week and the long-promised Zombie Cannon Attack! postmortem is almost ready.

That's all for this week, thanks for reading. If you want to keep up to date you can also follow me on Twitter.
My latest game, Zombie Cannon Attack!, is available on all these platforms:
Android
itch.io (desktop download)
Gamejolt (web & desktop)
Kongregate (web)
Give it a try and let me know what you think, feedback is always welcome.