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.