Dialogue and narration
This page is part of the GenPy Ren'Py learning path. It focuses on practical Ren'Py 8.x production and links each concept back to the GenPy workflow.
Learning goals
- Define speakers with Character.
- Write narration and named dialogue.
- Use dialogue attributes and callbacks only when they clarify production needs.
Core syntax
Charactersay statementnarrationextendvoice_tag
Runnable example
text
define e = Character("艾琳", color="#c8ffc8")
define m = Character("我", color="#88ccff")
define narrator = Character(None) # 旁白(默认就有)Study outline
- Start with the smallest example for dialogue and narration.
- Test the key terms in a clean Ren'Py project: Character, say statement, narration, extend.
- Move the pattern back into your real project only after the example runs.
- Use GenPy docs and validation to keep the feature connected to story, assets, and export readiness.
Common pitfalls
- Test the smallest working script before layering on visual or UI complexity.
- Run Ren'Py Lint before release builds, even when the script appears to run locally.
- Keep examples in standard .rpy files so they remain editable outside GenPy.
Official references
- Ren'Py official reference: https://www.renpy.org/doc/html/dialogue.html
- Ren'Py Character reference: https://www.renpy.org/doc/html/dialogue.html#defining-character-objects
How this fits in GenPy
- Use Write mode for drafting readable scenes, then Code mode for exact Ren'Py syntax.
- Use GenPy AI only as draft assistance, with creator review before applying changes.
Recommended GenPy docs:
