New Year's Eve, 2019: The Postmortem

The source code for NYE2019 is public, if that’s the sort of thing you’re interested in.

The code for dendry, which was used to build the game, is here. It is still regularly being updated.

Thank you all so much for playing and reviewing and commenting on NYE2019. I’m still a bit amazed by the positive reception that my little slice-of-life story has gotten. Thanks.

Spoilers for everything about NYE2019 below.

A Brief History of the Pageantverse

NYE2019 is a sequel to Pageant, my earlier game, and despite my efforts, it can’t really be extricated from that context. The basic concept of this game evolved from a number of scenes in Pageant taking place at Chinese-American church parties; those were some of the first scenes I wrote for Pageant, and some of my favorites. You can play one at, which was the first scene I wrote for Pageant, before I was even aware of dendry. Another predecessor was, which is another AU sequel to Pageant. I don’t think these games were particularly good, but they were the prototypes. Much of NYE2019 will be familiar from these two games.

Pageant and NYE2019 were primarily based on personal experiences. I write so many scenes like this because I’ve been through so many scenes like this. Like Karen Zhao, I’m a Chinese-American immigrant and an ambiguous Christian, and my parents took me to many parties much like the one described here. Karen’s community is very loosely based on the communities I grew up in. In addition to her background, Karen is, how should we say this, a self-insert; a lot of her thought processes, especially the anxious ones, are similar to my own. On the other hand, none of the other characters are based directly on any real people. The parents are NOT based my parents, and Kevin is NOT based on my sibling.

I got the idea for this game while I was at an actual NYE2019 party somewhat similar to the one in the game. I was awkward and weird and just a total mess. I spent too much time taking selfies of myself in the bathroom. I watched the entirety of the avengers endgame movie with some kids less than half my age. People asked if I was a boy or a girl. I ended up spending a lot of time in the basement playing computer games with my sibling. I didn’t go on a long walk in the snow at that party, but I did so at other parties. It turned out to have been the last party I ever attended, perhaps forever. Wow. I wish things had turned out better.

About half of the game was written in 2020-early 2021, mostly before I wrote A Paradox Between Worlds. In 2021 I took a break from this game to write APBW for IFComp, only restarting work on NYE2019 a couple of months before the Spring Thing deadline. That’s an advantage of deadlines; it forces you to actually finish things. I would probably have never finished this game were it not for Spring Thing.

Design Overview

NYE2019 is organized around the inevitable progression of time. This is a form of organization that is shared by Pageant, and A Paradox Between Worlds to a lesser extent.

NYE2019 is comprised of three “phases”, each having slightly different mechanics. The first phase is the arrival at the party, before the dinner. This is the most “free” phase of the game, where the player is allowed to interact with many different systems, by talking to people, getting food, wandering around, or using the phone, all organized around a hub-and-spoke. The second phase is the dinner, which comes with a mechanical and narrative shift. The dialogue changes to colored text and script-style, which was controversial among my testers. There’s a new mechanic, too - at each step you have around three choices: eat, talk, or listen. If you listen, then new conversation topics are randomly chosen; there’s no hub-and-spoke here, and your choices are highly proscribed. Basically anything you do besides eating will raise your anxiety (and constantly eating isn’t always an option). Towards the end of the dinner, most playthroughs will have Karen running away and out of the house; depending on your choices, you’ll either leave with Emily or by yourself. On the “alone” route, you’ll walk by yourself in the snow while having vaguely self-destructive thoughts before eventually coming to some sort of peace, represented by a decline in anxiety. Then, you can go home and wander around the party some more, doing random things like eating dessert or watching movies, as with phase 1, until just before midnight. On the Emily route, you’ll have awkward conversations with Emily with the possibility of the beginning of a romance, but even if not there’s a decline in anxiety. Either way, you’ll stay outside with Emily until just before midnight. Both routes end with Karen leaving with her family and Miri.

There are a number of interlocking systems in the game, most of which don’t actually affect the narrative a whole lot. Hunger and thirst meters are tracked, but don’t get much play; there are no penalties, just a few extra scenes in the “leave the house alone” scene. Relationship stats for all the major characters are tracked, but don’t mean much; the only one that really matters is your relationship with Emily, past and present. The one system that does matter a lot is the anxiety meter.

Queering the Binary Between Narrative and Mechanics

(the title of this section is a joke. it is also my entire design philosophy.)

The mechanical structure of NYE2019 was inspired by a bunch of articles I read about game design and ludonarrative resonance (see the references). NYE2019 was, in essence, an experiment in creating ludonarrative resonance (wow does that sound pretentious). The goal was that the narrative and the interactive mechanics would unite in harmony to create a single story; whether I succeeded or not is still in question, I suppose.

So far, all of my IF projects have been ludonarrative experiments in some way. My goal in game design is to make heavily “mechanical” or branching games that nevertheless have a single coherent narrative. I want to create highly interactive choice-based interactive fiction that are definitively not puzzle-based (or use adventure-game-like mechanics such as directional movement or object-manipulation). I want to give the player a sense of agency, but also use the systematic mechanics to send them down a single inevitable path, which also reinforces the central thematic elements.

The central ludonarrative question in NYE2019 is shown pretty early on: are social relationships an optimization problem? Can one treat the act of “finding a date at a party” as an optimization problem with a goal and various knobs to turn to arrive at that goal? This question is later asked again in both of the main routes; in Emily’s route she directly asks this very question. It’s also discussed in the scene where Karen plays a dating sim on her phone. It’s all very on-the-nose. The answer, of course, is a definitive no. The main mechanical aspect behind this is the anxiety meter; when anxiety gets too high, Karen is unable to do almost anything except either run away or cower in a corner. The problem is that a ton of different actions raise anxiety; basically any time Karen opens her mouth, the anxiety meter rises. So it’s almost inevitable that she’ll end up in a pretty dark situation.

What saves Karen when her inevitable anxiety attack comes, if she ends up being saved, is human connection. And the question of whether or not Karen is rescued by Emily depends on their previous history more so than it depends on your actions in the core of the story; having a past connection to Emily can outweigh not interacting at all during the party. The past is inescapable, but the future is not entirely determinate. If you do not have that previous history, the step of making human connections will hurt; every time you talk to Emily will increase your anxiety, making your breakdown more likely. Social interaction, in the end, is about exposing your vulnerabilities and letting yourself experience discomfort; the hedgehog’s dilemma, the mortifying ordeal of being known, and all that. Emily likes Karen (whether romantically or not) even knowing that Karen is a mess of a person (or at least that she perceives herself as such). The fact that Karen doesn’t want people to know what a mess she is turns out to be a big part of her troubles in the first place; by trying to hide her despair she has foreclosed the possibility of making genuine connections.

The more I write this, the more I realize that these themes aren’t novel at all. But hopefully the interactive presentation makes it interesting?

There’s still the possibility for some ludonarrative dissonance here. A player who knows about Karen’s limitations can still treat the game as an optimization problem to get certain endings. Kind of like a global optimization vs the local optimization that Karen might feel from her own perspective; she certainly can’t see the future or alternate timelines. But I don’t know any way around this. One thing that makes playing the game as an optimization less likely is that it’s quite easy to get either of the endings, and it’s very easy to randomly stumble upon the “good” end. But that means that the mechanics don’t matter all that much, which… kind of is the point here. I don’t know. I’m still not sure if any of this worked.

Time and Space

Recently I re-read a thread on the intfiction forums from IFComp 2020, about whether IFComp should be split into parser and choice categories. The discussion wandered into the question of what actually distinguishes parser and choice games. Is it simply typed versus clicked input? Some people suggested that what actually distinguishes parser games are world models; CYOA-style games tend to have simple world models if they exist at all, because of the problem of combinatorial explosion, while parser games have a full and complex world model. I don’t really agree with this statement, and I’ll try to think through why. Tangentially related, someone in that thread described a game that was awfully similar to the plot of NYE2019 (I swear it’s a coincidence).

I’m also going to talk about A Paradox Between Worlds because that’s relevant here. Both APBW and NYE2019 have rather comprehensive world models (in my opinion). APBW tracks over 800 variables (most of it is essentially boilerplate though). APBW also has a consistent set of verbs and nouns that are used throughout the game, with the only “pure CYOA” sections being the dialogue trees. NYE2019 only tracks around 80 variables, but it has a lot less boilerplate and also tracks basically every action the player has taken. Much of it is unused, but it is tracked. It doesn’t have as standardized of a vocabulary as APBW, but in each phase of the game there are some consistent interaction mechanics.

What’s different about the world models in APBW and to a lesser extent NYE2019 is that they don’t follow the same “medium-sized dry goods” world model that most parser games use. The world model in parser games is designed for problems of the type “put key into lock” (yes I know there are exceptions, I loved Galatea). This world model isn’t made for simulating the social dynamics of a tumblr community or even link-based internet navigation. Yes, with baseline Inform you can take an apple and leave it in any room, but you can’t watch your follower count rise and fall as you reblog the wrong posts ;). There’s the implication here that the inventory-and-location world model is the only possible “rich” world model, which is just not true. The granularity of its gameplay actually makes APBW similar to parser games in some more abstract ways. Going back and forth between blog posts is basically the same as “>E” and “>W”. However, the interaction mode in APBW does not fit parser; it was inspired by an internet interface that’s literally click-based. For what it’s worth, APBW also had multiple narrative puzzles that deeply involve the mechanics (which I think very few IFComp players solved or really even cared about).

Even though it takes place in a physical space, where it might be possible to utilize the location-and-inventory world model, NYE2019 isn’t really about navigating a physical space. The space is there, but I didn’t want the narrative of NYE2019 to dwell upon the rooms that Karen visits or the items that she carries. Karen’s journey through NYE2019 is about navigating a narrative space rather than a physical space, along the dimensions of time, anxiety, and relationships (and a bunch of other dimensions but those are less important). By the way, this is a world model. In order to navigate a narrative space, the range of possible actions at any particular moment has to be carefully chosen so that they work in harmony with the narrative; the range of available choices should communicate something about the story/characters/themes (see again, ludonarrative resonance). Sure, you won’t be able to “>eat pants” in NYE2019, but I do not consider that a major loss. Karen is not an adventure game protagonist; having her act like an adventure game protagonist would make the story worse. And ultimately, NYE2019 is a narrative about constraints.

One thing that both APBW and NYE2019 do is set up some mechanics and then subvert them, by showing that they don’t really matter. Almost none of the variables on the stat sheets of either game really matter in terms of the course of the narrative, and that’s kind of the point of both narratives, that quantifying social interactions and relationships is an unhealthy mindset.

Scoping and De-scoping

I cut a lot of content from this game between its conception and completion. I originally had plans for Aubrey and Miri routes, with a romantic option for Miri and friend options for both, as well as routes focused on Mom and Kevin. I cut out all of these. You can see the remnants of the Aubrey and Miri routes in the grayed-out choices. I just didn’t have as good of a grasp on the characters of Miri and Aubrey the way I did for Emily, and I didn’t know how to make their paths as interesting as the main ones. I would either have to make inferior content, or spend way too much time coming up with stuff and maybe never even finish the game. And their routes weren’t even going to be canon anyways for the future of the pageantverse, so what’s the point? Emily is close to being the deuteragonist of the pageantverse.

If I revisit this game, the only path I am likely to add would be one focused on Karen and Mom’s relationship. They have a really interesting and complicated relationship, and is probably the second most important relationship after Karen and Emily’s.

Dendry and Development

NYE2019, like Pageant, was written in dendry. These were the first and second games written originally in dendry, as far as I know (Bee by Emily Short was ported to dendry but it’s still incomplete), and NYE2019 is the first to have been submitted to a contest in the IF community. I like dendry for many reasons. On the coding side, it has a command-line toolchain using node.js, allowing me to use a text editor for my files. It has nice templates, which allows me control over the game’s html/css/js in a way that feels easier for me than twine or ink (although experienced twine/ink users would likely disagree). Unlike choicescript, dendry can directly embed javascript and html in the game script. As a writer/designer, I like that dendry was designed for storylets and quality-based narratives. It’s very easy to, say, have a choice that selects a certain number of nodes randomly from all nodes with a given tag.

Dendry is a node-based system, like twine/twee and unlike choicescript/ink, which I want to call flow-based (does terminology exist already for this distinction?). It has labeled nodes with tags and preconditions, and choices are links to other nodes. This has its pluses and minuses. On one hand, it has a flat organization without the nesting and rejoining of ink/cs, and it’s easier to reuse and organize chunks of text (for me, at least). It’s easier to figure out where the missing spots in the story are. On the other hand, it might take a lot more boilerplate code to do the same thing; it’s more effort to have a quick choice that then rejoins the main thread.

One of my favorite things about dendry is that it allows for easy mid-level organization, between the level of individual nodes/choices and the story as a whole. Dendry has scenes, which are separate files containing multiple nodes, that function as namespaces for nodes. (Technically, all nodes are called “scene” in the dendry code itself, but that’s confusing for me, so I won’t use the term “scene” that way). For example, both the dinner scene and snack scene might contain a node named eat. Scenes are technically only namespaces, but it’s easier to treat a scene as a storylet. So each scene/storylet is a self-contained CYOA story, while the scenes are composed into a larger story using tag-selection choices and the root node.

The code for NYE2019 is public, if that’s the sort of thing you’re interested in.

I did some tuning of the mechanics and endings. I used random testing quite a bit, and tried to tune the parameters so that the Emily and Alone endings would be approximately equally likely.


As with A Paradox Between Worlds, I wrote a really negative review for this game before it was released, just to get it out of my system. Here it is (I trained a neural network on 100 Sam Kabo Ashwell reviews and this is what it gave me. That neural network was my brain.):

This game calls itself a “dating sim/social anxiety simulator”. Given this description, as well as the first scene, it becomes entirely obvious what it’s trying to do. The genre of “twine game about mental illness” has already been done to exhaustion, and this game comes off as a not particularly memorable example of the genre. The dating sim trappings come off as trying too hard, reveling in its own cleverness and referentiality more than anything else, and it is obvious from the start that they will be “subverted” in an ultimately shallow way. There are already loads of “dating sim subversions” out there, from Hatoful Boyfriend to Doki Doki Literature Club to Save the Date, and this game fails to do anything that has not already been done in superior works.

If anything could save NYE2019 from mediocrity, it is the characters. Slice-of-life works often live and die on their character interactions. Unfortunately, the characters are all bland, and the dialogue lifeless. The author tries a bit too hard to capture their verisimilitude of conversation with a constant peppering of filler words and ellipses, but it comes at the expense of having dialogue that’s actually fun to read. In addition, the flow of the conversation feels off, and the way topics transition from one to another feel forced. There is so much on-the-nose dialogue. The author might use social anxiety as an excuse, but that’s a cop out. Plenty of works featuring anxious characters read much better; take Birdland for example. It is clear that NYE2019 is attempting to imitate Birdland, but it utterly falls short.

None of the characters come across as having any unique characteristics beyond the superficial; there is the token trans girl, the talkative girl, the academically overachieving girl, but there is little to their personalities beyond that. They are stereotypes whom the author is desperately attempting to pretend aren’t stereotypes. The protagonist is defined solely by her social anxiety; she has no other pertinent characteristics or never shows them through the course of the story. Perhaps I only feel this way because I have never played Pageant, but I have no desire to after this game.

Another potential saving grace of NYE2019 is its depiction of Asian-American cultures. Unfortunately, it is here too that it falls back upon stereotypes and vagueness. In the 2020 IFComp, we had Congee and Mother Tongue, two games which portray different aspects of immigrant experiences. NYE2019 clearly takes influence from these games, but does not have the qualities that made those games enjoyable. It lacks Congee’s heart, and it lacks Mother Tongue’s cohesive themes.

If any single word describes NYE2019, it is “meandering”. In the best IF, each scene has a purpose; here, most scenes do not. It feels like a sequence of disconnected events which all ostensibly take place around the same place and time. The potential themes set up in the opening scene are only cursorily examined for the most part, until they are pounded on with all the subtlety of a sledgehammer.

Basically, I was afraid that the characters would come across as boring or shallow or stereotypical, the dialogue as wooden and stilted, and the structure as meandering.

I don’t think I managed to characterize Emily well enough, partly because she originated in a different game and got a lot more development there. Same for Miri and Aubrey. I’m not sure if I managed to make Karen and Emily’s relationship interesting and organic-feeling. Did their romance happen too suddenly, I wonder? There are many different paths along which their relationship may develop during the long conversation outside; not all of them have the same content, and I don’t think all of them are of equal quality.

Overall, I’m really happy with the feedback to NYE2019. It’s been great reading all the reviews that have been posted for this game; they’ve been uniformly positive so far. Thanks you all so much.

I think the reception to NYE2019 has been a lot less polarized than the reception to APBW. On one hand, I haven’t seen the kind of unexpectedly effusive and over-the-top praise that APBW got. On the other hand, I don’t think NYE2019 would get the equivalent of the golden banana of discord. The reaction has been broadly positive but a lot more mellow. And I think that makes sense; NYE2019 is a shorter, less emotionally intense game, and it doesn’t have APBW’s eccentric mechanical details. Also, Spring Thing doesn’t really encourage harsh criticisms.

Future Work

(MCU voice) Karen Zhao will return.

(okay, MCU never actually says the line out loud but w/e)

I am planning at least one more entry in the pageantverse, this time with the four main characters having an online ttrpg session while quarantined during the pandemic.

For NYE2019, I’m planning a few updates. One would be incorporating character art in the game (thanks to brushmen). Another would be to expand a bit on the Kevin and Mom sections of the game, and some of the conversations with the adults. I am not planning on radical changes like adding in the Aubrey/Miri routes.

I have several other ideas in the design pipeline that try to unify narrative and mechanics, and use dendry/quality-based narrative to do so. I’m thinking about a couple of IF games with more simulation/economy/management mechanics, about guiding an isolated society to survival amidst difficult circumstances. There’s another that tries to intertwine social relationships and magitech battle. It’s too early to say any more about these ideas.

NYE2019 is the last part of a triptych of slice-of-life games about queer Asian-American teens and young adults set in the 2010s, following Pageant and A Paradox Between Worlds. It might be the last game I write in that narrow frame. But it also might not be. Who knows. I plan on diversifying the themes and situations in my work, but I also have at least a couple more stories about queer teens in the pipeline.

Miscellaneous Personal Notes

  • As with Pageant, I wrote this game over a rather long period of time, as I went through a variety of emotional states. I wrote the “Alone” route as I was going through a rather dark time in terms of mental health. The Emily route was written in slightly better times. I think it kind of leaked through.
  • The COVID-19 pandemic is hanging like a sword of Damocles over the whole game (I almost wanted to put a reference there). I think Emily and Karen would both fare badly in the pandemic. Emily because she has terrible relations with her parents, Karen because she would completely withdraw from all human contact save her immediate family.
  • Of the main characters, Karen is a self-insert, Aubrey and Miri are based on loose composites of people I once knew, and Emily is mostly made up (but with some self-insert characteristics). The parents and “adults” at the party are also very loose composites of people from my family’s extended social circles.
  • It pains me as a choice-based IF writer to say this, but I’ve internalized a lot of the criticisms of people who say that hypertext/choice-based IF is bad if it doesn’t have enough choices, or that hypertext IF is lesser than parser IF in some way. This doesn’t apply to the games I play; I absolutely love the kind of short linear IF that people call “not games”. But linear IF works survive on the quality of their writing, and my favorite works of linear IF have better writing than I’m capable of. I don’t think I’m an especially adept writer of prose; that’s part of why I got into IF in the first place instead of static fiction - to use interactive embellishments to mask the technically weaker aspects of my prose.
  • One of the things I absorbed from the Choice of Games school of IF is that all endings should be equally good and narratively plausible. That’s what I wanted to do for this game as well as Pageant, to make the endings where you don’t win or make friends or find a partner as interesting as the ones where you do. A number of reviewers have said that they enjoyed the “Alone” ending as much or more than the Emily ending. That’s what I hoped for, that both endings work as conclusions to Karen’s character arc.

Related Media

(this is in addition to the media mentioned in the in-game Credits)

Not necessarily direct inspirations, just things with a similar theme or similar ideas:


  • The Master of the Land by pseudavid: To list the similarities between this game and mine would take some time. Both games take place at parties, and have a constantly ticking clock and time-gated special events. Both games feature as the protagonist women in their early 20s with social anxiety and scientific interests who see themselves as “not like the other girls” in some way. Both games have the potential for the protagonist to have an uncontrollable panic attack. Both games have a wide range of player possibilities that mostly involve wandering around the party. I promise that I did not copy my game off Master of the Land (I only played it late in NYE’s development cycle), but nevertheless the similarities are remarkable. However, the two games have very different aesthetics, and the ludonarrative vibes are rather different.
  • Electric Word, Life: This is a game set at a party, from IFComp 2020.
  • Social Lycanthropy Disorder: This is yet another game set at a party with social anxiety as the main mechanic of the story.
  • Bee by Emily Short: This was the primary inspiration behind Pageant. You can see traces of Bee in NYE2019 as well.
  • Save the Date: an extremely “meta” visual novel/dating sim. Also a critique of the idea of dating sims.
  • The Arboretum: This kinetic IF is about two people who connect in part via their shared interests in dating sims, and play-act roles out of their visual novels.
  • Creatures Such As We: another very meta dating sim, this time in the Choice of Game school. It’s about game design and how relationships are filtered through videogame mechanics.
  • Butterfly Soup by Brianna Lei: This is probably the most popular Asian-American lesbian interactive fiction/visual novel out there (a very broad category, I know). It’s really nothing like Pageant or NYE2019 in any other way, but if you like my games, you might also like Butterfly Soup, and vice versa.
  • Missed Messages by Angela He: This is the other super-popular Asian-American lesbian interactive fiction/visual novel. It’s a very dark story about depression and suicide, so uh, nothing at all like NYE2019 (jk). It’s also a lot shorter and with less specific characterization than Butterfly Soup (or Pageant/NYE2019).


  • Chemistry by Weike Wang: This is my favorite piece of recent-ish Chinese-American literature, and the book about Chinese-American immigrant experiences that spoke most to me on a personal level. It’s kind of eerie how relatable it was.
  • Small Beauty by Jia Qing Wilson-Yang: This book is about a mixed-race Chinese-Canadian trans woman reminiscing over her relationships with her family after the deaths of several of her loved ones. It’s really good at capturing this sort of very complicated extended family relationship and how it involves love and secrecy and being out and not-out at the same time and running away only to go back home but where is home anyway and…
  • Enter Title Here by Rahul Kanakia: This is a novel about an ambitious and amoral Indian-American girl who is writing a book for her college applications where she pretends to become a normal American girl. It’s really funny. I think Reshma from this book would have an enemies-to-lovers relationship with Karen Zhao. Maybe I should write that crossover fanfic.


  • The Half of it: I liked this movie a lot. Ellie Chu is similar to Karen Zhao in a bunch of ways but is somehow not as awkward. I have not yet seen Saving Face by the same director but I’m assured it’s good.
  • Booksmart: I enjoyed it in a guilty pleasure kind of way. It’s also a story about how parties are awkward. The main characters are great.

Other Media:

  • Homestuck by Andrew Hussie: It’s Homestuck. It gets a few direct shout-outs in Pageant, APBW, and NYE2019. You might as well call this triptych the “Girls Who Like Homestuck (or Homestuck-equivalents)” trilogy.


Emily Short - Beyond Branching, Storylets [2], Plot-shaped level design, Macro to Micro Ideas, Small-scale structures in CYOA

Mattie Brice - Ludonarrative Resonance

Eli Cook/Rebecca Onion - Choose-your-own-adventure books (paper)

Patricia Hernandez - Kindness Coins [response]

Joey Jones - NPC Agency

This thread on the Choice of Games forum

Sam Kabo Ashwell’s post on standard patterns in choice-based games - this isn’t as useful for organizing quality-based narratives (NYE2019 uses floating modules), but it’s still canonical.

Get New Year's Eve, 2019

Leave a comment

Log in with to leave a comment.