Introduction
This is a postmortem of my 2024 Spring Thing game, A Simple Happening. I’d like to start by thanking @mathbrush again for organizing the Spring Thing and providing a venue for my work. I’d also like to thank everyone who played my game. I appreciate all the feedback I got, positive and negative. Although this is the third work of IF I’ve released in the last year and a half, this is the first one I’ve written a postmortem for.
As a warning, there are spoilers in this postmortem.
Origins
After writing two choice games in Twine (Insomnia and Good Bones), I found myself with the desire to write a parser game. I’ve written parser games before, way, way back in the 1990’s using TADS 2. I experimented with TADS 3 in the 2000’s but for whatever reason I couldn’t get myself to release an actual game with it.
I had long heard about Inform 7 and its unique, English-like language and I decided to go with it because, frankly, it’s the most popular and best-supported parser game system today. I first downloaded it in August 2023. I didn’t have any particular idea for a game at the time and mainly concentrated with reading the manual and experimenting. Among the things I implemented were some rooms in a samurai’s castle, so I definitely had feudal Japan on my mind at the time.
I took a break when I got an idea for a game I wanted to do for Ectocomp (Good Bones). After finishing that I thought about what I wanted to do for Spring Thing. I originally wanted to do another choice game. I had two ideas but couldn’t make much headway on either of them. Holidays came around, and my productivity dropped to pretty much nothing from late November to around mid-January.
Inspirations
Around this time I felt I really wanted to get something into Spring Thing, but it would have to be something relatively short. I got the idea to do a samurai take on the short story An Occurrence at Owl Creek Bridge (henceforth Owl Creek). I remember reading that in the ceremony of seppuku, when ordered as a form of punishment, the customary knife was often replaced with something innocuous, such as a fan. That made sense because if you were condemning someone to death, would you want them to handle a deadly weapon in their last moments? I wondered if any samurai had actually tried to use their knife to escape their seppuku.
The idea of someone escaping their execution made me think of Owl Creek. It was easy to transpose the scene from the Civil War-era South to feudal Japan. The scenes of the player character jumping off the bridge while archers shoot at them and the final encounter with the player’s wife were inspired by similar events in the short story.
Of course, if my game was going to be Owl Creek in feudal Japan, it was going to have to end
in a similar way, which I realized could be contentious – but more on that later.
(A short aside, my first encounter with the story Owl Creek wasn’t from the short story itself, but the film adaptation. My social studies teacher showed the film in his class, and it made a big impression on me - probably because he was something of a joker, and at the climatic moment of the story, he turned the volume on the film projector WAY up.)
Two other influences on my game - the idea of a botched seppuku came from the real-life seppuku of Japanese writer Yukio Mishima. As for the title of the story, I was reading the Wikipedia article on death poems (Death poem - Wikipedia) and came upon the following:
Empty-handed I entered the world
Barefoot I leave it.
My coming, my going —
Two simple happenings
That got entangled.
— Zen monk Kozan Ichikyo (1283–1360)
As to why I didn’t actually quote this poem in my game - well, as much as I liked the poem, I guess I felt embarrassed I discovered it on Wikipedia of all places…
Development Notes
The outline of the game: I didn’t intend A Simple Happening to be a particularly long game. I planned the game to roughly follow the events of Owl Creek after the seppuku scene - jumping off the bridge, going down a river, a run through a forest to the player character’s home and his wife. I added the door in the castle and two combat encounters (with the two samurai and the bear) to fill things out. I stuck with this basic outline to avoid any sort of feature creep - as it turns out, it took plenty of time just to implement a relatively short game in Inform.
Default responses: I put a big emphasis on changing the default responses. Partly because I saw advice that default responses should always be changed, and partly because, well, I like writing new default responses! I think the fun of writing all sorts of responses to whatever actions the player might take was a big part of the appeal of making a parser game for me.
I suppose if there was one thing I did right with this game, it was anticipating what players would do and avoiding problems with guessing-the-verb and underimplemented objects. (Handling grinding the inkstone and writing the poem were two of the more challenging things to implement in this game.)
You can’t lose: Because much of the game happens in a dream, I decided to make it so that the player really couldn’t lose or fail in any way, and that there were multiple ways to overcome each obstacle, even if it shouldn’t have worked in the real world. Hence, for example, some of the sillier things that can happen when you throw things at your opponents in the fights.
But you can’t win either: However, there wasn’t anything the player could do to change the ending. The thought I had about this game was, “You can’t lose but you can’t win either.”
A poet and didn’t know it: The poem generator was one of the first things I implemented. I drew the first and last lines from the same pool of five-syllable lines, but I didn’t check for duplicates. I had the idea that I would add a couple of new lines every day and end up with so many that the chance of duplicates would be low, but I stopped writing lines after the first few weeks to concentrate on other things.
Stupid parser tricks: I had some difficulty with making it so the player could refer to a character as “dead” after they were dead but not before. I only had one object for each character you could fight, and they had a health property which told if they were dead or alive.
Would it have been better if I had swapped in a different object to represent a corpse when they were dead? Maybe. It would have saved me a lot of writing tests to print one message or another depending on a character’s aliveness (is that a word?)
But I didn’t do that, and I didn’t know how to change the vocabulary to add “dead” as an allowable word to refer to the character. So I just made it so the player could refer to the character as “dead” even if they were still alive, figuring most players wouldn’t try to do that before killing the character!
(I know now in Inform you can do something like, “Understand 'dead” as the thin samurai when the health of the thin samurai is dead". Live and learn!)
Stupid parser tricks 2: I didn’t implement a verb for “commit seppuku”. I just read the player input and handled it as a special case. I also handled “commit hara-kiri”, among other things.
About XYZZY: I made it do nothing but print a snarky message at the beginning of the game, but after the escape sequence, I had it do all sorts of magic effects. That was supposed to clue the player in that most of the game was a dream sequence.
Nonlinearity: I added the side rooms off the castle hallway (the storage room and the kitchen) just because I felt a little uncomfortable with the map otherwise being so linear. At one point I was thinking I could have written a choice game instead!
A mistake with the bridge: Something I didn’t notice until the deadline was near: There’s a bridge that runs east-west. You jump off it into the river below - and the river also runs east to west! Yes, the river really should have been oriented north-south. One of my playtesters noticed this as well. But at that point it was late enough and I had so much code in the river involving directions I felt hesitant to change things. So I “patched” my geographical mistake by making some remark that the river ran parallel to the castle. (A bend in the river, I suppose.)
What Went Wrong
What genre is this?: Last year when I wrote Insomnia, I got some feedback that was essentially, “I didn’t realize this was supposed to be a comedy.” Fortunately this was before I released the game so I was able to add a bit at the beginning to make it painfully obvious that yes, this was a comedic work and not an actual serious look at a person suffering from insomnia.
Unfortunately history repeated itself and I made the same error with A Simple Happening. I think a big part of it was that I got fixated on the game’s “punchline” (see below) as the main source of humor for the story and so I was inclined to write much of the rest of the story in a serious tone. At the same time, as I mentioned before, I enjoyed writing jokey replacements for various default responses, as well as humorous messages for just about every situation I could think of.
So that lead to the inconsistent tone of the story. In retrospect, there was probably two ways to fix this - 1) either be really disciplined and keep a straight face until the very end of the story, or 2) completely lean into the humor of the story. If I were to do it again, I would go with 2).
What setting is this?: I realize the feudal Japan setting is rather cliched, and I didn’t do anything particularly interesting with it. Maybe I could have gotten away with it back in the 80’s, but people today expect better. I actually wonder if I should have just cooked up my own similar alien culture as a stand-in for feudal Japan. But then I’d probably be accused of ripping off the Klingons…
In the future, I’ll probably just avoid any historical settings, unless I’m willing to do a lot more research (that is, not just Wikipedia).
Metadata woes: Thinking about the inconsistency of my story also makes me think about what I believe is one of the biggest mistakes I made with A Simple Happening - not something I did with the game itself, but with setting up the tags for my Spring Thing entry. For some reason, I didn’t add a “Humor” or “Comedy” or similar tag.
Why didn’t I do this? That’s one of the the hardest questions I have to ask of myself about my game. For some reason, when adding tags (which I did at the last minute) I felt some doubt about labeling my game a comedy. Maybe it was out of some misguided attempt to make the impact of the ending greater. Maybe I had some worry that some people would think I was making light of suicide. Ultimately I must have had a lack of confidence in what I was doing and though I didn’t realize it at the time, it showed in the game itself.
An unfortunate effect of this waffling was that some players came into my game expecting a serious story, and then were put off when they encountered the jokes. I think if I had been more straightforward about the game being a comedy, those players would have received my work more positively.
Not enough time to playtest: I ended up wishing I had started play testing my game sooner. In particular, in the home stretch of testing and debugging I often found myself saying “I wish I had two more weeks to work on this.”
I had worked on parser games before, but that was almost 30 (!) years ago, so I had forgotten how long it took to debug them. My more recent IF writing experience was with Twine games, where I had much less debugging to do. The was particularly true with Good Bones, where I reused a lot of the code from Insomnia and was able to finish the whole thing in less than 30 days. So I underestimated how much time I needed to finish A Simple Happening.
It was frustrating to keep finding new issues in my game pretty much every day up to the submission deadline. An NPC still talks when they’re dead! There’s another verb to implement! And so on. No wonder I wanted at least two more weeks.
An unfortunate side effect of this was that I spent much less time editing my prose than I did with my choice games. Somehow I thought this would be less of a problem because of how short the game was, but I was wrong. (Again, with Good Bones I think I spent about 70 to 80% of my time editing my writing rather than coding.) Perhaps I should not have aimed to get A Simple Happening into Spring Thing given how late I started.
The lesson here is that even a short parser game (for me at least) needs more than 2-3 months to complete. Also, when asking for playtesters, I should make sure to ask for story and not just technical feedback. Maybe then I would have gotten a warning that what I trying to do wouldn’t work.
Game promotion: I did leave writing the blurb and making the cover image to the very end. This is something I should have probably taken care of earlier in the process.
Regarding the cover art, visual arts aren’t my strong point, and I used HTML5 to draw the cover art for my previous work. This time, I tried taking a photo of an apricot tree. I’m not sure the results were as good as they could have been, especially as I had to convert the photo to a lower quality JPG to fit the size requirements of the festival.
The Ending: This was one of the biggest issues people had with the game. I did not intend the ending to be dismissive or show a lack of confidence. I thought of the game as a shaggy dog story, and the final line would be the punchline to the whole thing. I figured since Owl Creek was such a famous short story, that players would recognize my game was mirroring it. I even went as far as to think some players would even think, “This is just An Occurrence at Owl Creek Bridge set in feudal Japan!”, with the last line serving to basically say, “See, you were right!” And I was so enamored by the idea of this reaction that I didn’t contemplate doing anything different.
It’s a lot more obvious now that this wasn’t such a good idea. To tell the truth, I did have some anticipation that some people wouldn’t like the ending - but I expected the sort of mild dislike that people would have for bad puns. But the players that didn’t like the ending really, really hated it and it soured them on the whole game. Instead of being clever, I was being insufferable and condescending.
A reviewer said I should have just left out the Owl Creek reference at the end and it would have been much better. They’re probably right, but at this moment I don’t know what final line I would have written instead. As I said, I think I just got fixated on ending the game the way I did, much to its detriment.
Conclusion
I guess there’s no mincing words - this game was a failure. This game was based on a very specific idea with a very specific reaction in mind, and I didn’t get it and I didn’t deserve it. I was arrogant in thinking I was being funny and at the same time not confident enough to really sell it.
In retrospect, I was too hasty in producing this game. I just wanted to keep up my momentum of releases and felt I had to get an entry into Spring Thing again. But it would have been better to hold off or even just bury this game as a private project for educational purposes.
I have no plans for a post-festival release at this time.
I would like to write another parser game and I have an idea for one but haven’t started working on it yet. I originally thought I would do something for this year’s IF Comp, but I now think it’s too late. Maybe I might have something ready for next year’s Spring Thing.
Again, thanks for everyone who played my game and gave feedback. For those of you who liked my game, I’m happy that you enjoyed it. For those of you who didn’t, I apologize. I hope I can do better next time.