Fair Postmortem (Part 2 - Spoilers!)

(This is part 2 - Click Here For Part 1)

Cover Art I almost always design cover art for a game early to solidify a vibe. I wanted the logo to be simple and inviting but not specifically childlike. It would be cool to foreshadow some irony as well. I found a font I liked and tried all manner of additions to specify a science fair, finally hitting on a red balloon replacing the letter I in the title. When I lassoed the original dot over the I and moved it out of the way to position the balloon, the dot happened to land in place as if it were a period, making the word "fair" a declarative finality which felt correct. It gave me the irony I wanted—the dot didn't get to do what it originally planned, being usurped by the prettier balloon, but the dot still has use. Maybe that's too subtle, maybe overthought; it worked for me.

(A week or so after the comp opened, I got a comment about my "half-assed" cover art. The overall quality of cover art this year had been greatly written about, so I grumped about the comment for a bit, but then worked on the design with the help of the private author forum and actually came up with something I was happy with. I hadn't wanted to go literal with "stick the title in a science fair project" but I was encouraged to try that, and by adding human silhouettes and a backboard that were close to monochrome, it framed the title a bit better and added another layer to showing the concept.)

Dialogue with Characters who co-write I left the exhibits and fleshed out most of the rest of the map, dreading the dialogue writing process because I knew I was going to have to spend lots of time with the conversation structure and filling it in. It did take quite a while and I would switch from writing for a character to fiddling around with the scenery when my eyes glazed at choice descriptions and page-switch rules and page-toggle rules and "It is one-off" "It is dead-end" It is an end-page" decisions. The thing that saved this was the incubation period. Despite the tricky process of linking choices and pages, the characters had lived in my mind and were formed enough that they all had interesting and unexpected things to say. I know I'm in a zone with characters when I don't have to drag dialogue out of them. They "tell me" what to say. The "ghost writer" plot wrinkle came out of nowhere in the dialogue from Stephanie and then continued with Lorraine. It was a completely fitting story element that I had no idea was there until I wrote it and it magically fit into the story as if I'd planned it. (Saying that my characters do things I don't expect is a little schizophrenic-sounding, but I believe this quirk developed primarily from my performance background with improv training and I'm acting out the character on paper myself. If you let characters live in your head long enough they'll start to talk to you, and I've learned they resent not being listened to. Their own dialogue suggestions usually are better than my own.)

A happy finding was that having an exhibit, a character, and potentially a balloon in each exhibit location pretty much made up a room description on its own, so I didn't need to write five versions of "You're in another part of the gym..." I implemented an exit-lister response to going a nonexistent direction that seemed to work well. In the midst of writing lots and lots of dialogue, I implemented the helicopter cutscene onstage, and Lorraine's smoke break. They both were professional NPCs and both sequences went in quickly with minimal fuss due to making them choice-menus. I appreciated how they both felt like major events even though they were specifically text-dumps that could have been done without any interactivity.

XYZZY I always implement an XYZZY command, half out of worship for Infocom, and half because almost every game deserves a cheat code or an Easter egg.  I can always find something interesting to do with it. In this case, I made it reset the clock to 6pm so as to provide the player more time to do whatever they wanted to do. This had the effect of making the principal repeat his opening sequence where he gives you two tickets to his play. I decided it would also be funny if the player ended up accumulating tickets each time, so I re-did the theater ticket object to keep track of how many the player is carrying without making each ticket a separate object. Then after about eight of his text dumps I decided it would be hilarious to make him vaguely aware of repeating himself, and this let me streamline the dialogue down to nothing so the player wouldn't need to read it again. One of my testers had mentioned that they wished they had a way to avoid giving a book away for $10 instead of $20 dollars when a fairgoer was aware of the price on the Bookburn website. I added an option to sweeten the deal with theater tickets and keep the price at $20—and now that the player had a potentially unlimited supply of them, it solved a complaint and was a neat solution to a non-puzzle.

Getting to the End At this point I decided I had to write the endgame. Poor Amber still didn't have dialogue but I needed a break, and I needed to work out how the awards ceremony sequence would operate. My original thought was just to chunk it out scene by scene, award by award and have five choices for fifth place, five choices for fourth place...using a choice-switch rule to flag if an entry had already been chosen to remove it. I started tediously implementing this and then decided there had to be a better way. One of the magical fun things about Hybrid Choices is it initially feels backwards. Instead of a page with choices that point at a series of other pages, pages have descriptions that hook to the previous page. The brilliance of this is you can have a page with text and a choice description that can hook to any number of other pages, and via rules show or not show based on the current game situation. I quickly backed up and wrote one page with the entire awards ceremony progressing with cycling text, then hooked all the pages with the winner's scenes to it, allowing them to disappear via a rule as they are used up. This was great. I actually made a second section structured exactly like this for the winner, so the winner's acceptance scene could differ from their acceptance if they didn't get first. This worked great until I tried an UNDO and it completely knocked the sequence out of sync. The cycling ceremony text continued and chosen winners still vanished. I fixed this by diving into the Inform documentation and learning how to disable UNDO which I know people haaaaate. I was already planning an Easter egg uber-ending for anyone with the persistence to play and see what happens when every entrant wins, and figured people would UNDO to accomplish this.

Dreaded Overscoping With the game nearly completed and about 5 days to go, I was confident of finishing and started to consider adding some frosting. I had developed this magical-realism Easter egg of manipulating time and (IMO) hilarious reactions to it, so I wondered how cool it would be to add an actual time machine into the mix? I may have even said out loud "A time machine shouldn't be too hard to throw into a game a week from release!" It could come from a discarded science project, and determined players who found it could zip all over the game manipulating events how they wanted in defiance of UNDO prevention! I figured that the player could forward and reverse time between important story event nodes, and lots of new scenes popped to mind: The player could time travel to before the beginning of the game and actually decline to judge the science fair at all and we could meet the cats that were referred to in A.B's bio blurb. If the player did accept the opportunity to judge, the game would just restart. If the player fast-forwarded past the end of the story without picking a winner, they would be struggling with their next manuscript. This scene could change based on the winner. If Gertie won, the player would get to read the ending of the fourth novel which involved sentient immortal mice. If the player accepted the bribe, the novel would be the ending of "Stephanie's" book "...and I learned that even I, an eleven year old girl could do my part to change the world as long as I put in the work and kept to it. I hope to inspire young girls all over the world to work for their Republican..." yeah. It would be epic. I was very excited to lift the mundane plot into magical-realism and have a whole hidden extra meta-game hiding similar to how BAKER OF SHIRETON worked.

I got the game as initially scoped reasonably complete and sent it to my testers two days before the deadline. (Chandler Groover proved invaluable in providing an exhaustive list of comma splices and extra spaces and forgotten closing quotes. If you encounter a typo it is NOT his fault!) Now I set about implementing the time machine. One monkey wrench got thrown in that I had two days left before the submission deadline, but the last one was taken up because my mother broke her wrist and had to have surgery. I might get a couple hours to polish a bit, (post-surgery the apartment would have to be entirely rearranged to accommodate her lack of working fingers) but that day was effectively lost. If I was going to make the time machine work, it had to work and have time for beta testing. I started in the afternoon and actually had it implemented and working in prototype form by about ten PM. If it worked, I'd have to write five or six more minor scenes for each version of the ending. There was also an uber-epilogue to write. Usually the time machine is stolen when the player left the school with it in inventory. I worked out an actual puzzle that if the player stashed the time machine in the box of remaining books and left it in the school, McMaitlend would dutifully mail the box to the player in the future, and the player could use it one more time to rewind (the fast forward button is now stuck down and nonfunctional), most likely expecting to land in the fair again. But this time, the player would rewind to 1997, be living in England as a successful author, and read the NYT Review of Books story about how the debut of their ninth and final novel in the Unknown Colors of Space series (which they had now gotten an extreme head start on) bumped upstart new author JK Rowling's Harry Potter and the Philosopher's Stone out of first place on the bestseller list, changing the course of their career and popular juvenile fiction forever. I thought it was a really neat payoff for all the Harry Potter annoyance the player had to put up with.

Smacked Down by the Real Life I spent my last weekend afternoon working the time machine and had it implemented and working in prototype fashion. By 2am I had halfway discovered every single way the game could collapse into bits with paradoxes and spectacular inconsistencies and bugs. I might have made the time machine work before the deadline, but at the expense of not having time to write all my new planned scenes it provided for, and not enough time to beta test this highly complicated thing that broke the game pretty consistently. At 3:32 AM I had the black moment of despair valley common to every project: it wan't going to work. I couldn't submit this. I so loved the concept but I didn't have any time to make it work. I could withdraw and wait for another year and make it even better but it was such a letdown. Plus the time machine code was so interwoven with the entire game and written in with fixes and elements that needed to stay (Amber's dialogue!) that I couldn't just revert to a previous version. I would need to spend a significant amount of time removing every bit of time machine code. So after feeling horrible until 3:48 AM and needing to wake my mom for surgery at 5:30 AM, I could A: Sleep for almost and hour and a half before I had to wake up again and hope I had time to weed out the time machine code, or B: Skim through the entire source and extricate the goddamned time machine while I remembered what all the lines were. It was one of those "you're a grown-up, snap out of it and get this done" moments, and a very long 48 hour timespan without sleep.

The More You Know In the end, this proved a culmination of my learning experiences with previous entries; I was trying to fall back in my own pattern of writing so much code that nobody would see, violating my own initial resolution that EVERYBODY WILL SEE THE ENDING. I left the time machine object in the game, and then decided that it would clue the use of XYZZY. I still wanted to give players an opportunity to work the game over. Intially the ceremony was the end of the game, but I added in a brief epilogue of the player waiting for their ride after the ceremony so the player can XYZZY again and drop right back to the choice of winning exhibit without playing the game through four more times.

I also loved the idea of XYZZYing back to before the game started, so I wrote that small scene and slipped it into an early update after the comp started. I figured only the most hardcore of hardcore puzzlers would try XYZZY on the very first turn of the game and that nobody's primary gameplay would be affected by it. It is an amuse-bouche that wouldn't lose or gain score points.

I was exceedingly pleased that Fair placed 7th in the comp, and doubly proud I broke top-10 in a year with the most entries ever. I know there are a lot of intricacies I haven't discussed, but this has gotten to over 4000 words. Feel free to leave a comment with a question if there are any other elements of Fair you'd like to me to answer or discuss in detail.


Fair.zip Play in browser
Feb 07, 2018

Leave a comment

Log in with itch.io to leave a comment.