The Art of Story Mechanics

Originally published on June 13, 2017, at sfwa.org. Reprinted with permission.


The late Robert M. Pirsig, in his famous book Zen and the Art of Motorcycle Maintenance, wrote with some anxiety about the split between “classic” culture (maintaining a motorcycle) and “romantic” culture (riding a motorcycle). He was wrong about some things, but it’s certainly true that many people are creative in one way and not in the other.

I come from a long line of mechanics and tinkerers, but I didn’t get the gene. Not for me the pleasures of making something work. As a kid, I did well enough in math class, but I always felt like I was cheating. I was very good at memorizing how to follow a process, but I never really understood the underlying truth of what I was doing.

I’ve always been a writer, but I’ve never been a tinkerer.

Until now.

In March, I started working on a contract for Choice of Games. I’ve never written interactive fiction before, and other than a bit of BASIC and HTML, I’ve never coded before. I’m having a lot of fun. And for the first time in my life, I’m learning how to tinker. It’s already having an effect – a beneficial one, I think – on all of my prose, including the non-interactive stories.

The day I signed the contract and sat down to begin telling my story, I felt adrift for a moment. Choicescript, the language I’m using, is easy to learn and there are many resources for the beginner. So I understood pretty quickly what each command would do, the function of each tool. But what were the rules for using those tools? Which ways of using those tools were wrong, and which ways were right?

That’s when I had an epiphany: When my code works, it works; when it doesn’t, it doesn’t. There are more or less efficient or elegant ways of doing something, and there are many examples to follow, but when it came down to it, I had the freedom to kludge my scene together any way I wanted. Although my editor will appreciate it, nobody really cares how clever my code is. What matters is the story that emerges from it.

Or rather, stories.

That moment of freeing myself from rigid concepts of right and wrong was also a useful reminder about storytelling.

We writers often treat our works-in-progress like imperfect versions of Platonic ideals, as if the Story Council has the ur-copy of every novel in its big library in the sky and we’re just trying to make our version as close to that as possible. We polish, and refine, and all of that involves making choices. Is this better than that? Will putting the exposition in Chapter 2 work better for the character arc than putting it in Chapter 3? If only someone would give us the answer key!

George Saunders recently described his writing process as a series of instinctive decisions: he imagines a meter on his forehead with P for Positive on one side and N for negative on the other. In a binary conception, every change moves the needle one way or the other. Good or bad, right or wrong. Decisions are not value-neutral. Edits move the novel closer to its potential greatness, until it either achieves that greatness or the deadline arrives.

With interactive fiction, the writer is making choices, but based on what works rather than what’s right. It might seem like a fine distinction, but acknowledging that more than one possibility can work at any given plot point feels a little subversive.

It’s a good reminder that editor or beta-reader feedback is only useful insofar as it helps us make the story work in the way we want it to work. There’s no right way to build a motorcycle: there are more elegant ways and less elegant, more powerful and less powerful, less expensive, more expensive, bigger or smaller, quieter or louder.

Sometimes, the well-meaning person giving you feedback is trying to tell you how to turn your motorcycle into a helicopter.

There are examples to follow and tricks of the trade, but there’s no one right way to tell a story. Story structure, like any engine, is amenable to tinkering.


The game that Kate mentions being in process of writing for Choice of Games in this piece has now been published! You can find out more about The Road to Canterbury and play the first three chapters for free, or watch a trailer and read an interview with Kate. We hope you'll check it out!


Do you find that you can tinker in your creative arts, or do you get caught up in the idea of doing things “the right way?” Are you comfortable tinkering with your story structure, or are you more comfortable with a set path for your narrative? We want to hear from you on our forum!


Going Interactive or: How I Learned to Relax and Let the Reader Take Control

One of the things I love the most about writing is finding
the rhythm of a story, whether it’s in the voice of a character, the flow of
the words around them, or the (hopefully) seamless transition from one scene to
the next. So when I decided a year or so ago to write a novel-length
choose-your-path game with Choice of Games (and, later, to write a short interactive
piece which appeared in sub-Q),
I was in for a challenge. Not only would I have to learn two new languages (ChoiceScript and ink) to write my
stories in, but I would also have to shift the way I approached the writing
altogether. 

Interactive fiction, even when it is tightly scripted by the
author, gives some control of the narrative to the reader—my job as a writer
was less to guide every step the reader/player took along the narrative path
and more to make sure that no matter what path they traveled, it was a
satisfying and engaging one. So how to make that happen and still tell the
story I was interested in conveying? I discovered that, for me, the best
strategy was to focus on having a strong and cohesive structure and let the
narrative take different shapes within it. 

In my Choice of Games work, this approach means having set pieces in each chapter—large events or goals that affect everyone in the game, no matter what choices they’ve made thus far. I grew up watching soap operas and I think of set pieces like the events they would have during “sweeps weeks,” when Nielsen measured ratings—a tornado comes to town, a killer is on the loose, the annual charity ball is in danger of being cancelled, etc. Not all of my set pieces are so dramatic, but in each one, any character in the world of the story will have some role to play or goal to achieve. The interactivity comes in why it matters to them, how they go about it, and, usually, what they choose to do at the end – all of which are tracked separately but feed back into the main story.

Here’s an example using the tornado set piece: if a tornado
descends on one of the farmhouses in town and our player character (let’s say
our player has decided to be a girl named Dorothy) chooses to go out in the
storm (vs. hiding in the cellar) in order to warn the townspeople about the
danger (vs. to save her dog Toto) because she wants to be mayor one day (vs.
out of the goodness of her heart), each of those decisions would be tracked a
little separately, on top of the actual difference in the story text in the description
of her frantic run towards town as opposed to her time crouched in the cellar.
I might track, for example, whether Dorothy was outside or inside when the
storm hit, how her relationship with Toto suffers slightly because she didn’t
try to help him, or her choice of ambitiousness instead of altruism.
Ultimately, whatever choices our player has Dorothy make in that moment, she’ll
end up in Oz – but depending on these and other choices, she might land in a
different location, have Toto not warn her later on when the flying monkeys are
coming, or see the famous Glinda the Good Witch more as a rival for power than
a potential helper.

As the writer, my job in all of this is to create all of those decision points and to give opportunities for them to matter in the story going forward. If I decide to track Dorothy and Toto’s relationship, I need to make that a part of the story, so that players can experience it being either good, bad, or neutral, depending on the choices they’ve made. If I track ambitiousness as part of the player character’s personality, I need to not only have opportunities for them to try to use that ambition to achieve their goals (and either succeed or fail in response), but also create opportunities in the dialogue of other characters or the narrative as a whole for that ambition to play a role. 

Luckily, this isn’t quite as complex as it seems—for my Choice of Games game, I’ve already decided which personality and relationship variables I will be tracking at the start of the game, along with any variables that will affect what happens in the end of the game or affect the world as a whole (like, for example, Dorothy’s popularity with the citizens of Oz or how much turmoil there is in the kingdom). In each chapter, my main job is then to create an outline that establishes what the set pieces are within that scene and details the plot points that lead into and out of that set piece. In our tornado scene, for example, plot points leading up to the tornado might include a tornado warning, establishment of Dorothy’s relationship with the workers on the farm, her encounter with a mean teacher, and the impending arrival of the storm. Each of those plot points will have a few choices within it that give the player the chance to make smaller decisions that will add up over time to a big impact on their actions, personality, relationships, and the world as a whole. 

One of the things I love the most about the Choice of Games model is that there are no wrong decisions per se—no chances to turn to page 46 and suddenly find out that the door you picked leads to the vacuum of space. Similarly, personality traits are never about choosing good vs. bad—they’re more like choosing introvert vs. extrovert or risktaker vs. cautious—and no matter what the variables look like at the end of the game, they are expected to present a satisfying and non-judgmental conclusion. That said, it’s always fun to shake things up, which is why I took a somewhat different approach to my shorter interactive fiction piece, Thanks for the Memories

In Thanks for the Memories, the player takes the role of the main character, who wakes up with no memories (not even of her own name) and has to buy them back to understand more about who she is and how she got into this situation. It’s not too complicated of a concept story-wise, but to turn it into a finished piece I had to follow a few beginning steps that would serve anyone who wants to write interactive fiction well – figure out the best story and interactive structure for your piece and then choose a language/tool that fits that structure (and that you’ll actually use).

(Note: As with traditional prose, one of the best ways to understand and get great ideas about interactive fiction is to experience it – check out IFDB, places like sub-Q Magazine, Choice of Games, and the entrants in major interactive fiction competitions like IFComp and The Spring Thing for ideas.)

Figuring out the
story and the structure.
There are many different
structures and formats for interactive fiction – choice-based stories, games
that take typed input from the player and turn it into an action for the game
to respond to (also known as parsers), experimental hypertext approaches where
you replay the same scene over and over but can click different things each
time, and so on and so forth. I had to keep my eyes on the prize – focus on the
core of the story that I wanted the player to experience (experiencing
different memories to learn more about the life of the main character) and the
primary reason that I was using interactivity to explore that story (it meant
that the memories could be experienced non-linearly and that the player had to
choose which ones to read through).

With
choice as such an important element, for example, I knew I wanted the
interactive elements to be presented as straightforward choices on the bottom
of the screen. (If instead, I had wanted the player to feel like they were lost
in a series of disjointed memories that they had to piece together, I might
have had the player select words within one snatch of memory that take them to
another.) Similarly, because choosing one memory after another was a key part
of my idea, I had a good idea of the structure I needed – a central frame story
that gave the main character a way to get access to memories and then come back
to the main narrative (a simple version of the loop-and-grow structure
mentioned in this great round-up of patterns in choice-based games).

From
there, the rest of the structure was developed by asking “how” questions of
myself to and then answering them – “how does the player pick the memories” led
to the development of a Alexa/Siri-like device for the main character to
interact with, “how does someone without memories know what to ask for” became
the development of keywords that the main character recognizes during either
the main narrative or other memories and the player can then decide to explore,
“how do I keep narrative momentum going” became the addition of an outside time
pressure in the frame narrative. I’m a pantser by nature, so I made a lot up as
I went, but by staying true to my original intent, I was able to keep my later
decisions and additions in line with the story I wanted to tell, even when I
was deep in the code.

Choosing the right
language and/or tool.

Speaking of code - there are a lot of different tools and
languages for creating interactive fiction
. Twine is probably the most popular for
choice-based fiction – it requires very little coding language and almost
resembles Scrivener in its “put text on index cards and then link them
together” approach, but can be used to do a TON of very sophisticated things.
I’ve used it a bit, but the languages I am most familiar with personally are ink (which I used to write Thanks
for the Memories) and Choicescript (the language developed by
Choice of Games for their games). Both are great (and free!) – ink can track
every piece of text your player ever sees, which was key for me in being able
to subtly change the text of the Thanks for the Memories based on the memories
the main character has experienced, and Choicescript is wonderful for keeping
track of statistics and making sure that every choice the player makes has a
long-term consequence.

Really though, the best language is the one you’ll use. Most choice-based languages will have a lot of tools in common – the ability to define and use variables (i.e. set the color of Riding Hood’s to red and her name to Sally), if/then statements (i.e. if Sally the Riding Hood is more than 20 minutes late, the wolf has already eaten grandma), and the ability to link a choice to a new piece of text. While each has things it excels at and others it does a bit less intuitively, the only way to really see which one works for you and your story is to read up on the languages, play games made in them, or (my favorite) get in there and get your hands dirty! There’s no real cost to most interactive fiction tools, so jump on in! (Note: I have never written a parser, but have heard great things about Inform as a tool to create it if that’s what you are most interested in.) And that was just the beginning. As much fun as it would be to go into things like which types of interactivity (conditional statements, variables, state-tracking) to use in which story situations, what to do when your code just isn’t working, and approaches to testing, there just isn’t enough space or time. I’ll probably chat about this a bit more in the future on my very new Patreon, but really the person to go to for epic wisdom about interactive fiction and the #1 person on my to-read-and-listen-to interactive fiction list is Emily Short. She does game reviews, reviews of books about games, in-depth articles on approaches to IF, a round-up of places to meet up with other enthusiasts, and more. Check out her work and her writing and most importantly, give interactive fiction a try!


Have you tried writing interactive fiction? How did it go for you? We want to hear more from you! Check out the discussion post for this blog entry on our forum.