摘要
鼠标放在攻击目标上,游戏会弹出攻击预览:可能击杀的个体数和伤害区间。这些数字能帮状态估计(SE,把观察累积成对局状态和对手构筑推断的模块)反推双方部队的攻防属性。
之前发现一个运输问题:App 在把读取结果组装成 SE 请求时过滤掉了已读到的攻击预览任务。这个问题已在新请求中修好,但用户以前保存的分析结果里,请求仍然缺这些预览——即使原始读取记录(路由输出,路由 router = 把截图分给各读取器的程序)里明明有。只是“仅重算 SE”也补不回来。
本实验让 App 在用户显式点击“仅重算 SE”时,从同一局的原始路由记录里补回旧请求缺失的、已成功读取的攻击预览任务,然后再重算。在两份真实保存结果上:10 月 10 日 16:57 那份 58 帧结果补回 4 个任务,得到 3 组伤害范围;01:39 那份 49 帧结果没有可补的,结果不变。不运行 OCR、不处理视频。
要回答的问题
能否在不重新识别图片的前提下,安全地把旧保存请求中漏掉的攻击预览补回来再重算 SE?“安全”指:不替换已有任务、不丢人工更正、来源核对不过就不补、旧快照保留。
数据与来源
两份已选的 10 月 10 日训练录像保存结果(都是已曝光训练来源),在本实验独立目录里各做一份小型分析副本;原始路由记录补放到既有位置,不复制视频或图片,原图仍在正式保留目录。
方法
- 核对来源:复用已有的人工更正会话,校验帧编号、读取编号、所选会话的截图与尝试记录、原始路由记录,以及“应用人工更正后的投影”与保存请求完全一致。只允许 Windows 下同一绝对路径的分隔符写法差异,不借用其他原图或会话。
- 补入任务:原始路由记录先用现有结构验证器检查,新补入的攻击预览再经现有严格验证。已存在的攻击任务不论状态如何都不替换;缺原文、来源冲突或格式坏了就保留原请求并报告原因;模拟器输入不恢复截图任务。
- 执行时机:只在用户点击“仅重算 SE”之后、启动 Core 之前执行;普通导入仍是只读。有人工更正时用更正后的请求校验,补入任务按原顺序插入,撤销入口仍可用。
- 发布保护:发布新结果前再次检查实际用到的原始路由记录;读取后或写快照期间有变化就不更新“最新”指针。旧快照保留。
- 只保存一个小的恢复诊断文件;没有新增公开格式字段。简报里加一条 App 来源说明,当前页显示“已恢复 / 不可核对”的计数;SE 结果本身不改。
设置
通过真实的界面按钮、真实的 Core 子进程、另存快照、全部页面重建,再重新加载检查。
结果
| 训练来源 | 原输入 | 补回的任务 | 结果 | 整次按钮耗时 |
|---|---|---|---|---|
| 10 月 10 日 16:57(前 23 分钟) | 58 帧 | 第 19/25/50/57 帧共 4 个已读预览 | 3 组伤害范围(第 50 帧没有数值对)。第 25 帧显示攻击 40→52 与预览 845–1267 条件相符,对方防御 25 仍标为事后参考 | 6.550 秒 |
| 10 月 10 日 01:39 | 49 帧 | 0 | 不新增预览解释;完整结果与已有最新 SE 相等 | 5.979 秒 |
两份重算结果整体等于上一轮公开 SE 验收中对应的结果。去掉新补的攻击任务后,请求与各自的旧请求严格相等;帧数、顺序、会话和人工更正都保持。原生产快照和原始路由记录的大小、修改时间不变,旧快照可以单独再导入;107 张原图路径和媒体时间保留。界面截图已目视确认顶部的恢复说明和攻击详情。
检查过的异常情况:跨来源、缺原文、重复任务、人工更正与撤销、来源竞争、再次重算不重复补入、同一档案内另一张真实图片被冒充为同图(被拒绝)。
失败与负结果
真实保存路径写法不一致:恢复后,在第 25 帧的内存里演练一次人工更正(把英雄攻击 3 标为未知),原有更正入口报“伤害截图来源不匹配”。原因是归档里用正斜杠写路径,而原生攻击验证器要求 Windows 规范写法。这不是原值 3 识别错了。新增的路径回归测试在修复前同样失败。最小修复只在验证副本里统一指向同一文件的不同写法,不同文件不转换,严格校验器本身不改;修复后第 25 帧更正→撤销,整份请求精确恢复。
外部审阅提出的两项检查(预览内部来源是否先被验证、重复任务是否被拒)核对后发现现有代码已有对应保护,没有重复添加;只是把负例加强为“同档案内另一张真实图片”。
局限
- 只证明两份已曝光保存输入兼容,不代表所有历史格式,也不是新录像处理、独立准确率或单帧 p95。
- 用户安装版没有更新;本轮建立在共享工作区中已有、尚未提交的保存/更正实现之上,不把那些旧功能算作本轮新增。
- 软件检查去重后共 99 项通过(新增 20 项);路径修复完成于外部审阅提交之后,没有被那次审阅覆盖。
- 不保证不遵守现有协议的任意并发写入。
结论与下一步
旧保存结果现在可以在显式“仅重算 SE”时安全地补回漏掉的攻击预览,并且不改变其他任何结果。下一项不再为同一个 845–1267 案例扩建探针,而是用已有的结构化证据,把攻击详情中分散的“已知条件 / 剩余缺口”整理成用户能直接核对的信息,不从自然语言里反解析新事实,也不在界面里计算伤害。
Comments