I finally completed and released Bah, Humbug! on Itch.io around 11pm on 23rd of December. I should have put a post up a bit earlier but, like Rockman, I only just made the deadline for Syntax Bomb’s 7 week competition so I had a few other things to do. Oh, yeah. And this Xmas thing also affected that.
Yet again I didn’t blog during development because I wanted to keep focus and the topic was an Adventure game. I was pretty sure it was going to be a tight enough squeeze to do a game like that – especially with the game design I had. I just decided to post at the end when I could talk about the whole process rather than just sporadic posts here and there where I probably repeated myself endlessly as I rarely edit blog postings.
So, because the game was a Xmas themed adventure, I decided that I wanted to go the old-school type of adventure where you type in commands and the parser is limited to two words only. Kind of like Scott Adams did back in the day – and possibly still does for all I know.
However, as we’re updating the format for the modern day, I decided that I wanted graphics, some kind of scoring system, multiple objectives and also something that affected the game in real time. I designed Bah, Humbug! with a friend at work – not during working time, honest – and the actual game, including items, rooms, plot and other elements ended up almost exactly the same as the day two design documents that we drew up.
I was pretty proud of that as it meant I’d actually finally created a game that I’d thought through properly.
So, to keep the plot brief, and certainly without spoilers, the idea of the game is that you’ve woken up in your bedroom the morning after hosting a party for your school friends at your house. It’s morning, your parents are away for a couple of days, and you have decided that it would be a great idea to search for your Xmas presents.
You know your dad has hidden them in his safe so you just need to find the five digits of the safe code and you should be in business. However, things are never as easy as they sound. As well as the ghost of Ebeneezer Scrooge wandering the house sapping your score and generally being annoying, as well as giving the odd clue, you also have some sub-quests you can take on.
Your friends hid all your mothers Xmas cards so you need to find them or she’s not going to be happy.
Your school project needs to be finished but you just can’t find the disk that you stored it on.
Scrooge doesn’t seem to like being trapped in the house. Maybe there’s something you can do about that?
The adventure uses the usual syntax of verb, noun including words like get, drop, move, examine and use, along with a few more you may learn along the way. Once you’ve solved the quest then you can also speed run for maximum score and minimum moves just for bragging rights as well.
The game can be found with my other releases this year at Itch.io/ – feedback is always welcome.
So, for development, I decided that I would stick to GameMaker Studio 2, even if there are dedicated adventure game systems out there that might be better for creating a game like this. I wanted the ghost wandering the house as well as room backgrounds so I figured it would be a good learning curve to do it all with something I was already familiar with. Adventure systems don’t usually have options for live elements and just rely on updates every time a command is entered.
I spent a three figure sum to hire an artist to do the backgrounds and the ghost of Ebeneezer and had some assistance from another Syntax Bomb user with the UI elements of the game near the end.
There’s also a lot of xmas themed music in the game so I had to spend a bit of time during development making sure that I could use that as well as constant art revisions for the backgrounds. While they’re not truly relevant to what’s happening in the game there are a few cross-over elements but, on reflection, I do wish that I had asked the artist to make the backgrounds element based so I could make items hidden in the pictures as they are picked up. I did this with the magnifying glass in the game only because I had two copies of that background because my artist had forgotten to include it in his first draft.
Fortunately I didn’t need to do too much with the graphics myself this time around. Some bodging of the UI elements to create inventory and help panel borders was about as tough as it got. I’ve hired the same artist for my last four games because I’m not good with that side of it at all.
As I was writing an adventure game great care had to be taken to ensure it was not too hard. Most people who play games these days are too young to even have been born in the day when this type of game was popular. They’d be learning to play a completely different type of game if they played Bah, Humbug! and it’s likely to be frustrating until they get how to play it initially. Stupidly hard puzzles would just make them rage quit. One of my beta testers actually did, a day before deadline, which made me rework the entire examine object system interaction just to give a few more clues and better descriptions.
I meant to just develop the basic text system to completion right from the start and have it all working and tested before any of the graphics stuff was done but, like Rockman with the rocks, I ended up having to practically strip it all out and rewrite right at the eleventh hour.
Commands like get, drop, inventory all had their own processing system as they could be used in multiple rooms and I had a seperate script for each room so that specific actions that would only work in that room could be coded in there. I wanted to keep them out of the main processing but stupidly realised right at the end that all the commands should have had their own script directly because they needed to allow for mistakes, such as someone trying something in the wrong place. A classic example was dealing with the ghost in the game. This is why I only got the game in an hour before deadline instead of two days early so I could have it done before I went away for the deadline weekend.
I’ve not been updated with any news of problems with the game yet but, then again, I’ve only just really announced that it’s done and out there, so I’m bound to get some. I will hopefully be patching it before voting actually starts on the 30th if this does happen. I’m already aware of my own mistakes making the game, however, so it’s been a learning experience just like the other games I’ve released this year.
I’m still hoping to have five completed since January 1st, 2018 but it’s a tough call to finish two games that are around 90% done because that’s when most of the work is actually needed.
Try out Bah, Humbug! before it gets out of date like your old turkey and the Xmas cake. Probably in around 10 days but then I can always throw it out again next year. It works for all those Xmas songs we hear every year, after all 🙂