Here we are! My second IFComp entry, and I think the piece of IF I’m the happiest with so far. I don’t know how it’s going to place, but I consider it a success.
But how did we get here?
Backstory
I don’t expect it to come as a surprise to anyone that I’m a big fan of murder mysteries. There’s a shelf at my parents’ house with practically every Agatha Christie novel ever published, and I always keep one or two with me when I’m travelling, to read on drives or flights. I get it from my mother, and she gets it from her mother, the late, wonderful Nancy Mead.
Earlier this year I went to a conference at the University of Wisconsin Madison, conveniently close enough to my grandparents’ house that I could stay there for a couple nights instead of arranging a hotel. After the first day of the conference, I was exhausted and needed to unwind, and she put on some murder mystery TV series to relax to.
The particular episode we watched involved a dog being framed for the murder of her groomer, but exonerated when it turned out the dog’s leash was too short to reach where the body was found. The dog then ended up being the key witness. (I can’t for the life of me figure out what show it was, but the twist was that someone had been illegally spaying dogs to help them win dog shows, and killed the groomer to cover it up. If anyone recognizes that, please let me know!)
I mentioned in passing it would make an interesting concept for a game, and she encouraged me to explore it. Conversation is something notoriously difficult for parser games, so I’ve been playing around with the idea of a protagonist who can interact with objects but not with people (see also Death on the Stormrider), and I’d been kicking around the idea of playing as a ghost. What if you were playing as a ghost, and the dog had to be your eyes and ears?
Inspirations
The final game has homages to a lot of different mysteries I enjoyed, but Agatha Christie’s Dumb Witness—where a dog is framed for causing an old woman to fall down the stairs—was a particular influence. (Charlotte Peabody is a nod to that one.) Miss Winifred Gosling is a mixture of Miss Marple and Hercule Poirot (a little old lady who sees herself as the smartest person in any room and has no modesty about that), but also the chemistry lab in the attic comes from Sister Boniface, the grandfather clock is a reference to a particular locked-room mystery whose title I’ve never been able to find again, and Watson is, of course, named after Sherlock Holmes’s long-suffering companion.
(Why is it The Mysterious Affair at Styles that’s quoted on the tape recorder, instead of a Miss Marple story? Because none of the Miss Marple stories are in the public domain in the US, and I wanted to quote quite a lot of it!)
Nancy Mead passed away earlier this year, and part of my motivation to finish and perfect the game was for her. The layout of the house in the game is mostly hers (with dashes of other places I’ve lived), and many of the random anecdotes come from some of the bizarrely fascinating people she’s known. The story about burning down the back shed to make pretty scenery for a garden, for example, is something the previous owner of her house did.
Implementation
I started building the game in Inform, but I was fighting the system every step of the way. To make the world model work the way I wanted it to, I had to modify several deeply-ingrained principles (like “the protagonist is represented by a single object”), and it was rapidly becoming discouraging.
When I got a new laptop this spring, I was transferring my files onto it, and came across my old Dialog experiments. I started playing around with that instead, and found it much easier! I believe every single message in the standard library has either been rewritten, replaced, or removed for this game, and that’s something Dialog can handle a lot more easily than Inform.
(It’s not all upside: Dialog can’t really do dynamic relations, and handling things like NPC movement was an enormous pain. But it worked out in the end.)
Originally, it was going to be a pure-parser game, but there’s a curious feature of Dialog (inline status bars) that I never really understood the purpose of until I replayed The Impossible Bottle. The potential there seemed clear, so I pivoted to the hybrid parser-choice model, and a lot of the development time was spent on making that work (and a lot of the testing time spent on making it as painless as possible!).
In the end, I’m proud of how it turned out. For a long time during development there was a warning that you would have to type in two commands that weren’t linked (in the root cellar), but in the end I figured out a solution that (I think) makes that puzzle accessible without it being too obvious.
(That said, I could perhaps have made the links a bit more painless in the attic vents. I was never entirely happy with that bit.)
Metapuzzle
The secret is out: there are actually two endings to this game, the normal one and the “golden” one. (I don’t really want to call either of them “bad”.) The way to get the golden ending isn’t hinted anywhere in the game itself—instead, you have to recognize references to other games in this year’s comp, and search through those games for the information you need.
This was inspired by the link between 19 Once and Zugzwang in this year’s ParserComp, which made me look back at the famous Hat Metapuzzle from IFComp 2011. That one was never solved during the competition itself—but nowadays, we have a lot of reviewers who play through every game in the comp. If we made the links more overt—say, outright namedropping one game in another—would we have better luck now?
I made a poll asking who else was writing mystery games for the comp, then reached out to the people who responded to hammer out details. The structure we collectively settled on was that we would all name each other’s protagonists in our games’ credits, then include some oddly-specific name somewhere that the player was likely to come across it. Players noticing that name once would think it was a red herring, but when they saw it twice, the Baader-Meinhof effect would (hopefully!) kick in, and make them start wondering.
We did it differently in each game, in the end—one of them is overt about the name-drop, one is only hinted in the credits, and another ties it to an object in the game, for example. One of them actually has a hint hidden in Miss Gosling for a metapuzzle in that game, too, and I’m not sure if that one’s been solved yet!
I think offering the prize for the first solver might have been tipping my hand a bit too much. I really didn’t expect this to get solved within the first day—people play through the comp games way faster than I anticipated! But it did get people working together on it, which was the goal, and got people exploring through all the comp games, which was another goal, so I’m going to call it a success.
The choice to offer smaller prizes for intermediate steps was inspired by the Vesuvius Project, who found it was a great way to make people collaborate. I got the rose brooch at an estate sale earlier this year, and found some other pieces of jewelry that went together nicely at a small shop near my new apartment, and I’ll be sending those out soon.
Wrapping Up
So, was this a successful experiment? I’d say so! Most of the recent feedback I’ve gotten is contradictory—some people want more hinting, some want less—which tells me that I’ve hit something like a happy medium.
If you have any more feedback on any of this, I welcome it! I’m going to upload a post-comp release imminently, and I want it to be the best it can be.