Files
AIGame/Doc/Design/G3/FirstFiveAcceptance.md

47 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# G3 新账号至 1-5 验收
2026-10-21。新账号以初始20枚弹珠、岩团团和火喵出发,教学捕捉获得芽芽,使用正常奖励、训练和推荐布阵,通过最新技能规则的1-1~1-5。无需普通随机捕捉、T2或注入资源。本轮不调整战斗数值。
## 路径与结果
两次零度发射共得糖果40、金币80;第一发的券用于教学芽芽。先训练至Lv.2完成1-1,再领取教学目标、欢迎邮件、第1日签到、商店免费补给和1-1掉落的绿野补给箱。此后用通关收益依次训练至Lv.3/4/5,全程三只伙伴均为T1。
| 关卡 | 训练等级 | 布阵(每条路线前/后) | 服务端逻辑时长 | 击退 | 剩余耐久 |
| --- | --- | --- | --- | --- | --- |
| 1-1 | 2 | 岩团团/火喵 | 64.15秒 | 9/9 | 10/10 |
| 1-2 | 2 | 岩团团/火喵 | 64.30秒 | 9/9 | 10/10 |
| 1-3 | 3 | 岩团团/芽芽;火喵/空 | 76.55秒 | 9/9 | 10/10 |
| 1-4 | 4 | 岩团团/芽芽;火喵/空 | 74.30秒 | 9/9 | 10/10 |
| 1-5 | 5 | 岩团团/空;火喵/空;芽芽/空 | 87.10秒 | 8/9 | 5/10 |
客户端最后事件时钟比服务端总时长少一个50ms tick,非回放偏差。真实UI使用2倍速,最早结算时间约束仍生效。
最终金币 **720**、糖果 **110**、弹珠 **62**、券 **0**,Lv.5、发射数2。训练共花糖果300。未领取每日任务、每日宝箱、1-3碎片自选箱及1-5大礼箱;这不是首日全部资源上限。没有普通捕捉或进化开销,不能据此断言所有抽取/消费选择都同样顺畅。
## 修复
1. 教学捕捉后仅有20糖果时,旧引导直接要求训练,但训练需30。`MainHudView.GuideTask`现在根据服务端训练费用和实际余额提示:糖果不足且有弹珠→先发射补糖果;弹珠也不足→免费补给;够用→训练;训练后→布阵。复用原JSON/Prefab骨架,真实新账号验证20→40→训练后10糖果的文案切换和显示。
2. 隐藏的敌人/模型仍逐帧调用`Animator.Play/Update`,产生大量警告。`BattleSkillPresentation.Animate`跳过未激活或禁用的Animator;恢复显示后按绝对战斗时钟采样,不改逻辑事件。实际Prefab隐藏父节点、禁用/重启Animator和隐藏单位检查通过。修复后真实新账号实播1-1,权威终态一致,Animator警告和错误均为0。
## 证据与复验
- [FirstFive/ui_run.json](FirstFive/ui_run.json):18085隔离数据库、新注册账号、真实EventSystem射线点击,覆盖发射、教学捕捉、训练、选关、推荐布阵、五场完整权威战斗和首通奖励。UI路径没有注入时钟、随机数或存档。
- [FirstFive/server_run.json](FirstFive/server_run.json):`first_day_tests`在独立临时数据库经相同业务命令推进,仅推进测试时钟越过播放等待。没有预置钱包/拥有/通关状态;额外重打1-5,钱包和宝箱不增加。
- [FirstFive/parity.json](FirstFive/parity.json):五份轨迹SHA256、胜负、耐久、击退、奖励、统计和最终钱包/伙伴/阵容一致。
- `FirstFive/ui_guide.json`、`animation_lifecycle.json`、`postfix_battle.json`:两处修复的专项回执;`VerifyG3.Domain`另覆盖零弹珠和训练费用变化。
- CTest四组通过:权威战斗、技能样例、原玩法事务、首日推进;Python技能契约8项通过;Unity编译完成。
- 截图:`AIClient/Assets/Screenshots/first_five_formation{1..5}.png`、`first_five_result{1..5}.png`、`first_five_guide_shortage.png`/`first_five_guide_ready.png`。已目视检查三路布阵、结算和新文案。
- [FirstFive/cleanup.json](FirstFive/cleanup.json):原账号与端点恢复,金币/糖果/等级/发射数/伙伴/阵容不变;退出Play,Boot无脏状态,Game View 1080×1920。18085进程按可执行路径/端口/数据库核对后关闭,8080健康且未重启;修复后日志游标350529~350546无新增警告/错误。
```powershell
cmake --build AIServer/build-g1 --config Release --target first_day_tests
AIServer/build-g1/Release/first_day_tests.exe Tools/output/first_five/server_run.json
ctest --test-dir AIServer/build-g1 -C Release --output-on-failure
```
UI:启动独立`127.0.0.1:18085`,数据库仅置于`Tools/output/first_five/`;Pipeline在Boot Play Mode运行`VerifyFirstFive.Begin`,从`ui_run.json`轮询完成,再`Cleanup`恢复原账号。`BeginGuide`/`AnimationLifecycle`/`BeginBattleSmoke`是专项入口;`BeginBattleSmoke`接在`BeginGuide`后运行,异步状态写入同目录。每批结束先`Cleanup`再退出Play,不对真实端点或活动中账号启动验收。
## 后续
首日前五关未发现资源硬卡点;1-5已有损失,保留当前数值进入试玩。仍需真人首次操作、微信真机帧率/内存/首屏加载、主包与热更资源体积实测。本轮未构建或发布Player,不构成微信性能达标证据。