Some story beats fight against video: long conversations, inner monologues, the quiet standoff before a hard choice. Generating minutes of video for a dialogue-heavy act is expensive, and lip-synced delivery rarely beats well-paced text. Visual novels solved this decades ago — background art, character sprites, a dialogue box, one click per line.
ReelFork's text game node brings that form into the interactive drama story tree. It renders everything live in the player — no video file involved — and when the last line is read, the story continues through the node's exit like any other node. Video nodes and text game nodes mix freely in one tree, each doing what it does best.
The case: 7 nodes, 4 endings, one text game centerpiece
The published wuxia drama "Three Invitations at the Ferry" is built from just 7 nodes: a 10-second opening video of A-Ning waiting at a ferry dock, then a single text game node — 54 lines in which three old friends arrive one by one to make their case — then a four-way choice, three video endings, and a hidden fourth: a 28-line text game node with no exit at all, ending the story in pure text.
The division of labor is the lesson. Video carries what video is good at: the opening atmosphere and the ending payoffs. Text carries the emotional core — three characters each get a full entrance, voice, and argument, at a density no video budget would allow. The entire 54-line act compiles to about 60KB inside the drama's RFD file, less than one second of video.
Staging tricks worth stealing
Sound before sight. The scene opens with an off-screen voice line — hoofbeats written as text — before the rider's sprite enters on the next line. With audio channels not yet in play, sound is staged in the reader's head.
Center stage follows the speaker. 52 of the 54 lines carry sprite adjustments — whoever speaks takes the center position while the others step aside, and once all three suitors arrive, three sprites share the screen. Each line inherits the previous line's stage by default, so the author only overrides where the blocking changes.
Rhythm is a setting, not an accident. The scene runs a 34ms-per-character typewriter with 130ms punctuation pauses, and every line carries an end-of-line pause. It reads like a person speaking, not subtitles scrolling.
The lingering last frame. When the text game ends and the choice appears, the final frame stays as the backdrop — the choice buttons float over three tokens resting in front of A-Ning. The viewer decides inside the scene's atmosphere, not on a black screen.
A text-only ending
The fourth option, "choose no one", leads to a second text game node that simply has no exit. Twenty-eight lines of monologue at the dock, and the story ends where the text ends. When an ending's weight is inner voice rather than spectacle, a text ending lands harder than a video one — and costs almost nothing to make.
How to build one
In ReelFork Studio's story tree, add a node of type "Text Game", open the built-in editor, and write sections and lines — each line takes an optional speaker, its text, and per-line overrides for four channels: background, sprite layers, dialogue box, and music. Assets are referenced from the project canvas; an Agent button can generate backgrounds and sprites in place.
Publishing compiles the scene into the drama's RFD automatically as a textgame payload with an inlined asset table. The payload is a compiled artifact — hand-written payloads are rejected at upload validation — so all authoring happens in the editor. Cinema playback, embeds, and offline exports all render it natively.
Play the example: Three Invitations at the Ferry
Originally published on the ReelFork blog.


Top comments (0)