摘要
在《英雄无敌:上古纪元》里,英雄的主技能和子技能会改变自己部队的属性。例如“战斗魔法”这个主技能会让我方生物按英雄法强获得一部分攻防加成,而它的子技能“战斗法师权威”在英雄还掌握某些其他主技能(例如“秘术”)时,加成系数会更高。
状态估计(SE)会读开局准备页上的技能,再调用规则模拟器(项目实现的规则程序)的公开查询,算出生物面板“应有”的攻防参考值,与屏幕上读到的面板比较。本实验发现:在一段训练录像(10 月 10 日 01:39)的保存输入里,准备页同时读到了“战斗魔法专家”“战斗法师权威”“秘术高级”,但 SE 组装查询输入时只传了战斗魔法及其子技能,漏掉了秘术,于是跨技能的联动没有触发。
修复后:公开查询的系数从 0.40 变为 0.55,法强 29/31 对应的攻击参考从 11/12 变为 15/17。49 帧真实保存结果中只有 10 条已有说明文字变化——8 张生物面板从“有限来源域中没有相符组合”变为“无新增来源即相符”;另一段 58 帧结果完全不变。原始观察、攻击命中条件、排除项都没有变。
要回答的问题
生物面板读数与参考值的偏差,是不是因为 SE 丢掉了已经读到的技能输入?修复后真实保存结果会怎样变化?会不会把“条件相符”误升级为“敌方确定没有某技能”?
数据与来源
- 两段用户选定的训练录像(10 月 10 日 01:39 的 49 帧、16:57 的 58 帧)的已保存分析请求和结果,复用上一轮的保存目录。没有重新读取图像或视频。
- 这些都是已曝光的训练来源,不是独立测试集。
方法
先排除错误的解释。 上一轮曾怀疑缺英雄 ID。分别传入 / 不传入实际英雄做公开查询:01:39 局法强 29/31 的参考都是 11/12,16:57 局法强 27/28 都是 6/7——英雄 ID 不能解释偏差,因此不据此改生产。
确认根因。 对同一组“战斗魔法专家 + 战斗法师权威”,分别加入 / 去除秘术做公开查询:继承系数 0.40 → 0.55,法强 29/31 的攻击参考 11/12 → 15/17;加入“抗性”不改变攻击项。规则条件来自规则模拟器已有的合同。这是“已观察到的字段进入 SE 之后、组装查询输入时丢失”,不是新的 OCR 错误,也不是模拟器缺规则。
修复。 组装查询时,把所有已读且目录支持的主技能按原档位(基础 / 高级 / 专家)传入,由公开规则决定跨技能条件;仍只查询已读的战斗魔法子技能组件,不复制规则、不重复加宝物或英雄攻击。
- 同一技能的重复读数去重;不同档位冲突、或身份已知但档位未知,返回“未确定”。
- 两个基础档技能在当前查询格式里无法表达时,保留“未确定”,不伪装成高级。
- 未读或未映射的技能槽仍不在这部分参考之内,不认证“没有技能”。
- 已读技能继续沿用原有的准备页历史、阵营、身份和时间门槛。
设置
在两段保存请求上走公开 SE 入口做修改前后对照,全量保存请求、修改前、修改后和差异文件。
结果
- 16:57 局 58 帧:整个输出结构完全不变。
- 01:39 局 49 帧:只有 10 条既有说明行的文字变化(9 张面板对照、1 条凤凰的历史说明);原始观察、攻击证据(含命中条件)、排除项、其他候选和字段全部相等。
- 8 张面板原来在有限来源域中没有相符组合,现在“无新增来源”即相符,包括凤凰 52/39、判官 44/37、真菌伊利亚德 32/24、麒麟 48/33、晨曦蛇麻虫 35/18。这仍是有条件、非穷尽的来源域,没有写成正式排除。
- 凤凰从第 13 帧到第 24 帧攻击 52→54:英雄攻击 9→9,战斗魔法参考 15→17,其他净变化 0。但后一帧已读到的状态效果影响不明,仍暂停来源筛选;“剩余为零”不证明唯一原因,也不证明没有互相抵消。
这是已曝光训练来源的保存识别结果重放,不是新的独立准确率、整段视频重跑或隐藏构筑的恢复。公开的整数参考还带着“HUD 整数足以代表加成、其他未计来源没有额外影响”等明确假设,不能当成命中时的真值。
组合测试(54 项):
- 40 组实际竞技场解算 / 合法的英勇攻击与强力链接触发并到期:攻击权威、防御权威、两者都有、都没有,交叉秘术高级、抗性专家、两者不同档位、错误技能、无条件技能,以及有 / 无两件宝物;两种己方生物与敌方农民隔离核对。攻防和组件都有独立手算的期望值,不用引擎本次输出当期望。
- 8 项输入适配:秘术基础 / 高级 / 专家原样保留;未知、冲突、布尔值等级、无法表示的两个基础档都拒绝;重复读数不升级。
- 5 项真实帧结果和软件扰动:未来技能不能回填、后来变成未知不能退回旧等级、重读已知只影响之后的参考。缺阵营上下文的 4 帧作为负例保留,不伪造归属。
- 外部审阅后补 1 项:秘术仍已知而战斗魔法后来变为未知时,不借旧的战斗魔法等级组成新联动。
最终去重共 404 项不同软件检查通过(含 App 保存 / 导入 / 属性展示 57 项)。这不是 404 场实战,也不是全实体覆盖或安装版验收。
App 可见结果: 通过标准的保存 / 读取 / 导入和界面真实鼠标点击验证,新结果的请求 / 结果 / 会话和媒体秒数一致,源快照不变,识别提供者启动 0 次;属性对照的点击全文与生产呈现一致。
失败与负结果
- 修复前 48 项新测试:22 失败、26 通过(14 项实际技能联动组合、8 项输入适配)。修复后 48 项全过。
- 新增真实测试夹具最初漏了第 5 帧的阵营观察,4 项失败;补回原始第 5 帧后 52 项全过,缺归属的 4 帧保留为负例,没有改生产关联逻辑。
- 第一次对照工具在找凤凰时假设每条说明都有实体 ID,抛出错误,49 帧结果没保存;修复提取工具后重跑通过,没有为工具错误修改生产算法。
- 第一次只读提取脚本遇到空结果抛错,尚未做规则查询;改为跳过空结果。
- App 首次导出漏抄了时间日记(实验里文件名写错),时间一致性检查失败;改正文件名、补回日记后通过。旧来源和旧分析从未改动。
- 代码检查首次有两个导入顺序告警,只整理了自有文件。
局限
- 只覆盖“战斗魔法联动”这一个机制族,没有完成全实体、每个公式项多组合的覆盖。
- 组合测试中引擎动作确实触发,但没有把这些事件写入日志做因果归属。
- 当前安装版未更新。
结论与下一步
偏差的真正原因是查询输入漏传了已读技能,而不是识别或规则缺失。外部审阅支持收尾,并强调不能把“零剩余”“有限域匹配”或软件检查数当成实机全面认证。
下一步:检查其他已读技能的公开查询入口是否有同类丢项(要有保存证据支撑);不先堆叠更多视频,也不把“条件相符”升级成“敌方确定没有某技能”。
Comments