全部文章

NarraLeaf Studio 迎来 1.0

从 2025 年 10 月建立仓库到 1.0,NarraLeaf Studio 的发展历程,以及它把一部视觉小说当作一项工程来组织的方式。

NarraLeaf-React 解决了视觉小说的演出问题,但使用它的前提是会写 TypeScript。许多视觉小说的作者并不写代码,而一部视觉小说也很少由一个人完成。编剧、美术、程序与翻译需要在同一个项目上协作,项目需要能够版本管理、交接与扩展,像一项软件工程那样被组织起来。NarraLeaf Studio 是为此建立的编辑器。

2025 年 10 月 17 日,NarraLeaf Studio 的仓库建立。2026 年 9 月 30 日,NarraLeaf Studio 发布 1.0。

从播放器到编辑器

Studio 是一个基于 Electron 的桌面应用。它没有另写一套引擎,编辑器中的故事预览与开发模式直接运行 NarraLeaf-React,打包出的游戏同样建立在它之上。作者在编辑器中看到的画面,就是玩家将要看到的画面。

最初的半年多,Studio 的开发节奏较慢,主要用于搭建编辑器的基础设施,包括窗口、进程间通信与属性编辑器。2026 年初,界面编辑器开始成形;4 月,蓝图系统开始设计;6 月,界面编辑器与故事编辑器合入主线。7 月 21 日,Studio 发布了第一个 minor 版本 0.1.0,8 月 2 日的 0.3.0 第一次提供了可以下载的安装包。

一个项目,而不是一个文件

Studio 延续了 NarraLeaf-React 的原则。直观依然是首要原则,每一个概念与每一处界面都以作者能否直接理解为标准。在此之上,Studio 把一部视觉小说当作一个会不断成长的项目来对待。

项目是可读的,也是可以版本控制的。角色、变量、本地化文本、资源元数据与故事都以结构化文档保存,每一种文档都有自己的差异比较与三路合并。版本控制建立在 Epic 的 Lore 之上,二进制资源同样可以增量传输。界面上的用词没有照搬 git,作者提交的是版本,远端称为服务器,Studio 按时间自动记录的则是检查点。

项目能够接入开发者已有的工具。逻辑之下始终可以使用 TypeScript,0.10 起,一段逻辑可以是项目中的一个 TypeScript 文件,由作者在自己的编辑器中编写,与可视化的蓝图并列运行。构建、检查与测试都可以在命令行中运行,因此可以纳入 CI。

界面与逻辑都留有出口。界面编辑器接近原型设计工具,组件可以声明自己的参数。蓝图以节点与连线编写逻辑,每一份蓝图都明确属于项目、某个页面或某个控件,也因此知道自己能够访问什么。

扩展不需要修改编辑器。插件是一等公民,可以为 Studio 添加蓝图节点、控件、语言包与测试,并通过 Studio 内置的插件商店分发。过去只属于修改者自己的定制,现在可以发布出去,并随 Studio 一起升级。

NarraLeaf Studio 的工作区:左侧是故事树,中间的场景按行排列演出指令与对白,右侧是属性面板

从 0.1 到 1.0

2026 年 7 月至 9 月是 Studio 进展最快的阶段,三个月内有三千四百余次提交,版本号从 0.1.0 走到了 1.0。

0.3.0 带来了第一版版本控制、可以在故事中使用的表达式语言、Live2D 与 Spine 模型的导入,以及面向 Windows、Linux、Android 与 iOS 的代码签名。0.4.0 与 0.5.0 把重心放回作者直接接触的部分。故事编辑器的每一行都以作者自己的语言写出,撤销统一到同一处,编辑器内有了文档;界面编辑器的组件可以声明参数,安全区取自真实设备。

0.6.0 引入了构建变体,试玩版与完整版是同一个故事中的不同截断点,而不是两个项目。0.8.0 与 0.9.0 让多位作者可以同时打开同一个项目,故事、角色、界面、资源与翻译实时同步;同一时期加入了 DLC、受保护的构建以及逐项合并的版本控制。0.10.0 让脚本成为项目自己的 TypeScript 文件,要求来源不明的项目在运行前先获得作者的信任,插件的控件也可以出现在画布与游戏中。

1.0 与之后

2026 年 9 月 30 日,NarraLeaf Studio 发布 1.0。1.0 建立在同日发布的 NarraLeaf-React 1.0 之上,Studio 直接依赖的移动端外壳模板与原生组件也一并进入 1.0。由 0.10 创建的项目在 1.0 中无需迁移即可打开。

插件 API 的类型包 narraleaf-studio 从 1.0 起与 Studio 使用相同的版本号,随 Studio 的每一次发布自动发布。插件声明的版本范围,即说明了它面向哪一个 Studio。在 1.x 期间,插件 API 只会被标记为弃用,不会被移除。

Studio 目前提供 Windows x64 与 Apple Silicon Mac 两个版本,使用它制作的游戏可以打包为 Windows、macOS(包括 Intel Mac)、Linux、Web、Android 与 iOS 版本。Studio 以 MPL-2.0 协议开源。

这一年里,Studio 的界面与实现经历了大量调整,但我们希望它做到的事情没有改变:让作者专注于作品本身,把工程上的事情交给工具。1.0 之后,我们将继续打磨编辑器的细节,扩展插件的能力,并让 Studio 更好地服务于团队协作。

Studio 的下载与使用方法见 NarraLeaf Studio 文档,源代码托管于 GitHub。

致谢

感谢 MewBaka Studio 提供的所有支持,也感谢每一位为 Studio 贡献代码与反馈的人。