À propos du projet

Viv is a source-available engine for emergent narrative in games and simulations. In emergent narrative, stories arise from characters acting in a simulated storyworld, rather than being authored top-down. Viv gives narrative designers a custom programming language for specifying character actions and constructs for story sifting: identifying emergent storylines in a simulation instance such as a videogame playthrough. The project is in open beta. Its compiler, written in Python, compiles .viv source files into JSON content bundles. The JavaScript runtime, published on npm, targets JavaScript and TypeScript codebases and handles action selection, planning, and story sifting. A C# runtime for Unity is planned but not yet available. Requirements are Python 3.11 or newer for the compiler and Node.js 18 or newer for the runtime. Published packages include the compiler, the JavaScript runtime, JetBrains, VS Code, and Sublime Text editor support for .viv files, and a Claude Code plugin for LLM-assisted setup and authoring. Example TypeScript and JavaScript projects are included. The monorepo also contains syntax definitions, documentation, example projects, and an in-development LLM-powered authoring wizard. Non-commercial use is freely permitted, while commercial use requires a license from Sifty. The project is not currently accepting pull requests, but bug reports, feature requests, and feedback are welcome through GitHub issues or email.