Find playtest bugs while you design

Truespeak Studio checks your game's rules and story as one project and says plainly what's wrong. On a judgment call it also says why it matters and gives the usual fix, and the decision stays yours.

Join the waitlist

Windows desktop app

Advisory Quests

A quest no one can start

What's wrong
Characters can discover this quest, but no playable character meets its tag requirements, so no one can ever start it that way.
Why it matters
Everything the quest holds is content no player will ever reach.
Usual fix
Give a playable character the tags the quest requires, or loosen its requirements.
This is fine when...
characters gain those tags during play.

Illustrative. The app's own wording may differ.

What it looks for

Truespeak Studio checks for over 1,500 kinds of design issues, across every part of your game.

  • No way out

    • A chapter that traps the story

      Error Story

    • A one-way drop into rooms with no exit

      Advisory Locations

    • A conversation that can stop before its closing line

      Advisory Conversations

  • Nothing leads there

    • A line no path reaches

      Error Conversations

    • A quest step no entry reaches

      Error Quests

    • An alarm event nothing ever raises

      Error Rules

  • Can never happen

    • A choice whose condition can never hold

      Error Conversations

    • A quest ending that needs four of three objectives

      Error Quests

    • A level 20 feat that requires level 3 or lower

      Error Rules

  • Changes nothing

    • A talent nothing reads

      Advisory Rules

    • Two subclasses no rule tells apart

      Advisory Classes

    • Fire arrows that hit exactly like ice arrows

      Advisory Items

  • Goes in circles

    • Two stats that each need the other first

      Error Rules

    • Chapters that pass the story back and forth forever

      Error Story

    • Smoke and fire that keep turning into each other

      Advisory Areas

  • Once too often

    • A wall of fire that burns twice a round

      Advisory Areas

    • A spike pit that hurts again when you step back in

      Advisory Areas

    • A 2d6 rolled twice where you meant one roll

      Advisory Rules

Two kinds of finding

Error: Always wrong design

Raised only where your own authoring settles the question, such as a line no path leads to. If something set elsewhere in the game could change the answer, it isn't an error.

  • Marks the project not valid. A few also stop a save, such as two entities sharing one ID.
  • Errors can never be hidden, whatever the settings say.
  • A simple one stays one sentence. A missing ID needs no lecture.

Advisory: Almost always a mistake

Legal authoring that usually costs the design something, such as a talent nothing reads. Rarely, it's exactly what you meant, so an advisory explains itself: why it matters, the usual fix and, where it applies, when the shape is fine as it stands.

  • Never blocks anything.
  • On by default, and most can be silenced a whole category at a time.

Findings in full

One error and one advisory from each part of the project. Open an advisory for the rest of its message.

Rules

  • Error Rules

    Stats that depend on each other

    What's wrong
    These values depend on each other in a loop (armor class reads dodge, and dodge reads armor class), so none of them can be worked out first.

    Illustrative. The app's own wording may differ.

  • Advisory Rules

    A talent nothing reads

    What's wrong
    No formula, condition or gate anywhere in the project reads this feature.
    Why it matters, Usual fix, This is fine when...
    Why it matters
    A feature's only effect is being read, so taking this one changes nothing.
    Usual fix
    Read the feature where it should pay off, such as an effect's condition, a formula or a resistance check, or remove it.
    This is fine when...
    your engine uses it outside the rules, such as a perk whose only job is to unlock an on-screen readout.

    Illustrative. The app's own wording may differ.

Classes

  • Error Classes

    Classes that inherit in a loop

    What's wrong
    The parent class links lead back around to a class already passed (the paladin's parent is the knight, and the knight's parent is the paladin), so what these classes inherit can never be worked out.

    Illustrative. The app's own wording may differ.

  • Advisory Classes

    A subclass that exists only as a name

    What's wrong
    This subclass grants exactly what its parent grants, and no formula or condition anywhere checks for it.
    Why it matters, Usual fix
    Why it matters
    A character who takes it plays exactly like one who took the parent alone.
    Usual fix
    Give the subclass a group of its own, or check for it in a rule where it should make a difference.

    Illustrative. The app's own wording may differ.

Items

  • Error Items

    A weapon with no way to attack

    What's wrong
    This item is tagged Weapon, but neither it nor the item it inherits from lists an attack action, so there is no way to attack with it.

    Illustrative. The app's own wording may differ.

  • Advisory Items

    Ammo types the shot never tells apart

    What's wrong
    This weapon fires several ammo types that differ in their damage tags, but the shot never tells them apart.
    Why it matters, Usual fix, This is fine when...
    Why it matters
    Choosing ammunition changes nothing the player can see, so the choice is decoration.
    Usual fix
    Make the shot's damage read the difference, for example with a damage row that checks the ammo's tag, or give the ammo types identical tags.
    This is fine when...
    the difference pays off outside the shot, such as a poison reaction or a passive, which this check doesn't count.

    Illustrative. The app's own wording may differ.

Conversations

  • Error Conversations

    A line nobody can reach

    What's wrong
    No chain of edges leads from the start of the conversation to this node, so the line can never play.

    Illustrative. The app's own wording may differ.

  • Advisory Conversations

    No guaranteed way out

    What's wrong
    From this node, no path to an ending is guaranteed to stay open, so under some state the conversation stops without its closing line.
    Why it matters, Usual fix
    Why it matters
    In those branches the scene ends abruptly instead of on a line you wrote.
    Usual fix
    Add an exit that asks for nothing new, such as an edge to an ending with no condition, or one that repeats a condition the player already met to get here.

    Illustrative. The app's own wording may differ.

Quests

  • Error Quests

    An ending the quest can never reach

    What's wrong
    The condition on the way into this resolution can never hold (for example, it asks for four finished objectives from a set of three), so the quest can never end this way.

    Illustrative. The app's own wording may differ.

  • Advisory Quests

    A quest step nothing completes

    What's wrong
    Nothing can complete this objective: it has no completion condition, progress counter or completion events, and no Update Quest effect anywhere in the project completes or fails it.
    Why it matters, Usual fix
    Why it matters
    A player who reaches this step is stuck, and the quest stalls there.
    Usual fix
    Give the objective a completion condition, a progress counter or a completion event, or complete it from a trigger or item with an Update Quest effect.

    Illustrative. The app's own wording may differ.

Locations

  • Error Locations

    A quest destination no path reaches

    What's wrong
    A quest objective sends the player to a location that no path reaches from any starting place, so the objective, and the quest with it, can never be completed.

    Illustrative. The app's own wording may differ.

  • Advisory Locations

    A one-way drop with no way back

    What's wrong
    A one-way connection leads into a region with no way back out to the rest of the world.
    Why it matters, Usual fix, This is fine when...
    Why it matters
    Players who go in are stuck there for good.
    Usual fix
    Add a connection back out of the region, or make the way in two-way.
    This is fine when...
    the region is meant to be the end of the line. Marking one of its locations Terminal dead end records that intent and quiets this check.

    Illustrative. The app's own wording may differ.

Story

  • Error Story

    A chapter with no way out

    What's wrong
    Once the story enters this chapter, no ending and no victory can be reached, and the main quest offers no way out, so the player is trapped.

    Illustrative. The app's own wording may differ.

  • Advisory Story

    A main quest the player can walk past

    What's wrong
    The story can move past the main quest's window before the player takes the quest, and from there no victory can be reached.
    Why it matters, Usual fix, This is fine when...
    Why it matters
    A player who skipped the quest can no longer win.
    Usual fix
    Keep the quest's window open into the chapters the story can still reach, or give those chapters a route to a victory.
    This is fine when...
    players are meant to take the quest in time, and a quest they already took stays alive after its window closes.

    Illustrative. The app's own wording may differ.

Localization

  • Error Localization

    A translation that changed more than text

    What's wrong
    An entry in a translation file differs from the source in something other than text, such as an ID, a node, an edge or a condition. A translation may change only the text.

    Illustrative. The app's own wording may differ.

  • Advisory Localization

    A line the translation left empty

    What's wrong
    Text filled in on a conversation, such as a node's line, is empty in the same place in one of its translations.
    Why it matters, Usual fix, This is fine while...
    Why it matters
    Players in that language read that text in the original language, in the middle of translated text.
    Usual fix
    Fill in the missing text in that language.
    This is fine while...
    that language is still being translated.

    Illustrative. The app's own wording may differ.

Where rules meet story

Rules, characters and story live in one project, so a check can follow a reference from one part into another.

  • Rules and Quests

    Killing the pack leader completes an objective in the wolf bounty quest. Later you delete that objective.

    Error An effect aimed at a quest step that's gone

  • Story and Rules

    The smuggler ring quest is scheduled for Act 1 only, but accepting the dockmaster's offer starts it directly.

    Advisory A quest that can start outside its chapters

    Fine when the early start is a scripted plot beat.

  • Conversations and Rules

    The watchman role is cast from a pool of city guards. Someone changes that pool to pick items.

    Error A role cast from a pool that picks no characters

  • Conversations and Characters

    The bounty target role can only be played by an enemy, and the project has no enemies yet.

    Advisory A required role no character can play

    Fine while the roster is still being written.

  • Rules and Locations

    Taking the ferry lands the party at the river town's docks. Then the docks are removed.

    Error An arrival point the destination doesn't have

  • Translations and Quests

    While translating the quests into Spanish, a translator also changes the gold check in one of their conditions.

    Error A translation that changed a quest's logic

Choices that change nothing

You give the longbow fire arrows and ice arrows, each with its own damage tag. The bow's only damage row reads neither tag, so whichever arrow the player loads, the shot is the same. Nothing here is malformed, and the choice is still decoration. One family of advisories asks this question wherever a ruleset offers alternatives.

  • Two that collapse into one. Every rule that reads them gives the same result. Make a rule tell them apart, or merge them.
  • One that nothing reads. No rule reads it at all. Read it where it should matter, or remove it.
  • Where it looks. Ammo and weapon coatings, stances and other tag variants, talent branches, subclasses, and the values your effects write.
  • What it leaves to you. Balance. It asks whether a rule tells the variants apart, never whether they're equally strong.

While you work

The most serious errors show as you edit. A full check runs in the background whenever you start it, so the editors never wait for it.

  1. You leave a field

    The most serious errors in what you just wrote show at once. Nothing is checked while the caret is still in the field.

  2. You press Validate

    Each editor's Validate button shows a verdict: not run, valid, valid with advisories or not valid. The field at fault gets a red border, and nothing else does.

  3. You run Validate All

    The report on the whole project arrives part by part as each check finishes. It shows how far it has got, and you can cancel it.

  4. You click a finding

    The entity it's about opens in its tab, ready to fix.

  5. You read a long report

    Guidance that repeats prints in full the first time, then only what's wrong. Every entity is still listed.

Tip

No verdict outlives a change

Any change to the project sets every Validate verdict back to not run, because deleting a parameter can change a quest's verdict too. A green check always describes what's on screen.

Quieter or stricter

Each project sets its own bar in Project > Settings...: silence a whole category, or mark the one thing an advisory is about.

  1. Quieter

    Turn off a category you disagree with, such as Quest design advisories while open branches wait to be filled in. Or record intent where it lives: mark a location Terminal dead end, and the one-way trap into it stops reporting.

  2. As shipped

    All advisories on, apart from a few stricter conversation checks a project opts into.

  3. Stricter

    Opt into advisories for lines with no voice track and for choices with no outgoing edge. Strict mode makes a conversation with no guaranteed way out an error, to harden the graphs before you ship.

Always on

Errors, whatever the settings say. And a short list of advisories no setting hides, each for a reason:

An event that sets itself off again, with no cost to stop it
No other check warns that a chain of reactions can loop without end at runtime.
A stale confirmed as intentional note on an item
Silencing it would let the old note accept the combination again, unannounced.
A flag group scoped to quests, locations or chapters the project doesn't have yet
It clears itself once they exist.
Engine-owned data that loading had to repair
It's a fact about the project, not advice about the design.

What it doesn't check yet

The checks read what you wrote and follow its references between parts of the project. Whether a run can still be finished once a flag set in one quest closes a door in another depends on everything a player did before it, and that needs the planned work below.

  • 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.

  • Combat, economy and probability analysis

    Planned

    Estimates of encounter difficulty, of the currency players can have at each stage of the game, and of the odds of passing the checks the main story depends on.

Tip

Plot › World States

Trace a flag by hand

Until then, a world-state flag's Used By lists everything in the project that refers to it, quest by quest and down to the field. Double-click a row to open it.

See what your design is hiding