欢迎光临散文网 会员登陆 & 注册

《黑暗之魂R》5周年生日献礼——腐龙下半身起跳bug详解

2023-05-30 13:41 作者:Yita000  | 我要投稿

    Dark souls , a game after all these years still has secrets to discover. 这是速通之神catalystz对《黑暗之魂1》的评价。就在《黑暗之魂remastered》发售五周年之际,由我本人研究并解释了一项神秘的游戏bug——绘画世界腐龙下半身起跳bug。

    首先让我们来看一下bug是如何发生的:在绘画世界这张地图中,玩家可以找到一个未启用AI的怪物——腐龙下半身。腐龙下半身由param(参数)控制,使其完全无敌并禁用AI,但当玩家对其进行跳劈后,它会神秘的站起来,玩家可以轻松通过并快速到达boss战门口。

腐龙下半身起跳bug

    腐龙下半身,怪物ID:3421,拥有多种动作模组,不过与我们研究对象有关的,只有其0000状态和9060状态。

腐龙下半身0000
腐龙下半身9060

    我们可以看到0000状态是怪物的一般状态,而9060状态则更像是怪物的休息状态,由于腐龙下半身的9060状态无法给我们过多的参考价值,我们来看一下其他怪物的9060状态是什么样子的。

黑森林庭院草人9060
软泥怪9060
石守卫9060

    不难发现,在animation(动作动画)参数中,名字为9060的状态均为怪物的待机状态,一旦玩家触发了某种event(事件)或box(控制框),怪物便会从9060状态变为0000状态。那么看起来腐龙下半身也是这样,由于我们的跳劈触发了某些东西,使得其由9060状态变为0000状态,这便是bug的形成,那么我们的跳劈到底触发了怎样的机制呢?

祖传处决强制起身

    throw(处决),一个FS社设计的近乎疯狂的游戏机制。它的工作原理是使处决和被处决双方强制做出某些指定动画,并且完全免疫除处决外的其余伤害。正是处决的强制动画指令,使得腐龙下半身改变了原设定的动画,从9060状态变为了0000状态,而触发处决的因素,就是跳劈。

    ジャンプ(跳劈),玩家对它都不陌生,但是少有人知,跳劈相较于其他动作而言,它的throw flag(控制是否是处决的参数)为throw trigger(对被跳劈单位可以进行处决),我认为跳劈和落下处决使用的相同的throw flag,而这样的情况看似是程序员故意为之,因为他们直到《黑暗之魂3》也没有修复这个问题。

下落处决古老飞龙
跳劈处决古老飞龙

    我们可以从正反两个方向做实验来验证一下:

1.使用无处决动画的武器(如鞭子)对腐龙下半身进行跳劈,它是不会跳起来的;

鞭子跳劈无法使腐龙下半身起跳

2.使用ce或debug的飞天形式来到腐龙下半身上方,对它进行下落攻击,它是可以跳起来的。(已测试,但为了避免不必要的麻烦不做图像展示)

    让我们再梳理一下bug发生的全过程:玩家使用跳劈,跳劈中带有判定处决的帧数,处决使得腐龙下半身改变原有休息状态(9060)进入一般待机状态(0000),玩家可以从腐龙下半身下通过。

    也许这是FS社的废案,也许是一种误写的参数,不过相比较下落处决恶魔和野猪,下落处决龙类敌人看起来会更帅一些,是吧古老飞龙?

特别鸣谢;

Kingbore haha:本人黑魂导师,反编码大师

Meowmaritus,Katalash:DS Anim Studio开发者

Grimrukh:Soulstruct Project Editor开发者,夜幕mod、灰烬之女mod作者

horkrux:debug menu开发者

@NethenDrake :协助测试与讨论

封面图片来源:

https://twitter.com/MenasLG/status/1662132810331701258?t=X1tJDRvw4VPwsmexiWrDcw&s=19

古老飞龙跳劈视频链接:

https://www.youtube.com/watch?v=V74FloAecPw

鞭子跳劈腐龙下半身: 

@NethenDrake 录制

《黑暗之魂R》5周年生日献礼——腐龙下半身起跳bug详解的评论 (共 条)

分享到微博请遵守国家法律