Branching narratives get messy fast

You start with a simple dialogue tree. Add a few choices, some conditional branches, maybe a flag or two. Before long, you're juggling spreadsheets, losing track of dead-end branches, and have no idea if your story still works.

What if you could see your entire narrative at a glance?

Scene: Moonlit Deck
✓ Valid
Entry
Character enters the deck under moonlight...
Dialogue
"The stars are beautiful tonight."
Choice
Agree and stay
+trust
Choice
Change subject

Visual planning for complex narratives

Plot Hearth gives you a node-based editor where every dialogue, choice, and branch is visible. No more spreadsheet archaeology. No more wondering "does this path still work?"

  • See the whole picture: Every node, every connection, laid out visually
  • Track your flags: Boolean conditions right where you need them
  • Catch breaks early: Real-time validation shows you dead ends before export

From messy ideas to runnable code

1

Build your scenes

Drag out dialogue nodes. Connect choices. Set conditions with boolean flags. The editor keeps everything organized as you work.

2

Validate as you go

Every save runs validation. Missing branches? Unreachable nodes? Flag conflicts? You'll know immediately with actionable diagnostics.

3

Export to Ren'Py

Click export. Get clean, readable .rpy files. Same scene graph always produces identical output - perfect for version control.

4

Iterate with confidence

Every export is a snapshot. Try different narrative paths. Roll back if needed. Your previous versions are always safe.

Before: Tracking in spreadsheets

Node_42DialogueIf trust>3 goto Node_45 else...
Node_43Choice_ASet romance_flag, goto ???
Node_44???BROKEN LINK

Which node connects to what? Did I update all references? Is there even a path to the ending anymore?

After: Clean Ren'Py output

label moonlit_deck:
    scene deck_night
    show luna smile

    luna "The stars are beautiful tonight."

    menu:
        "Agree and stay":
            $ trust += 1
            jump moonlit_deck_stay

        "Change subject":
            jump moonlit_deck_deflect

Readable, validated, and ready to run. Export the same scene tomorrow and get identical output.

Simple at a glance. Powerful when you need it.

Start simple

Just dialogue and choices? Perfect. Plot Hearth doesn't force complexity on you.

Add flags when ready

Need to track character relationships or story progress? Boolean flags are right there when you need them.

Scale to 500 nodes

Built to handle complex narratives. The same editor that works for 10 nodes works for 500.

Engine-agnostic storage

Your narrative model stays clean. Ren'Py exporter today. Godot exporter tomorrow. Your work is portable.

Ready to untangle your narrative?

Start planning branching stories with visual clarity

Free during beta • No credit card required