NarraLeaf Scripting Language – A modern, expressive scripting DSL for narrative-driven experiences.
NarraLang is a scripting language designed to simplify writing rich, structured stories for NarraLeaf. It supports syntax sugar, modifiers, contextual persistence, and flexible control flow — all optimized for visual novels and narrative engines.
- Easy to learn – Learn the basics in minutes
- Multi-language keywords – Localizable grammar (e.g., English and Chinese)
- JavaScript-style expressions – Expression-oriented, easy to embed logic
- Static Script – Generate static scripts, easy to integrate
character John "John"
image John "john.png" pos [5, 10] scale 1.0
scene Morning {
John: "Hello, Sensei."
John: "It's a new day. Let's do our best!"
John char "john-happy.png"
John: "Let's start with <b>the basics</b>."
}
In progress...
In progress...
In progress...
In progress...
MIT © NarraLeaf Project
We're just getting started! Feel free to:
Report issues
Suggest new syntax sugar
Help implement multi-language support
Contribute tests or documentation