Chinese Family Dinner Moment: Postmortem

I’ve been thinking about this game I made for the Single Choice Jam and its reception for a while, so I’m glad that I can write a postmortem to reflect on it. If you’ve not played the game, here is the link:

Although I don’t talk about the scenes directly here, the game features sexual harassment, racism, and transphobia.

0) Pretext: Chili Oil

I didn’t intend to make this game. I wanted to make something that’s so weird that it could only be comprehensible and fun to me. Before I properly joined the Single Choice Jam, I submitted I MUST EAT CHILI OIL to a visual novel jam. The game was a hit because of its strange premise and how intense the emotions in a short span of time. But when I published it, I felt rather alienated from my work.

I wanted CHILI OIL to be more radical and challenging than June 1998, Sydney (postmortem): more minimalist, tackles even harder subjects, and even more heartrending. But I ended up writing a story about tragic romance – and perhaps, due to my failure, the game actually became quite the hit.

In my postmortem for CHILI OIL, I lamented about how the game didn’t feel me. The story escaped from my hands and became something else. To this day, I still don’t get why people like this game, but it must be doing something very effective to garner responses every other day. Nevertheless, I know I didn’t want to make a game like it.

The new game is going to be different. It’s supposed to be comedic, absurdist, and about a part of Chinese history never really explored. This was my way to de-stress and overcome the alienation I felt from CHILI OIL.

Unfortunately, while I was developing the game weeks in (and around 6k words written), I learned that a six month long project I was on died. I got really mad and couldn’t make myself write something funny and cute anymore. Indeed, whenever I tried to write this game, I just thought how hurt I am and writing this game made me feel like I was deceiving myself.

I was too upset and I knew these emotions needed to be channeled somewhere.
All of this happened a week before the Single Choice Jam was supposed to be over. Even if I forced myself to complete the project (with lower standards), I was very sure that I’d be overshooting the deadline. As a result, I decided to shelve the project where it still remains today.

I’d like to revisit it once I’m in a better mood.

1) Chinese New Year, 2023

Without wasting time, I immediately started working on Chinese Family Dinner Moment. It’s daunting to work from scratch, but it wasn’t my first time being in this kind of hell and I had some concrete ideas going in. The nice thing about my previous project was that it’s a text parser game, just like this one. I was able to reuse what I’ve learned tinkering in the previous project for CFDM. I also knew the game was going to revolve around Chinese New Year and the “listen” command.

If anyone read the Inspirations page, the first thing they’ll see on the list is New Year’s Eve, 2019 by Autumn Chen. I’m a pretty big fan of her games (three IF works including this one owe something to her Pageantverse titles), but this game is specifically a direct response to NYE2019.

Like CFDM, NYE2019 is about a Chinese girl who has to attend one of those dreadful gatherings that old Chinese folks seem to love. The angle Autumn takes is very original and different; she’s interested in the “STEM-brained or gamer-brained tendency to view everything through the lens of math and numbers”. Unfortunately, for the titular character, anxiety isn’t measurable and she becomes quite the disaster. It’s an enjoyable game (for me, anyway) because it captures a bit of what it feels to be in this setting.

But as I played through NYE2019 multiple times, I realized I had a very different conception on what these gatherings meant to me. If Autumn was interested in the traumas of networking, I was interested in the traumas of family. Specifically, I wanted to explore why I was deeply uncomfortable in family settings – a game (or rather, a moment) that makes people like me vulnerable as long as Chinese families remain patriarchal.

2) The Chinese Prisoner's Heart Laid Bare

If I wanted to accomplish this task, I needed people to understand that through gameplay. I was reminded of how Taylor McCue described their game, He Fucked the Girl Out of Me, as “a machine to help transfer that experience to the player a bit so they can understand me and hopefully accept me.” As someone who was deeply moved by that game, even though I shared little of that experience, I knew I had to do something similar.

After all, the challenge in games like these is to make people understand, even if they are from different worlds.

Prior to developing this game, I played The Prisoner for the Apple II. What I found inspiring was how, as Jimmy Maher puts it, the “designer sins” of the game “served an artistic purpose.” I admired the game’s commitment in abandoning the notion of fun for more creative endeavors. Since both The Prisoner and CFDM dealt with trapped characters, I wanted to do something similar.

The game had to dismantle any notion of safety in player agencies, so I decided to make the parser game as abrasive and hostile as possible. I knew the only way to advance the game state was > listen. Why that unusual and obscure command? Because players more familiar with parser games and adventure games as a whole would never think of this as their first move. It’s too passive – most people would immediately try to talk to the old woman, people with a little bit of experience would try to go, and the more experienced ones would examine or take. You’d only type up a command like that if you’re really stuck. Only until you feel beaten down from trying all the commands would you stumble upon this, whether by sheer luck or by looking up the walkthrough page. I ultimately wanted the player to commit what’s considered the greatest sin in parser game design: guess the verb.

Guessing the verb, I feel, has been unfairly maligned in modern IF for understandable reasons. No one wants to spend hours figuring out that. But there’s something magical in figuring out a command that you never realized was there all along, like all the xyzzy easter eggs throughout parser games. The frustration from guessing the verb and the catharsis from finally inputting it have always been an interesting dynamic to me in classic parser titles.

As a result, I’m very taken into the oft-quoted Graham Nelson-ism, “a crossword at war with a narrative”, but for different reasons from IF theory. While many people are trying to ease this tension as much as possible, I wanted more war. What makes parser titles so interesting and enjoyable to me is the friction inherent in all parser games; no matter how much how many verbs are explicitly excised from the engine, the player can still type whatever they wish and get a bit frustrated.

This friction fascinates me because I see a lot of potential in harnessing the negative emotions developed through playing the game. Negative emotions are much stronger than positive ones because they stick with you more. Only abrasion and “bad” game design can make people so angry and therefore emotional. I was particularly inspired by an essay by Sylvie, “The Designer’s Heart Laid Bare”, which explores how abrasive design can communicate something between the designer and player. Even if the reasoning is “I think it would be funny to make the player do this”, this is a pure iota of direct communication.

And well, traumas are awfully negative, aren’t they? If trauma art is about being caught between everything is horrible, survivable, and too hard to talk about, it would make sense for players to feel hurt and angry. I could’ve explored the same subject matter in a Twine game and people might like that more, but I don’t think I would care for it. It just wouldn’t be a reflection of my trauma. Since that wouldn’t emphasize the alienation I felt, I sharpen the edges of the parser not to simply frustrate the player but to clearly express a sentiment I have in these family settings.

3) Rameses in the Imperial Grand Restaurant

In order to tease out this sentiment, I wrote the game as I programmed and learned about the Inform 7 engine. I guess it’s not bad for my first published Inform 7 game.

But this MacGyver attitude also let me explored different avenues I wouldn’t have taken if I just wrote it as a Twine game or used a plain text editor and then copied-and-pasted it into the code. Writing some code and testing the game made me think about what I could do next: it’s pretty fun to problem solve this way.

For example, I knew that I couldn’t just make the player > listen forever to Chinese relatives. It wouldn’t capture the dread I felt and I think it’s boring, so I picked two egregious figures and that’s the whole “room”/scenario. This leads to a new problem: they need to go somewhere else. Social media was where I would like to hang out when I’m bored, so there you go.

I also originally wanted the game to end in “Your Little Corner” where the player is trapped and can’t do anything, but then I suddenly remembered the impetus to this game: I once heard my family discuss how disgusting pronoun usage was in preschools and it would be a shame to leave that not mentioned. I looked at the uncle and auntie sections and there was no room for that. And then, all of a sudden, I realized I could separate the player and character from the character’s body. The “body” can talk to other people and all the player can do is listen.

That’s probably my favorite moment in designing the game. It mimicked the “survival techniques” I had to do in. Depersonalization like that seems really effective in parser games, so I hope to explore this in future titles.

I decided to end the game abruptly by having the character pose for the family photo. While the narration suggests you should just “listen”, I hope players resist that and try something else. I’m fond of all the hostile error messages (including the unintentional “eat” error – Inform 7 implementers would be very amused by it), but the generic parser error that occurs in this specific “room” is pretty fun in my opinion. And then, the game ends abruptly with a quote about beautiful moments from Faust because I think the game had to end caustically.

So, how did this gambit of a game play out? Reactions vary, but they are all responding quite predictably to how visceral and annoying the title was:

  • Several people have reported that they couldn’t figure out a way to advance the game until I wrote up the hint and solution page. I’d say this group is usually inexperienced with parser games.
  • At the same time, there are people who’ve never touched a parser game in their life who figured it out after minutes of trying. They don’t share my experiences, but they can easily empathize with these circumstances.
  • Most people feel utterly resigned once they realized what the “single choice” is.

Two interesting comments deserve highlighting:

The first comes from Autumn who’s very surprised that I was inspired by her game (I’m more confused why she didn’t realize it, haha) and said this was a more intense Rameses, a parser game that also absolves the player of agency.

Now that I think about it, both games share many concerns about the illusion of agency in interactive fiction. While the game may have subconsciously sneaked its way into this title, I wonder if I didn’t think of it because my approach to agency is pretty different. To generalize, Rameses has a fully fleshed out player character who resists the player’s input; Chinese Family Dinner Moment uses the parser to reject the player’s input.

I was thinking about the triangle of identities, i.e. the relationships between player, narrator, and character found in interactive fiction. The tension of this game comes from how blatant this relationship is and how they break down. There is no sense of co-authorship in the way many games tend to do it. The player doesn’t use the parser as a medium to interact with the game state, but rather the game world dictates what the player should do through the parser.

I quite like the Foucaldian idea that the parser disciplines the player. Pretty realistic, considering how society disciplines us to behave in certain ways.

Which leads me to another comment by someone not from the IF world: the game felt like a rat maze and they’re just slamming into walls until “realizing there was no maze. just a dead end”. This is such an apt description…

The most treasured comments I’ve received so far are along these lines: the second they stumbled upon > listen, the struggle of fiddling with the parser immediately shifts into social horror. People who realize this is a single choice game got even angrier when the bad stuff starts happening and they can’t go anywhere else.

As the generic error says, “You don’t have a choice.”

Those who reacted rather poorly to this game hated that (and also guessing the verb). > listen is so passive that you wish the player character can do something than just “listen”, but you can’t. The fact that you’re this cornered and all you can do is listen is very upsetting.

And I appreciate that because that’s the intention. I want people to hate my game. I hate being reminded I’m a weak and vulnerable person. That’s why I made this game to remember this.

4) Games as Diary Entries

Before I end this postmortem, I want to say that the game is based on real experiences I’ve had. Every single scene is lifted from a memory of mine. However, I’ve interpreted them differently because I’ve grown older, COVID-19 temporarily stopped these gatherings, and I can reflect on them now for a fun game jam.

Just like Sydney, I aged up my protagonist, so the narration can be more aware of what’s going on. Many of these discomforting scenes came from my teenage years, an era when I was barely cognizant of the concept of sexual harassment. I knew I was uncomfortable, but I thought men never faced sexual harassment. I bottled those feelings up. Those were some hopelessly naive years.

The other major difference is body dysphoria. I have some voice dysphoria, but I don’t hate my body. I just think it makes narrative sense to emphasize the alienation of the body through dysphoria.

While I think there’s the temptation to see this game as autobiographical despite its differences, there’s some heavy fictionalizing that won’t commodify it into a memoir. I guess it can be broadly considered as creative nonfiction though.

But I like to see my current games, especially this one, as diary entries that I happen to share with the public. These are my private thoughts that I decided to put on Itchio on a whim. While I do consider what the players experience, I’m more interested in understanding my desires and reflecting on them.

I tried writing diaries for a long time, but I never got the hang of it. I always thought my life was too boring and I honestly hated (and still hate) writing.

But designing games? That sounds fun. I want to make game-able diary entries, so I can share it with people if they’re interested in the subject matter and I can play them too in order to remember how I felt back then.

And to be quite honest, this postmortem is really me writing a snapshot of how I feel about completing this game. In the future, I plan to reference it and other postmortems to see how much I’ve grown as a person.

Game design seems fruitful a communication tool for socially awkward people like me.

Well, this turned out to be a long postmortem. Almost like, it’s for some IFComp entry and not a 2,000 word-ish game…

if you enjoyed reading this, thank you very much.


Hey, I think I had an IFComp entry where the postmortem clearly had more bytes than the quoted text in-game. I’m glad to read a bit more, and often I find postmortems are a great way to get back into jams/comps where I missed a few entries. I can read a lot, and I don’t have to make any critical choices, yet!

I’ve painful family dinners, nothing on this level, but the moment at the end still captured a lot of frustration for me without being traumatizing, even if my experiences didn’t get close to any of the issues you bolded. I’m glad the perspective you gained helped you write about this, so at least some good came of all this COVID stuff.


Thank you for writing this! And thank you again for playing and thinking about NYE2019…

This is very interesting to me; I think my personal experience is that I was a lot more distant from my extended family (they all lived in China, my immediate family didn’t), so my social circle were more “the local Chinese-American community” rather than extended family, and that’s reflected in NYE2019. Speaking of the patriarchal family in CFDM, I wanted to put a scene in NYE2019 where some of Karen’s mom’s friends complained about how trans women were invading girls’ bathrooms or something like that, but there was already too much going on…

About the comparison to Rameses:

In retrospect, one major difference between CFDM and Rameses is that in Rameses, the game continues no matter what you (the player) types, whereas in CFDM, the “wrong” actions will get error messages and prevent the game from continuing. In Rameses, the parser is aligned with the protagonist, and fighting against the player, whereas in CFDM, the parser also fighting against the player, but the parser is not the protagonist. In Rameses the parser is the protagonist, in CFDM the parser is society. Or is that too reductive a way of describing it?

Definitely a lot of triangle-of-identities stuff going on here.

(Maybe one of the other reasons I thought of Rameses is that I had the impression that Rameses himself was some sort of LGBT…)

It’s interesting how differently the people who weren’t used to parser games experienced this! When I saw the word listen (italicized) after trying to wait, I knew from previous parser experience that it was the command that I was expected to type. wait was actually my first action (because that’s what I initially expected of the game), but I don’t think people who don’t have parser experience would do that first.

I mean, same here…


I’m mostly joking, but I shudder at the very realistic proposition that I might write a postmortem that’s longer than the game itself…

This makes a lot of sense. I was pretty close to my extended family, benefactors, and people who worked very closely with us in general. This might be why, even though NYE2019 and CFDM are about the same subject, there’s so much difference between the two games.

Damn, didn’t realize we had similar ideas… I can see why you would’ve avoided this because there’s already a lot of things going on in that game.


I personally view the parser as the internalized hatred that society has instilled in the player character. Here are the tacit rules that the protagonist has learned and you, the player, have to figure what they are. I think the parser is still the player character to a degree, but it also reflects the disciplining nature of society.

Any attempt to deviate from these rules will always culminate in an error. And society isn’t a physical entity stopping the player character; it’s the disciplined self that stops the player from doing anything else that could benefit the character. You can’t really resist that self, which has absorbed all the bad stuff from society. You just follow it.

That’s why I view the act of loathing oneself as the parser itself. I like the idea that you are stopping and hurting yourself to find help…

I did think about this possibility if people have played, say, some Infocom titles and expected the old woman to say more stuff. But I already got a complaint that it’s a rather obscure clue, haha.


I don’t see anything wrong with this. Even my shortest entry got heavily researched. That Bill Gates’ quote when you “win” was something I picked up on the net. At one time, I tried to recreate it, but I couldn’t. It took tremendous amount to balance the game. Most of my works are like that. Lots of hidden effort that most people won’t appreciate.


There is one option other than listening, which is to stop playing … which I guess is the equivalent of getting up and walking out of the gathering, except without the consequences