Friday, June 20, 2014

3 Lessons I Learned Writing A Choose-Your-Own-Historical-Adventure

The Fever! became far more massive than I ever thought possible.
It's almost here! On Thursday, June 26, my work of historical interactive fiction, The Fever! will be online at The Appendix, a very cool online journal supporting narrative and experimental history. As many of you may already know, this story started out as a short experiment and somehow grew into a behemoth of over 45,000 words with 200+ unique passages and 20 different endings. 

Over the course of writing this beast of a story, I learned quite a few things about narrative structure in interactive fiction, blending fact and fiction, and working with the editing tool Twine. So it only seemed right to share a little bit about my writing experience for the curious and for anyone thinking of embarking on their own journey of writing interactive fiction. And don't worry, you won't find any spoilers here about The Fever!

Lesson 1: Look before you leap

Web design was a very different beast back in the day. 
Back in college I wrote a short choose-your-own-path story in plain html markup. I remember it taking me roughly a weekend or two, and I remember being pretty satisfied with the results. So when I came up with the idea of writing a short interactive story about the yellow fever outbreak in Philadelphia in 1793, I though it, too, would prove to be a simple enough project. I was wrong.

There were two critical differences that I didn't take into account. First, that situating the story during a real historical period and place meant I had to do a lot of work making sure the choices given all made sense within the story's historical context. In some respects, this was absolutely the fun of the project--after all, only in this context could you have passages like where the doctor gets covered in the mysterious black vomit of his patients. But it also meant that I was limited in zany ways to kill off the protagonist. Aliens from space zapping the doctor with a disintegration ray was just not going to happen!

A second difference I failed to appreciate was that giving players meaningful choices means writing a lot of passages. The story I wrote in college had only a few decision-making points, and even then several of them were superficial choices that actually forced the player down one of two paths. But I knew very quickly that The Fever! needed to be different. I wanted my players to really feel like they had some control over their destiny. I didn't want the player to ever feel like I was forcing him or her to make a terrible choice just to get the story to the place I wanted it to go. I wanted every path, every choice to feel believable and satisfying in its own right. And that made for a crazy amount of planning and writing.

Lesson 2: Consider the experience of your players

As the story started to grow in size, I realized that one of the disadvantages of writing the story in an electronic format was that players had no way to see what parts of the story they were missing. A reader couldn't simply flip through from cover-to-cover to see what possibilities were.  I had to build in some kind of signposting for players to have some sense of the amount of progress they had made, but I wanted to make that signposting as unobtrusive as possible.

This story really did need some stinking badges!
I solved this problem by drawing on a technique common in gamification: achievement badges. Now normally, I tend to be a bit skeptical of the value of badges and achievement awards in games. All too often, these seem like a lazy way for developers to artificially stretch the play time of a short game without adding any additional content. I definitely didn't want players of my game to feel like they were getting rewarded for totally arbitrary tasks like "play this game for 100 hours" or the "find all 1000 of the teeny red flags we've hidden throughout the game world."

But while badges can be abused, in this context, they seemed to make perfect sense. Although every choice a player makes affect the narrative, some choices have more dramatic consequences than others, and some of those consequences don't become apparent until later in the story. But I wanted to ensure that player received some kind of immediate feedback when they made a particularly consequential decision, and I wanted them to get that feedback long before they reached the end of the story.

I also came to realize that digital storytelling allows for many different kinds of interaction between the player and the text, and thinking outside the box could produce much more rewarding experiences for players. When I was considering how to add tension to emotional moments in the story, I choose to break the text up over multiple passages and use timers to reveal the text more slowly. By taking control of the pacing of certain parts of the narrative, I could give those passages a little more punch.

Likewise, the mutability of electronic text provides wonderful opportunities for drawing the player into the world by allowing him or her to customize their experience. Little touches like letting players name their character can have a big effect on how deeply players connect personally to your story. Although I choose to have a named protagonist for The Fever!, I still found ways to let players enter their own words at particular junctures in the text, which really makes those moments of story more personal and impactful.

Lesson 3: Pick a writing tool you like because you'll be spending a lot of time with it

When I started this story, I was using a free tool called Inklewriter. It had a nice interface, was easy to use, and seemed to suit my purposes at first. But as the story and my imagination grew, I wanted something that gave me more flexibility. So I switched to Twine.

Your editing tool is important. Choose wisely!
Now, I won't get in to too much detail at the moment comparing Inklewriter to Twine, as I think both are great tools depending on your goals, but I will say is that about halfway through the project, I was pretty frustrated with the bugs and quirks of Twine, but I felt locked into it. A huge chunk of the story had been written by that point and there was no easy way to export my work. So I trudged ahead and indeed the story was completed, but all throughout the final stages of editing and debugging my story, I felt like I spend more time fighting with Twine than I did grappling with the story itself.

Once my story got beyond a few passages, I found that things like the absence of a spell check made catching the inevitable typos a brutal challenge. And while stories can be exported to a Rich Text format, every change my editor suggested still had to be manually tracked down in the Twine editor and updated. It was really a terrible workflow, especially when I was still writing new passages while my editor was going over material from earlier. This alone would be a reason I would avoid using Twine in the future, but it wasn't the only one of my problems.

My overall problem with Twine is that while it's a great tool for empowering non-web-developers to be able to create their own works of interactive fiction, it's not as great if you already feel comfortable with html and javascript. Sure, it has a nice visual map to show passages and their linkages, but I found the passage editor to be somewhat broken in the latest Mac versions, there's no way to undo the deletion of a passage, and Twine itself is a bit unstable, sometimes crashing mid-edit and corrupting its own files. By the time my story was nearing completion, I lived in fear of opening the Twine editor, that's how nervous I was about the software causing my to somehow lose or erase parts of my story. To me, that fear far outweigh the things that Twine did well, and while I think it's a great tool for many projects, it personally wasn't the right choice for me.

If I were doing it all over again, I'd spend more time in the beginning trying to map out the scope of your project ahead of time, and I'd want to try out a lot more editing tools than I did. I feel like it was a mistake locking myself in to one tool right away, and for anyone working on a big, very customized project, I would caution you to think about whether you'd be better off rolling your own small javascript engine for your project. Ultimately, the tools you use should save you time, not take time away from designing your awesome story!


Writing The Fever! was an amazing experience. Although painful at times, one of the joys of writing interactive fiction is the ability to expose your readers gradually to the world you are creating. Unlike linear narratives where there's often a trade-off between advancing the story and describing the environment, in interactive fiction, good storytelling and rich world-building perfectly complement each other: the more compelling the stories, the longer players will keep reading, the more paths they'll explore, and the deeper their understanding of that world. The ramifications for facilitating historical learning through interactive fiction are hopefully obvious.

That being said, while I think the benefits are obvious and the value inherent, this was still an incredibly daunting project to complete. Had it not been for the support of my friends the endless patience of the editorial and technical staff at The Appendix (Chris Heaney and Brian Jones in particular deserve a huge shout out!), I don't know that I would have been able to push myself to complete it. It is a journey worth taking, but it is not a journey to be taken lightly. Nevertheless, I find myself hoping The Fever! proves to be a popular project for The Appendix. I definitely want an excuse to do a project like this again.

Do you write interactive fiction? Have comments about The Fever? Share your thoughts in the comments section below!

No comments:

Post a Comment