A new Lead

A little while ago I started to realise that Dr Dog was not going to be the final main character for Moon. He’s endearing in many ways and as one of the first assets I created for the project is a very hard thing to decide to change. However, from a game design and story point of view he’s creates several issues that really aren’t going to change unless he is replaced.

The Problem

OldDogIn the Image on the left you can see Dr Dog standing in his Idle pose. He stands like this anytime you’re not moving. As you can see he’s not one for wearing a lot of clothes and he likes to stand very upright. He’s also about 14 ‘pixels’ high. My original decision to just give him a collar quickly made my life tricky when it came to drawing any other characters (for you to interact with). Because He’s not wearing clothes they should all do the same, to keep the world consistent. This means my only real choices for deferentiating one character from another is in type of animal, fur/skin colour, choice of hat and perhaps with a prop (like a hand tool). This whole problem was only made more tricky by the choice to use a 16 by 16 ‘pixel’ tile size for everything. It’s very hard to draw a convincing and identifiable goat, rabbit or pig in 14 by 11 pixels. Not impossible, just really really hard.

Next, is his shape. He has a very straight profile. As you can see along his left edge there’s just a single little pixel sticking out to represent his other arm, and without that he’d be straight along one edge from head to toe. The more I saw this, the more I wanted to change it. So in short, he had to go.

The Solution

NewAliceThis is Alice. She’s 15 ‘pixels’ high when standing idle and she looks like she wants to go places even when stood still. She also likes wearing clothes, doing science and exploring. As you can see her profile is much more interesting.

Straight away things got better.It’s much easier to make other charatcers that have some personality when you can dress them up.

I also extended the character sprite system to allow the characters to extend outside the bounds of the 16×16 sprite borders. This means that animations can be a more dynamic and if for some reason I want someone to wear a huge hat I can.

Over the next few months you’ll see a lot more of Alice and less of Dr Dog

The Profile of Moon

After what may seem like a very long time, the number of pieces left to be added to Moon before it could be considered complete is finally starting to get smaller not bigger. There are no obvious new bits of feature or technology to be added, the main structures of the entire game world have been laid out and there’s now a real sense that as long as I stick with it I could actually release a finished product. A game that a few people might enjoy playing (and maybe even paying money for).

Don’t go rushing off to steam just yet, there are still plenty of things to do but I can start to put actual numbers on things in a way that I’ve just not been able to do up to this point. With numbers I can count down the remaining work and even see a point in the future when they all reach zero and I release it all into the wild. The landscape of indie development is littered with games that never got finished. I recon it probably kills about 99% of the projects ever started. So, as another year comes to a close I have to think and hope that I have enough drive to be in the 1% and release a completed game. That or go mad trying.


Sewers_800x117That brings me to the next important thing to get done. Something I’ve made a very small start on is raising the profile of Moon and deciding what changes need to be made to make sure it can be found, seen and sold to as many people who might enjoy it as possible. So far there is one huge thing that has become a concern. The name of the game.

Moon is a nice short snappy name that hints at the subjects of the game and even has a little mystery to it. However, it’s also the name of earths closest celestial neighbor, an object you will almost exclusively be told about and given pictures of if you enter its name into Google. For this reason it probably needs to change.


CaveGlows_800x117Picking a good name for a game is a big deal. Big publishers have whole departments of people devoted to that sort of thing. However, by the looks of things, many indie developers simply start thinking of a word or phrase that doesn’t yet occur much in Google search results (or any existing language) and just use that. The steam store and indieDB are littered with weirdly named games. I assume that this comes from some assumption that the name of a game should be as unique as possible. This is just not a good approach.

The name of a game should be something that is as easy as possible to communicate to others. Obviously, with the addition of some reference or contextual link to what the game is about. Being easy to find on Google is important too, but it doesn’t need to be unique. Just by looking around at some of the most successful games it’s possible to see some clear patterns. Take Dragon Age, Assassins Creed or League of Legends for instance, they all have names that are easy to communicate to others, they’re easy to spell and easy to enter as search phrases but they contain no unique words. They’re just phrases. Clear, concise snippets that hint at the game context and are reasonably unique for easy searching.

My challenge now is to find such a name or phrase before I need to start making some really serious noise about the game. It’s nice having nearly 100 followers on facebook and over 500 on G+ but if I’m going to have any hope of getting through steam greenlight I need about 100 times that number. A task that’s not as technically demanding, but  possibly almost as big, as making the whole game in the first place.



The cycle of the Sun


If you’ve played any of the Alpha releases of Moon you may have noticed the moon in the sky in the outdoor areas around the Observatory. The more observant of you may also have noticed that the phase of the moon matches the current phase of the moon.  This is all great stuff. Except it raises an annoying inconsistency that’s been bothering me for a few months now.

The changes of moon phase imply the passage of time, but the lighting of the world never changes. One one hand you experience the passage of days but never the passage of hours, so It’s always night.

Shot150_TownDayThe Solution

For a long time I’ve been resisting the temptation to implement a full day/night cycle, aware that if I ever want to actually finish Moon I have to be a ruthless as possible with my ideas. If it not absolutely needed, time shouldn’t be spent on developing it.

However, the mixed messages about the passage of time were too much of a problem to leave alone. So now, in the outdoor areas, the daylight light matches the light in the real world and the passage of time is made clear.



Things are still not totally perfect. I’ve kept the moon itself in the sky at all times of day. I could have made sure it was up at times that were appropriate but it’s an important indicator in the game. I decided it was too important to be missing for about half the day.

I’ll just mark that one as artistic license.




Creating Better Levels

They might be fun but the test levels have got to go

Shot88_CaveDoorThe recent release of Moon alpha 1.5 has brought me to a rather amazing place. About 95% of the code I expect to need is written, most of the biggest bugs are gone and feedback indicates that (at least some) people are having fun. This means almost all that remains is the creation of the actual content I want in the final game. So, the exciting place I find myself is in front of my level editor with a head full of ideas and nothing to stop me letting them out.


If you’ve played Moon at all then you may have wondered about a few odd design choices. Why is the key to the caves stored in an inaccessible location in the generator room? Why is the first puzzle so hard? Why did I have to pick up the weird blue thing at the start?

Well, the simple answer to all this is that the levels present in the alpha builds have been there to test specific mechanics and ideas. There was a hint of some progression (mainly so the alpha releases didn’t feel totally flat) but it’s muddled. There’s almost no real room for a new player to learn how the world works and no clarity in the development of any plot elements.

However, it seems that despite these flaws, the game is still fun.

So, This brings me back to the amazing place I’m now at; With at least a little confidence that I’m making something that people will actually play and enjoy I can get on with converting all my sketches, paper notes and plans into the game world as it will be in the final game.

This has some important implications for any future releases before the game is complete. Most important (and perhaps obvious) of these is that there will need to be more videos and images but less playable demos. This is mostly to avoid giving away things that might spoil the enjoyment and discoveries within the finished game.

So, expect more cropped images (like those of the new world used in this post) , short videos and animations, more news and more general promotional noise but only very occasionally something new to try out.

Until the next release, feel free to get the current version from the link below and tell me what you think.



Moon – Alpha 1.5

Suddenly, a new version of Moon appears.

By the time I’d released the last version of Moon I was reasonably happy that all the significant technology code was written, that there would be only minor changes to code and that I’d be spending most of my time making new levels and interfaces and adding music and more audio. I was very, very wrong.

I went into a lot more detail about some of the most significant changes in a previous post if you’re interested. In short, there’s cloud save support, new game mechanics, new puzzles and music. Oh and probably a few new bugs.

As ever this is still a preview of the game, you’ll get a few snippets of the story and a few puzzles to beat but it’ll be a while yet before the whole thing is done. There are definitely still some knobbly bugs in there but in general things should be mostly stable and crash free. Please let me know if you have any trouble (or suggestions / annoyances)



Moon – Interface

Some areas in Moon are stranger than others so I wanted to create some music to convey that strangeness. Nothing so odd that it’s annoying but odd enough to feel other worldly. Also, I’ve not really played much with pentatonic scales so I thought I’d experiment a little in that direction too

The results are suitably odd with out being too discordant but I think the whole track could do with being at least twice as long. It feels a little like it just getting started and the it comes to an end so there might be some updates in the near future I think.

Moon – Lonely Cave

Before I release the next version of Moon I want to create about three or four music tracks for the various areas that are currently present. I think if I can enhance the feel and mood of the observatory, the caves and the hidden areas I’ll be very happy.

This track is my first attempt at something for the caves. I’m pleased with lots of things about it (especially the ‘drip’ notes) but over all I’m not sure if it’s right. At the moment it feels too much like the sound track for a random RPG not Moon. It might be easier if I just let it sit here for a while and come back to it with fresh ears. Anyway, please let me knoiw what you think.

Moon – Wonder

It seems that my new enthusiasm for music creation is having some effect. Having completed the previous track I went straight into another one.

This one is much lighter and has a lot more of the mystery I was looking for. Obviously I’m still learning so it’s not as polished as I’d like but I think it’s an improvement none the less. Once I start to feel a little more happy and comfortable about the creative processes I’m using to drive my composition I might make a post about it.

Moon – Journey

Since I began occasionally fumbling around in various bits of music production software about 14 years ago I’ve used samples almost exclusively. Occasionally I’d throw in a half a dozen notes or a pad sweep from a synth but these occasions were exceptions to the norm.

The main reason for this has really come down to my lack of knowledge of the language of music itself. I’ve got reasonably good at knowing when I like something and even if it’ll work with everything else in my track, but I’ve never really known why; At least not at a fundamental note by note level. I can’t actually play any instruments and have never read music so this is not all that surprising.

Some time ago this lack of understanding began to bother me. The rate at which I poked at my music software dwindled to almost nothing. I’ve made one track I actually like in the past 3 years. I just wasn’t getting what I wanted anymore. So I stopped.

Then I did something better; I started reading.

Three weeks ago, I spent some money and updated my music software. This meant I’d have to justify to myself the expense and put it to some use. I also bought a book on music theory to supplement all the reading I was doing on the subject across the internet that had lead me to upgrading in the first place. Plus I need music for Moon and it’s not going to create itself.

Suddenly, in the space of two weeks I’d produced more than 16 bits of music that I didn’t hate; Each one constructed without samples from individual notes up. Each one based on some actually musical theory. They’re more like crude sketches than anything I’d put on here but the important thing is that I actually produced something I liked. Possibly for the first time in years.

Anyway, This last week has been spent putting together something that might end up in Moon, assuming I don’t fall out with it. To people that are more skill in these things than me it may seem simplistic (I still think the mix of each of it’s elements is a bit rough) but it’s made without the samples I’ve relied on for years. I think that in itself is worthy of putting it up here.

Moon Progress

In keeping with the traditions layed down by many other indie developers I’ve dsecided to give you a quick summary of what I’ve been upto and what you can expect in the next release. All this while at the same time giving no clear indication when that release might be.

For some time I’ve been hearing reports that Moon takes a long time to start on laptops or that everything starts up fine, except the graphics (the black screen bug as it’s been called). Along side all this I’ve also had some requests for some sort of cloud save support, so that when you’ve played for a bit at the office you can carry on where you left off when you get home. So, to address all these things I’ve spent much last few months making some pretty significant changes to the file system, graphics startup code and game save files.

First, I’ve added additional checks into the graphics startup code so thet if your playing on an intel laptop that has more than one graphics system it chooses the more capable (non-intel) one if it’s available. This should much improve the experience of those of you that see the black screen bug all the time. I’ve also made 720p the default windowed resolution.

Next, I’ve split the file structure in two. System files that are needed quickly and everything else. Usually when Moon starts it loads the entire package file into memory (which is pretty fast) then starts to unpack it. The unpacking process can be pretty slow so I spread the work out over all the available proccessor cores. This all works great on a desktop PC with lots of cores but on a laptop with only a few the unpacking time can go on for ages (30+ seconds seems quite common). So now instead only the files need to start up the graphics, network and audio are unpacked before the game is allowed to start. All that other unpacking needs doing but at least your not left staring at a black screen wondering if it’s crashed.

Finally I’ve restructured the save file format and written a simple cloud save system. The files generated when the game was saved used to be hundreds of thousands of bytes (about 400K on a good day) which was far too big to be sending up to the cloud server all the time so I’ve shrunk that down to about 3K and written a simple system to serve those files when requested. I’ve tried to make it as simple as possible and aviod any account registration nonsense. So, in the options menu there’s just two boxes, ‘Username’ and ‘Password’. If you enter a new username and password combination an account will be generated for you and when you enter it anywhere else you’ll connect to that account and get your saved game. it’ll even auto connect from that point on to make it easy.

Oh, and I’ve also started making more new levels.


Moon – Alpha 1.3

So soon, what’s new this time you might ask?

Well there a few bits of hidden fun stuff for you to enjoy (maybe the image above is a clue). Lots of little bugs squashed and a nice quick simple installer. I’ve also added some extra code to make it a little easier to help you if you do get bitten by any of the remaining bugs, so please let me know if you have any trouble (or suggestions / annoyances)

For best results you should delete the files in your AppData/Local/Moon folder and start a ‘New Game’



Moon – Alpha 1.2

Just in time for new year, The first Alpha version of Moon is now available (see the big link below).

So, what great and exciting features have taken all this time?

With luck the black screen bug is finally dead. Lots of ambient sounds have been added (still no music yet though), I’ve added and updated a few puzzles, made some fixes to levels so you won’t get stuck, improved the controls (especially when jumping up through gaps), added interactive computers, added some hidden fun stuff and fixed lots more bugs.

As ever this is still a preview of the game, you’ll get a few snippets of the story and a few puzzles to beat but it’ll be a while yet before the whole thing is done. There are definitly still some knobbly bugs in there but in general things should be mostly stable and crash free. Please let me know if you have any trouble (or suggestions / annoyances)

For best results you should delete the files in your AppData\Local\Moon folder and start a ‘New Game’



Moon Pre-Alpha 1.23

A few months have passed since I originally released a playable version of Moon. Since then I’ve been adding features and fixing bugs. So now you cane give the improved version a try.

It’s still a long way off the complete game and there’s still plenty of bugs, but I’m now close to being happy that I have all the underlying code systems as I want them so I think this might be the last Pre-Alpha version. Next stop Alpha and some serious content



More Moon Progress

It almost feels like I’m building up a little bit of steam on Moon. The level editor works pretty well and I’ve been adding lots of new graphics tiles when ever I get the chance on an evening or during a quiet moment or two during a weekend. However, by far the biggest improvement to it all has been the lighting and atmosphere system. I can now give every level a unique tone and feel. Everything from fogging and lighting to full on film-like colour correction.

there’s still no sound or music and there’s some significantly missing features .. but it’s really starting to be fun and feel a bit like a game.

MoonLight0 MoonLight1MoonLight3 MoonLight2

Little Big Planet Vita

LittleBigPlanet-PS-Vita-box-art-300x381My first project as graphics programmer for Double 11. The challenge was to squeeze a game that made some pretty significant demands on a ps3 onto the new PSVita. Oh, and add a whole pile of new content, features and control methods.

Little Big Planet is pretty much the biggest franchise I’ve ever had the chance to work on. It was full of huge coding challenges but also lots of fun visual effects and graphical fluff to write. The metacritic score of 88 along with tons of great reviews seem to suggest we did a pretty reasonable job.



Efficiency+ on Windows 8

It came to my attention that Efficiency+ was no longer functioning.

It seems that some changes by my web host brought a rather annoying web script bug out of the cupboard. So, I got the old code out of storage put in a fix and along the way updated the installer to include all the required components for it to run on Windows 8. I even managed to reduce the download size by just over 5MB

The download link on the original post now points to the new version; or you can click on the giant link below



Project Moon .. but better

As you may have noticed, project moon has been ticking along for some time. From time to time I’ve even posted a screen shot or two relating to it; each one looking quite different to the last. Much as it may not be obvious, the fundamental design idea behind it has always been the same, only the presentation has changed.

So here to accompany some nice new screen shots I’ll give you a few reasons for all this change instead of giving away any actual juicy details about any of the game itself, because that’s the sort of thing indie developers do.

In short there are two main reasons why I’ve changed from 3d down to 2d; time and Fez.

As a professional game developer (and now a farther too) I have a very limited amount of free time to spend on my own code projects. That sparse development time is usually used to achieve two things: make progress on one of my two personal game projects (iO and Moon) or investigating the sort of subjects and problems many programmer are easily distracted by, (graphics, compression, audio processing, etc.).

For a very long time I laboured under the illusion that I could find the time to make Moon in 3d. I made a simple level editor and quick mesh building tool, I even got a basic level up and running. It took an age. In the end it was pretty clear that I was never going to find the time to make all the models and levels. I eventually accepted that making a 2d puzzle platformer instead was not giving in and taking the cheap over trodden path but the only real way Moon was going to see anything like completion.

Something else that help push this decision was the release of Fez. I was all the things that I’d hoped to do with Moon, but better, more polished and more complete in absolutely every way. So, Moon became a purely 2d game and I went looking for ways to separate it from Fez while keeping the original intention of the game intact.

So why does it have the low-res, saturated, pixel look that every other indie game seems to have these days? well it turns out that when you’ve got very little time it’s quicker and easier to make everything out of small images. and once you’ve made everything out of small images, they look better if you make them look like sharp pixels

Anyway, enough ramble, on with the screen shots


Tortuga Puzzles – Part 3

I guess the trite phase about third time being lucky may be appropriate here

For the Tortuga event in 2009 I wanted to make sure the puzzle was accessible and fun. I wanted as many people as possible to have a go but it be difficult enough to make the real puzzle enthusiasts still enjoy it. I opted for a hunt for buried treasure (of sorts).

The puzzle was given out early as usual but only two weeks before the event. It came in two parts. A reference map of the Caribbean and a letter. The map was painted on a large board so it could be available for people too peruse on the day (It was also little clearer in the flesh too which helped)

This is probably one of my favourite Tortuga puzzles. It had a excellent balance of fun and challenge. Plus, having lots of pirates looking at the map in the middle of a tavern table, tracing out ideas while trying not to give away what they’re doing or thinking made for some great moments.