摘要

攻击命中时,受伤单位上方会弹出“飘字”:一个图标(拳头表示伤害,骷髅表示死亡数)加一个数字,持续一小段时间、边飘边淡出。如果完全不读战斗日志(Logs),只靠画面上的飘字,能推断出多少伤害信息?

本实验(状态估计 SE 模块的离线研究)把问题拆成几层:原始观察(某帧某处有一个图标和数字)→ 可能连续的视觉轨迹(相邻帧里同一个飘字在移动)→ 游戏事件(一次攻击)→ 单位身份(谁打了谁)。在三个真实窗口上检验现有材料能支持到哪一层。

结论:能建立的只有“可能连续的视觉轨迹”这一层;三个窗口都缺少可靠的动作边界和双方单位身份,所以没有形成任何伤害事件,也没有调用规则模拟器去推属性。

要回答的问题

不读日志,现有的飘字探针和读数能支持哪一层关联?下一步最该补的观察是什么?

数据与来源

两段已授权、用于开发的 10 月 10 日训练录像中三个已有窗口:

窗口 录像 时间范围(秒)
W1 16:57 那局前 23 分钟 585–589.5
W2 同上 594–598.5
W3 01:39 那局 550–556

复用已有的 150 个 10 Hz 探针记录(轻量检测有没有飘字图标),以及前一实验(v5)在 45 张图上完整重读的数字中能对上这 150 帧的部分。图和数值之前都看过,不是盲测。本实验不读日志或规则真值,不跑新 OCR,不重跑视频。

方法

先固定几何规则,再跑三个窗口,不按结果调门槛:只连接相邻已采样帧中的同种图标;实际解码时间间隔 ≤ 200 毫秒;横移 ≤ 较大图标宽度的 0.75 倍;下移 ≤ 高度的 0.35 倍;上移 ≤ 高度 ×(0.75 + 6 × 间隔秒数)(飘字主要向上飘);宽高比在 0.75–1.33 之间。

这是固定镜头下宽松的连续性候选,不是验证过的运动模型。其他规则:

  • 不跨没有检测的帧补链,“没检测到”不解释成“没有伤害”;
  • 保留所有满足条件的边,不贪心选最近的,有多个候选就标歧义;
  • 连接不看数字是否相等;数字作为逐帧字面观察保留,不取最大、末值或合计;
  • 拳头和骷髅不合并;一个几何连通分量不等于一次攻击;
  • 同一解码帧被不同分析引用时只算一帧,读数冲突时拒绝选边;
  • 人工看到的动画、脚牌、行动头像只作独立说明,不进入算法;不把当前行动者自动当作攻击者。

设置

离线研究代码,不改生产感知、SE 公共协议或 App。

结果

窗口 探针帧 图标观察 几何候选边 视觉分量 接受的逐帧数字
W1 45 13 11 2 4
W2 45 6 5 1 2
W3 60 34 25 9 1

v5 的 11 份读取引用对应 8 个唯一源帧,没有同帧冲突。几何分叉歧义为 0,这只表示本规则内没有分叉,不表示事件或归属已确定。53 个图标观察、12 个分量都不是 53 或 12 次攻击。

  • W1:一条拳头链(7 个节点)和一条骷髅链(6 个节点),分别读到 -314 和 -5。两条链分开保留,不合成“伤害 319”或一个已确认事件。
  • W2:一条 6 节点链,两个端点都读到 -27。这不是两次伤害,也不是靠“值相同”连起来的。人工复看原图:数字还在时,屏幕上的当前行动头像已经变了——这直接暴露了“把当前行动者当飘字攻击者”的风险(后续实验专门验证了这一点)。
  • W3:同屏两条拳头链和随后多段链,只有一个 -821 被接受;另一些字面保持未知,没有用后来人工看到的 -1200 去补自动选帧,也没有把分段数字相加。9 个分量是检测断续造成的,不是 9 次攻击。

为什么不查询规则:三个窗口都缺可靠的动作边界和双方单位身份,数量/生命、命中时攻防、距离、攻击方式、幸运、临时状态也都不完整;拳头图标本身也不能证明是普通物理攻击。因此没有调用规则模拟器,也没有任何属性区间或构筑集合的收缩。

失败与负结果

  • 没有得到任何伤害事件或单位归属,这是本实验的主要负结果。
  • 探针帧中只有 31 帧有信号(三个窗口分别 10/35、6/39、15/45 为有/无信号),没有跳过、溢出或失败;外部审阅后,代码明确拒绝未执行或失败的探针输入,不再把“没运行”当成“没检测到”。
  • 外部审阅请求的提交第一次未能确认(全文长度校验不一致),由工具维护方修复了代码块围栏提取问题后,唯一一次只读恢复取回了审阅意见,没有重发。

局限

  • 三个窗口都是已曝光的开发材料。
  • 读数冲突时整帧保守回退,可能损失本来一致的局部证据(本次 0 冲突)。
  • 工具只适用于单个明确来源的窗口,不是通用的跨来源关联器。
  • 测试(最终 22 项实验检查,加既有检查共 61 项通过)只证明规则行为,不是识别准确率。

结论与下一步

不读日志时,飘字目前只能提供“这里可能有一条连续的视觉轨迹和若干字面数字”,离“谁对谁造成了多少伤害”还差动作边界和单位身份两步。下一步不再提高同一数字的 OCR 票数,而是补首个飘字附近的前后文:优先检查 W2 行动切换前后的真实帧,确认残留飘字不会被当前头像错误归属;其次检查 W1 的目标位置和单位实例。