Scripty

A branching narrative screenplay editor built for interactive stories that track hundreds of player choices without traditional branching paths.

React TypeScript Vite Tauri CodeMirror
Editor demo coming soon

The Problem

Traditional branching narrative tools model choices as forks: each decision creates a new path, and the tree grows exponentially. This works for short stories but collapses under the weight of a full game. You can't have 200 meaningful choices if each one doubles your content.

The Approach

Scripty doesn't branch. It accumulates. Every choice is tracked as a data point in a portrait — not "Path A vs Path B" but "this player tends to follow, engage, push back, stay silent." The story can query this portrait at any moment to adjust tone, dialogue, and character reactions without maintaining separate branches.

This is the engine behind Do Not Push, where 200+ micro-choices (dancing, drinking, following Lilli, engaging with her discoveries) accumulate into a portrait that determines the ending — without any single choice being flagged as important.

Features

  • Multi-mode UI: Writing, Planning, and Notes views
  • Visual cork board for story planning with drag-and-drop cards
  • Character and setting codex with cross-referencing
  • Fountain screenplay format support via CodeMirror
  • AI sidebar for story assistance and consistency checking
  • Desktop app via Tauri, web app via Vite