剑戟交错——浅探《只狼》的战斗AI


3楼猫 发布时间:2023-11-13 02:32:24 作者:waiwaixi Language

以前经常听到高速动作游戏,甚至超高速动作游戏的说法,比如《忍龙》、《猎天使魔女》、《Shinobi忍》等
人家自己也是这么说的嘛

人家自己也是这么说的嘛

我想这种说法本身就是一个宣传用语,在讨论游戏设计时往往没啥指导意义。近几年ACT式微,ARPG崛起,尤其是MH-like和Soul-like把他们战斗美学推向了更广大的玩家群体,另一个角度的讨论也许会更有启发性——

围绕角色还是围绕敌人,重心不同的两种体验

  • 围绕角色的战斗
偏向这种体验的游戏,关注点在可操作的角色上,这个角色可以做到什么,我怎么让他做到,怎么发挥角色特性即兴创作出漂亮的战斗。社区中传播的往往是一段被称为“段子”的华丽连招,敌人往往只扮演沙包。
这种游戏大多数操作特定角色,比如维吉尔、奎托斯和贝优妮塔。游戏的角色和其能力高度绑定,要“满足大家变身成拥有出众力量的超级英雄或女英雄的愿望”(稻叶敦志)。
角色性能往往十分强大灵活,“玩家只需握着手柄,不用多加思考,角色就能遵循玩家的想法做出行动”,角色有丰富的动作和独特的特性,提供给玩家创作的手段,同时用评价系统“提高玩家游玩的乐趣,调动情绪,增加主动性”(神谷英树)。
  • 围绕敌人的战斗
这种游戏的代表是魂系和《怪物猎人》系列,这类游戏的主角基本没有特别的特性。因为这种游戏的关注点在于这个敌人能做到什么,要做什么,我该如何应对?这里的关键是观察和应对。社区中传播的往往是一场展示如何击败特定敌人的完整战斗,被称为“片子”,这些游戏的部分玩家还会热衷于利用环境、道具、硬直机制和敌人特性来套路化击败敌人,这种片子被称为“定番”。
图为某猎团QQ群入团考核相关资料

图为某猎团QQ群入团考核相关资料

玩家需要在战斗中观察敌人的招式性能和行动规律,尝试和规划对于不同招式的应对方法,最终有规划的执行反击策略。为了诞生好看的片子,玩家社区里讨论的是招式解析还有其“处理”——敌人特定的招式的应对方法。
只狼、怪猎、法环招式处理视频

只狼、怪猎、法环招式处理视频

《只狼》的幻想

稻叶敦治说动作游戏是要“满足大家变身成拥有出众力量的超级英雄或女英雄的愿望”,换种说法——动作游戏是贩卖关于强大角色或能力的幻想
而魂系游戏大都没有特定主角,除了以上讨论过的战斗体验倾向外,还因为这些游戏更注重世界的塑造而不是主角的故事。但是狼是一个有人格的主角,他身上确实也因此更加寄托了玩家们的幻想:
  1. 龙胤之力,不死的幻想(围绕角色) 这是狼的特殊能力,主要是满足叙事需要并且在战斗外围去调整难度曲线。
  2. 忍义手的幻想(围绕角色、围绕敌人) 忍义手的丰富能力强化了狼本身的幻想——残肢忍者,这是围绕角色的,但是忍义手的能力被装备数量上限和纸人上限进行了严格的限制。同时能力都有应对的对应敌人,比如火焰克制红眼敌人、斧克制盾牌、鞭炮克制动物、手里剑对空,这些设计把忍义手在战斗中来回了围绕敌人上。
  3. 武士的幻想(围绕敌人) 狼虽然设定上是忍者,但是武器、造型都更像武士。尤其是刀剑战斗这部分,是完完全全的武士。
角色身上仅有围巾点出其忍者的身份

角色身上仅有围巾点出其忍者的身份

《只狼》中的每个敌人,尤其是人型敌人的战斗是绝对的围绕敌人的体验。玩家需要用一遍又一遍的死亡去观察敌人、学习敌人,思考和尝试应对方法,并练习它们直到形成肌肉记忆。玩家的应对方法以防守,也就是应对招式为主,其中大部分是防御和弹刀,小部分时候需要选择识破和踩头。狼虽然有一些流派招式,但不被强调其作用,反击也主要是平砍。
综上,《只狼》把围绕角色和围绕敌人的两种体验很好的混合在了一起,而其核心战斗部分——BOSS战,尤其是人型BOSS的战斗,则是完全围绕敌人的,这种战斗主要是满足了玩家对于武士的幻想,打造出了极富交互性的战斗体验。

强交互——《只狼》的战斗美学

许多围绕敌人的战斗会是这样一个循环:
双方的交互仅限于对对方招式的打断和接招(立回不包括在内),华丽的动作在游戏性上几乎没有意义,因为双方的互动只有周期性的的闪避和防御,招式的动作几乎只有表演性质。不少优秀的动作游戏都在这个基础上做出了自己的特色,增加了招式动作对游戏性的意义:
  • 怪物猎人中的怪物不同招式拥有不同的位移和hitbox,敌人出招拥有固定派生,AI规律可阅读性强,鼓励精准打点、硬直规划和引招。
  • 魂系着重精力控制。
  • 《SIFU》的上下段攻击和《迸发》的定向格挡提高了闪避或防御的操作要求
  • 还有很多游戏是通过增加敌人的数量把战斗的考验转换成人群控制(《战神》系列)或增加资源系统把中心放到资源管理上(《卧龙》)。
而《只狼》的选择是通过弹刀大大的增强了战斗的交互性,大多数动作游戏的弹反都会打断敌方的招式,使得整套动作意义和表演性大大减弱,但是《只狼》中的高频弹反则需要完整的应对敌方的全套攻击,其强交互性不只来源于弹开的设计,品味过其战斗的玩家还能感受到如下特点:
  1. 优秀的变招设计
  2. 拼刀间隙的对峙
  3. 鼓励进攻
  4. 节奏明确的攻防转换
上述几点体验和弹开机制共同构成了《只狼》的拼刀体验,而这几点都依赖于战斗AI的设计和打磨,下文将从AI结构和设计出发浅探《只狼》如何实现的。

《只狼》的AI结构

上图是解包出来的苇名玄一郎战斗AI函数列表,可以看到《只狼》的战斗AI主要分为三个部分:
  • Goal.Activate主动计划——自由态时调用 特殊情况优先,之后以距离为第一决策信息在设定的主动行为中根据其他各类战场信息或计时器计数器为敌人规划行为,行为的规划体现为一组被赋予不同权重的动作,敌人将根据权重从这组动作中选择一个进行执行。
部分

部分

如上图所示,玄一郎的主动计划中优先声明交锋计划优化于主动计划,之后判断玩家的相对位置,如近距离则侧移,远距离则接近。然后根据计数器和特效标记优先设置了一个射箭动作的权重,之后会在无其他计划的情况下执行通用的基础主动计划(比如其中有玩家死亡时的守尸计划),之后就分距离来设定行为权重表。
  • Goal.Interrupt变招计划——不只是读指令 由于玩家角色的特定行为,中断原有计划转为执行其他动作的计划,具体以下数种:
  1. 防御计划(包含格挡和弹开) 通用的防御计划为连续格挡2或3次后执行弹开,对突刺会直接弹开,之后转入对应交锋计划。
  2. 射击应对计划(射击类型属于攻击类型中的一种,主要是手里剑、龙闪和机关伞的剑气,攻击类型和伤害类型是两种分类) 一般会在30米内直接进行格挡,30米外等待0.3秒后格挡(等待子弹飞行),之后转入对应交锋计划。
  3. 道具使用应对计划 只判断葫芦系道具,根据距离选择不同动作,一般是快速或远程攻击来打断。
  4. 自身受伤计划(极少数怪物启用,仙峰寺虫棍哥)
  5. 玩家崩躯干计划(部分BOSS启用) 比如剑圣、玄一郎会补刀,武士大将会使用投技,一般这个动作前摇都较长,玩家硬直已经结束可以闪避、格挡或弹刀。这个设计很有意思,崩躯干不用伤害来惩罚玩家,只会因为长时间未进攻消除了BOSS的部分躯干积累。
  6. 检测特定区域触发计划 检测特定区域,如果玩家在/不在此区域,触发对应变招计划。
  7. 特殊变招计划 利用各种战场信息执行动作变招,比如剑圣居合收刀阶段,角色距离够近就会转为下段,否则出十字斩。甚至有针对玩家单个招式的应对,老年一心面对狼的秘传一心会有特殊防御计划(很少会有):近距离弹开,远距离心眼(专属闪避)。
还有一些值得注意的设计,如自身崩躯干硬直时,不进入变招(防止变招取消硬直);又如变招计划无视动作冷却,但变招计划执行的动作会进入冷却。
  • Goal.Kengeki交锋计划——最大特点 根据自身或玩家角色的防御情况进行后续动作计划,常见交锋类型为6种:
  1. 左手侧格挡
  2. 右手侧格挡
  3. 左手侧弹开
  4. 右手侧弹开
  5. 左手侧被弹开
  6. 右手侧被弹开
部分敌人区分左右侧并会有不同的防御动作表现,其中部分敌人区分但防御动作相同仅影响战斗AI进入不同分支,部分敌人完全不区分左右侧。狼的普攻五连有不同的攻击方向将会引出对应的左右手防御动作。
破戒僧在上述6种交锋类型之外额外拥有被格挡交锋计划,可能是由于破戒僧是前期宣发阶段展会试玩的演示BOSS,制作最为精细,同时也没发现被格挡计划其实是可以被省略掉的设计。
主动计划、变招计划、交锋计划这三部分互相流转组成了敌人的AI循环:进入战斗时进入自由态,此时可根据主动计划自由出招,之后根据变招信号和敌我防御结果转入变招计划或交锋计划,完成计划无后续指令输入时回到主动计划。如下图所示:
和《艾尔登法环》、《血源》及其他魂系列作品比较,结构上唯一的区别是新增的交锋计划,而《只狼》中的非人型BOSS的AI结构是和上述作品一样没有交锋计划的,所以说《只狼》中的人形BOSS战是其战斗美学的核心部分。这部分脚本被命名为Goal.Kengeki,Kengeki的意思是剑戟,这里说成交锋计划是指刀剑来往的交锋,《只狼》中的金铁交鸣,是From Software对于剑戟片美学的提炼。

只狼的AI设计

《只狼》的人形BOSS的战斗有哪些体验特点又如何通过AI设计实现的呢?
  • 优秀的变招设计 通过上面变招计划的列举,就能看出《只狼》中BOSS的变招的丰富程度,同时主动计划和交锋计划中每次输入新指令时,都会对各种信息进行判断,从玩家体验来看,也是变招。 同时那些需要进行完全不同应对方式的变招则设计的简单易读,比如上文提到的剑圣居合变招,只依赖于距离,这让玩家可以学习敌人的行动模式,获得成就感。
  • 拼刀间隙的对峙 拼刀前、拼刀中,时常会出现短暂的间隙,敌人和你拉开距离,双方像剑戟片中的武士一样对峙数秒,然后一方突然出手。 无独有偶,《怪物猎人》中以武士为原型的雷狼龙,在自身的招式派生中拥有固定的踱步招式。这种实现方式简单有效。 《只狼》也一样,在不同的计划中都拥有单独的踱步动作作为派生的一部分
破戒僧AI(部分)

破戒僧AI(部分)

除了固定派生的踱步外还有其他几种踱步的触发方式,比如上图中所示,破戒僧在左右侧有障碍物的时候踱步移动离开障碍物,从玩家体验来看,这也是一次惊心动魄的对峙。
  • 鼓励进攻 从《黑暗之魂》系列到《血源》再到《只狼》,战斗节奏一步步加快,一部比一部更鼓励进攻。 对于《血源》的战斗体验宫崎英高说:"LOOKS AT THE HEALTH GUAGE NOT AS HEALTH, BUT ASYOUR POWER OF WILL TO GO ON(不要只把生命值当成生命值,而是前进的能力与意志).”血源通过虚血、连续硬直、负重系统和体力系统的减负这些直白的设计做到了加快战斗节奏。 而《只狼》除了精力系统的删除之外,有一个几个隐性的设计极大了提高了进攻压制的收益,很多硬核玩家也发现了这一点加以利用。
国内著名速通玩家喂狗组羽毛在练习速通时发现,弦一郎共有20招左右,但进入“拼刀态”就只会出8招左右了

国内著名速通玩家喂狗组羽毛在练习速通时发现,弦一郎共有20招左右,但进入“拼刀态”就只会出8招左右了

在持续拼刀的循环中,敌方的招式变化会大大减少,尤其不会使用远距离起手的难处理的招式,这个结果是由我方攻击和极近的距离对敌人招式的双重筛选效果造成的:
1. 上面提到过,主动计划是以距离为第一决策依据的
以弦一郎为例,只看距离决定的行动权重表,可以看到近距离状态下将有50%的主动计划不会执行。
2. 敌人的出招大部分局限在固定的一个交锋计划中 这是因为敌人格挡和被弹开后,玩家立即出手将会抢先,敌人不得不进入防御计划,只有弹开后的交锋计划才能顺利出手。同时我方不断的出手抢招也让已经被筛选过的主动计划无法出手被转入变招计划后进入交锋计划。
3. 删除了BOSS已经制作的躯干回复能力 很多角色都有原地吐息回复躯干的废案动作(永真\剑圣一心),推测是迭代战斗体验废弃的,核心为拼刀的玩法如果敌人会回复躯干的话会促使玩家更注重耗血,而不是主动拼刀压制到死。 从敌人的动作和AI设计中可以发现,前期的BOSS交锋计划比主动计划少很多,后期BOSS还会直接套用主动计划作为交锋计划使用。可能是开发过程中也才慢慢确定以鼓励玩家主动拼刀压制为主的战斗体验。
  • 节奏明确的攻防转换 人型敌人,除了长得像人之外,关键得拥有和主角一样的性能基础,比如得具有相同水平的韧性性能——普通的攻击就能产生硬直,这就导致为了避免被无限压制,需要进行AI设计让敌人合理使用和主角类似的防御机制,产生有趣的战斗体验。这里通过和《仁王》的比较来体现《只狼》的攻防转换设计。

这里我想着重聊一下人形BOSS的攻防转换:

攻防节奏的转换关键是敌人如何脱离被压制状态和脱离压制状态后的行动。非人型敌人往往通过高韧性和霸体直接出招,但人形敌人这样处理会非常怪异,同时这样会扰乱玩家对硬直系统的认知,《战神:诸神黄昏》的霸体滥用就引起很多玩家的吐槽,我们可以看到不同游戏中的人形BOSS常用不同的脱连方式:
  1. 霸体抢招:《战神(2018)》、《师傅》
  2. 防御脱连:《仁王》、《卧龙》
  3. 翻滚脱连:《黑魂》
  4. 弹反脱连:《只狼》
BOSS脱连后的行动也大致可分为两类:
  1. 出招:可能出慢招时会被抢招
  2. 重置立回:直接通过翻滚或特殊移动拉开距离
以《仁王》为例来说明设计不够好的AI会有什么问题,《仁王》中人形BOSS的受击防御AI为:受2防1(受两次伤害后防御下一次攻击),之后会随机接普攻、防反、闪避、闪避攻击、武技之一。这种设计会出现两个问题:
  1. 可能会被玩家定番压制,部分敌人所有后续招式都能被玩家快速招式抢先手
  2. 敌人的后续招式倾向过于分散,防御向行动和进攻向行动都会出,玩家攻防转换节奏不明确
而《只狼》中人形BOSS的通用受击防御AI为:受2/3弹1(受2或3次伤害后弹反下一次攻击),之后接交锋计划。
上述两个问题都因此得到了解决:弹开会造成玩家硬直,BOSS此时会拥有帧数优势,同时自身后续出招选择合理,只有非常少的招式才可能被玩家抢先手;敌人弹开后大部分情况都会直接使用快速反击招式抢先手(比如玄一郎和一心的固定反斩)迫使玩家进入防御节奏。《只狼》通过确保敌人抢回节奏和合理的后续出招设计确立了明确的攻防转换。
总结:《只狼》是一部围绕敌人展开战斗,以观察和应对敌人招式为核心体验的动作游戏,它贯彻了剑戟片的美学,塑造了极富交互性的战斗体验,这种体验不仅需要天才般的拼刀系统设计,同时需要扎实的AI设计和打磨支持。
感谢@gougou槐宏文(知乎)的分享的启发,本文很多思路都来自于这位前辈。还有《只狼》MOD作者@琐帝BNU(B站),分享了很多《只狼》中AI结构和逻辑的知识,本文大量参考了他的分享。本文已获得两位的允许。

© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com