粑粑柑(梭哈ai版)
粑粑柑(梭哈ai版)机制拆解 · 第 3 期
J 慢斩K 快斩H 喝药
你在左,敌人在右 · 用键盘 J / K / H 或右侧按钮出招
正在生成世界…
帧数据 · 最近一次出招

敌人是怎么“读”你的指令的

“读指令”听起来像作弊:你刚一出手,敌人就已经在躲、在反击。其实把它拆开,只有一个问题:敌人在哪一帧知道你要干什么。答案有三种,差别只是几行代码,却是“聪明”和“不公平”之间的分界线。

本页是原创教学原型,不含任何商业游戏的代码或美术。历史与游戏部分的结论按来源可信度标注:高 开发者/文档证实,中 媒体或单一技术来源,社区 玩家社区观察、未经证实。

三种“知道”的方式

① 读按键

notice = act.input

你按下的那一帧,敌人就知道了,比动作开始还早 2 帧(输入缓冲)。最“全知”,也最容易让人觉得被看穿。

② 读动作

notice = act.start

玩家的动作状态机一开始跑,就给 AI 发一个“他出手了”的通知。AI 在第一帧前摇就反应,没有人类感知延迟。

③ 看画面

decide = notice + delay

像人一样:先看见起手姿势,再等一段反应时间(默认 15 帧 ≈ 250 毫秒)才行动。这一档才“公平”。

在“效果预览”里把滑块拖到 0 帧,“看画面”就变成了“读动作”;拖到 40 帧,连慢斩也能打中它。拉到哪里,就是你想给玩家的难度。

公平性规则

前摇 ≥ 感知延迟 + 闪避起手慢斩 22 ≥ 15 + 6 = 21 → 躲得开 快斩 9 < 21 → 躲不开 (250 ms × 60 fps ÷ 1000 ≈ 15 帧)

闪避的无敌帧要等 6 帧起手之后才生效,所以一个“按人类速度反应”的敌人,需要招式前摇至少有 延迟 + 6 帧。前摇更短的招,人类(和公平的 AI)都来不及躲;如果敌人还是躲开了,玩家就会觉得它偷看了输入。格斗游戏社区常用的人类反应范围是 12–19 帧中,单纯视觉反应约 200–250 毫秒中。

简史

街霸 II:电脑比你的画面早一帧

sf2platinum 对街机 ROM 的逆向分析指出:每一帧动画的数据里带着“摇杆/按键值”,AI 直接读它来选择反制脚本,“在你的招式第一帧画面显示之前就已经看到了”,等于在人类反应时间之外再多一帧优势高。需要注意:它读的是“即将出的招式数据”,不是字面意义上的手柄硬件。其他作弊(无敌帧、蓄力指令不会失败)只有媒体转述社区。

SNK 综合征

玩家把“你一出手 Boss 立刻反击”的 SNK 街机 Boss 叫作“SNK 综合征”,据说可追溯到《饿狼传说》的 Geese Howard,Rugal 的 Genocide Cutter 常被当作最典型的例子。这是社区用语,没有帧数据,也不是官方设计术语社区。

魂系:喝药惩罚

玩家社区观察到:喝药时《艾尔登法环》的玛莲妮亚会立刻刺来一枪,《只狼》的弦一郎也会,GamesRadar 称其为“与喝药绑定”的攻击中。Zullie the Witch 的分析认为严格说不是读按键,而是读动画:敌人只对游戏内信息反应,但“动画一开始播放”它们就反应中。

玩家整理的 Elden Ring AI 文档(ERAiAPI)里有这样一条接口:INTERUPT_UseItem——“目标使用道具时触发,由 HKS 脚本 act(143, 1) 调用”。HKS 是角色行为(动画状态机)脚本,所以玩家的状态机在动作开始时给附近 AI 推一个中断,正好对应“读动作”那一档高·接口社区·解读。文档只证明有这个接口,不证明某个 Boss 的某一招用了它;FromSoftware 从未正式确认相关设计,以上均为社区文档与分析。

心理螳螂:把“读”写在硬件上

《合金装备》(1998)里的 Psycho Mantis 会翻你的记忆卡,评论你玩过的科乐美游戏;战斗中他像能预判你的每个动作,破解办法是把手柄从 1 号口换到 2 号口,他就“读不到”了中。“因为 AI 读的是 1 号口输入”这个机制解释来自社区社区。他是玩笑里最字面的读指令:连解药都是硬件层面的。

影之刃零:开发者明确说“没有用读指令”

  • 制作人梁其伟(Soulframe)在 Automaton 采访中说,最高难度设计成像和真人对战,但“极限状态下电脑会看穿玩家的操作输入……绝对赢不了”,因此制作中完全没有使用“读指令”高·开发者。
  • 最高难度逆天者(Hellwalker)的 AI 会根据玩家行为动态变化,没有固定套路高·开发者。
  • 最简单的入门难度主要降低的是敌人的“进攻欲望”和“对玩家行动的反应速度”,而不是削血量。这正是本页的两个滑块高·开发者。
  • 杀气(Sha-Chi):敌我共用的一条资源,类似体力 + 架势 + 防御;打空对方的杀气就破防。中文名来自国内媒体与攻略,数值细节非官方中。
  • 红光/蓝光提示(红=闪避,蓝=弹反)把“该怎么应对”画在敌人身上——这是“公平反馈”的范例:让人类有机会看见、再反应中。

时间线:一次出招发生了什么

帧读按键读动作看画面
按下 (input)敌人知道 →——
+2 动作开始已在反应敌人知道 →敌人开始“等”
+2+延迟——敌人决定行动
+6 起手之后闪避无敌帧才生效,持续 16 帧;刚好盖住判定帧才算躲开

源码查看

下面读取 src/duel.js 里的真实代码,每个 #region 是一条规则。它是确定性的纯函数(整数帧、无随机时钟),所以能被视频逐帧驱动,也能在页面里实时跑。

加载中…

来源与可信度

教学简化:帧数是为演示设计的,不对应任何商业游戏的真实数值;“读动作”只代表魂系文档暗示的通知机制,并不是对某个 Boss 脚本的还原。

解析视频画面机制拆解 · 第 3 期 · 读指令简史

完整解析视频「机制拆解 03 · 读指令简史」发布在 B站 / 抖音,搜索作者 粑粑柑(梭哈ai版) 即可观看。视频里的 3D 对决画面与帧数据图,都是用本页同一份 src/duel.js 逐帧渲染的。游戏实机素材不包含在仓库内。