39 Days to Mars is a co-operative steampunk puzzle-adventure game.
Step into the shoes of Sir Albert Wickes and The Right Honourable Clarence Baxter, two 19th century explorers who have chosen to pilot the HMS Fearful on its maiden voyage to Mars.
When the steam engine runs out of coal, the ship's cat shreds the navigation chart, and the tea gets cold, it becomes clear that interstellar transportation isn't a walk in the park. It will take the talents of two players working together on the problems that arise to get to Mars in one piece.
39 Days to Mars is a two player co-operative game.
The HMS Fearful is a masterpiece of unreliable engineering, therefore Albert and Baxter will need all the help they can get. Nothing can be done without the effort of both players, who have important roles to play in the adventure.
If you don't want to play with your friends, the ship's computer-controlled cat will keep you company.
The mix of action and thoughtful puzzles make it perfect for playing in short sessions. The entire adventure fits comfortably into an evening.
Be drawn into the world of Albert and Baxter by the unique illustrated artwork. 39 Days to Mars has a rich sound-scape and a beautiful piano score that is punctuated only by the occasional disaster.
The HMS Fearful embarks for Mars soon!
Happy 2017! This is the first development blog for the year, and it's been a busy Christmas break for 39 Days to Mars. The last months saw integration with the Steam distribution platform, new artwork for the ship, the start of mouse and keyboard support, performance optimizations, and some great progress recording the voiceovers for Albert and Baxter!
All of the artwork is finally finished for the levels and puzzles in the game! I'll let this poster do the talking, click for a larger version:
39 Days to Mars will be released on PC through Steam (and a non-DRM version for those who want). To do this, I needed to make sure that the game integrated correctly with the Steam Platform, and set up the information that ensures the game will be presented correctly when it's released. This is now complete, and having the game deploy correctly and show up in my Games Library felt like a big milestone.
In early December I started working on the input system. To support different platforms, and to allow for a single-player mode, I need to support a wide range of controllers. These are the ones I had lying around and the ones I'll be getting working first:
The most important is getting mouse support working. Unfortunately this is the most different to the joystick input. It's now working in the levels, and some of the puzzles. It will require some more hard thinking in the next month to get it working in all of the mini-games and puzzles.
Over the last few months, as more final content has been added, and more sections of the spaceship have been onscreen at once, I started noticing some slow-downs and lag. I'm developing 39 Days to Mars on a laptop with no GPU, but it's a fairly simple 2D game and I wasn't expecting any major problems. So I decided to investigate.
I opened up the profiler - a tool that lets me look under the hood and see what parts of the game take the most processor time. The problem stuck out like a sore thumb, it's easy to see the difference between running well (on the left) and running slowly (on the right):
This huge slow-down happened whenever a character moved around, and didn't have anything to do with the graphics at all. I could also see from the profiler that one method was taking an astounding 56 milliseconds to run each frame. To put this in perspective, a game running at 60 frames per second has only 16ms to run *everything* in the game (and draw all the graphics too). This one method was using almost three times this limit by itself!
Opening up the code, I was greeted with a comment from over a year ago:
Any comment that starts with the words "TODO" and "Fix" is usually bad news.
But obviously, this shouldn't have come as a surprise to me. The early plans I had for the ship in 39 Days to Mars involved pieces of it moving around, or falling off. To support this, I would have had to dynamically update the pathfinding (the parts of the ship that are walkable to Albert and Baxter) as the ship changed. To focus on more important tasks at the time, I skipped the whole problem and wrote a quick-and-nasty method that just recalculated everything every single frame. I also left a comment telling my future self what needed to be fixed!
Fast-forward a year, and the design of the game has changed. Parts of the ship no longer move around or disappear, and I don't need to worry about updating pathfinding any more. A day's work shifted all the calculations to run only once, when the ship is generated. Each frame now takes less than 2 milliseconds to calculate pathfinding, and the profiler paints a much healthier picture:
Although this is an extreme case, performance optimization is as much a part of debugging as fixing crashes. I spend a lot of time behind the scenes making sure that the game will run smoothly for everyone when its released.
So here's the monthly snapshot of progress. The lines crossed out are tasks I completed this month, and everything is roughly in the order I'll be approaching it.
I'll be implementing sound, music, and dialogue, and then working on controller support for the remaining puzzles.
Don't forget you can follow @philipbuchanan on Twitter for more regular updates and development pictures!
After working on gameplay for such a long time it was refreshing to get back to some artwork and design. Over the last month I tackled the massive task...
I spent most of the month designing, implementing, and testing part of the game's ending. Up until this point I've been concentrating on puzzles and gameplay...
No articles were found matching the criteria specified. We suggest you try the article list with no filter applied, to browse all available. Post article and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.