Overview and Premise
This game simulates a commute to work in the midst of a housing crisis. The player embodies an anonymous protagonist who balances awareness of social issues with their more immediate need to get to the office. From their apartment, to the subway, to their place of work, the player faces dilemmas that involve confrontation or avoidance. There is not one “correct” approach. Rather, different strategies of play reveal how awareness of a problem changes a person’s perception of the world around them. The game is meant to be replayed several times to reveal how the same commute to work can look very different depending on what the player looks at.
Initial story map // Final story map
This premise came to mind when I brainstormed issues that I wished more people around me, in particular at Stanford, cared about. At an institution like Stanford, where a large proportion of students come from wealthy backgrounds and many look forward to high-paying jobs, the housing crisis may seem irrelevant. At first, I attempted to make this population care about the housing crisis by creating a dystopia in which only the wealthiest 5% of Americans owned homes. I would show the player that even an educated, well-off individual could be a victim of this crisis, by following the story of a recent grad trying to rent an apartment.
However, I found that I could better achieve my goal by focusing on a day in the life; players were able to engage with the story more deeply when they felt that the decisions were realistic and relatable. Further, I didn’t need to imagine a dystopian world in order to convince players that the housing crisis impacts them. The kinds of everyday interactions I explore in my game are commonplace in any city today. However, we rarely get the chance to stop and consider how we interact with the housing crisis on a daily basis, and experiment with different choices. I want players to confront the guilt, discomfort, ignorance, and helplessness they feel around this issue.
Early sketch of motivating factors, chains of events, and emotions
I intentionally left the protagonist without an identity, so that any player could imagine that they were playing as themselves. Other characters they encounter are nameless and fleeting, again, leaving space for the player to project their own experiences. Rather than taking on a fictional role, I wanted my players to feel that they were acting as themselves in this game, so that they could really sit with the consequences of their actions.
History of Versions
I began with a paper prototype. This game took place in a dystopia in which even upper-class individuals struggle to find housing. In all paths through the game, the player ends up without an apartment, and potentially worse-off than before.
My paper prototype // Playtest 1
In this first in-class playtest on 10/19, I playtested with three classmates (2 M, 1 F), all in their early 20s. The key takeaways from this playtest were that 1) I needed to think carefully about the learning objectives I wanted for my player and that 2) I needed to lean into emotion to get the player invested in their decisions.
As a result, I narrowed my scope so that I could develop the setting in more detail. Rather than the journey of renting an apartment, my interactive fiction would explore a few days in the life of the protagonist. In my next prototype, I included dialogue and inner monologue, to convey more detail and emotion.
In my second prototype, I moved to Twine, and focused on a few key decisions relating to the end of the protagonist’s workday and their commute home. A big part of this prototype was adjusting to the new medium and exploring the story structure. In creating this prototype, I realized that I liked a structure that branched and merged, yielding different paths that all had the same starting and ending point.
Structure of my second prototype // Playtest 2
In this in-class playtest on 10/24, I playtested with a female classmate who was 20 years old. They suggested focusing on a day in the life, rather than trying to cover the entire process of renting an apartment in one game. Rather than having the main character experience the housing crisis directly, they could observe it around them.
This feedback caused a key turning point in my story development – I didn’t have to make my player go through homelessness to feel something about the housing crisis. Instead, I could play on the emotions that they’re likely already feeling as someone who observes homelessness around them.
I conducted another test on prototype 2. In this in-class playtest on 10/26, I playtested with a male classmate who was 21 years old. I noticed that they hesitated when making decisions, hovering the cursor between the options. Afterwards, the playtester shared that the most memorable parts of the game were the dilemmas. They suggested designing the game around these key moments that forced critical thought. They enjoyed how I included subtle clues about the housing crisis, for example, a bus driver keeping a toothbrush with him, suggesting that he might live on the bus or have unstable housing.
Two of the dilemmas included in prototype 2 that stood out to the playtester
In this prototype, I built out the storyline further, starting from the beginning of the protagonist’s day. I maintained the same story structure – the user started and ended in the same place no matter what, but their choices determined which details were shown in a given passage. I added the variable $look to track the number of times a player acknowledged the people around them impacted by the housing crisis, and used this value to determine whether the protagonist would notice other signs of the crisis in their city. I also added more dilemmas based on feedback from my third playtest. Relative to where my game ended up, this prototype included about two-thirds of the final storyline.
Using the variable $look to determine whether the player notices a woman shivering
Prototype 3 structure
In this in-class playtest on 10/31, I playtested with a female classmate who was 22 years old. After playing once, they asked whether they could go back and explore different choices. This was reassuring, as I wanted players to explore how different choices impacted the story in subtle and obvious ways. I noticed that this player chose to “look” whenever they had the option – they checked the news, confronted their roommates, etc. – and this made me wonder whether I had inadvertently made certain decisions seem favorable. I wanted each player to act as they would in real life without feeling like the author had some correct path in mind, so I tested this hypothesis with later virtual playtests.
This prototype was my complete storyline. I didn’t feel great about my ending, in which I displayed the player’s raw $look score, but I wanted to test it out to figure out how to improve. Other notable changes from my previous prototype were the incorporation of more variables to make certain actions off-limits. For example, if the player didn’t read the news at the beginning of the game, they couldn’t ask their roommates about the news. This was an early example of how the player’s awareness of the housing crisis could impact their behavior later in the game.
The news is off limits to the player
This was our final in-class playtest on 11/2, and I playtested with a female classmate who was 23 years old. In this playtest, I asked the playtester how they were feeling before and after playing my game. Here are some of the words they used:
Before: Tired, overwhelmed, happy
After: Guilt, helplessness, on edge, confrontation, fight-or-flight
It was reassuring to see that the emotions I had attempted to convey came through, even as the player had chosen a more avoidant path through the game. The player noted that the ending was abrupt, and that showing a score at the end was confusing and didn’t carry much meaning. They suggested that I prompt the user to replay, as they were curious about what might have happened had they made different choices.
From this playtest emerged my final prototype.
In this prototype, I adjusted the ending to make my game easily replayable. I decided not to display the player’s final $look score, since the game wasn’t meant to have any notion of winning or keeping score.
My updated ending for prototype 6
Playtest 6 and 7
I conducted two in-person playtests with two female friends outside of class. One of my friends is 22 and had taken CS247G, and therefore has some game design experience. The other is 20, and is an intern at Roblox.
In these tests, I did not sit next to my friends and give them instructions. Instead, I shared this playtest guide and had them fill it out. My hope was that they would play in a way that resembled the decisions they would make in real life, rather than trying to do the “right thing.”
One point of confusion was around the crossed-off words. They wondered if it was a mistake, and didn’t connect the lack of options to their prior decisions. Since they weren’t students in CS377G and weren’t familiar with the same interactive fiction examples we’d seen in class, the crossed-off words weren’t intuitive. Additionally, one of the playtesters shared that she expected to be able to navigate back after making choices, since the intro sequence featured a phone where you could click in and out of different notifications.
To address this feedback, I reworded my playtest guide instructions to explain how to interpret the crossed-off words. I also forced the player to choose one notification to view before moving on from the phone screen.
Before and after of phone screen
The changes made for this final prototype were minimal. I revised the intro sequence with the phone screen as shown above, and added the following language to my playtest guide: “Based on the choices you make, some paths through the game may be blocked, indicated by strikethrough.”
Playtests 8, 9, and 10
I conducted my final three playtests virtually, distributing my modified playtesting guide to:
- F, 19, Electrical Engineering major at Iowa State
- M, 21, Computer Science major at University of Washington
- M, 23, Philosophy major at Stanford
I was most interested in learning how other non-CS377G students navigated my game, and how gameplay might look different when I’m not in the room. Here are the playtest results for the Iowa State student (my sister 🙂).
While I wasn’t able to incorporate all of the feedback from these playtests, these playtesters’ comments showed that my game successfully evoked the complex emotions I was hoping for. Across the three playtests, here are some of my results:
“I feel conflicted about the tradeoff between public safety and respecting one’s right to be in the public sphere.”
“I feel like paying attention to the news gives me more information about the current things happening around me, and becoming more active in my everyday life would help me impact the issues in the world.”
“While I assume it is intended to be generalized, it was very relatable to where I live and what I have experienced in my own life. So, I was able to make decisions (at least the first time around) that I would have made myself if I were placed into these situations.”
I did: I created my first interactive fiction game ever. I tested with 10 different people, and I am glad this forced me to share my creative work with friends and strangers!
I learned: Building a story is impossible without mapping out my plot, modeling important branching points, and doing lots of sketching.
Next time: I’d test with people outside of class sooner, and potentially include a welcome screen to get everyone on the same page about what to expect in my interactive fiction game.