What's New this Month?
It's been over a month since my last update! But don't fret, I've been busy working on 39 Days to Mars, and things are progressing slowly but surely towards a first release. This month I talk about random seeds, analytics, making interactions easier, decorating the ship, arriving at Mars, and generating better ship layouts.
Whew. So sit back, pour a cup of tea, and enjoy this extra-long update.
My goal for the month was to end up with a playable version of the game, from start to end. This meant coding the start/end screens, and fixing problems with the ship generation code that made it re-usable and deterministic. Having a deterministic ship generator means that all of the random elements in a single game can be determined by a single 'seed' number. I can use this number to reproduce a game that had a bug, or store this number to let people play the same game twice. By changing the seed, I can generate a new ship and new storyline each game.
Finishing the game flow also meant finishing the pieces of code that detect when you've arrived at Mars, and working on the end-game sequence.
At the moment, you arrive in orbit around Mars on day 39, and the game finishes when you deploy the ladder/rope/landing capsule and are on your way to the surface of Mars. The big question about this is where do I actually end the game?
a) Does the game stop when you start descending? This would save needing artwork for the surface of Mars, and feels like a natural place to stop, however after the entire voyage it could be frustrating not to actually descend and see your destination.
b) The game could stop when you touch the surface. This is my preference at the moment, because it gives a bigger sense of satisfaction without me needing to design any puzzles or interaction on the surface. I would still need to do the artwork, however.
c) Or, there could be a few minutes on the surface that tie into the story elements from the voyage. If I've already done the artwork, this could be as simple as writing some dialogue and an extra puzzle or two. Doing this would mirror the introduction steps where you leave Earth, but I'm worried it would start to feel too much like an 'Act II', and therefore when the game ends shortly after arriving, it could feel anticlimactic
After getting some great suggestions about the tutorials last post, I thought this time I'd ask what you'd like to see at the end of the voyage. Which of the above options appeals to you the most? Is there something else you'd like to see? Let me know in the comments below!
I've talked previously about analytics, and already had a system set up to record the state of a game as people play it. Because I've been focusing on gameplay, the analytics integration had fallen behind and any data that accidentally got recorded was fairly useless. This month I bought everything up to date, and it's ready to do some playtesting as soon as I make enough content.
After getting analytics integrated, I got a couple of friends to play through some puzzles. There were enough hiccups and problems to show that I still have some work to go before I can call the first storyline finished.
One of the biggest problems was how difficult and fiddly moving around and interacting was. At the moment, you use the thumbstick to look around, and if you hold it down, the character will also move in that direction. Because I'm targeting many different platforms, I wanted to keep the control scheme using as few buttons as possible. Watching how difficult this was to use gave me two options: I could change the control scheme to use more buttons, and separate looking from moving; Or I could change the way interactions work so that you don't need to look around.
Because looking around isn't the main purpose of the game, I've decided to go with the second option and implement a system where characters automatically look at the closest usable object. I'm already happier with how much clearer this is:
Another thing I implemented was the ability to switch between characters. While some puzzles still require two players, I implemented character switching because it makes testing considerably easier for me. I no longer have to play the game with one controller in each hand! I'm still following my previous decision to go with co-op only puzzles for the moment, to save from having to make multiple versions, but it's nice having the option supported for when it's needed later.
I started looking at how I'm going to fit nice looking artwork and decorations into the random ship generation. I've figured out a neat system (I hope!), but as part of this I needed to re-write the ship generation algorithm this month to produce more interesting ships. The existing system used a series of rules to place sections next to each other in specific configurations. This resulted in function ships that were always roughly square shaped, and square boxes make for realistic but very un-inspiring space ships.
The new algorithm shuffles the layout enough that although the ship is still made out of boxes, the overall shape is usually more interesting. This will allow me to add artwork around the shapes and end up with something that fits the steampunk aesthetic well. Watch out for screenshots of this on twitter over the next month, hopefully!
Watch this Space
Over the next month I hope to have finished the interface, and have the moving and interaction controls feeling intuitive. I'll be designing another puzzle or two for the first storyline, adding decorations to make the spaceship look like a spaceship, and most importantly, ironing out the bugs so that you can play from start to finish without the game crashing or freezing!
In the meantime, let me know what you'd like to see at the end of the game, and don't forget to follow @philipbuchanan on Twitter for more regular updates and development news!