Matrimony

Play the Full Game here.

My Role: Everything

Tools: Twine

Marriage changes you…

Three days before her wedding, an unhappy bride begins to morph and shift. Of course, she knows that engagement brings changes, and marriage even more -- that's only natural. But nobody told her she would find them carved within her flesh.

Navigate the nuclear world of the early 1950s. Ruin relationships or build them. Comply with society's expectations or turn against them. Reject the changes... or embrace them.

Background: This story was the capstone to my 2023 Summer Scholars research project. Rather than taking a solely academic look at gaming, the creative writing element of my research enabled me to put into practice the theory and advice I’d studied throughout the rest of the summer and gain insights from the experience that observation alone can’t convey. The narrative is loosely based on a flash fiction piece I wrote two years ago.

Objectives:

  • Create a compelling interactive narrative with ample player choice

  • Apply video game theory in a practical way

  • Integrate computer science into a narrative context

Below: bird’s-eye view of my Twine story map. 4 chapters, 8 endings, and nearly 500 nodes.

My Role

Matrimony was a solo project, and I personally created every component except for the cover illustration. Some of the major tasks included:

Research. Because this story was the capstone to my summer research, quite a lot of theory underpinned its creation, and a lot of thought was given to considerations like the Paradox of Choice and the story’s structure in relation to other games of its type.

Eight distinct endings. To make for a compelling experience, I wanted players to have tangibly different outcomes based on the choices they made. Broadly, the endings fall into the categories of leaving town, staying with parents, or getting married, but the specifics of each change in overt ways to make sure the outcomes feel distinct, memorable, and satisfying.

Eight major conversations. Each noticeable tangle of nodes in the map above denotes a conversation. To make these feel realistic, each node needed to have several possible dialogue options, which then interconnected to ensure that the conversation moved forward and not simply in circles.

Five major characters. Over the course of the story, the player has the chance to interact with a variety of characters in addition to controlling Barbara, the protagonist. I was careful to make each person distinct, with their own motivations, opinions, and patterns of speaking. My personal favorite was Carolyn.

Variable and choice tracking. To ensure that the story’s events and descriptions reflected the player’s past decisions, I built in conditionals that took into account not only their explicit choices, but also variables behind the scenes that tracked their play style and character relationships.

Challenges

As wonderfully full of potential as the genre of interactive fiction is, the act of writing it is not always rosy—a lament as old as the written word. Like the branching text itself, creation is a nonlinear process of looping around, diverging, and rejoining.

  • I found planning an interactive narrative to be both absolutely necessary and fairly difficult, especially as my normal creative process involves discovery writing and figuring stuff out as I go. In many ways, plotting turned out to be a microcosm of writing out the narrative itself. Because the text is nonlinear, this stage required deciding on the overall structure of my game, the major branch points, and their outcomes long before I’d written a word of the actual story. I didn’t want to risk setting myself up for choice bloat that could quickly escalate out of hand. Early in my writing process, I had to cut out an entire half of the story (which previously had included an alternate mother character) because I hadn’t realized just how much extra work it would be to include this element on top of everything else. It would have effectively doubled the already extensive conversations and interactions between the player’s character (PC) and her mother. While this might have been interesting for players, I simply didn’t have the time or capacity to include this entire second element on top of everything else.

    Yet even at this stage, it’s difficult to tell whether the branches I’d planned were properly sized or whether even these would turn into more massive of a task than I bargained for. I suspect this is something that will become more intuitive the more branching stories I write, but as a first timer, I severely miscalculated how much work some of these would take.

  • I intended to follow mostly a diamond pattern to avoid excessive bloat. This only sort of worked, in no small part due to underestimating how much certain story elements would branch within the body of the diamond. The first chapter of my story was mostly introduction; it was straightforward enough, with two major choices that set up later events rather than branching the whole narrative immediately. The second chapter ballooned once those choices paid off. In chapter 1, the player can decide whether their character graduated or quit college, and the outcome of that choice determines whether they work for a grocer or a legal firm. This meant that when they went to work in the second chapter, I essentially needed to write two different versions of the chapter—one at the firm, and one at the grocer. Added to this was a complicated conversation that took place at the chapter’s end, and I was already struggling with choice bloat.

    Chapter 3 was the chapter from hell. I wanted the player to have three main choices at the beginning of the chapter: to go to a photoshoot with their controlling fiancé, to attend a Bible study with their peers, or to seek out an enigmatic character who’d shown up in the previous chapter. If the player had decided to keep their job in the last chapter, I also needed to include a confrontation with the fiancé no matter where they chose to go.

    Two of these three paths included extensive conversations. When the player can respond to a given prompt two or three ways, conversations get complicated fast, even with only one or two outcomes to the conversation as a whole. I needed to hold all these possible paths in mind and calculate how they might recombine and condense in a logical way to keep from having to write five or six versions of the same conversation. The fact that paths might loop back on each other also added a layer of visual confusion to an elaborate conversation, even with software like Twine that provides a story map for the benefit of the writer. Conversations became spread-out, tangled webs that were difficult to make sense of.

    Bringing each of these three major paths to a natural confrontation with the groom was also both challenging and necessary for the narrative. I essentially had no choice but to write four different versions of the confrontation scene, which differed based on location and other characters’ presence. Simply changing the scene description was not enough and would have required lengthy, confusing chains of if/else statements, so, believe it or not, writing multiple versions of the same scene was actually the simpler option. On top of this was a mess of variables keeping track of the groom’s feelings towards the PC, the PC’s statistics, and the PC’s relationships with other characters in the scene. All of this added up to a very headache-inducing experience that took two weeks to write.

  • Could the chaos of chapter 3 have been avoided with better planning? Parts of it, perhaps. But the tendency of interactive fiction to bloat is, to some extent, inevitable if one is hoping to tell a story like this. I could have reduced the player’s options by choosing an in-depth conversation without detailed branching, but this risked the player feeling like they didn’t have much input into what was happening (the Paradox of Choice, once again). Conversations are not simple in real life and could split in any number of ways, so if I wanted to have a scene involving a realistic conversation that also gave the player a good range of options to choose from, there was no way forward but a tangled web.

    Perhaps a better question—and a much bigger one—is how much time and energy the author has to pursue a story of a given scale. Generally speaking, I found that the more characters the PC has relationships to, the more tangled a narrative will become. Descriptions don’t tend to add much bloat by comparison. A mostly silent story about exploring a location alone will be much less time-consuming and complex to write than a story featuring many character interactions and conversations. The difference is in the inherent premise of the story: one of these will require a lot more interconnected branching than the other. Of course, there is probably a way to make the exploration as convoluted as the conversation, but the premise lends itself to that much less readily. Deciding on a premise that fit my time and energy was imperative to avoiding later complications (including choice bloat).

  • On the scene level, I also had to decide which choices were worth presenting to the reader/player—a balancing act central to addressing the Paradox of Choice. Part of this was the difficult dance of predicting where a player might expect to have a choice and where I could assume they’d be happy to just follow the story. In some cases, they might expect a choice, but the story required that a certain event happen to progress, and potential frustration about a lack of choice on their part is a tradeoff I realized I would have to make. “Trimming the fat,” so to speak, was even more important in a branching narrative than it is in a linear one, given that the fat could exponentiate out of control if left untrimmed.

    I found that there are two main types of choice: aesthetic and consequential. Aesthetic choices can be fun, but they’re an indulgence that takes extra time and energy on the writer’s behalf. In one scene, I gave the player the option to choose between a blouse and a dress, which meant that every subsequent description of clothing had to be tagged with a tedious if/else statement depending on which aesthetic the player chose. This amounted to busywork in the scheme of the story. I also had to beware of choices that seemed consequential but were actually aesthetic. I learned to identify this trap when I found myself writing several versions of the same scene, just with the descriptions and some peripherals changed.

    A true consequential choice feels like a different story is being created—something significant has changed that the player would not have encountered in the other branch. It’s also the sort of choice that should be included in high-level planning and plotting, to account for all the directions it might take. The three different paths in my huge chapter 3 qualify as consequential, because each one leads to a unique scenario. By contrast, the quit/kept job choice from chapter 2 has a few consequential elements but, in hindsight, is largely aesthetic.

    There are ways I could have made some aesthetic choices consequential. For instance, a choice of what to wear could have had a positive or negative affect on a character’s impression of the PC later in the story, changing their relationship. But these are decisions I would have had to make in advance and not fix as the story was being written. It was very difficult to go back and make an aesthetic choice matter later in the writing process.

    A related, side challenge to this complication that I encountered was a mental one: I found it was simply hard to determine if I was being repetitive when I was writing similar scenes that necessitate similar dialogue. Had I mentioned the rain or the dust too many times? It was hard to tell, because different nodes that might not interact at all might still have similar descriptions, and so the repetition was entirely on my end and not the player’s. A similar issue arose with physical gestures and character locations. If paths rejoin after a few branches, and the rejoining node makes mention of a hand on someone’s shoulder, I had to make certain that each of the nodes leading into it included that hand. This was more a small, frustrating wrinkle than a large problem, but worth mentioning here.

  • From a story perspective, the personality of the player’s character also posed a problem. Because the player controls her actions and responses to in-game situations, the character might act arbitrarily abrasive one moment and incredibly kind the next due to most branching options generally having either a rude/kind choice dichotomy or a docile/proactive one. This led to readers reporting that the character felt inconsistent. While these choices altered variables behind the scenes, their immediate outcomes weren’t visible to the player and mostly just showed up in an “insights” node at the end of each chapter. In a sense, they were frustrated that past choices didn’t push them towards different dialogue options.

    This was a hard dilemma to tackle because it poses a contradiction: the players feel that the character is inconsistent, but really, it’s the players themselves who, through their choices, are making her act inconsistently. The trouble, then, seemed to be that the choices offered were inconsistent with past actions, and the apparent solution would be to have past choices affect future available options. For instance, if a player acted rude in the past, then the dialogue options presented to the player in the future would also be ruder, because they had chosen to make the character a rude one.

    However, restricting player agency in favor of character consistency that didn’t sit well with me. Orchestrating the game so that a player is literally unable to say something kind because they were rude in the past felt like too far of an overstep on my part, like I was railroading the player down a particular path without recourse even if they’d technically chosen the precursor to that path. If they could say something nice, why shouldn’t they have the option?

    In the end, I decided to live with the possibility of character inconsistency. For one thing, I didn’t have the time or technical ability to slowly nudge the story in such a subtle way, where future social choices become more and more constricted based on a cumulative tally of the player’s past decisions. It would be possible, but certainly beyond the scope of this project. But from a more bird’s eye perspective, the question of character consistency in general is a wrinkle of the Paradox of Choice that I don’t have a good answer to.

  • Almost all the previous challenges boiled down to time management and using my available time as effectively as possible. Time was perhaps the biggest limit on my project—not my technical know-how, not my writers’ block, but time. Just looking at the expanding conical shape of the narrative I wrote, as it became progressively more complicated with each chapter, speaks to a learning process of the role time plays in the creation of interactive fiction.

    Of course, time management is an important consideration in any creative discipline, but I’d argue that it’s especially crucial in a medium where any decision I made at the start could balloon into dozens of paths if I wasn’t careful. Once I’d poured hours into making a certain path work, it was incredibly difficult to decide to remove it—even if continuing to pursue the path would lead to more work than I had bandwidth down the line. The ratio of time spent to content lost—and the mental tax from losing that content—is a high one. (This is why, in a professional setting, the game development pipeline is so rigorous and rigid. Time lost to a story that turns out to be irrelevant could mean thousands of dollars lost, as well.)

    Looking back, it would have been wise to first start out with small scenes to get a sense of how long it would take me to write branches. It was impossible to know my creative bandwidth without first testing the waters, and my past exploits in writing linear fiction did not directly translate to the experience of navigating a nonlinear story. Tackling smaller projects first would have given me better insight into how to plan a branching plot, keep choices in check, and pick a narrative premise that fit both my available energy and my ten summer weeks.

    If I could do this project over, my focus would be this: devoting myself more fully to the pre-writing process and setting myself up for success down the line by doing so. That said, it was more or less inevitable that I had to go through time-consuming trial and error to find my footing and my process for writing this kind of narrative. My stumbling blocks and mistakes will inform any future interactive fiction I tackle, and I feel much more confident in the genre than I did when starting out. So, despite some poor time management on my part, my creative project was doubtless a success in everything I learned from it.

Creative Reflection

I spent 10 weeks on this project and learned a great deal in the process. Here are my two greatest creative takeaways.

1. Narrative design is a disciplinary bridge.

As a student of both creative writing (my major) and computer science (my minor), this project was an exploration not only of the video game medium, but also of how truly interdisciplinary of a subject it is. While I was studying theory and playing through my reading list, I also made a point of taking two courses in Udemy to strengthen my understanding of how game engines and technical software function behind the scenes in my favorite story games.

In creating my own game using Twine—an extremely basic branching narrative software with minimal code elements—I found myself thinking like a computer science student far more often than I expected. Keeping track of and incrementing variables, thinking through if/else statements, and quantifying game elements like character relationships behind the scenes were all informed by my time writing code and pondering programs. Certainly, one would be able to create a simple Twine game without incorporating variables and if/else statements. But it would be difficult to design a game with a noticeable amount of narrative interactivity without these technical elements. Even without any dedicated “coding” in the creative portion of this project, it helped to be able to think like a programmer: anticipating irritating bugs, keeping my work well-marked and easy to follow, and giving forethought to how the branching elements interact with each other. All of these were critical to keeping my project streamlined and under control.

This becomes exponentially truer in large games created in real game engines rather than the simple HTML of Twine. Unity, the industry standard game engine, is an incredibly complex beast that utilizes the C# programming language to interface code and design elements, and it’s difficult to understand just how intricate this system can become if one hasn’t attempted to learn how to use Unity to begin with—and infinitely more so if one hasn’t even touched a programming language before. This is why I believe it’s important for anyone interested in narrative design to have at least a rudimentary understanding of programming and how their writing will be implemented by other designers. The video game industry is one of intense cross-discipline collaboration; contributors from business to marketing to programming to user interface must all work together to create a coherent final product. It’s important for everyone to understand and appreciate the fields they will be working alongside.

Scholarly work tends to look backwards at the past—what’s already been written—rather than ahead at the future. But the most interesting question when it comes to video games is not what video games have done already, but what they might do next in the hands of the subsequent generation of writers.

As interactive narrative becomes more mainstream, incorporated more fully into big-budget games and given the spotlight in conventions, conferences, and creative circles, it’s inevitable that the medium will only strengthen. Software like Twine, Fungus, and Articy are widely available and easy to learn, allowing writers to explore the basics of the format without too steep of a learning curve, and the more determined among them can learn the code behind these programs that will enable them to strengthen and deepen their stories. It wouldn’t surprise me if a writer with no computer science background whatsoever would find that learning a programming language becomes easier after experimenting with branching narrative, as it seems to require similar mental muscles, and the two are deeply wedded within the game industry. I anticipate the software for producing interactive fiction, as well as general knowledge of this new storytelling medium, will only become more accessible and widely recognized.

Just as important as the availability of software is the inclusion of interactive fiction as a subject for education, giving current students the tools to innovate in the already innovative genre with their own future interactive stories. As it gains more attention in academic circles and a new wave of students who grew up on games become educators, scholars, and professors, game stories might even become a subject of college classes and popularized as a subdivision of creative writing. The commonly taught formats for fiction are currently short stories, longform works, and flash fiction, but perhaps soon, interactive fiction will be added as well. Video games are not a field confined to the computer science department, as this project has shown; they have as much to teach an English student as any Austen novel—and, considering how many students game, quite an attractive one for any student perusing a class catalogue. Given the popularity of the lone video game class offered at Denison, this is an interest schools should absolutely lean into. Video games and the stories they boast are not the tiny niche they once were. Interactive fiction has worlds to teach.

2. We are only just beginning to realize the creative potential of video games.

Next
Next

Crossing Fate