
I've managed to complete a working prototype of "The Z-Machine Matter," a murder mystery I'm working on. This is not a complete game, just the opening scene. I wanted to see how far I could get programming in Inform7 evenings and weekends and determine whether the concept of the game has merit before going all in.
Nonetheless, I have set my sights at doing a thorough job on this; there's a manual, cover art, built-in hints, help text. I've also included several extensions that improve the usability: Eric Eve's Exit Lister, Emily Short's Menus, Aaron Reed's Keyword Interface, Extended Grammar, Small Kindnesses. While the game is still small and really only has one puzzle to it, there are multiple solutions, there's a dialog system and two non-player characters (NPCs), and several important clues for later stages of the game.
The Inform7 compiler tells me the game is currently about 14,000 words (or 2,400 lines), with 9 rooms and 51 things in it. The source file is just over 100k resulting in a compiled 500k .Zblorb file including cover art. A lot of that is help text or ASK/TELL text, rather than complex programming, but there were a few things I struggled with. Luckily I got help over at the intfiction forum.
The feedback from friends and family alpha testers as well as a SF Bay Area IF Meetup group has been very helpful. There are lots of commands people have entered that I hadn't thought about. Some of these are just variations on something that should work but doesn't, so I've implemented some fairly simple Understand as a Mistake handling to give the user a hint as to what should work. Others are going to require much more sophisticated programming to do it right.
Still, I feel like I'm staring deep into an abyss as I consider taking this project further. I have about 20 pages of details on the plot, characters, evidence and clues written out for the rest of the story. But I suspect that the prototype is perhaps only 10% of what's required to complete the game. And the code will only get more complicated from here.
Part of the reason I was able to code the opening scene was that it was limited in scope. Because it was self-contained I didn't have to worry too much about the rest of the game when doing the opening scene.
Next step: I'll start adding additional room locations for the middlegame and a couple more of the NPC characters who are suspects in the game. But I'm going to take it one piece at a time and not worry about the end game and all of the details of accusing, arresting and analyzing evidence just yet.