Honk! postmortem

Thank you all for being so nice to my silly gay clown game. I’m genuinely astonished that I made the top 5, and I’m really pleased that so many people enjoyed it.

It’s always funny, because I can still see a lot of the failures of this game where it wasn’t quite what was in my head. This postmortem’s going to pick apart some of the more questionable decisions I made while writing Honk!, and how they happened and what I could do differently next time. But I’m not going to kick myself too hard over these, because even in these failures there are some small successes, and there’s a lot of other things in Honk! which came out as well as I wanted them to.

This port-mortem will have spoilers throughout. Also sorry it’s 3600 words. This is the cut-down version.

Development

This project started as me futzing with Gruescript, which is a very good engine. I threw together some rooms named after places in a carnival – a coconut shy, a ghost train, etc. – because I thought those might provide some fun objects to interact with. Then I remembered a criticism that one or two people made of my previous game Vampire Ltd, which was that a lot of the jokes and responses were very on-rails – you would try a funny action, and then the game would spit out a reason why your character doesn’t do that. I wondered if having a playful setting like a carnival, plus a playful character – a clown, say – would encourage me to chase a more playful attitude to IF design.

For whatever reason, my brain jumped to the idea of “clown vs magician”. The original concept was that there was a rivalry between you and a magician for the hand of a beautiful strongwoman, and the magician would trap you in scenarios fashioned after classic magic tricks (e.g. putting you in a box and sawing you in half), and you would use clown tools to get out of them. And I got quite excited about this dumb idea, so I started a new project in Inform 7 (which is not an indictment of Gruescript – I just wanted to use an engine I was already comfortable in) and got to work sketching out the circus.

That was in January 2022. In March 2022, I had made very little progress. I was really struggling to plan puzzles around the central gimmick – I couldn’t find a good enough synthesis between clown tricks and magic tricks for any puzzles. (Perhaps a better designer than me could do it.) Also, I had some idea that between puzzles you could encounter Adagio in the game world, and just talk to her normally, and I felt it was more interesting if Adagio and Lola could talk shop than if they were enemies all the time. So Adagio stopped being the villain.

I think I introduced the Phantom as the villain about this time. Originally the Ringmaster would have been the Phantom, but that only lasted a week because I had no idea why he would have done it instead of, say, just not running the circus anymore. So the Phantom became an external force. Here’s where the idea of them being a politician came in, and also where I decided to pin the setting down as the UK so that they could be a Member of Parliament. I sketched them in loosely as some hyper-centrist MP with an economy fetish, and then I made them female just in case the capitalism-based motive was making them seem too similar to Hade from Vampire Ltd.

The female Phantom lasted a while, up until Freda’s puzzle was finalised. I realised that in order for it to be even slightly plausible, the Phantom would have to be a previous strong-person, so the Phantom became male after all to differentiate him from Freda. I started writing some of his dialogue in clipped, sound-bitey tones, modelled after Sir Keir Starmer.

By the way, I don’t pretend for a moment that any of this is insightful satire or that I’m saying something earth-shattering. A few reviewers noted that the story and meaning of Honk! is very shallow, but I’m fine with that, because I was more interested in using the scenario to entertain people than to make them reflect. (You can absolutely do both in one game, of course, but I wasn’t trying to do both.) Like in Vampire Ltd, I’m starting from the assumption that we all know that shit sucks, and we can just go from there and make dumb jokes about it. The only real thing I’m trying to say is “have each other’s backs because the most powerful in society sure as hell don’t have yours” but I can’t imagine there’s many people in the target audience whose worldview is being rocked by that.

What you might gather from this production history is that Honk!’s concept and story is a salvage job, cobbling together different parts and swapping them out when they don’t work. As one or two reviewers picked up on, and as I kind of knew while I was making the game, the core concept and humour is just not as strong or focused as in Vampire Ltd because I’m really stretching to make different ideas come together. But I still wanted to chase the idea of a more playful player character, and this project was looking more likely to be completed than any of my other half-baked projects, so I forged ahead.

Anyway, I managed to get something together for alpha testing in July 2022. The feedback was very positive (thank you!), but testers suggested that some content additions were in order, and when I got a new job in August I decided to kick the release date back from IFComp 2022 to Spring Thing 2023, and then to IFComp 2023, when I was determined to release it come hell or high water. I think this was the right decision, otherwise I would be working on this forever. But I had to rush to tie up some of the loose ends, since August 2023 and September 2023 turned out to be very stressful and intense months for me on a personal level, and I ended up not having the time for multiple rounds of beta testing which would have caught the more glaring bugs which made it in. The next game I make will be done when it’s done – I’ll finish it first, then decide when to release it.

What I did right

Player and playfulness

I’m quite pleased with the player character. I think Lola is a fun presence, if slightly over-enthusiastic. I think their worldview is close enough to normal that they can play the straight man to other characters, but just off-kilter enough to let me write a lot of weird lines.

As mentioned above, having the player character be a clown encouraged me to try to follow through on jokes more. Being able to throw pies at everyone was basically a requirement. You can also shoot arrows at most things/people unless an NPC or Lola’s sense of ethics stops you (though this caused headaches with inappropriate responses – I’m confident there’s still some of these I haven’t found). There are plenty of hidden jokes throughout the game which only come about if the player keeps trying the same thing. (The most well-hidden one of these is in the Love Booth, which has a 1 in 1000 chance to spit out “TRAPPED IN LOVE MACHINE FORTUNE FACTORY SEND HELP” – I wonder if anyone found that in the transcripts?)

Lola is supposed to be non-binary, although since the character has a gendered name and is almost entirely referred to in the second person, I appreciate that this doesn’t come through at all. Not too sure what to do about this, but hey, sometimes it’s just like that.

NPCs

I wanted the NPCs in this game to be more fleshed out and interactive than in Vampire Ltd. I think I managed it. They’re mostly static, but the game logic moving them around to involve them in puzzles goes a long way to making them feel alive. I’m pleased with how they’re used after the unmasking sequence, how they follow you around and you can take them into each other’s campers for little cutscenes.

More work could be done here. The characters are ultimately still static objects with conversation trees added to them. It would be nice if they moved around a bit more. At the same time, I did need them to stay still for walkthrough and testing purposes, and I don’t think it’s fun if you can’t solve a puzzle because the NPC has wandered off somewhere. So this is probably fine.

I’m not a great character writer but I think I did a good job making the NPCs feel different and giving them different reactions to the same scenarios. I’m very happy with Freda, who gets my favourite joke in the game (when you try to use the Robert Frost balloon as a spare tyre (incidentally, we salute you, Grim Fandango)). Lawn’s character is heavily cribbed from the Paul F. Tompkins character Big Chunky Bubbles, also a children’s entertainer with a perhaps-exaggerated sense of his own importance.

The core cast of Honk! are mostly queer – Adagio is transgender, and Lola and Freda are in a relationship. I think Lawn and the Ringmaster are amicable exes, though that’s not really supported by the game. This connects directly to the soft moral about having each other’s backs. Originally this contributed to the Phantom’s motive, but I pulled back from making it explicit because I wanted this to be a very light and fluffy game, and the injection of homophobia/transphobia was too much of a tonal shift. There was a recent game – I think One Final Pitbull Song? – in which two trans characters discuss their experiences of transphobia and then joke “but we don’t need to go into any of that – why can’t we have stories about trans characters existing?” This is my attempt at one of those. But the queerness and the message absolutely do inform each other.

Conversation

I like conversation trees. Part of that is nostalgia for LucasArts, but I think they’re good for parser games – they make your options clear, and they offer opportunities for pushing the player character’s personality in dialogue as well as narration (something which I think I failed at in Vampire Ltd, but I got a little closer here). However, I do like the potential of ask/tell systems for hiding interesting topics. So I borrowed the conversation system from City of Secrets, and went for a system which can be played entire as conversation trees but which hides jokes and clues in ask/tell topics. I’m happy with how this came out and would like to use the same system in future projects.

I used the extension Quip-Based Conversation for Vampire Ltd, but Honk!’s system is based off Hybrid Choices. More work to set it up for conversation specifically, but more flexibility in how to structure dialogue. Hybrid Choices also lets you move things around based on choices – when you choose the conversation option that starts a circus show, it’s Hybrid Choices doing the heavy lifting of moving everything into the Ring.

I made a hack job out of the code, though. There were two ask verbs, the standard “ask” for asking about abstract topics like “job” and “life” (requiring text processing) and “item-asking” for asking about items in the game-world. Later I decided to save some work and only let the player ask about objects, so the default “asking” was cut out but “item-asking” stayed in. So I had to remember to write “item-asking” every time. Much later I realised that I could have just, e.g., made a dummy object called “job” and kept it out of play where the player can’t see it, skipping text processing and the need for two different ask verbs, As such, the conversation code looks ridiculous, and it’ll need some rethinking and some clean-up for the next project. But it works!

What needed improving

Geography

I think the geography of the game is basically fine. I tried to avoid diagonal directions to make navigation easier, and I tried to lay regions out in a logical way around a central circus area, with the effect that the ring is the centre of the map, which I think is quite pleasing.

However, my big mistake was inserting a couple of “in-between” rooms between the main circus space and the outside (i.e. the Backstage zone and the Entrance Tent). Because some exits from the circus go straight outside, some players reasonably assumed that all exits went straight outside, and so missed these in-between rooms, but they’re both critical for the rabbit puzzle (on which more later). The geography made the game more frustrating and less trustworthy.

There’s usually only one or two points of interest per room. That was intentional, because I didn’t want a room description to be so dense with info that a player might miss something. But I went too far the other way so that a couple of people said the game felt a bit sparse and empty.

Removing and condensing rooms, and making connections more straightforward, would have solved these problems. I think I’ll probably draw my own map as a feelie for the post-comp release to help players understand the layout – it’s something I wanted to do for the first release, but I just didn’t have the time.

Puzzles

I wanted to make this game more puzzly than Vampire Ltd, and I definitely managed that. But the quality is uneven. The goose puzzle turned out very well, in my opinion. I didn’t realise at the time, but the main influence on it is probably the Food-Related Love puzzle in Strong Bad’s Cool Game for Attractive People, another puzzle which involves guiding someone through a performance with a bit of lateral-thinking required for the last step. The powerlifting puzzle is okay – the part set in the ring is too quick and straightforward, but I’m pleased with the Big Wheel puzzle that feeds into it, which was a late beta addition to the game. But the rabbit puzzle…

Okay, so. There’s a magician in the game, and magicians have rabbits in hats, and I‘m very self-indulgent sometimes, so I had to put a rabbit puzzle in the game. And since rabbits chew things, my first thought was that the rabbit should chew through a rope as part of an escapology act. And to encourage the rabbit to chew the rope, I thought that the player could raid the burger stand and get some lettuce, attach it to the rope before the show, then start the show and watch it solve itself.

That’s how it was in the alpha, but testers were disappointed that you don’t really get to do anything during the show, and that the show itself was effectively a red herring. They also wanted more puzzles in the game as a whole, so I added the step with the balloon basket, and then added the tyre puzzle to the endgame as another use for the balloons.

But put together, the whole rabbit puzzle is problematic. It was a nightmare to implement, with two different sources of infinite objects (the burgers and the balloons). It’s not very natural or intuitive – reviewers don’t really buy the physics at play, and had trouble visualising the Diabolical Contraption, the size of the basket, etc. As mentioned with the geography, I think a couple players were flummoxed trying to find the Contraption and the burger stand in the first place. But most critically, there’s an obvious, much more natural alternate solution which I completely missed until a reviewer pointed it out: why can’t you just carry the rabbit up the stepladder?

I’m leaning towards allowing the stepladder as an alternative to the balloon basket in a post-comp release, but I don’t love this, because one of the purposes of the balloon basket is that the player should notice the balloon circle option while they make it, so that they’re ready for the tyre puzzle in the endgame. If the player can skip the balloon basket, it makes Adagio’s puzzle more natural, but it potentially makes the tyre puzzle a lot harder, and getting stuck there would kill the story’s momentum right when it’s most needed.

The rabbit puzzle is a darling that should have been killed far earlier in development, but it’s so ingrained now that I’d have to rip up half the project if I took it out completely. I think I’ll just need to take this as a hard lesson in puzzle design.

Bugs and implementation

Vampire Ltd was arguably over-scoped, but relatively well implemented, if I say so myself. I went bigger for Honk!, and the feedback has been positive, but it’s also a lot buggier – it’s quite clear that the project’s scope got out of hand. There are unimplemented nouns which I need to track down, and I’m sure there are missing responses to natural funny actions (a lot of the last couple of days before uploading to IFComp was spent looking for things the player shouldn’t be able to shoot with the bow and arrow).

There were some embarrassing oversights which had to be corrected mid-comp. For a while, every action without a noun (including ones with an “it” pronoun, regardless of what “it” should have been) redirected to the bendy balloons, because of a line of code: “Does the player mean the bendy balloons: it is very likely.” Why did I put that in? What did I mean by that? I have no idea. Also I had to fix a debug message that appeared when the player talked to themselves.

More testing, and some last-minute testing by people other than myself, might have caught this. I don’t for a second blame the testers I had, who were absolute saints and who caught so many more oversights. I just needed to be more diligent about tester recruitment.

What’s next

The post-comp release of Honk! is going swimmingly apart from the fact that I haven’t started working on it yet. When I do, I need to tighten up puzzle solutions and think about alternate solutions, and I also want to rework the hint system and draw a map. Plenty of other little issues to attend to as well. I remembered to download my transcripts from IFComp this time, so I’ve got plenty to work on…

I think I’d like to return to the characters for another game someday. I’d like to give Adagio a day in the limelight. I still think the idea of using magic tricks as puzzles is strong.

I haven’t forgotten about Gruescript. I have been fiddling with a new project in Gruescript to get my head around it. I bet the format would suit a horror game, and I have a couple of half-baked ideas in this direction.

I also haven’t forgotten about the Return of the Obra Dinn-like pro wrestling game I talked about years ago. I think I know how I’m going to approach that now, but I haven’t been able to make tools like Scrivener and Excel work for me in terms of planning the puzzles, so I’m going to have to build my own tools for it. So, um, don’t expect it any time soon.

Speaking of pro wrestling…

Epilogue

I haven’t been as present as I would like to be for IFComp. I have had a rough few months – my job has become a lot more intense, and some friends and family have been experiencing medical and personal issues which have prevented me from relaxing much outside of work, and my own mental health has taken a hit. Things are getting better now, I think, but I’m exhausted.

But one nice thing that did happen – other than IFComp, of course – is that I was at Wembley in August for AEW’s All In pro wrestling show. The wrestler CM Punk was in the opening match (which was a abnger, by the way). And after the match, CM Punk very deliberately stood next to a fan holding a Trans Rights sign to make sure it was on camera, and 80,000 people cheered.

Honk! is not a game which is trying to change anyone’s mind or say anything deep. But there is a central idea there, which is that most people don’t care about queerness or other differences, and that a lot of hatefulness and destruction is engineered by people with socio-economic power. Maybe it’s over-optimistic to believe that most people are kind to each other, but I still believe it. Britain has a reputation as the international home of transphobia, thanks entirely to a twisted little cabal of failed sitcom writers and media goblins who live their whole lives on Twitter. But that cheer for trans rights from 80,000 people shows how much of it is hot air. We can see them for what they are. We will live.

Of course, next morning we learned that CM Punk had attacked a co-worker in real life backstage before his match, and now he’s been fired from AEW and his reputation is in tatters. Oh well, nobody’s perfect.

Thanks again for everything, everybody. You’ve all shown me so much kindness. It means the world to me.

27 Likes

This was one of my favorite games from the comp, and I was delighted to read about your process. Thanks for the fun game!

4 Likes

Wait. This idea has been out there in the world for years, and has not consumed your EVERY WAKING MOMENT implementing it??? What is even going on here???

Yah, yah, congrats on your win, great game, but GET YR EYE BACK ON THE BALL!!!

5 Likes

Thanks so much for sharing. These thoughts are really in-depth and interesting to hear, it’s clear you’ve thought about all of the puzzles and themes a bunch. (Also, making me think I need to go back and play again because I did not try to shoot nearly enough things with arrows.) Although I now also have a slight “missed out” feeling that I didn’t get to be romantic rivals with Adagio!

I also appreciate the good work you’re doing for the reputation of clowns–I feel like rodeo and circus clowns are both underappreciated in our current pop culture moment. The Joker? Not at all the type of person I would want to collaborate with in a high-stakes live performance environment, not to mention that I doubt he even gradated clown college.

4 Likes

Or the clown car! I spent a lot of time getting the rabbit or the hat or myself with the rabbit on top of the clown car, which is probably already there from a previous puzzle. :smiley:

What about having one of the locations, maybe the ferris wheel, blocked by a group of eager kids who’ll only disperse once you make some balloons for them? That will cue in the player to the balloons and make sure that they’ve found them. Just a random idea, of course.

6 Likes

You know, I had some idea that the clown car’s roof would be too rounded to balance on properly, but I think I completely failed to describe the car as such or code that in any way.

I do like your idea about making an extra balloon puzzle. I was going to avoid adding significant extra content, but why not? I don’t have to worry about the 2-hour limit anymore, and it’s a chance to fill in at least one room that feels sparse.

8 Likes