I gave a talk on interactive fiction to the Melbourne Writers group!

On the 17th of September, 2019, I gave a talk on the basics interactive fiction (IF) to the Melbourne Writers Social Meetup group, at their Writers & Creatives Social event. Overall, I was happy with my presentation, though I certainly could have managed my time better (I only got about halfway through my talk before Jim lifted that horrible TIME’S UP sheet).

Rather than letting my talk slip into oblivion, I thought I’d summarise it in a blog post.

Please save your applause for the end.

What is interactive fiction?

Well, it’s a work of text-based fiction that you, the reader/player, can interact with. I use the term “work” because IF sits in the purgatory between a “regular” literary narrative and a video game, and terms like “book” and “game” don’t quite apply to it.

The two main types of IF are parser and choice-based.

What is parser interactive fiction?

Parser IF is the oldest type of IF. Works of parser IF are digital text adventures through which you progress by inputting (typing in) commands. A passage in a work of parser IF might look like Example 1.

Example 1: A made-up example of a passage in a work of parser IF.

South of Manor

Through the twisted bars of an iron gate to the north, you behold a manor, its towers carving trails through the clouds. Against the gate’s right-side post leans a broken carriage wheel, and behind you, boring south through a forest, there’s a road.

>_

In Example 1, the “>_” is a text prompt indicating where you can type a command. You might type “open gate” or “go south,” and the work will hopefully recognise your command and forward you to the appropriate passage. Part of the challenge of parser IF is learning the commands.

I’ll be using the term “passage” a fair bit. In the context of IF, I like to think of a passage as a body of text — be it a single word, a paragraph, or multiple paragraphs — which is separated from other bodies of text by at least one command or link.

What is choice-based interactive fiction?

I create digital works of choice-based IF, so they will be the focus of this post.

You progress through digital works of choice-based IF by selecting (clicking on) a hyperlink-styled word or group of words, or just a “link.” Many works of choice-based IF have links below a passage, often in a list. If the work of parser IF in Example 1 was a work of choice-based IF instead, it might look like Example 2.

Example 2: A made-up example of a passage in a work of choice-based IF.

Through the twisted bars of an iron gate to the north, you behold a manor, its towers carving trails through the clouds. Against the gate’s right-side post leans a broken carriage wheel, and behind you, boring south through a forest, there’s a road.

I’ll try to open the gate.

I’ll take the forest road south.

Though a link can also be inside a passage, like in Example 3.

Example 3: A made-up example of a passage in a work of choice-based IF (with hypertext).

Through the twisted bars of an iron gate to the north, you behold a manor, its towers carving trails through the clouds. Against the gate’s right-side post leans a broken carriage wheel, and behind you, boring south through a forest, there’s a road.

I’ll try to open the gate.

I’ll take the forest road south.

In Example 3, selecting “manor” might forward you to a passage in which you inspect the manor through the iron bars. There would then, in the passage in which you inspect the manor, be a link to return to the “South of the Manor” passage.

When a link is inside a passage, rather than below it, it’s called “hypertext.” Technically, I could make a work of choice-based IF with or without hypertext or entirely with hypertext. As there is so much hypertext in Fein’s Deluge — one of my own works of IF, which I’ll discuss later — I refer to it as a work of “hypertext IF” or a work of “hypertext-based IF.”

Printed works of choice-based IF are different from digital works. You progress in a printed work of choice-based IF by following the instructions at the bottom of a passage, like in Example 4.

Example 4: A made-up example of a passage in a printed work of choice-based IF.

Through the twisted bars of an iron gate to the north, you behold a manor, its towers carving trails through the clouds. Against the gate’s right-side post leans a broken carriage wheel, and behind you, boring south through a forest, there’s a road.

To try to open the gate, go to page 5.

To take the forest road south, go to page 10.

Page 3

Fun fact — people often refer to printed works of choice-based IF as “Choose Your Own Adventure” books, though that phrase “Choose Your Own Adventure” is actually the title of a trademarked series of IF.

Choice-based interactive fiction — structure

Many works of choice-based IF have a branching structure and are sometimes referred to as “branching narratives.” In branching narratives, the choices you make split or branch the narrative, and you continue to make choices until you’re forwarded an ending, often one of many.

Example 5: A diagram of the branching structure in a made-up work of choice-based IF.

Time cave (edit)

In Example 5, you begin by entering a dungeon — let’s say into a dusty chamber — from where you might take either the tunnel to your left or the tunnel to your right. When you make a choice — by selecting the appropriate link in the “enter dungeon” passage — you will be forwarded to a new passage. If you chose to take the right tunnel, for instance, you will be forwarded to the “right tunnel” passage, where there will be another two links, and so on, until you come to either a red or green passage. In Example 5, the red passages are endings in which you die, and the green passages are endings in which you live (and maybe find some sort of treasure).

Example 5 represents the simplest and most obvious approach to creating a branching narrative, though it also the least efficient, as the number of passages increases exponentially. Example 5 has only three levels of choice — as indicated by the numbers down the right side — and fifteen passages, so writing it would be manageable, but if I, the author, wanted ten levels of choice, I would have to write one thousand and twenty-three passages!

I like to think of branching narratives like that in Example 5 as wide and shallow. So how do I make it narrower and deeper? How do I make it more efficient to write? I bottleneck it, like in Example 6.

Example 6: A diagram of the branching structure in a made-up work of choice-based IF (with bottlenecking and variables).

Branch and bottleneck (edit)

In Example 6, as opposed to Example 5, the two pairs of passages in the second level bottleneck into just two passages in the third level, rather than each passage in each pair branching into two passages; i.e. there are two passages in the third level instead of eight. Technically, the work could keep doing this over and over — branching and bottlenecking — but then your choices would have little to no consequence.

So how do I bottleneck my work without stripping it of consequence? I use variables.

In the blue passage on the left side on the third level, you find a sword, so the work sets the variable “sword” to “true.” In the mustard passage on the right side, you find only bones, so the work sets the variable “sword” to false.

Both the blue and mustard passages lead to the passage on the fourth level, in which you encounter a zombie. As you continue from the “zombie” passage, a conditional statement — in the underlying coding, which you, the reader/player, cannot see — will trigger and ask if the variable “sword” is “true” or “false.”

If the variable “sword” is “true,” the work forwards you to the passage on the left side of the fifth level, where you use the sword to kill the zombie and survive. If the variable “sword” is “false,” the work forwards you to the red passage on the right side of the fifth level, where the zombie kills you, as you’re unable to kill it without the sword.

Of course, the resolution of a variable doesn’t have to result in death, though if a variable doesn’t resolve in a meaningful way, you may feel that there are no consequences to your choices.

If you want to learn more about branching, bottlenecking, and variables, I recommend starting with Dan Fabulich “By the Numbers: How to Write a Long Interactive Novel That Doesn’t Suck.”

While the branching structure is common, there are many different large-scale and small-scale structures in choice-based IF and many works which utilise a range of large-scale and small-scale structures.

If you want to learn more about large-scale structures, I recommend starting with Sam Kabo Ashwells post “Standard Patterns in Choice-Based Games,” and if you want to learn more about small-scale structures, I recommend starting with Emily Shorts “Small-Scale Structures in CYOA.”

Choice-based interactive fiction — my works

It was Sam Kabo Ashwell’s representation of “open map” IF that inspired me to create Fein’s Deluge, a perfect example of a work of choice-based IF that utilises hypertext while also taking inspiration from works of parser IF, particularly in the way in which you navigate the work.

If you want to read/play it, here is a link to where Fein’s Deluge is hosted on itch.io:

https://nick-petrou.itch.io/feins-deluge/

I have also started (and put aside) another work of choice-based IF, Raid on the Silver City, which has more in kind with a branching narrative (with bottlenecking, of course).

If you want to learn more about Raid on the Silver City, this link will take you to a page dedicated to Raid on the Silver City on this blog:

https://nickpetrouauthor.com/portfolio/rsc/

Resources

I’ve only discussed the basics, so here are some resources.

Community

The IF community is relatively small, but there are several community websites, and the community is healthy.

http://ifdb.tads.org/

https://intfiction.org/

http://ifwiki.org/index.php/Main_Page/

https://www.ifarchive.org/

https://planet-if.com/

https://emshort.blog/

Structure

I’ve mentioned these links already, but here they are again.

https://heterogenoustasks.wordpress.com/2015/01/26/standard-patterns-in-choice-based-games/amp/

https://www.choiceofgames.com/2011/07/by-the-numbers-how-to-write-a-long-interactive-novel-that-doesnt-suck/

https://emshort.blog/2016/11/05/small-scale-structures-in-cyoa/

Tools

I create IF in Twine 2 (SugarCube); if you want to learn more about Twine, here is a link (Example 5 and Example 6 are edited screenshots from Twine 2).

https://twinery.org/

Another popular IF tool is ChoiceScript, though I know very little about it.

https://www.choiceofgames.com/make-your-own-games/choicescript-intro/

Developers

Choice of Games created ChoiceScript, and I believe they’re the largest purveyor of choice-based IF.

https://www.choiceofgames.com/

But there are other popular developers.

https://www.inklestudios.com/

http://www.delightgamesllc.com/

http://tinmangames.com.au/blog/

Thanks!

I hope this post at least encourages you to learn a little more about IF or even create a work of your own. If you ever want to talk about IF, please contact me; I’m always up for a chat.

You can clap your hands now.

One thought on “I gave a talk on interactive fiction to the Melbourne Writers group!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s