I’m Edwin McRae, Narrative Designer and Interactive Fiction Writer, and this is Tutorial Four in my…

Ink Script Tutorial Series

In Tutorial Three we learned how to create Options within Options within Options. In this tutorial, we’re going to learn a few tricks that’ll enable us to get a bit more stylish with our interactive storytelling.

Stitches

Gathers

Glues

Let’s start in with Stitches. A Stitch behaves almost exactly like a Knot. It even looks very similar.

=== This_is_a_Knot.

= This_is_a_Stitch.

Knots and Stitches are both places that the story can ‘turn to’. But Stitches fit inside Knots. Think of it this way. If a Knot is a chapter in a paperback book then a Stitch is a page. Several Stitches can make up a Knot just like several pages can make up a chapter. I’ll demonstrate with a story I’m working on at the moment called Gore where a Cthulian apocalypse occurs during a small-town country and western festival.

As always, we start with a Divert and Knot.

-> Hoedown_Horror

=== Hoedown_Horror ===

And we’ll put -> END in there too just to stop Inky throwing up error messages at us.

 

-> Hoedown_Horror

=== Hoedown_Horror ===

-> END

 

Now let’s set the scene.

You’re centre-stage of a true horror show, yet through the chaos of squid-faced monstrosities and fear-stricken people, your keen eyes spy two fellow song-slingers in dire need.

On your left, several squid-faces are laying siege to Ginger Burn’s house bus, attempting to wrench the doors open or climb in through the shattered windows.

Inside, Ginger is putting up a valiant defence, blasting them with an antique sawn-off shotgun and horse-kicking them back with her silver-spurred cowgirl boots. But she’s horribly outnumbered and it’s clear that she won’t be able to hold them off much longer.

On your right, Jesse Winton, the incumbent Queen of Country, has been cornered by three tentacled terrors. Nearby, another trio of squid-faces are feasting on the blood-spattered remains of Jesse’s sound crew. It looks like Jesse is about to suffer the same fate.

Clearly, we have a choice to make. Are we going to help Ginger or Jesse? And once we make that binary choice, surely it’s going to lead on to another set of choices about that specific character, right? Things are going to get complicated, and fast, if we don’t organize this properly.

Thankfully, that’s where Stitches come in. Here’s how I would put a sequence like this together.

-> Hoedown_Horror

=== Hoedown_Horror ===

You’re centre-stage of a true horror show, yet through the chaos of squid-faced monstrosities and fear-stricken people, your keen eyes spy two fellow song-slingers in dire need.

On your left, several squid-faces are laying siege to Ginger Burn’s house bus, attempting to wrench the doors open or climb in through the shattered windows.

Inside, Ginger is putting up a valiant defence, blasting them with an antique sawn-off shotgun and horse-kicking them back with her silver-spurred cowgirl boots. But she’s horribly outnumbered and it’s clear that she won’t be able to hold them off much longer.

On your right, Jesse Winton, the incumbent Queen of Country, has been cornered by three tentacled terrors. Nearby, another trio of squid-faces are feasting on the blood-spattered remains of Jesse’s sound crew. It looks like Jesse is about to suffer the same fate.

* [Help Jesse.]

    -> Jesse_Winton

* [Help Ginger.]

    -> Ginger_Burns

= Jesse_Winton

-> DONE

= Ginger_Burns

-> DONE

 

One of the cool things about Stitches is that they’re only relevant to the Knot they’ve been placed inside. That means you can reuse Stitch names across different Knots whereas Knots all have to be unique within your game.

Now let’s select the Ginger Burns option through to see how it all plays out.

 

= Ginger_Burns

Intent on doing what you can to help the old cowgirl, you take in your surroundings, looking for possible courses of action.

There’s a deck chair nearby and at its feet a Bowie knife, a carved piece of wood, a bandana, a lighter and a pack of cigarettes, and an empty whisky bottle. Looks like Ginger was a doing bit of whittling, smoking and drinking to ease her nerves before the performance tonight.

Next door there’s a mobile sheepyard and shearing board used for demonstrations of shearing prowess during the competition weekend. There’s a small flock of terrified sheep huddled in one corner of that yard and a reel of hose connected to a water tap, used for washing down the board between demonstrations.

You could pop the bus’ petrol cap with the Bowie knife, cut a length of hose and use it as a siphon to fill the bottle with petrol, stuff the bandana in the top, light it up and launch your very own Molotov cocktail at Ginger’s attackers.

Or you could whack the top off the bottle with the Bowie knife, fill the bottle with stones, open the sheep yard gate and chase those sheep out with your makeshift rattle. You’re hoping that the squid-faces will look on a flock of sheep as easier prey than an enraged, twelve-gauge drag queen.

Then again, you could give Ginger up as a lost cause, which she most probably is, and sneak away with those squid-faces being none the wiser. After all, you’re not a one-person-army. You need help and the local police station is the first and best option on that front.

* [Molotov those mongrels?]

    -> Molotov_Mongrels

* [Get the flock out of there?]

    -> Sheep_Flock

* [Go fetch the cavalry?]

    -> Fetch_Cavalry

= Molotov_Mongrels

-> DONE

= Sheep_Flock

-> DONE

= Fetch_Cavalry

-> DONE

 

We’ll bring our story to a halt at this point as we have plenty of material to play with and I’m hoping you can now see how the Knots, Stitches and Diverts can work together to better organise your story branches.

But there’s something troubling me about the Gore interactive fiction experience. Do you know what it is?

Walls of Text!

Those scene descriptions are rather long. I’ve cut them down as short as they can go but they still present walls of text that the player must read before their next interaction. This isn’t great practice for IF because the longer you have until your next interaction point, the more likely your reader is to skim to get to it. That’s the unfortunate reality of IF, but there’s a way to alleviate the problem.

We can parcel the text into bite-sized chunks using Gathers and Glues.

Gathers are a hyphen “-”, and effectively gather in all of the options above, within the Stitch, to one point. Otherwise, Inky will try to read and offer ALL of the * options of one kind in your Stitch all at once.

Here, copy and paste this into Inky and see what it does.

 

-> Gather_Practice

= Gather_Practice

* Three plus three.

* Six of one.

* Half a dozen of the other.

- It’s all the same to me!

-> DONE

 

See? It doesn’t matter which option you choose. You’ll always get the same answer because of that - Gather. When combined with Options, Gathers can be used for breaking up the text like this.

-> Hoedown_Horror

=== Hoedown_Horror ===

You’re centre-stage of a true horror show, yet through the chaos of squid-faced monstrosities and fear-stricken people, your keen eyes spy two fellow song-slingers in dire need.

* [Continue.]

- On your left, several squid-faces are laying siege to Ginger Burn’s house bus, attempting to wrench the doors open or climb in through the shattered windows.

* [Continue.]

- Inside, Ginger is putting up a valiant defence, blasting them with an antique sawn-off shotgun and horse-kicking them back with her silver-spurred cowgirl boots. But she’s horribly outnumbered and it’s clear that she won’t be able to hold them off much longer.

-> DONE

 

This is a perfectly acceptable way to break up text in interactive fiction, but you might want to go with something that feels a little more integrated. The following is a technique I use quite a bit to break up text but still maintain a sense of flow.

 

-> Hoedown_Horror

=== Hoedown_Horror ===

You’re centre-stage of a true horror show, yet through the chaos of squid-faced monstrosities and fear-stricken people, your keen eyes spy two fellow song-slingers in dire need.

* On your left[...]

- <>, several squid-faces are laying siege to Ginger Burn’s house bus, attempting to wrench the doors open or climb in through the shattered windows.

-> DONE

 

That 'greater than and less then' combo <> I put in there is called a Glue. It tells Inky to glue the text that follows to the Option text that’s being presented. That way, rather than sticking out like a sore thumb on its own line, the Option text becomes integrated into the rest of the paragraph.

 

-> Hoedown_Horror

=== Hoedown_Horror ===

You’re centre-stage of a true horror show, yet through the chaos of squid-faced monstrosities and fear-stricken people, your keen eyes spy two fellow song-slingers in dire need.

* On your left[...]

- <>, several squid-faces are laying siege to Ginger Burn’s house bus, attempting to wrench the doors open or climb in through the shattered windows.

* Inside[...]

- <>, Ginger is putting up a valiant defence, blasting them with an antique sawn-off shotgun and horse-kicking them back with her silver-spurred cowgirl boots. But she’s horribly outnumbered and it’s clear that she won’t be able to hold them off much longer.

* On your right[...]

- <>, Jesse Winton, the incumbent Queen of Country, has been cornered by three tentacled terrors. Nearby, another trio of squid-faces are feasting on the blood-spattered remains of Jesse’s sound crew. It looks like Jesse is about to suffer the same fate.

* [Help Jesse.]

    -> Jesse_Winton

* [Help Ginger.]

    -> Ginger_Burns

= Jesse_Winton

-> DONE

= Ginger_Burns

-> DONE

 

So that was Stitches, Gathers and Glues in a nutshell! If you like, you can have a play with the text I’ve provided to see if you can produce a short piece of IF that feels fluid and seamless. Otherwise, write your own and see if you can use Stitches, Gathers and Glues to effectively organize your story and get it flowing.

Until next time then, in Tutorial Five, where we’ll be learning how to make our narratives more responsive with Conditional Text.