HEROLL 玩法验证 MVP
这是 Heroll_Gameplay_Validation_GDD.md 的本地单机 H5 垂直切片。目标是验证“公平双骰 → 绕棋盘推进 → 自动战斗 → 局内构筑 → 十层 Boss”的可玩闭环,不是完整 IAA 产品,也不包含其他项目内容。
仅限本机内部验证。提取的 HEROLL 原型资产未取得发行授权,不得公开、上传或分发。
最新整合玩法文档:../docs/2026-08-24_HEROLL-MVP-latest.md。
本版本已按 参考资料/功能浏览与关卡流程.mp4 逐帧校正玩法界面。录像展示的是火山13层关卡;本切片采用Grass、10层和40个独立实际地块,并复刻录像中的固定环形棋盘、玩家顺时针移动、HUD、双骰演出、战斗构图、商店分区和事件表现。
双击运行(推荐)
直接双击项目根目录的 HEROLL_MVP_START.cmd(中文名入口也保留)。启动器使用 Windows CRLF/ASCII 包装,自动编译 TypeScript、启动隐藏的本地服务器并打开浏览器;游玩期间保持启动窗口开启,关闭该窗口即可停止服务器。若系统只阻止自动打开浏览器,服务器会继续运行并显示可复制地址;真正的启动错误不会闪退,完整原因会保存到 mvp/launcher-last-error.txt。
启动链自测(不打开浏览器,验证编译、服务器和 HTTP 200):
set HEROLL_MVP_SELF_TEST=1
HEROLL_MVP_START.cmd
PowerShell 运行
在 PowerShell 中执行:
cd C:\Users\toshio\Documents\ChatGPT\heroll\mvp
.\Run-Heroll-MVP.ps1
脚本会编译 TypeScript、启动 http://127.0.0.1:4173/mvp/ 并打开默认浏览器。保持 PowerShell 窗口开启,按 Ctrl+C 停止服务器。
也可手动执行:
node node_modules\typescript\bin\tsc -p tsconfig.json
node tools\server.mjs
已实现的验证闭环
| 模块 | MVP 行为 | 规范依据 |
|---|---|---|
| 骰子 | A/B 两枚独立公平 D6;36 个有序结果等权;对子触发机缘;无暗改、保底或重掷 | GDD 4.1 |
| 第三骰 | 获得对应祝福后,在基础双骰之后选择替换 A、替换 B 或放弃 | GDD 8.4 |
| 棋盘/楼层 | 40个独立实际地块;棋盘固定不旋转;1点严格移动1格;玩家从底部起点沿左侧、顶部、右侧顺时针移动;越过起点升层并恢复30%最大生命 | GDD 4.2、4.4 |
| Boss 循环 | 玩家 ROLL 2 次后开始 4 次 ROLL 倒计时;倒计时结束,Boss 将 4 个非祝福地块转为怪物地块,然后循环 | GDD 4.3 |
| 内容保证 | 商人固定在 3/6/9 层;商人、宝箱、营火、铁匠、祝福、挖掘在十层内均可自然生成 | GDD 9–10 |
| 战斗 | 1–4骷髅地块严格对应1–4只怪物;另有小Boss和污染Boss地块;攻击/skill_0自动执行;保留反击;玩家只手动使用唯一丹药 |
GDD 5–7 |
| 复活 | 仅保留源码 Revive 祝福;祝福不可用或结算后仍死亡时直接失败 |
GDD 5.6 |
| 装备 | 读取 40 件装备、13 种属性、五档品质及 210:60:28:4:1 权重;四固定槽;替换自动分解 |
GDD 8.2–8.3 |
| 祝福 | 读取 31 个启用源码祝福 + 第三骰祝福;单卡揭示并直接接受 | GDD 8.4 |
| 丹药/商店 | 唯一丹药采用逆向确认的固定 HP 曲线 50/80/110…650;3 个固定商品为补 1 瓶/上限 +1/基础恢复 +30 HP,另有 3 个非丹药随机商品 |
GDD 7.2、8 |
| 事件 | 13个事件入口全部可从调试台验收;事件或战斗完整结算后地块变为荒地,荒地跨层保留,直到被污染或玩家新增地块覆盖 | GDD 9–10 |
| 广告入口 | 当前构建不显示广告、即时增强、广告复活、广告重抽或补次数按钮;相关旧事务结构仅作未来预留,不可从 UI 触发 | GDD 2.4、9.3 |
| 安全点 | 本地双副本 + SHA-256 校验;地块、战斗、购买和选择完整结算后保存 | GDD 13 |
| 调试台 | 指定楼层/点数、强制 13 事件、战斗、死亡、Boss、4×战斗及日志导出 | GDD 14 |
原作还原层
- 40个画面格全部是独立逻辑落点;棋盘全程固定,骑士从底部起点沿左侧、顶部、右侧顺时针逐格移动,ROLL多少点就播放多少次逐格位移。
- 使用逆向导出的原作
knight_m_idle/run_anim_f0–f3、boss_0、红蓝骰面、tile_battle、1–4怪物图标、小Boss/污染Boss地块、商店图标和12类Installtile_*事件图标。 - 四类普通敌人不再使用 CSS 占位:分别解析并接入
enemy_sword_0 → m_004、enemy_straight_0 → m_002、enemy_curved_0 → m_010、enemy_rush_0 → m_005。 - 掷骰演出完成前保持棋盘画面,不会抢先切换战斗或事件;主按钮按状态显示
ROLL / EXIT / GET / FIGHTING...。 - 骰子定格后明确显示总点数,骑士严格按总点数沿40格固定棋盘逐格顺时针跑动;落地反馈结束后才触发地块。
- 战斗入口锁定
BATTLE / BOSS BATTLE演出;每次攻击按“出手 → 受击 → 伤害数字”表现,最后一击后先播放VICTORY / DEFEAT,再进入装备、源码祝福复生或结算界面。 - 最终结算使用原作胜利骑士与背景素材,奖励数字滚动计入;这些节奏锁不提供跳过入口,调试操作也不能绕过移动和胜负演出。
- 右侧 Boss 区先显示
0/2 → 1/2;第二次 ROLL 后切换为红色4 → 3 → 2 → 1 → 0倒计时。结束时播放 Boss 警示与棋盘震动,并逐个感染 4 个地块;祝福格和起点不会被转换。 - 动画节奏不是只保护移动和 Boss:按钮、骰子、逐格移动、落地、楼层恢复、战斗进出、双方攻击/受击、伤害与治疗数字、装备、祝福、商店购买、事件、源码祝福复生和结算都必须经过至少一段可读反馈;普通游玩没有跳过入口或直接硬切。
- 详细 Evidence → Finding → Implementation → Test 对照见
../analysis/reference-study/RESTORATION_REPORT.md。
操作
ROLL:手动掷双骰。- 右下丹药:只在战斗中可用;基础恢复为固定 HP,百分比治疗只来自独立的
Potion_PercentHeal强化。 - 左下地图按钮:打开验证调试台;4×速度只属于调试入口。
- 调试台“结束战斗”用于验证击杀、胜利字样和最终结算动画,仍会经过完整表现链。
- 顶部暂停:安全点已自动写入,可返回标题后继续。
- 当前构建没有广告、
▶即时增强、广告复活、广告重抽或补次数按钮。
结构与 Cocos 迁移
src/core.ts:与 DOM 无关的确定性单局状态机,可迁移为 Cocos Creator 3.x TypeScript service。src/rng.ts:六条独立 RNG 流及可序列化状态。src/data.ts:直接读取权威 GDD 的 CSV 配置并校验 10/40/13/32/97/13 等规模。src/storage.ts:安全点、备份和校验。src/main.ts:浏览器输入、渲染、轻引导和调试台适配层。styles.css:750×1334 竖屏、整数像素语言和 HEROLL 内部原型资源引用。
Cocos 移植时保留 core/rng/types,将 main.ts 的 DOM 事件映射为 Creator Component,将 CSS 布局映射为 Canvas/Widget/Layout 即可;随机、存档和事务语义不需要重写。
自动化验收
.\Validate-Heroll-MVP.ps1
当前基线:
- TypeScript 严格模式编译通过。
- 24/24核心测试通过,包括100万次双骰统计、40格棋盘、1点=1格、1–4怪物数量、小Boss、污染Boss三次跨层污染、事件转荒地、荒地跨层、Boss 2+4循环、反击、旧存档迁移和前三组怪物连续通关。
- Chrome 750×1334 浏览器冒烟通过:开局 → 掷骰 → 商店 → 挖掘 → 装备 → 祝福 → 战斗 → 无广告失败结算 → Boss → 安全点。
- Chrome 758×1352原录像分辨率还原测试通过:固定棋盘、40个独立落点、点数与位移一致、原作1–4怪物及Boss地块图标、骰子时序、战斗角色/敌人和商店3+3结构。
- 控制台错误与资源加载失败均为 0;浏览器在测试结束后关闭。
验证边界
- 当前战斗使用 GDD 中明确标注的“验证版基准公式”,没有冒充已经恢复原作精确公式。原作伤害、命中、防御、攻速和 DDA 的黑盒拟合仍受干净录像样本不足限制。
功能浏览与关卡流程.mp4的火山 13 层主题、抽卡.mp4与截图说明.jpg中的抽卡/商城/任务属于本验证切片之外;后两者只用于校正像素 UI 语言,不会把局外或付费系统混入 MVP。- 当前交付用于负责人完成十局现场签收;单局 10–12 分钟、P50 装备查看 6–8 件和三类构筑体验仍需通过真实试玩调参。
- 无账号、服务器、局外成长、体力、抽卡、剧情、BGM、IAP、真实广告 SDK 或用户统计。
