Files
HEROLL/docs/2026-08-24_HEROLL-MVP-latest.md

10 KiB
Raw Permalink Blame History

HEROLL 玩法验证 MVP 最新整合文档

版本:2026-08-24
状态:当前可运行 DEMO 的规范基线
范围:Grass 主题、10 层、单机玩法验证;不包含广告、局外成长、抽卡、付费或联网功能。

1. 本版锁定结论

  1. 棋盘共有 40 个独立实际地块,不存在“10 个逻辑格映射 40 个画面格”。
  2. 双骰总点数就是移动步数:1 点移动 1 个地块。例如从 0 号起点 ROLL 出 10,角色顺时针逐格移动 10 次并停在 10 号地块。
  3. 棋盘固定不旋转。角色从底部起点出发,沿左侧、顶部、右侧顺时针移动。
  4. 普通战斗格按 1–4 个骷髅区分,严格对应 1–4 只怪物。
  5. 加入普通小 Boss 地块和污染 Boss 地块;暂不加入其他负面格或原作角落格。
  6. 战斗、两类小 Boss、商店或事件完整结算后,来源地块变成荒地。
  7. 每层只走完一圈。进入下一层后,荒地继续保持荒地,除非被 Boss 转化/污染机制或新增地块覆盖。
  8. 保留所有必要的移动、落地、战斗、UI 数字和结算动画;正常游玩不提供跳过动画或直接硬切界面的入口。
  9. 当前 DEMO 不显示任何广告按钮;死亡时仅允许源码复生祝福生效,否则进入失败结算。

2. 核心循环

```text ROLL 双骰 → 显示两枚骰子和总点数 → 按总点数逐格顺时针移动 → 播放落地反馈 → 结算战斗 / 小Boss / 商店 / 事件 / 荒地 → 已结算功能格变荒地 → 越过起点进入下一层,恢复最大生命的30% → 第10层击败最终Boss后胜利 ```

角色从 39 号地块继续前进会越过 0 号起点。每次越过起点只触发一次楼层推进,不会重复结算起点,也不会在同一移动中再次触发其他落点。

3. 棋盘与地块完整清单

3.1 基础地块

地块 图形识别 数量/生成 停留作用 结算后
起点 `START` 蓝色起点图标 固定 1 个,索引 0 越过时进入下一层并恢复最大生命 30% 永久保留
荒地 `EMPTY` 无功能图标的空格 初始剩余位置及已消耗位置 无事件、无战斗,落地后返回 ROLL 继续保留,直到被合法覆盖
普通战斗 1 骷髅 1 个骷髅 初始普通战斗池 生成 1 只普通怪物 胜利后变荒地
普通战斗 2 骷髅 2 个骷髅 初始普通战斗池 生成 2 只普通怪物 胜利后变荒地
普通战斗 3 骷髅 3 个骷髅 初始普通战斗池 生成 3 只普通怪物 胜利后变荒地
普通战斗 4 骷髅 4 个骷髅 初始普通战斗池 生成 4 只普通怪物 胜利后变荒地
普通小 Boss `MINIBOSS` 原作普通 Boss 地块和怪箱图标 初始 1 个 触发小 Boss 战斗;怪物数量随机 1–4 胜利后变荒地
污染 Boss `INFECTED_BOSS` 原作污染 Boss 地块和污染怪箱图标 初始 1 个 触发污染小 Boss 战斗;未消灭时进入新层会污染普通战斗格,最多生效 3 次 胜利后变荒地
商店 `MERCHANT` 原作蓝色商店图标 第 3/6/9 层安装 打开 3 个固定丹药商品和 3 个随机商品 离开后变荒地

新局棋盘初始生成 13 个普通战斗格、1 个普通小 Boss、1 个污染 Boss、1 个本层核心事件和起点,其余位置为荒地。所有 40 个位置均可被角色真实停留。

3.2 事件地块

ID 地块 当前 DEMO 作用 结算后
EV-137 铁匠铺 选择已装备物品强化;按品质使用 80%/50%/30%/10%/0% 基础成功率,失败时装备被分解 荒地
EV-138 灵泉/营火 恢复最大生命 30%,不超过上限 荒地
EV-139 传奇装备 生成 1 件传奇装备并进入标准装备比较 荒地
EV-140 挖掘 5×5 棋盘,基础 5 次挖掘;获得局内点数或装备 荒地
EV-141 宝箱 生成 1 件普通掉落池装备并进入装备比较 荒地
EV-142 彩票 单次随机结算;当前验证收益为 100/20/7/0 点 荒地
EV-143 21 点 当前验证版自动比较玩家与庄家点数,奖励 18/5/0 点 荒地
EV-144 祝福点 揭示并接受 1 个祝福 荒地
EV-151 抓娃娃 基础 1 次,当前验证成功率 55%;成功获得装备 荒地
EV-152 黄金马车 二选一:恢复最大生命 20%,或获得 15 点 荒地
EV-164 骰子机 掷 3 枚 D6;三同 50 点、对子 15 点,否则获得最大骰面点数 荒地
EV-166 泡泡射手 基础 3 发,每发获得 1–6 点 荒地

事件格使用各自的 `Installtile_*` 原作图标。当前不加入未确认的负面格、角落格或额外事件种类。

4. 地块生命周期与跨层规则

每个功能地块在一局中遵循同一条生命周期:

```text 功能地块 → 玩家落地 → 完整播放进入与结算动画 → 战斗胜利或事件退出/领取完成 → 该位置变为荒地 → 进入下一层仍保持荒地 ```

允许覆盖荒地的来源只有两类:

  • Boss 2+4 行动将合法的非起点、非祝福位置转为普通战斗格。
  • 过层或商店购买产生的新增地块安装到合法荒地。

污染 Boss 自身未被消灭时,每次进入新层让现存普通战斗格的怪物数 `+1`,最高 4 只,同时污染层级 `+1`,最多生效 3 次。它不会覆盖起点或祝福格。

5. Boss 行动规则

Boss Gauge 不是“玩家攻击几次、Boss 攻击一次”的战斗条。它只统计玩家完成的 ROLL 行动:

  1. 玩家先完成 2 次 ROLL,右侧显示 `0/2 → 1/2`。
  2. 第二次 ROLL 后进入 4 次 ROLL 倒计时,显示 `4 → 3 → 2 → 1 → 0`。
  3. 倒计时结束后,播放 Boss 警示、棋盘震动和逐格转化动画。
  4. Boss 将 4 个互不重复的合法地块变为普通战斗格。
  5. 祝福格和起点不会被转化。
  6. 行动结束后回到玩家 2 次 ROLL 的蓄势阶段,循环继续。

6. 战斗与难度

  • 普通战斗格的骷髅数就是本场敌人数,不允许图标与实际敌人数不一致。
  • 1–4 敌人的单体攻击倍率分别为 `1.00 / 0.72 / 0.58 / 0.48`,避免多目标简单叠加造成不可控秒杀。
  • 普通小 Boss 和污染 Boss 的怪物数量权重为 `60% / 25% / 10% / 5%`,分别对应 1/2/3/4 只。
  • 小 Boss 在同层普通敌人基线上使用 `生命 ×1.18、攻击 ×1.12`。
  • 玩家和敌人自动攻击,保留反击。玩家战斗中的唯一即时主动输入是丹药。
  • 初始配置已加入新手容错,自动化用例要求不使用丹药、广告或调试强化也能连续击败前三组普通怪物。

7. 丹药

全局只有一种丹药。商店固定提供三个丹药商品:

商品 作用
补充丹药 增加 1 瓶,但不能超过当前持有上限
增加上限 持有上限永久增加 1 瓶
增加恢复量 提升这唯一一种丹药的基础恢复量

当前验证实现按逆向配置使用固定 HP 基础曲线 `50、80、110……650`;最大生命百分比治疗由独立丹药祝福叠加。丹药只在战斗中可使用,恢复不超过最大生命。进入下一层的 30% 恢复属于楼层机制,不消耗丹药。

8. 主要 UI 位置

区域 位置 内容与作用
局内货币 左上 当前局内点数
AUTO / 暂停 右上 自动战斗状态与暂停入口
楼层进度 右侧竖条 当前层/总层数、Boss 蓄势或倒计时
棋盘 画面中上部 40 个实际地块、中心 Boss、玩家棋子和顺时针路线
玩家状态 棋盘下方 当前层、等级、生命值与生命条
装备 底部中间 武器、戒指、手套、鞋四个固定槽
属性查看 左下 打开角色属性与调试验收入口
ROLL 底部中央 唯一的棋盘主操作;掷骰期间锁定
丹药 右下 显示当前瓶数/上限;仅战斗中可用

地块必须优先通过原作图标辨认,文字只作为辅助,不允许玩家只能依赖颜色或猜测地块功能。

9. 动画与节奏硬约束

以下表现均必须保留一段可读动画或反馈:按钮按下、双骰滚动和定格、总点数显示、逐格移动、落地、过层恢复、战斗进入、双方攻击与受击、伤害和治疗数字、反击、胜利/失败、装备比较、祝福、商店购买、事件操作、源码祝福复生和最终结算。

正常游玩不得提供跳过这些动画的按钮,也不得在 ROLL 后直接把角色硬跳到最终地块。调试入口可加速战斗,但不能改变点数、步数、落点或结算顺序。

10. 当前验证结果

验收项 结果
TypeScript 严格编译 通过
核心自动测试 24/24 通过
40 个独立实际地块 通过
可见 ROLL 总点数 = 动画步数 = 最终索引差 通过
1–4 骷髅 = 1–4 只怪物 通过
两类小 Boss 与三次污染 通过
战斗/事件变荒地且跨层保留 通过
Boss 2+4 循环并转化 4 个地块 通过
浏览器完整冒烟 通过
原作 UI/地块资源还原测试 通过
广告按钮数量 0

11. 证据到实现

证据 结论 实现路径
用户标注图 1 点数必须与实际地块步数一一对应 `ROLL → dice sum → animateMovement(sum) → tileIndex`
用户标注图 2 HUD、棋盘、装备、ROLL、丹药采用原作关卡内布局 `main.ts` 渲染层 + `styles.css` 固定锚点
用户标注图 3 1–4 骷髅、小 Boss、污染 Boss 是不同战斗地块 `TileState.kind/enemyCount` → 独立原作资源 → `startBattle`
用户本轮确认 已触发地块变荒地并跨层保留;暂不加入其他负面格 `clearTileAfterResolution` → `EMPTY` → 过层保留
自动测试与实机截图 规则、移动和资源加载可重复验证 `mvp/tests/core.test.mjs`、`browser-smoke.mjs`、`restoration.test.mjs`

12. 运行与复验

双击项目根目录:

```text HEROLL_MVP_START.cmd ```

完整验证:

```powershell cd C:\Users\toshio\Documents\ChatGPT\heroll\mvp .\Validate-Heroll-MVP.ps1 ```

启动器自检(不打开浏览器):

```cmd set HEROLL_MVP_SELF_TEST=1 HEROLL_MVP_START.cmd ```

更细的公式、数据表和技术契约见 `design/gameplay-validation/Heroll_Gameplay_Validation_GDD.md`;原作视觉证据和还原边界见 `analysis/reference-study/RESTORATION_REPORT.md`。