Plotra Docs
Who it is for

Game writers

For games and interactive stories: branching dialogue with variables, quests, short strings with character limits, localization, and export to Ink, Yarn Spinner and Twine.

A game's writing is not one text. It is conversations that branch, quests that unlock each other, and hundreds of short strings that have to fit a button. Plotra gives each of those its own tool, beside the world bible they all draw on. A dialogue is drawn as cards joined by jumps and tested by playing it. Every line, choice and string has a stable String ID, so the game, a voice session and a translation all point at the same text. Dialogues leave as Ink, Yarn Spinner or Twine files.

The Interactive narrative and Localization modules carry a Beta tag in the product.

Start writing for freeEvery feature is on the Free plan. No card needed.

Set up

  1. Start the project. In the cold open, choose Something else under "What are you making?" and pick Game / interactive. Or use New project and choose the type there.
  2. Switch on the rest of the tool set. A game project starts with Interactive narrative on. The others are under More → More tools:
ModuleWhat it gives a game
World bibleFactions, items, species and types of your own, canon status and continuity checks
LocalizationThe Translate view, a glossary, and CSV and XLIFF files for translators
Releases & revealsReleases, called patches in a game project, and what the player has learned by each
  1. Set the languages if you will translate: Project settings → Reveals & languages, under Written in and Translated into. Languages are codes such as fr or pt-BR.

Only the workspace's owner and admins can switch modules on. See Modules.

Typical workflow

  1. Build the world first. Give characters, places and factions their own pages and link them with [[. A dialogue line whose speaker is a character note counts as a link to that character.
  2. Write a dialogue. Choose Dialogue from the binder's New… menu. It opens as a canvas with a Start card. Add Line, Choice, Condition, Set and End cards and draw jumps between them, left to right. See The Dialogue view.
  3. Add variables. A variable is a Number, a Text or a Yes/no with a starting value. Condition cards test them and Set cards change them. See Variables and The expression language.
  4. Play it. Play walks the dialogue from Start as a game would, offers the choices as buttons and reports each condition and each change to a variable. It also reports the problems it meets. See Playing a dialogue.
  5. Chain the quests. In the Quests view, press New quest and drag from the dot on a quest's right to the quest it unlocks. A quest is a page with a giver, prerequisites, objectives, a reward and the notes it reveals. See The Quests view.
  6. Write the strings. The Strings view holds button labels, item descriptions, captions and alt text, in categories. Give a string a character limit and the count turns red when you go over. See The Strings view.
  7. Translate. Fill in the glossary with the names that must stay the same, then open Translate on the scope Strings and dialogue lines. Export CSV or XLIFF, send it to a translator, and import what comes back. A translator needs no Plotra account. See The round trip.
  8. Catch what went stale. When a source line changes after it was translated, its row shows Source changed. Filter on it before each build.
  9. Export for the engine. Each dialogue's Export menu saves Ink, Yarn Spinner, Twine (Twee 3), JSON or a CSV of its strings. Export CSV in the Strings view saves the whole string table: every short-text field, then the lines and choices of every dialogue.
  10. Track patches. Add a release for each patch in the Release roadmap and tag what each one reveals. The Quests view then leaves out quests the player has not reached under a spoiler horizon. See Releases.

Working with a team

WhoGive themThey can
Another writer or narrative designerWorkspace member, or Editor on the projectEdit dialogues live with you, create quests and strings
A producer or a lead who reviewsCommenterRead everything, play every dialogue, export, and comment on text notes
An engineer who needs the filesViewerOpen, play and export dialogues and the string table
A translatorNothing: send the CSV or XLIFF fileWork outside Plotra

Everyone who has a dialogue open edits it live and sees the others' pointers. See Working together.

ForRead
The six kinds of card and what each holdsThe six kinds of card
How String IDs are made and keptString IDs
What Ink, Yarn and Twine files keep and leave outExporting a dialogue
The string table file, column by columnExporting the string table
Translation statuses and the "Source changed" flagThe Translate view
The term baseThe glossary
CSV and XLIFF, column by columnFiles for translators
Lore pages and entity typesThe world bible
What the player knows by each patchThe spoiler horizon
A world shared with a novel or a showShared worlds

Things to know

  • Export only. Plotra does not read Ink, Yarn, Twee or its own JSON back into a dialogue. Treat the project as the source and the engine files as output.
  • Quests have no states. A quest has prerequisites and objectives, but there is nowhere to mark it active or done.
  • A character limit does not stop you typing. It tells you when you are over; the toolbar counts how many strings are.
  • A dialogue is not prose. It has no comments or suggestions, file exports and the EPUB leave it out, and a read-only link shows a placeholder in its place. Version history does keep versions of it.
  • Two people on the same card: changes to different cards are both kept. If two people change the same card at the same moment, the later change wins for that card.
  • Sizes. A dialogue line holds 2,000 characters and an expression 500. A string holds 5,000 characters, with an ID of up to 80.
  • Quests without the World bible. The Quest kind is made by the Interactive narrative module, but it is listed in the binder's New… menu only when World bible is on. Without it, create quests with New quest in the view.
  • The glossary is not in the translators' files. Send it separately.
  • Subtitles are not made from branching dialogue. SRT export reads the dialogue of script-format scenes only.
  • The AI agent can't create a dialogue.

On this page