Game Development Cultivate

Writing Branching Narratives: Teller Script

10 Feb 2020
Written by Jenny

Cultivate: Before Time is a branching mystery game, which means the wonderful Gwen is writing stories with different branches giving different avenues to explore. To make this easier for her, I made a tool called Teller Script in Unity. It’s a node based system that lets Gwen design the flow of the game in a visual manner without needing to learn a scripting language.

The general idea is to add your nodes, link them together by dragging a path between them, and fill in the details! Then slot them into a scene in Unity to play the script.

Some of the nodes are specific to Cultivate, but there’s a core system that is hopefully useful to anyone wanting to create stories in Unity. I’m planning to release it on the Unity Asset Store once we’ve thoroughly tested it.

Here are a few examples of the nodes I’ve made:

Teleport Character node

Teleport a character to a specific place in the game!

TellerScript's teleport node.

Conversing node

Write a conversation between various characters. This lets you add what each character says, and add things like animations and sound effects at each part of the conversation. You can also add an alternative to each line that will run if the speaker is interrupted by the player (e.g. if the player looks at something while the conversation is happening, the player could say something about what they’re looking at, then TellerScript returns you to the original conversation using the alternative line that might start with, “So, as I was saying…”)

TellerScript's conversing node.

Branching node

This shows up to 3 branching options - add text in left, centre and/or right thought bubbles.

Branching options in Cultivate: Before Time.

Depending on which bubble the player clicks, different branches will play next.

TellerScript's branching node.

Play Animation node

Select a character, select that character’s animation, and whether or not that animation should loop.

TellerScript's animate spine node.

Play Audio node

Does what it says on the tin: pick a sound effect or music, and this node will play it!

TellerScript's audio node.

There are a lot more nodes - this is just a quick intro into our new tool. I’ve also added the ability to easily create new nodes if you’re a coder.

More on Teller Script soon - both from my coding perspective and Gwen’s writing perspective!

If you want to be kept up to date with the game design mischief we’re up to, sign up to our Newsletter. You can also follow us on Twitter and Instagram.