My Deep Dive into Interactive Fiction

A recollection of my process and learnings while building my interactive fiction game.

Luyi Zhang
Serious Games: 377G
8 min readNov 3, 2018

--

A metaphor of me “going for it.”

As our class ventured into the realm of interactive fiction, I was eager to get my feet wet. I recently played Firewatch and fell in love with how the conversation mechanics drove the plot forward. As a genre, IF provides space for game designers to engulf players in narrative-forward gameplay. Games like With Those We Love Alive craft compelling, dynamic worlds in the player’s heads primarily through text and choices. These games produce an immersive experience that’s unique from the graphic-heavy, action games which dominate the games industry today.

For my interactive fiction, I wanted to lean into narrative-forward gameplay by focusing on providing players with curated choices for eliciting specific emotions. Inspired by Erin Hoffman’s talk, Precision of Emotion, I hoped to create meaningful gameplay by leading players through emotions which connect back to the real world.

The Original Idea

Initially, I was interested in building a game based on the themes of gender discrimination and typecasting. I wanted to take the stereotyping language of “how women should behave” in today’s workplace and politics to the extreme. What would it look like if women were only allowed to fulfill roles based on what was believed to be “appropriate for women,” such as cooking or cleaning? (As it is a reality in many places today.) How could I get players of all genders to experience the frustration and resentment of being typecast?

In my original premise, players would play as a female protagonist and undergo the realization that the language about their job has been manipulated to make them feel valued for the work they do. However, they realize they want to do other things and can’t understand why they are only accepted by others when fulfilling a specific role.

My original map containing over 16 rooms

Unfortunately, around a week into building this game, I realized I had bit off more than I could chew. In the game, players could choose three different character roles and explore over sixteen rooms. This was a poor choice of scope for a three-week game development sprint. I learned very quickly that writing IF games is like writing multiple novels that converge and diverge at the same time.

I also struggled with figuring out a catalyst which felt natural for the player progression. In the original storyline, the player gets assigned to a workplace, i.e., the kitchen, where they eventually have to realize they want to do something else. What plausible scenario could trigger this situation without feeling forced when players are stuck in the kitchen? I thought of ideas like a slipped note or accidentally discovering an item somewhere. However, these options seemed very heavy-handed to me.

To further aggravate my problems of scope, I decided to tackle Inform7. Initially, I was interested in “exploring the flexibility of the platform to develop complexity in my interactive fiction.” Having used Twine before, I believed this project would be a great learning opportunity to try a new platform for IF. However, looking back, I underestimated what one classmate aptly coined as “the beast known as Inform7”.

Inform7 and I failing to understand each other

Inform7 is purportedly based on principles of natural language. However, I could not understand Inform7 and vice versa. Its style of coding and feedback confounded me. Additionally, Inform7 is spatially based, and I often found myself losing track of where the player was. This led to problems of me believing the player was in one location, i.e., out of bed, when they were still in bed. I sunk a couple of hours trying to debug what seemed like simple player behavior.

I realized I was falling into the trap of building choices for the sake of building choices. Most of the choices I ended up with did not serve a purpose for the story. For example, the first scene of the game was the job center where players apply for a job. The point of the scene is to get players to feel they have a choice in the roles they were assigned. However, in implementation, players deciding things like picking up a pencil or figuring out how to read the job application. It felt like players were given arbitrary choices for the sake of interactivity as opposed to driving the story forward. As articulated above, this was the opposite of what I set out to do.

After a lot of deliberation, I decided to pivot.

Me solving problems

Starting Over

I knew I had to change my approach towards the project. Instead of writing a story which could easily unfold into a trilogy, I began thinking more about short stories or shows which create episodic narrative arcs.

Yes, I am obsessed with this show

Black Mirror does a formidable job fabricating and persuading viewers of complex ecosystems within a relatively short timeframe. Each episode is tightly scoped and focuses on one compelling theme.

I went back to the drawing board and ideated on a theme I felt could be conveyed in 10 to 15-minute gameplay.

My doodles

In my Master’s program, my research outside of this class is focused on investigating reentry programs for previously incarcerated individuals. A theme which pops up quite frequently in discussions about reentry is the frustration at how society views ex-cons as static individuals. Ex-cons want to demonstrate they’ve changed and are not the choices they made years ago; however, they face bias from a society which hinders them from successfully reintegrating.

An article from a year ago on The Guardian

I wanted to integrate the theme of the challenges faced during reentry with a technology trend which many fear — robots taking over. The question I wanted to explore was what happens when one group of individuals are deemed “not suitable” for society and are replaced by robots.

I also decided to switch my IF platform to Twine. Switching to Twine significantly increased my velocity of development. What previously took me hours to do in Inform7, now took a couple of minutes in Twine. It also helped to see how the narrative was branching visually.

The Game (I Actually Built)

In my game, Nothing to See Here, players play as a character who is ordered by the court to undergo a rehabilitation program through a company named JLL. The reason why the player is part of this program is purposefully left to the player’s imagination. Initially, they are informed the program will help them get back on track for contributing to society. Once the players earn enough merits (or credits), they are released from the program.

The character lives and works in their housing unit. It is a small space which contains a bed, tv, and controller. Players realize that their job is to remotely control a cleaning robot, named B-MO, to keep a park clean. Finding recyclables earns the player merits and allows them to purchase fancier lunches.

Every day is routine. The player wakes up, interacts with their case officer, orders lunch, and gets to work. Every morning the case officer asks “How are you feeling?”. There are two options, happy and sad. However, expressing sadness costs additional merits and players, if they have enough merits, have to choose if they want to express their sadness at the cost of delaying their exit from the program.

The climax of the game is when the player is embarking on their workday as usual and see on the TV, through B-MO, a person who looks familiar to them. This instigates a longing for human connection and realization of how long they’ve been stuck in the program.

Throughout the game, I wanted players to experience the frustration of feeling like their choices did not matter and facing emotional repression. There are points in the story where players are asked about what they want to do only to be redirected back to what the character they’re interacting with wanted to do. There are also variables implemented in the game where, if the player responds to a question in a way that seems to dissent from what the system wants, their “unlikability” goes up. Depending on how high their unlikability is, the number of merits they need to exit the program either stays the same or increases.

Updated map; going from 16+ rooms to 3

Final Thoughts

After playtesting the game, I received mixed feedback on the restriction of choices. Indeed, players were frustrated at feeling like their choices were limited. If I had additional time, I would want to continue tweaking the choices to help increase the feeling of agency without subverting the theme of the game. Players also said some of the choice UI was confusing. Especially for players who are not familiar with IF, they were sometimes unsure of where to click or how they could alter an answer. In the future, I would want to address the UI/UX to make it more intuitive.

I would also like to expand on the story further. The ending is currently a little abrupt. It would be better for emotional persuasion if the conclusion were built up to more gradually. Lastly, I’m interested in adding audio and visuals to the story to enhance the player’s immersion into the game. One idea is to add black and white photos for the character’s dreams before seeing the person in the park. After seeing the person in the park and their longing to connect with others grows, I would add increasingly colorful photos for their dreams.

Playtest in action

In conclusion, while I faced a lot of challenges during this project, the trial by fire taught me a lot. I learned about managing scope when developing a game. I also learned how powerful choices are for the player and how difficult it is to choose those choices. Games are indeed a series of interesting choices, and when all of the other bells and whistles of a game are removed leaving only text, the choices a player has truly matters.

Click here to play Nothing to See Here yourself. ~10 minutes of gameplay

--

--