摘要
我方魔法书页上显示每个法术的当前费用(报价)。状态估计(SE,把读到的观察累积成对局状态和对手构筑推断)会尝试解释这些费用:基础价、我方减耗、可能的敌方加耗、同一回合第二次施法的倍率,等等。如果“只靠我方来源就能解释”,就不需要假设敌方有加耗技能。
在一段训练录像(10 月 10 日 16:57)的 58 帧保存请求里,第 54 帧书页上 11 个费用读数被 SE 用“通用第二次施法倍率 2”解释成“无需敌方加耗”。但第 13 帧早已读到我方英雄的完整技能页,其中有“专家奇术”;通过规则模拟器的公开接口查询,这个配置的第二次施法倍率是 1.5,不是 2。SE 的装配代码根本没有把已读技能传给费用解释。本实验(编号 E016)把它接上:只在“此前同一英雄的完整技能和装备页”这一严格前提下,用公开查询得到的倍率筛选费用候选。
结果:11 个读数完全不变,但我方费用模型从“一致(倍率 2)”变为“已读配置参考 1/1.5 下无一致解释”,提示需要核对状态、构筑变化、规则覆盖或读数;其余完整结果、对敌方的认证或排除都不变。334 个软件测试节点通过。
要回答的问题
当我方此前已读到完整施法相关技能时,SE 的我方法术书费用解释是否应该、以及能否只用与该配置相容的倍率?
数据与来源
- 固定使用一段训练录像(10 月 10 日 16:57)已保存的 58 帧 Perception 请求;不重跑 OCR 或视频,不读留出数据。
- 第 13 帧(媒体时间 453.1 秒)自动读到夜影、日光、战斗魔法、奇术专家与战技高级,以及 9 件装备。第 54 帧(1097.3 秒)是 11 个费用读数所在的书页。两个时间是截图时间,不是认证过的施法时刻。
- 规则查询全部通过规则模拟器的公开竞技场解析器(模拟器是项目自己的规则实现,不是商业游戏的已验证规则)。
方法
问题定位:SE 的入口已经把合并后的“我方基线”交给推断,但费用推断只把英雄与固定减耗传给公开的费用解释函数,没有传已读奇术等级。这是 SE 的装配缺口,不能先认定是识别或游戏的错误。
新增一个私有模块,规则如下:
- 只使用此前同一英雄 24 个技能槽、14 个装备槽的完整读数;明确标为空槽的才算空。
- 以下任何一种情况都不限制原有候选:未知、重复、矛盾、父槽错误、未来或同帧的页面、英雄变化、新的不完整页面、查询失败、装备在公开投影里不受支持。目标帧出现新的准备页时也不借用旧页。
- 通过公开解析器取得该配置的施法参数,只比较公开报价中的倍率候选,不在 SE 里复制费用公式。属性、经验增长、空对手和空军团只是查询所需的参考载体,不是重建的实战状态。
对第 13 帧配置,公开查询给出每回合 2 次、第二次倍率 1.5;“全部技能装备 / 仅技能 / 只有奇术”三种参考都是 1.5,但只有完整已读配置用于生产解释。
设置
58 帧累计 SE 请求冷启动约 5.2 秒(修复前 5.208、修复后 5.215 / 5.251 秒),这不是单帧速度或热 p95。另用冻结版本 App 的真实后台循环加开发版 SE 运行,第 3 次刷新完成(10.608 秒,含进程启动),结果与无限预算一致。
结果
| 项目 | 修复前 | 修复后 |
|---|---|---|
| 11 个书页读数 | 原始读数 | 完全保持 |
| 我方费用模型 | 固定 −2、一致、第二次倍率 [2.0] | 固定 −2、不一致、第二次倍率 [] |
| 给用户的解释 | 有一个不需要敌方加耗的通用 ×2 解释 | 已读配置参考 1/1.5 下无一致解释;建议核对状态、构筑变化、规则覆盖和读数 |
| 对敌方的认证/排除、攻击条件 | 原结果 | 保持,不由费用差异推定来源 |
逐项对比确认:只有上述模型和一条“非预测”的条件说明变化,其余完整结果相同,请求不变。旧格式中的“需要敌方效果”标记只表示没找到仅靠我方的解释,必须与“不一致”一起读,不能当作敌方加耗的事实;App 的三处显示都先看“是否一致”,已核对没有独立误用。
软件测试:最终 334 个不同节点通过、12 个因权限跳过,其中 48 个是本轮新增。新增中有 30 组合法的两次实际施法组合(奇术高级/专家 × 五种减耗/加耗/抵消配置 × 三种阻碍条件),从公开事件读费用和书页等级,隐藏的固定项与倍率只用于事后判分。保存结果可用 App 文件夹导入回看。
失败与负结果
- 聚焦测试第一轮 7 失败 / 76 通过:6 个是新测试夹具把字段名写错;另 1 个假设了矛盾装备会影响旧固定减耗模型,实际不影响,改为与“不应用新约束的基线”比较。没有修改生产取值去迎合夹具。
- 扩大测试一轮 157 通过 / 29 失败:新判分按元组顺序配对两次施法,而公开报告按书页排序;改为按帧编号关联后全部通过。
- 查询探针 5 次中有 3 次失败(重复包装、缺少参考载体、调用了不存在的属性),之后改用公开方法返回的对象核对;一处探针注释曾误称“空装备”,实际有 9 件,后续明确纠正,旧结果未回写。
- 修复后的“无一致解释”没有定位到底是规则缺项、构筑或施法状态改变,还是读数问题。
局限
- 我方固定减耗和英雄特长仍沿用旧的合并基线,没有按书页时序逐字段重建。
- 不跟踪临时效果或阵亡后光环;配置参考不证明它在第 54 帧仍然有效。
- 审阅后另行目视原图:第 54 帧 11 个费用和等级 4 与保存读数相符,且页顶写着“敌方回合”。这说明书页报价不等于已执行的施法,也不能认证不可施法时的报价规则,因此 1/1.5 与 ×2 的差异只能作为配置参考差异。
- 不是商业游戏录像验证,也不是全英雄、全来源组合认证。
结论与下一步
已读的施法配置现在被正确地用来约束我方费用解释,并且没有影响任何对敌方的推断。外部审阅支持这个条件解释的收尾方式,建议保持“先看是否一致”的消费顺序,不因无法解释就改模拟器倍率或认定识别错误,也不再扩大组合矩阵。下一项:按书页时序核对我方固定减耗 −2 的来源——查清它来自哪次观察;来源不够有效时不能固定为 −2。验收不要求一定恢复为“一致”。
Comments