The Halloween Deception – Post Mortem, Part 2
November 3, 2017
Last week I started my post mortem review of the development of Sleuthhounds: The Halloween Deception. In it I examined the origins of the ideas for the game and how those ideas evolved and changed during development to come to the game as it’s realized today. In this concluding installment of the blog I’ll go into the development process itself to see what went well, what didn’t, and what lessons can be taken from this game to apply to future ones. Let’s start by getting the “bad news” out of the way first.
As with the first part of the post mortem, this part delves into some specific sections and so contains spoilers for the game. If you haven’t done so yet, you should play the game before proceeding beyond this point.
Having made three other Sleuthhounds games prior to starting The Halloween Deception you’d think I would have developed a good sense for how long such games take to produce. Given that the game had a hard deadline of Halloween 2016 to be produced by, I knew going in that accurately scoping the game would be critical.
I started work on the game in February of 2016, shortly after releasing The Valentine’s Vendetta. At the same time I was also doing early work on the Robyn HUD game. For the first couple of months of development, I was spending about ten hours a week on The Halloween Deception. I had worked out a high level plan of what I thought I needed to include in the game and felt there would be no problem completing the game on a ten hour a week schedule in time for Halloween.
As I described last time, the game story and design evolved quite significantly as development went along. Towards the end of June, some four months into production, I took a look at the state of the game. The changes in design and story had created a larger game than I’d originally intended and yet by that point I knew it was the story I wanted to tell. In order to make the deadline I was faced with either cutting content, which I was loathe to do, or else spend more time on the game. I chose the latter option and put development on Robyn HUD on hold in order to focus on The Halloween Deception from July to October. I figure the amount of content that ended up in the game was close to double what I had first estimated.
To be fair, I had underestimated some aspects of the creation of the game, in particular the amount of animation the game would require. With the various background characters and the different animated “or else” attempts within the game, The Halloween Deception required more animations in general and more complex animations in a few particular cases than I had dealt with in the previous games.
Beyond that, of course, the timeline of the game needed to be expanded to account for the changes in the game story. Building up the different suspects, threatening each of them, and then involving them in the final séance sequence took longer to develop than the timeline I had estimated for the original game.
One other aspect that led to the game taking longer than initially planned was the number of inventory items players can amass. I made it a point in the very first game in the series that all interactions in the game would have custom responses. This helps deepen the game world even in situations where doing a specific interaction, such as using one random item on another, doesn’t further the game story. However, it does mean that time and effort needs to be spent on these “non operation” interactions.
The Halloween Deception has seventeen different items, which almost matches the maximum item count in any of the Sleuthhounds games, that being nineteen in The Cursed Cannon. However, most of the items in The Halloween Deception can be used by either Homes or Ampson, which almost doubles the number of interactions that can be performed and consequently the number of dialog lines that need to be written and recorded. When you have roughly thirty items that can be used on almost every hotspot in a game the number of interactions add up quickly and I didn’t properly account for that in my estimates for the game.
The items weren’t the only place that I overlooked additional lines of dialog that were needed. Audio work on these games always tends to come towards the end of production. This is out of necessity in that the game script isn’t really mature enough to record dialog until later on and once you’ve recorded dialog it becomes much harder to change the game than if you’re just dealing with text lines because you, of course, have to rerecord the audio.
The area in which I overlooked the dialog lines was with the voice changer puzzle. Later on in the game, Homes gets a voice changer as part of his fortune teller costume. It’s obvious in retrospect, but I had overlooked the fact that since all the action of the game takes place in a very confined area that many of Homes’s lines would have to be recorded twice: once in Homes regular voice and once in his fortune teller voice. Not only that, but the game code had to be setup to play the appropriate voice line and having two different voices also meant additional game testing in that area.
Aside from the difficulties in estimating how long the game would take to produce there were very few technical issues encountered during the production of the game. This being the fourth game in the series, the tech involved had pretty much settled out by the time work on the game began. That brings us to…
When I started working on The Halloween Deception I had a lot of assets to draw upon. The programming side was well developed and I knew how to implement point-n-click games with it. As well I had a good assortment of animations built up for both main characters: Pureluck Homes and Jane Ampson. That allowed me to start building in specific animated sequences from very early on in production.
On the topic of the main characters, one interesting technical piece emerged. With the game being set at Halloween it made sense that at least one of the characters should be dressed up to a degree. I felt that the character of Homes wouldn’t have time for all this costume nonsense and that leaving his sprite alone would be fine (although later in the game he does get a fortune teller’s costume for a bit). However, I did feel Ampson should somehow be themed to fit with Halloween as that would be true to her character.
The schedule I’d sorted out didn’t allow for creating a completely new set of sprites for Ampson with her in some sort of costume. However, I started wondering if it would be enough to keep the sprites I already had for Ampson but to change their colours. I whipped up a quick program that would do exactly that and changed Ampson’s typically blue dress to a Halloween pumpkin orange. I had hoped to change her hat to a green-yellow colour for the stem on the pumpkin, but since the original sprites used the same colour for her hat as for her tunic there was no easy way to programmatically have different colours there.
Ultimately, I was quite happy with the effect of simply changing the colours on the existing Ampson sprites. The orange worked much better with the colour palette of the rest of the game than her usual blue would have done. By using a program to make the colour changes, as opposed to doing them manually, I was able to quickly switch the sprites over, which was a boon to the tight development schedule.
Another boon came from the game code that I had amassed on the previous productions. A big part of The Halloween Deception was the number of characters it included. With seven main suspects and a dozen background characters there were a lot of people running around. Well, not literally running around, but since the game was set at a Halloween party they did need to talk to each other while players got on with the business of solving the case.
Most notably in The Cursed Cannon, I had done some work previously on having characters animating in the background. I was able to take the code from those earlier endeavours and quickly clean it up and streamline it to handle the variety of characters in The Halloween Deception. I did have to take the code a couple of steps farther as in this game the characters needed to faux talk to each other without dialog bubbles appearing. That was an easy addition to the animation system brought over from the previous games.
Also brought over from The Cursed Cannon was the basic tech for running the optional poem creation puzzle. In The Cursed Cannon I had tried to create a new type of dialog puzzle where the player had to sort out various statements in a story to determine the correct order they should go in. Ultimately, that system didn’t work for The Cursed Cannon but with a bit of sprucing up it was perfect for the poem sequence in The Halloween Deception.
The one truly new technical area in The Halloween Deception was the inclusion of the bobbing for apples sequence. This section makes use of 3D apples integrated into the 2D visuals of the apple barrel on the water on its surface. The apples slowly rotate and bob up and down in the water, which seemed far more suited to doing as 3D objects rather than 2D hand drawn animations.
From the beginning, the game engine that runs the Sleuthhounds games has been built on the OpenGL graphics library. OpenGL is intended to be used for 3D graphics but it can be used to represent 2D graphics as well and provides the ability to do things such as transparent or semi-transparent sprites, which can be extremely helpful in 2D. Since the game engine was already using a graphics system that was inherently 3D, it was only the work of a day or so to expand its abilities to allow actual 3D objects in as represented by the apples.
Given that the Sleuthhounds series continues to be developed to this day, it’s important to take lessons from the earlier games and use them to improve the production of subsequent games. A few such learnings are obvious from those elements that went good and bad as described above:
- Build contingency time into the schedule for when creative ideas go in different directions.
- Don’t underestimate the cumulative impact on the schedule that adding additional inventory items into the game brings.
- Take advantage of previously developed code and assets as a springboard for going farther with less development time.
Aside from these mostly general learnings there was one particular area of game development that I took learnings from with this game and that’s the area of dialog trees. In the past I’ve blogged about how most dialog trees in any game are a really poor game mechanic. With The Halloween Deception I experimented with these trees more than in previous games and have come to the conclusion that such trees do have their place in games in certain situations.
Most of the time dialog trees are used to effectively allow the player to ask questions of non-player characters. These types of dialog trees essentially amounted to protracted cutscenes that the player has to occasionally unpause by selecting another dialog option.
I have found a far better way to use dialog trees is to turn them around. Rather than have the player ask questions of other characters, have those other characters ask questions of the player. The player then has to give thought to how to answer those questions, which immediately makes the dialog trees more involving as the player is no longer just passively clicking on the next option in turn. An example of this can be seen in the séance in the game where the player is asked to choose different suspects who could not have perpetrated the crimes.
Another useful area for dialog trees is in giving the player the chance to choose aspects of the game they want to encounter. For example, at one point in the game players need to get x-ray specs from Bram Tender. He’s a former vampire hunter and he’ll give the specs over if the player is able to help prevent the arrival of vampires. The player is then given the choice as to whether they want to find holy water for Mister Tender or else to arrange rings of garlic about the rooftop in the shape of a cross.
In the Bram Tender case, the two different minor paths through the game are immediately presented in the dialog options. The game provides similar paths when talking to Frank Ster and to Doc. However, in those cases the player first must choose between an Ampson approach to the character and a Homes approach. Depending on the approach chosen, the player can choose one of two puzzle sequences to follow, similar to the choices Bram Tender provides. Or they can bypass those sequences just by choosing the right dialog option to convince Frank or Doc to help. It was only on replaying the game for this post mortem that I realized it would be better to just present the two alternate puzzle sequence options and dispense with the rather superfluous approach options as that would make it more transparent to the player what exactly they’re choosing with the different options.
Overall I’m very pleased with how The Halloween Deception came out. Of the first four games in the Sleuthhounds series it was the one where I was most able to focus on the story and game design as opposed to the tech of implementing the game. Yes, the story changed and shifted, which negatively impacted the schedule, but of those first four games it’s the one that I would change the least in were I to revisit it.