文档版本:v1.0 最后更新:2026-04-02 08:28:05
本文档用于定义后续所有玩法设计文档的统一写法,保证玩法规则、全局规则块、配置落点和最小样例能够一起沉淀,为后续 JSON 配置管理和后台装配提供稳定输入。
目标:
说明:
建议配合阅读:
后续每新增一个玩法,都建议新建一份玩法文档,并按本模板完整填写。
推荐存放方式:
doc/games/<游戏名称>/游戏说明文档.mddoc/games/<游戏名称>/规则说明文档.mddoc/games/<游戏名称>/最小配置模板.mddoc/games/<游戏名称>/最大配置模板.mddoc/games/<游戏名称>/全局配置项.mddoc/games/<游戏名称>/游戏配置项.md如果玩法还处于发散阶段,可以先写“构想方案”;
一旦进入可开发阶段,就应该补齐本模板里的正式章节。
后续每个玩法设计文档,建议至少包含以下章节:
以下为推荐模板正文,可直接复制新建玩法文档后填写。
玩法名称本文档用于定义 玩法模式标识 的正式规则、默认行为、配置落点和最小可跑样例。
当前阶段目标:
请用一句话写清:
示例:
玩家需要按顺序完成控制点打卡,允许跳点;普通点打卡后回答限时数学题获取奖励分,打完终点后结算成绩。
建议至少说明:
建议回答:
建议至少说明:
建议落成明确语句:
单人 / 多人GPS / 心率 / 模拟输入course / control-set / region-set / object-set建议按时间顺序写完整流程:
建议列清玩法运行依赖的对象类型。
示例格式:
| 对象类型 | 作用 | 是否必需 | 备注 |
|---|---|---|---|
start |
起始触发点 | 是 | 用于正式开赛 |
control |
普通推进目标 | 是 | 可按玩法扩展属性 |
finish |
结束点 | 视玩法而定 | 用于结束比赛 |
bonus |
奖励对象 | 否 | 可选 |
danger-zone |
危险区域 | 否 | 可选 |
还建议说明:
KML 还是运行时生成建议明确列出局状态,例如:
readyrunningpausedfinishedsettled建议逐条写清:
建议写成表:
| 当前状态 | 触发事件 | 下一状态 | 备注 |
|---|---|---|---|
ready |
起点打卡成功 | running |
正式开始计时 |
running |
结束条件满足且终点打卡 | finished |
停止计时 |
finished |
关闭结束提示 | settled |
进入结算页 |
建议明确:
推荐格式:
| 规则项 | 说明 | 默认值 | 备注 |
|---|---|---|---|
| 基础分 | 成功打点获得 | 1 |
示例 |
| 奖励分 | 答题答对获得 | 1 |
示例 |
| 跳过点得分 | 是否得分 | 0 |
示例 |
| 结算指标 | 总用时 / 总分 / 成功点数 | - | 示例 |
如果玩法没有积分,也要写清:
本节必须回答“这个玩法用了哪些全局能力块,以及默认选型是什么”。
建议按下表填写:
| 规则块 | 是否使用 | 选型 / 配置方向 | 默认值策略 | 备注 |
|---|---|---|---|---|
| 地图底座 | 是 | 自定义地图 + KML | 沿用系统默认 | |
| 点位表现 | 是 | 传统定向紫红系 | 可局部覆盖 | |
| 腿线表现 | 是 | classic-leg + 动效 |
顺序类沿用默认 | |
| 轨迹表现 | 是 | full / tail / none |
玩法指定 | |
| 定位点表现 | 是 | beacon / dot 等 |
沿用系统默认或玩法覆盖 | |
| 引导显示 | 是 | 是否显示腿线、是否允许选点 | 玩法指定 | |
| 可见性策略 | 是 | 开局隐藏 / 起点后全显 | 玩法指定 | |
| 内容体验 | 否 / 是 | 原生 / H5 / 不启用 | 玩法指定 | |
| 反馈系统 | 是 | 音效 / 震动 / UI 档位 | 玩法指定 | |
| 遥测参数 | 否 / 是 | 是否用心率 | 沿用默认或玩法覆盖 | |
| 调试能力 | 是 | 是否开放模拟器 | 开发期指定 |
本节的目的不是重复字段字典,而是明确:
本节用于把规则翻译成配置结构。
建议写成表:
| 设计项 | 配置落点 | 是否已有字段 | 默认值 | 是否建议后台表单化 |
|---|---|---|---|---|
| 起点后显示全路线 | game.visibility.revealFullPlayfieldAfterStartPunch |
是 | true |
是 |
| 跳点开关 | game.sequence.skip.enabled |
是 | true |
是 |
| 答题倒计时 | 待补字段 |
否 | 10 |
先走 JSON 区 |
| 目标点样式 | game.presentation.sequential.controls.current |
是 | 玩法指定 | 可后续表单化 |
这里建议把字段分成两类:
适合后续做后台正式表单:
更适合先放 JSON 编辑区:
本节要和后续后台管理方案衔接,避免字段落点混乱。
本节建议给出一个最小可跑 JSON 样例。
要求:
建议结构:
{
"schemaVersion": "1",
"version": "2026.03.31",
"app": {},
"map": {},
"playfield": {},
"game": {},
"resources": {},
"debug": {}
}
如果已有运行中的 event/*.json,应在本节明确引用对应样例。
建议至少覆盖:
| 验收项 | 是否通过 | 备注 |
|---|---|---|
| 开局流程与文档一致 | ||
| 打点判定与文档一致 | ||
| 计分规则与文档一致 | ||
| 点位表现与文档一致 | ||
| 轨迹与定位点表现一致 | ||
| 结算页指标与文档一致 | ||
| 样例配置可跑通 | ||
| 文档与配置字段口径一致 |
本节建议专门写:
示例:
10 秒,后续再配置化game.scoring 细项后续新增一个正式玩法文档时,建议至少同步产出以下内容:
后期 JSON 配置文档建议通过专门后台管理,但要注意分工:
也就是说:
玩法文档是“设计源头”,后台系统是“管理和发布工具”。
不要让后台方案反过来决定玩法规则结构。