Event Design Using Twine

And by twine I don’t mean building a game from bits of string and duct tape, but rather using Twine, the “open-source tool for telling interactive, nonlinear stories”. It’s basically a supremely easy way to build a “Choose Your Own Adventure”.

So that’s cool, but even cooler (to us) is how useful it is to designing events for Clockwork Empires. “This is madness!”, you say, but no – this is Gaslamp!

A simple event in Clockwork Empires.

A simple event from the current version of Clockwork Empires.

Let’s first set the scene by reviewing what events do in Clockwork Empires. It’s simple: to the player an event is a dialog box with an image and text description explaining a situation. At the bottom are one or more options that allow the player to react to the event in different ways, or simply acknowledge it and close the window. On the game design side, we can trigger these events based on ongoing detection of all sorts of conditions from “is it nighttime” to “have you chopped down more than 40 trees” to “is there a living Colonist who has the ‘Scholarly’ trait”. Or a gameobject can simply fire an event off at an appropriate time, for example when an Aristocratic colonist dies.

So: Twine makes it easy to create cool flowcharts to visual for event chains. Like this:


We can also easily identify loose ends in event chains that need to be fixed or implemented, like the FIXME here.

Which, while we’re writing it, looks a bit more like this:


(Did I mention how much I love Komodo?)

Although extremely powerful, the raw script does not allow us to easily visually narrative flow. (Before you suggest it – yes, a AAA studio might have an event editor with built-in visualization,  but we’re no AAA studio! This is Gaslamp!)

Chris was good enough to take some time yesterday to create a flowchart visualization of ALL currently implemented events in the game, arranged so they begin at the left and flow to the right as consequences occur. Like so:

He even categorized them nicely.

He even categorized them nicely for us.

Let me take this moment to note that our goal with event design is not a simple A -> B OR C -> D and so forth. That is, we want events to contribute factors to the ongoing world simulation which may then result in events. A chart of this might look something like:


… which of course doesn’t translate nicely into a flowchart, so do understand that simplification is necessary to create visual representations

Back to the Twine flowchart: Seeing our mass of content arranged like this allows us to consider where additional connections should be made. “Investigation” is a great example – this is an event chain where the player is in trouble with the Empire’s Colonial Ministry for some reason (and there are lots of ways planned to get in trouble) so an investigation takes place. Results vary on how the player responds. Perhaps they deny wrongdoing and attempt a cover-up of whatever they’re doing, perhaps they call in a favour to make it go away, or perhaps they burn the evidence and take the straight and narrow until the heat blows over.

(This list reminds me, for example, that we need to attach the Cult Shrine event chain to a Ministry Investigation event chain because It Is Not Approved to be too tolerant of of cults.)

siskoTwine lets us easily visualize event flow and even rapidly play through in a mockup from the perspective of the player. When viewing events as a flowchart or linear script it is sometimes easy to forget what has been set up in previous stages of the event’s narrative … not unlike the opening episodes of DS9 where Sisko has to get the wormhole aliens to understand his “linear” perspective.


Twine is also fun to play around with in the sense of Storytelling As Game Design. Yes, it’s that blog post from years ago! Twine enables the same thing but in the form of a make-your-own-terrible-bureaucratic-decisions story that embraces the concept of high-level player decision-making.

I got a little too excited about this and made a Twine story/game to assist with planning out events surrounding how players can interact with Fishpeople.

You can read/play it here: fishpeople in paradise.html 

(I will note for the record that this is not the least bit canonical, nor does it represent what the final design in Clockwork Empires will look like. This is just me having some fun playing with the narrative possibilities for player/fishpeople interactions. I also accidently dropped the Zebulon character completely from the story after the second page.)

In conclusion, Twine is fun. And it’s going to assist us in making sense of the increasingly complex event chains of Clockwork Empires.

Posted in Clockwork Empires, Game Design | Tagged , , , , , , , , , ,

5 Responses to “Event Design Using Twine”

  1. Euel says:

    Hu-za! Forgive that Outburst, I was Overcome with Glee. I do indeed look Fore-ward to to the Upgrade of the game, and to Further Upgrades. I was also Delighted with the “Fish-men in Paradise” text game.

    { reply }
  2. Ghin says:

    I like how the game goes back and forth between communist cabbage cults and totalitarian nazi death camps.

    { reply }
  3. Jabberwok says:

    Hooray for Twine. Also, there appears to be a grammatical error in your first image. “Let’s not provoke unnecessarily conflict.”

    { reply }
  4. MailersMate says:

    Yay! Komodo!

    { reply }

Leave a Reply

Your email address will not be published. Required fields are marked *