什么是 NovaMark
NovaMark 是一套为文字游戏、互动小说、视觉小说设计的脚本语言和运行时系统。
如果你以前没有写过脚本语言,可以先把它理解成:
一种专门用来写“剧情、对话、选择和状态变化”的格式。
它不是为了替代通用编程语言,而是为了让创作者更自然地表达:
- 谁在说话
- 当前出现了什么画面
- 玩家可以怎么选
- 这些选择会怎样改变剧情
- 哪些状态应该展示给玩家,哪些状态只用于内部逻辑
它解决什么问题?
如果你直接用通用代码写剧情,常见问题是:
- 对话和程序逻辑混在一起
- 编剧不容易读懂
- 不同前端(Web、Native、CLI)很难复用同一份内容
NovaMark 的目标就是把这几件事分开:
脚本负责
- 内容
- 分支
- 状态变化
- 资源引用
宿主负责
- 界面布局
- 动画
- 打字机效果
- 存档文件管理
- 按钮和 HUD 展示
这样同一份内容就可以:
- 在 Web 里做成聊天界面
- 在 Native 里做成视觉小说界面
- 在 CLI 里做成文字模式
而脚本本身不用重写。
NovaMark 最核心的 4 个概念
如果你第一次接触,只需要先理解下面 4 个概念。
1. 场景(Scene)
场景是剧情组织的基本单位。
你可以把它理解成:
- 一个章节
- 一个房间
- 一段剧情片段
2. 对话与旁白
你写的大多数内容,其实都是:
- 旁白
- 角色对话
3. 选择与分支
互动叙事的关键在于:
- 玩家能选什么
- 这些选择会把剧情带向哪里
4. 状态
状态包括:
- 变量
- 物品
- 标记
- 结局
状态决定脚本会如何继续运行。
NovaMark 不是什么
为了避免误解,这里也明确说一下 NovaMark 不负责 的部分。
NovaMark 当前不是:
- 连续时间轴动画引擎
- UI 框架
- HUD 布局系统
- 自动存档策略系统
也就是说,NovaMark 输出的是离散状态,不是连续时间流。
宿主应用决定:
- 什么时候继续推进
- 怎么显示当前状态
- 用什么方式播放动画和过渡
建议你接下来怎么读
如果你第一次接触 NovaMark,推荐按这个顺序:
这样你会先建立直觉,再去记细节。
下一步该学什么
现在你对 NovaMark 已经有了基本概念,建议开始动手实践:
下一页建议看:
Last updated on