Your story, branch by branch

Write conversations, quests and chapters as graphs, and the places they happen on a map, without programming. Step through a conversation or play a quest as a character before any engine exists, and Truespeak Studio flags the line no path reaches, the quest step nothing completes and the ending the story can never get to.

How it's set up

Plot › Conversations

Choice option

“The captain sent for me.”

Roll Formula
1d20 + PERSUASION - SUSPICION

Outcome Bands

Success
Minimum 15, then the guard: “Fine. Go on through.”
Partial
Minimum 10, Set Conversation State SUSPICION + 2, then “So why didn't he send word?”
Failure
No minimum, then the conversation ends, handed off to a fight
Suspicion is a number this conversation keeps, starting at 0, and a partial success raises it, so each new bluff at this gate starts further behind. Each band has its own port on the canvas, and the last one has no threshold, so whatever the dice show, one band takes it.

Conversations

Draw a conversation on a canvas: drag a role onto it to start a line, drag from a port to connect two cards, and let Auto-Layout tidy the graph. Roles keep a scene reusable, since a role can be one particular character, one picked from a pool, or whoever started the conversation.

  • Choices the player sees greyed out until they open, or doesn't see at all
  • Checks a companion makes for the player, who still picks the line
  • Timed choices that fall back to a default when the time runs out
  • Interrupts for when the player walks away mid-scene, such as “Hey, where are you going?”
  • Shop, trainer and quest-board menus the game fills from its own lists
  • Reusable pieces, such as a haggle or a goodbye, dropped into any conversation

How it's set up

Plot › Conversations

Conversation

At the Gate

Protagonist
HERO

Cast and Roles

HERO
Fill: Cast Member, Actor: Rowan, Required: On
GUARD
Fill: Launcher, Allowed Kinds: Non-Playable, Role Filter: HASTAG(WATCH)
COMPANION
Fill: Selection Set, Companions, Required: Off
Whichever guard the player walks up to plays the part, as long as that character carries the Watch tag (HASTAG asks whether a character has a tag), so one conversation serves all the guards in the city. The companion is optional: a line or a choice can ask whether one is there.

Lines that fit the moment

Write a line once and let the scene shape it: part of it can depend on what has happened, names fill in for whoever plays the role, and a regular is greeted differently from a stranger.

  • A phrase that shows only when its condition holds, such as an aside when a companion is there
  • Names, pronouns or any keyword you define, filled in for the character playing the role
  • Pools of alternative lines, each with its own odds, condition and voice take
  • Glossary terms the player can look up from inside the line
  • Several voice takes per line, picked by condition, and a music track per scene

How it's set up

Plot › Conversations

Greeting · Speech

Speaker
INNKEEPER
Text
VISITS == 1=[Welcome, stranger.]:[Back again, HERO?]

Rumor · Speech

Text
Nobody crosses (the Hollow)=GLOSSARY.HOLLOW after dark.

Taking orders · Speech Pool

Text Variants
“What'll it be?” 60%, “Name your poison.” 40%
In a conversation the player comes back to, VISITS counts the times this line has been reached, so the first visit hears the welcome and each later one hears the hero's name. In the game, the Hollow reads as plain words, and the player can call up its glossary entry. The pool picks one line by its odds each time, so the innkeeper doesn't repeat the same words at every order.

Conversation preview

Step through a conversation line by line, before any engine exists. Pick stand-ins for the roles the game fills, set the scene's state, then press Start and read the run as a transcript while the canvas traces the path it takes.

  • Start, Next, Fast Forward, Back and Reset, where Back undoes a step exactly
  • Every change to the scene's state, logged under the line that made it
  • A count on each card the run has passed more than once
  • Roll outcomes and timeouts you pick by hand instead of waiting for them
  • Interrupts you fire by hand to hear how the scene answers

Tip

Keep the preview open while you write

Until you press Start, every edit you make re-seeds the preview, so Start always steps through the conversation as it stands now.

Quests

A quest is a graph of entries, objectives and endings, and several objectives can be open at once. The journal writes itself from what each objective adds as it opens and as it closes, with entries that can change with what the player did.

  • Objective sets that need all of them, some of them, or a rule of your own
  • Progress counters in the journal, such as 3 of 5 enemies defeated
  • Several ways into one quest, such as a notice board or an overheard rumor
  • Bonus objectives, and secret ones the journal reveals only once they're done
  • Repeatable quests with a cooldown, and conditions that fail a quest

How it's set up

Plot › Quests

Quest

Poison in the Well

Gather the evidence · Objective set

Policy
At Least N, Count 3
Members
Find the torn letter, Find the empty vial, Question the miller, Follow the tracks

Question the miller · Log Entries

On Activate
“The miller was up before dawn. He may have seen something.”
On Complete
“He saw a stranger in a grey cloak at the well.”
Any three of the four clues complete the set, in any order. Each objective writes to the journal when it opens and when it's done, and a finished entry stays in the journal, crossed out.

Quest preview

Play one quest through as a character, before any engine exists. Pick a sample character and a place to start, then travel, fight, talk and use actions while the journal fills in. Conditions are checked as you go, and dice really roll.

  • Travel along the paths on your map, with each gate on the way checked
  • Fights against enemies where the map places them, with loot and anything else your rules do when one falls
  • Conversations that open in the conversation preview with your character cast, their events reaching the quest
  • Actions your character actually carries, with any item they cost paid
  • A run log of every roll, and a list of what the preview had to assume

Tip

Plot › Quests

Start a quest the way the player would

Start takes the quest's real way in, with every gate the player would face, and says why it refused. A forced start skips the gates when you only want to test a later step.

Locations

The world is places inside places, such as a room in an inn in a town, and the ways between them, drawn on a map over your own images. A place can sit on the map, or be reachable only through its door.

  • Paths that open only when a condition is met, one-way drops, and fast travel between waypoints
  • Flat, layered or 3D maps in one world, such as a tower's floors on a flat overworld
  • Open ground the player crosses freely, with buildings on it entered through their doors
  • The characters the player can meet in each place, and how many of an enemy it holds

How it's set up

Plot › Locations

Mountain Pass · Connection

Kind
Adjacency
Gate condition
ROCKSLIDE == 0

Old Well · Connection

Kind
Portal
Direction
One-way, from Courtyard to Cistern

Signposts · Fast travel network

Harbor
Gate condition FOUNDHARBOR == 1
Lookout
Gate condition FOUNDLOOKOUT == 1
The pass stays shut while the rockslide flag is on. The well drops the player into the cistern with no way back up it. Each signpost opens as a destination once its flag records the player's first visit, and from then on any open signpost reaches any other.

Story

The story is one graph of chapters with one current chapter, moved on by transitions you condition and rank. Endings can be victories, defeats or neutral; a story can be a tragedy that ends without a win, or a sandbox that never ends.

  • Quest windows that set which chapters offer a quest, and whether one still open when its window closes is kept or fails
  • Epilogues that change with what the player did
  • A win that ends the game, or rolls the credits and lets play go on
  • New Game Plus, with what a second run keeps, such as levels, gear or the endings seen
  • A story preview that puts the story in a chapter, steps a transition and shows which quests open and which fail

How it's set up

Plot › Story

Chapter

Grandmother's House

Transitions

Saved by the Huntsman
TOLDWOLF == 1 && HUNTSMANHEARD == 1
Eaten by the Wolf
TOLDWOLF == 1 && HUNTSMANHEARD == 0
Tea with Grandmother
TOLDWOLF == 0

Ending chapters

Saved by the Huntsman
Terminal, Ending: Victory
Eaten by the Wolf
Terminal, Ending: Defeat
Tea with Grandmother
Terminal, Ending: Victory
Two world-state flags remember what happened earlier: TOLDWOLF, whether Red Riding Hood told the wolf where Grandmother lives, and HUNTSMANHEARD, whether the huntsman heard the screams. Exactly one condition holds, so exactly one ending plays.

World state and glossary

World-state flags are what the story remembers: on or off, or one of several named values. A group of flags belongs to the whole game or to one place, chapter or quest. The glossary holds your world's terms once, for all the lines, journal entries and chapters that mark them.

  • Flags that belong to a chapter and reset when the story leaves it, so no later chapter inherits a stale value
  • A Used By list on each flag of everything that reads or sets it
  • Terms the player can look up without the hero asking aloud
  • Terms in folders of your own, each showing how many texts mark it

How it's set up

Plot › World States, Plot › Glossary

Town Mood · Multi-select flag

Values
Calm, Uneasy, Rioting
Default
Calm

The Hollow · Glossary entry

Display Name
The Hollow
Definition
A marsh east of the village, where the old road sinks out of sight.
Any condition in the project can read the town's mood, from a line of dialogue to a story transition. The Hollow's definition is written once, and any line, journal entry or epilogue that marks the term offers it.

Translations

Translate dialogue, quest journals, chapters, place names and the glossary into as many languages as you need. Each language lives in its own files, and the game falls back to the source language wherever a translation is missing.

  • A working language for conversations, in which the editor writes that language's text and the scene's structure stays locked
  • Name and keyword tokens kept as written in every language, so a translated line still points at the right character
  • Renames reach every language, so translated lines keep naming the right roles, characters and terms
  • Voice files in a folder per language, picked by the player's language

How it's set up

Project › Settings, Plot › Conversations

Working Language

Edit language
Spanish (es)

Gate challenge · Speech

Text
Alto. Soy GUARD.NAME, capitán de la puerta.
Original
Halt. I am GUARD.NAME, captain of the gate.
With Spanish as the working language, the conversation editor writes the Spanish copy of each line, and the roles, conditions and edges stay as the source has them; Show original brings up the source line beside it. GUARD.NAME stays as written in the Spanish line, and the game fills in the guard's name.

Not in the story tools yet

Each check and preview works on one conversation, quest, story or map at a time, with what it refers to. Checking a scenario from its first scene to every ending, and playing one through on its own, are planned, with NPC routines, names spelled per language and files made for translators' tools.

  • Full scenario validation

    Planned

    Every part of your game checked together, from the rules and characters to the quests, places and time, for any point where a player could get stuck for good by accident. Today, each check reads one conversation, quest or story and what it refers to.

  • Scenario playthrough simulation

    Planned

    Your whole game played through without graphics, automatically or step by step by you, to find what no run reaches and where a run gets stuck. Today, previews step through one conversation, quest or story at a time.

  • NPC schedules and availability

    Planned

    Routines and conditions that decide when and where a character can be met, checked so that a meeting the story needs stays possible. Today, each place lists the characters the player can meet there.

  • Names spelled per language

    Planned

    Names, titles and the other words a line fills in for a character, written for each language, so a Greek or Russian translation spells a name in its own alphabet. Today, a name has one spelling in every language. Planned before release.

  • Translator exports in XLIFF and CSV

    Planned

    The text of every language handed to translators in the formats their tools read. Today, each language's text lives in files of its own, and the conversation editor can switch to a language so a translator edits its lines in place.

Tip

Plot › Locations

Place characters where they can be met

List on each place the characters the player can meet there. The quest preview then offers a fight or a talk with each one only where it is.

Bring your own story