Beat Witch was an entry in the 2023 IFComp. It took 37th place of 74, so smack in the middle. I apologize in advance for how long this postmortem is.
I encourage you to play Beat Witch before you read this, both to avoid spoilers and to understand what the heck I’m referring to. As far as spoilers go, I’m including the most egregious in spoiler tags, but there are minor ones throughout.
Let’s get one thing out of the way – Beat Witch is weird, and it was meant to be so. It is supposed to be like a joke, one that wasn’t supposed to be hilarious but was intended to make you shake your head and smile.
But the game was sincere! It wasn’t a joke on the players, IFComp, or the community in general. It was patterned after a joke. That is, setup, punchline, and swiftly bowing out.
The punchline was the surprise resurrection after falling. Everything else was just setup or wrapping up. That’s why things seemed so sparse, rushed, or contrary to some players’ expectations of what interactive fiction should be. I didn’t want to be the guy at the party launching into a joke and going off on tangents while everyone was impatiently waiting for the punchline so they could get to the snack table.
“Be quick about it” was the motto. And this ride didn’t have a lot of stops.
But it went by too quickly! It was linear!
These are valid criticisms. Also, I think a few of you wanted to know my address so you can send me a flaming bag of poo.
Indeed, the experiment wasn’t 100% successful, but I don’t think it was a complete crash-and-burn either. Regardless of how you feel it turned out, here’s the reasoning behind it.
Why did you bother with a parser? (Gimmick #1)
My choice of platform was the most frequent question I got during the Comp. And believe me, there were many times, even before the Comp began, that I wished I had created this in Twine!
There are so many advantages to a choice-based system: speed in development by not having to implement every darn thing, predictability in responses to player input, not wasting valuable time hunting down line breaks (Inform 7 in particular), better integration with browsers, and the ability to reach a wider audience!
(On the last point, before anyone even played, I narrowed my general audience significantly by using a parser, then reduced it further by making it horror. Good going, me.)
So why a parser?
I used a parser because anything else would have ruined the punchline.
I wanted the player to believe they had died. I wanted the player to feel frustrated. I wanted the player to put me on their mental dartboard of shame. Then when they started to type UNDO (or QUIT!), they would suddenly LIVE! Surprise!
In the documentation for Basic Screen Effects, the extension that lets the LIVE part happen, Emily Short calls this autotyping technique a gimmick …
I guess I could have had a link in Twine to supposedly take the “dead” player back to the previous screen, but wait – just kidding, you actually lived! Or maybe I could have included the resurrection message after a couple seconds? Not much of a gimmick there. And it would have been lame.
I think the punchline would have been more effective if the choices were wider (or perceived to be wider) before the Big Moment. Speaking of which …
Was Beat Witch linear?
If you’re talking about linearity of puzzles, yes. Most puzzles in the story had one-move solutions that involved muffling or stopping deadly music in some way. The story was emphasized over puzzles to a fault, and Beat Witch is a straight line under the Grumpy Gamer puzzle dependency chart method.
But there were small branches in the story itself that might have gone unnoticed, the most significant of which occurred in the breakroom, when the earphones are placed on your head. In the few transcripts I received, the players tend to take the path leading up to the Walkman music playing, and they have to cut the earphone cord with the glass shard. I thought it was interesting, as Denise (through Margo) basically calls attention to the fact that there are several options here. You can also drain Hal and fight Margo, or give life to Hal and let Super Hal kick butt for you. The overall outcome of the breakroom encounter is mostly the same: Hal dies, and you can’t escape the building. But the person Denise speaks through changes. Margo might be destroyed, so Hal or Ted take on the mantle of chief corpse puppet. See the walkthrough for a more in-depth explanation.
I think many players didn’t take the bait here because by this point, they figured the script was set in granite instead of pumice.
There are also optional actions throughout that give small reveals about Polly, such as sitting on the swings, drinking water, and building a sand castle on the beach. I should have given an AMUSING option to victorious players.
One little thing I wished I had done was allow the player to take a corpse’s rollerblades.
Facing the music (Gimmick #2)
Beat Witch is playable without music, but I insisted on sound support on all platforms because I wanted as many people to get the full experience as possible. Was this a wise choice?
Let’s back up. Before the Comp began, I wrongly thought most of the flack I’d get about Beat Witch was the inclusion of music. Here’s why.
There’s this quote from Aaron Reed in his Creating Interactive Fiction With Inform 7 (page 397 in my 2011 edition): “Before you move beyond text, think hard about whether your additions are really beneficial. If a major publisher were to release a book that came with sound effects, it would be seen as a gimmick, and it’s hard to imagine how they would add anything to the experience of reading.”
I don’t think he’s referring to audiobooks.
I believed music-is-pretty-much-a-gimmick to be the prevailing attitude when I saw the state of sound support across parser platforms.
As far as I know, supporting sound in the browser is not the norm – even if I used a different parser language that normally supports sound, like TADS or Hugo. (I believe @mathbrush found some sort of workaround for Inform 7, but you can’t just release a browser-supported version of your Inform 7 game with sound out of the box. I haven’t yet tried out Bisquixe.)
If authors and players actually wanted music, I reasoned, it wouldn’t be ignored so much. Well, challenge accepted!
(Of course, parser games with music do get put out. IFDB even has a music tag. And I now understand that sound support is often lacking because of the technical challenge it poses, not apathy or aversion.)
The Music extension – the only music extension I could find! – by Daniel Stelzer and many others over the years makes Inform 7’s sound support usable in offline interpreters. I couldn’t haven’t made Beat Witch musical without it, but it is still limited. There is no detection of whether music is playing, and no apparent way to build a playlist.
But I love making music – and from what I’ve seen on this forum, some of you feel the same way! And I get great pleasure in combining the things I love – in this case, writing, coding, and music creation.
So I used the Music extension … and Vorple!
But Vorple had its warts. At every turn, it would scroll to the bottom of the screen. This is not normally a problem, unless you are displaying a lot of text. Then the player has to scroll up to find where the latest passage starts. I improved Vorple’s behavior a little by setting it to scroll to the top of the longest passages, but I couldn’t do that on every turn, as it would hide the command prompt until you started typing after shorter passages.
(Super technical note here: I wasn’t actually scrolling to the top of the current passage but to the command prompt of the previous turn.)
Calculating the height of every person’s screen, and maybe font size, and then determining if I needed to scroll to the top of every passage was not something I wanted to mess with. I’m hoping I can improve this in a future release.
(Another solution: I should just stop text dumping! True. But what’s a text dump? How long is too long? A lot of this depends on the player’s device.)
Oh, and I mentioned above that I didn’t get many transcripts. That’s because Vorple didn’t integrate with the IFComp system for collecting them. I’m told that will change. But for IFComp 2023, due to my choice in interpreters, I was flying blind and only getting transcripts from reviewers, not general players.
And, to be honest, Quixe/Parchment (sorry, it’s hard to know where one ends and the other begins) was a headache too, as much as I tried to avoid it. I couldn’t figure out how to stop IFDB from using it for online play, though I just figured out a workaround today! And Quixe is what the Lectrote interpreter uses. I don’t know if it’s possible to for a game to detect whether Quixe is the online interpreter is being used. Not only does Quixe lack sound support, but it will complain to the player every time the game attempts to adjust the volume (for when music is muffled or unmuffled). I’m sure there’s a way to turn that feature off, but I didn’t know how. I settled for giving a general statement about the Quixe quirk at the beginning of the game instead.
I hope that didn’t sound like a rant, and I’m not trying to cast shade on anyone. I am ecstatic to support music in the browser, something that would not have been possible when I started writing interactive fiction. I really, really appreciate the developers who are giving us Nice Things!! This was just the state of the ecosystem and the limit of my knowledge as I wrote Beat Witch.
Here’s the lesson: Although the music itself was a solid enhancement to the game, I paid dearly for the gimmick! Aaron Reed tried to warn me, and now I’m warning you.
I hope when people a couple years from now read this thread, they’ll laugh at my quaint struggles with browsers and music, as sound support is fully integrated into Inform 7 and all modern interpreters. Future folk, I envy you.
And as far as how the music was received: not many people commented on it, but from what I could tell, players either thought it was decent or didn’t care either way. (In what might have been my best design decision, I gave the option to turn the music off.)
You can listen to it on SoundCloud here.
And because I was feeling especially strange one day, I also made a Spotify playlist that reflects the moods of Beat Witch, complete with songs suggested by @AmandaB (and Tom) and @SomeOne2. Message me if you want to add more music to the list.
Late into the competition, @VictorGijsbers kindly pointed out to me that the bonus material was not mentioned at the beginning of the game, as I thought it was. For those who played and missed the little world-building treasures when you type ABOUT, there is a statement from the U.S. government about beat witches as well as an excerpt and table of contents of a book about them. (The bonus material is mentioned in the current version.)
It might have made a difference in how some players viewed the world of Beat Witch. Sorry about that!
I didn’t set out to give Beat Witch religious themes, but I realized partway through creating it that it had happened. No one seemed to notice, which I took as a good thing, as I didn’t mind the religious themes, but I didn’t want this aspect of Beat Witch to be overt. I wanted the focus of the story to be on loneliness and fear of others.
I was a little disappointed that some players didn’t connect with Polly. I think some of that had to do with the pacing issues, as well as players not realizing how she fit into the world (which the inadvertently hidden bonus materials might have helped). I also should have given her a save-the-cat moment early on. When we meet her, she’s fighting for survival, and it’s hard to connect with someone on that motive alone. I needed to do better at showing she cared about others early on – even if the people she was trying to help wanted her dead.
As IFComp wrapped up, I enthusiastically thought I’d make some games for SeedComp! and Shufflecomp. But the adrenaline rush has worn off, and I’m not sure if that will happen.
With IFComp, a crazy personal situation a couple months ago, and finishing a challenging semester right now (I teach a coding course online part-time in addition to my full-time job) I’m just … exhausted. Maybe it’s best if I just let myself rest. But I don’t want to wait too long!
I have a few other games in mind – including a science fiction adventure, a gothic horror, and a comedy roguelike – some of which are choice-based. Twine certainly isn’t for wimps, but my brain could use a change of pace!
Beat Witch promises a sequel, and I’m playing with the scenario. I’m not sure when I’ll get it done, or if anyone cares if I get it done. What I will say about it: Polly is in for some nasty surprises, the first game’s bonus material is important, and the puzzles won’t be so linear.
Please don’t send me flaming bags of poo.