Two Gimmicks and a Joke: The Beat Witch Postmortem

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.

The joke
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?

Uh …

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!

By letting me insert JavaScript, Vorple was a great solution to the sound-in-browser issue. And integrating it into my existing code was simpler than I thought. If I wanted to play, stop, or adjust the volume on a song, I’d call a function that interacted with the Music extension and Vorple. In theory, it didn’t matter if the player was playing in Gargoyle or Chrome. (I’m hoping to make my source code presentable enough for release soon.) It was beautiful.

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. :slightly_smiling_face:

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.

Bonus mistake
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!

Other observations
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.

What’s next?
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.


Thanks for the post-mortem! I would 100% play a sequel to this game, because the setting and characters were really interesting. The game also MAY have made me extremely angry, but I wouldn’t have felt anything strongly about the game if I hadn’t been drawn in, in the first place.

As for the music, I didn’t mention it in my review, but I thought it was pretty good! I’m usually the person that turns off the music after the first repeat, but I didn’t for your game; it wasn’t overly repetitive, and was reasonably ambient. I also liked the sound effect of it getting muffled when you put on ear protection. And in general, I liked the contrast of ‘the music is cool’ vs. ‘the music will kill you’.

Hopefully you found my transcript, but if not: beat_witch.txt - Google Drive


Lucian, I really do appreciate your feedback, both now and during the Comp, and I’m glad the music and the setting/characters worked for you!

And the fact that you had such a strong reaction, that you cared enough to be angry, is a partial victory for me as an author, I guess. :grinning: Although I felt slightly frustrated when I first read your review, I genuinely appreciated it. There was a lot for me to think about.

I hope you don’t feel that I was singling out you or anyone else here. The concerns you and others had about Beat Witch were well-founded, and I certainly learned a lot from the reviews! The feedback is already shaping how I’m designing the next installment (and my future games in general), and I’ll be interested in what you think about Beat Witch 2 and how it compares with the original.

Thanks for the transcript and for taking the time to play and review!!


Oh, it 100% is a victory! Everything that upset me can be fixed, but the creativity and insight needed to get me to care in the first place is much much harder to teach. I feel the same way about wonderful ideas in games riddled with bugs. Fixing the bugs is trivial; wonderful ideas are precious.

I’m glad you were able to get some value out of my review; it was definitely written in the heat of the moment. I tried to capture my (very visceral!) reaction at the moment I finished playing the game. I can report that feelings do fade with time, in accordance with previous experiments :wink: And in this game’s case, I remember the stuff I liked more clearly than my frustration.

Well, if you want a beta tester, look me up!


Hopefully others feel the same way! :slight_smile:

That’s very kind. I most certainly will! Thank you!!


The UNDO/LIVE moment was super cool!


Thanks for sharing, I love hearing about process. I did not realize adding music was such an odyssey!

*me over here feeling internally vindicated*


This paragraph of your post-mortem caught my eye and stuck with me for the last several days. I disagree with Aaron’s conclusion, but I kept trying to unpackage it to understand it from some other point of view.

What first comes to mind is a conversation between the Warner Brothers, soon after they viewed the first moving picture with sound, reported in a 1965 book by Jack Warner:

“Now, that is something,” Harry said softly, as the lights came up. “Think of the hundreds of small theater guys who can’t afford an orchestra or any kind of an act. Or even a good piano player! What a gadget!”

“But don’t forget you can have actors talk too,” Sam broke in.

“Who the hell wants to hear actors talk?” Harry asked testily. “The music—that’s the big plus about this.”

When artists try something new (adding a audio track to film, and later adding technicolor, and later still adding both of those to interactive fiction), there is a risk involved. If the experiment fails, people will write it off as a gimmick. If the experiment succeeds, it is innovation, a whole new art form, an art form that won’t necessarily be adopted by creators trained in the old ways. Not every actor was able to make the transition over to movies with sound. The Harry Warner story also warns us, when we adopt a new technology, we can’t just keep telling the same stories we always did; we tell new stories that are designed for the new technology.

I suspect Aaron recognized that, with his warning “whether your additions are really beneficial” but from the nature of his comment, I suspect he is an author who is more comfortable working without sound and images.

Sound and images in IF isn’t exactly new. The Roberta Williams series of games employed both, as did Myst, and even some of the Infocom games. I imagine the reason they are not used more often is that (modern) IF authoring is often an individual endeavor, and it is the rare author who has skills in text, graphic image design, and musical production.


Doug, thanks for your thoughtful response. That Warner Bros. scenario would be hilarious if we weren’t doomed to repeat it! :grinning:

My hope for interactive fiction is that images and sound can be painlessly integrated into games, but that they are never expected – that is, your average IF player won’t feel cheated because there are no pretty pictures or music but won’t think it’s unusual when they are appropriately included.

That said … I do think we will be seeing more interactive fiction with multimedia in the next few years, simply because the creation process is getting easier and cheaper. For instance, I have a little MIDI keyboard next to my desk, which plugs into my laptop, which has hundreds of virtual instruments accessible through an inexpensive DAW. An equivalent setup would have cost thousands of dollars when I was growing up.

And I’m no artist, but I was able to make a decent cover (well, I think it was decent) for the game using GIMP and MakeHuman, both of which are free. I could have used these image-creation tools to include images in the game itself, but I decided against it, as it wasn’t vital, would have been time-consuming, and including music was enough of a headache!

I don’t think my situation is unique. I’ve observed a lot of people around here with skills in art, music, or both. (Supposedly, coders are more inclined to be musicians than other groups, but I don’t know if there has ever been a study.) But even someone with basic competency and some patience can now create assets that are beautiful with the many tools and resources available for free or cheap.

(The elephant in the room is AI, which probably needs its own thread …)

I think the majority of IF will always be text-only. But as it gets easier for authors to produce and include sound and images, it will be interesting to see what happens!