# Ren'Py + story scripts
URL: https://wwadd.dev/stacks/renpy-visual-novel
Last verified: 2026-09-30

A story-first workflow for visual novels: dialogue and branching in Ren'Py scripts, screens for UI, and Python for custom rules.

## When to use it
- Dialogue, choices, and illustrated scenes carry most of the game
- Writers need readable scripts and predictable branching
- Built-in saves, rollback, and localization matter more than a general-purpose scene editor

## How the pieces fit
Ren'Py scripts own dialogue, labels, choices, and scene changes. Screen language defines menus and UI; use Python for custom state and rules when the story needs them. Work with the engine's save and rollback model rather than treating every interaction as an external side effect. Test branches, save compatibility, and text layout with the actual art and translations. Use the launcher to build and test each supported target.

## The tech and its role
- Ren'Py: Story runtime, dialogue, branching, saves, and distribution
- Screen language: Menus and interactive UI
- Python: Custom rules and state beyond story scripting

## Real-world examples
- Doki Doki Literature Club: Ren'Py's official site identifies the desktop original as a Ren'Py game. This does not describe later ports or their engines. (source: https://www.renpy.org/)
- Bad End Theater: The engine's official showcase identifies this branching narrative game as made with Ren'Py. Engine example, not a claim about its private implementation. (source: https://www.renpy.org/)

## Skip if
Skip if real-time action or 3D simulation drives the game, or direct console export is a requirement.

