用途
5e-quint 是一个可执行的、经过形式化规范的《龙与地下城》第五版 SRD 5.2.1 规则实现,面向角色创建、角色成长、角色卡以及战斗流程。它可作为游戏、角色构建器或遭遇战运行工具的规则引擎。
主要能力
- 支持 SRD 中的全部职业及其至 10 级的能力,但受运行时与桌面裁定边界的限制。
- 规则以 Quint 形式化建模,并由 TypeScript reducer 执行。
- 已发布的 SRD 目录仅包含 SRD 5.2.1 内容,不含闭源许可内容;架构将“编写内容”与“可复用规则过程”分离,以便另行提供的闭源内容可在同一基础上构建。
- 提供 MCP 服务器,可将工作流暴露给智能体,包括可在 HTTP 服务器重启后恢复的 Play Sessions。
- 提供角色创建 UI 与战斗可视化器(浏览器视图)。
使用方式
- 分发:SDK 与 stdio MCP 的目标包为 @dearlordylord/dnd-sdk 和 @dearlordylord/dnd-mcp。
- 核心运行时不掷骰,也不推断战场几何;调用方需通过 API 以“见证”形式提供这些事实。
- 必需输入称为 Hole,其回答称为 Fill。在战斗中,调用方发现可选行动(Act),选择其一,然后回答解决该行动所需的问题。
- 引擎会告知应用下一步需要什么:角色选择、可用战斗行动,或缺失的输入(如目标或掷骰结果)。当某条规则依赖玩家选择或桌面观察时,运行时会返回一个待填问题;回答一个问题可能揭示下一个问题。
- MCP 交互示例(现有战斗中的示意):
- 玩家:我的战士能做什么?
- 智能体:你可以用武器攻击。目标是谁?
- 玩家:那个哥布林。我在桌上掷骰。
- 智能体:告诉我攻击结果。
- 智能体:命中。你的伤害掷骰是多少?
- 智能体:这次命中造成 8 点伤害。以下是你可以做的下一步。
适用场景
- 作为游戏规则引擎。
- 作为角色构建器。
- 作为运行遭遇战的工具。
- 通过 MCP 服务器与智能体交互,进行可恢复的 Play Sessions。
限制
- 运行时与桌面裁定存在边界,具体边界见文档。
- 已发布目录仅含 SRD 5.2.1 内容;闭源许可内容不包含在内,需另行提供并在同一基础上构建。
- 新增机制必须通过所属运行时的准入边界,或获得新的过程支持。
- 核心运行时不掷骰、不推断战场几何,这些事实由调用方提供。
- 面向其他语言的实现正在通过一致性工具推进,包含语言中立契约、形式模型与一致性工具;任意语言下的可用性是目标,而非已发布的 SDK 承诺。
许可与归属
- 代码采用 Apache 2.0 许可。
- SRD 5.2.1 内容采用 CC BY 4.0 许可;NOTICE 文件提供仓库归属信息,工作 Markdown 语料库 README 提供其 SRD 归属、Downfallx 转换鸣谢与来源出处。
其他说明
- 能力以 Dhall 数据编写。例如 SRD 法术 Ice Knife 组合了攻击阶段与豁免阶段;其依赖追踪由编译后的 JSON 生成,原始内容以 Dhall 编写。颜色区分费用、输入空洞、解决、效果与缩放。
- 另一条编写记录可复用已实现的机制过程,而无需以名称键控的处理器;新的过程形状需要运行时支持。Surface 编写指南展示如何编译、验证并生成完整审查追踪;架构文档解释内容边界。