我想要制作一个格斗游戏! 一个面向初学者的实用教程— part 7 (2021更新)(中文翻译)
2023-06-02 11:28:10来源:哔哩哔哩

受击硬直和连段——或者说如何为你的游戏设计一个连段系统以及你需要注意哪些陷阱

关于制作格斗游戏整个系列教程的旅程的第七篇再次进入“初学者”领域。在两篇相当技术向的确定性和输入缓存文章,其是关于有线上模式的响应式游戏的基本概念之后,我们回到起点,解决现代格斗游戏的一个基本问题:连段系统受击硬直,以及一切可能出错的东西。


【资料图】

连段的解析

在格斗游戏术语中,“连段”(“组合技”的简称)是指一系列按顺序击中对手并在第一段衔接上就可以确保的攻击。换句话说,连击可以用来造成持续的伤害,因为——除了某些例外——一旦第一击命中就无法逃脱。尽管最初仅仅是原版《街头霸王2》中的一个小BUG https://www.polygon.com/a/street-fighter-2-oral-history/chapter-2,这一概念变得流行,并成为格斗游戏类型中的主要内容。

到了2021年,很少有现代格斗游戏没有连击,当然也有如Divekick 和 HYPERFIGHT的明显异类,因此,不论如何你的游戏很有可能都有连段的存在。

但连段到底是怎么实现的?要想了解这一点,我们需要谈谈“受击硬直”的概念。

挨打会很痛

受击硬直是一个可以在众多游戏类型中找到的概念,是一个总括术语,表示角色在被击中后无法正常行动的时间。在这种状态下,角色可以执行的动作受到严重限制:一些游戏允许受击硬直中发动特定的防御性招式,但这种选项的数量顶多一只手就数得过来。

当一个角色处于这种不可动作状态时,对手的每个后续攻击都保证会衔接上——从而产生连击——前提是它足够快,能在受击硬直持续结束前发生。

在游戏开发的角度,当攻击击中对手时,我们会启动一个计时器,每次更新时都会自动计时。当计时器到达零时,被击中的角色退出击中击晕状态,可以再次正常行动。

在这里你可以找到一个伪代码的例子,看起来像这样——注意这不是可运行的代码,它只是帮助你从逻辑角度思考概念的东西:

如果防守方角色在被对手击中时还没有处于受击硬直状态,连击计数器回到1。否则,新的一击将增加连击计数器。击中受击硬直值由每个角色的更新函数跟踪,并在每次逻辑更新时减少。当击晕计时器到零时,防守方再次自由移动,连段自然掉了。

左右杂耍

到目前为止,一切顺利。我们讨论了连段如何在“幕后”工作的基本概念和想法。当然,也有上面强调的基本公式的变体。例如,铁拳系列和3D格斗通常以他们的“杂耍”(翻译注:英文格斗疏于指3d格斗中的浮空连段系统)而闻名:在用特定的动作让对手浮空后,你可以在他们在空中时继续打击他们,直到他们落回地面,直到落地后他们可以再次行动。

核心概念基本上是相同的,除了我们的受击硬直现在受每次击中后角色在空中停留时间的影响,只有当它们最终落地时才结束

当然,你可能想针对杂耍连段调整你的系统:你可能想要一些不能击中空中敌人的招式,或者反过来,想要一些专门为了浮空连这个目的招式。令人满意的连段系统需要这种精细的平衡。有一些例子值得我们去汲取灵感:ROBO OH一款复古的独立格斗游戏,不允许正常的移动来耍弄已浮空的对手,除非使用特定的资源,并通过让只有需要超杀能量的攻击才能保持连段继续来限制连击可能性。

但是没有什么好事是会永远继续下去的——因此,连段也必须有所限制。

让无限停止在他们的轨道上

好吧,一切都很好。我们有受击硬直计数器,我们有杂耍系统,我们玩我们的游戏原型…我们发现我们可以通过不断按下刺拳按钮来进行无限的连击。

“这怎么可能呢?”这可能是你的第一反应,但答案很简单:你没有在调整你的招式属性和帧数据时花足够多的注意。 帧数据是一个招式如何运作的内在描述。你可以粗略地用它们来理解哪些招式可以在连击中使用,哪些不可以。

移动通常由三个不同的阶段组成

· 发生:该招式不能造成伤害的阶段;

· 持续:该招式可以造成伤害的阶段;

· 收招:该阶段的招式不再造成伤害,并且该角色不可动(注意,在某些情况下,该阶段可以缩短或跳过)。

如果你发现自己处于这种“无限刺拳连段”的情况下,这可能意味着刺拳招式速度的收招发生相对于命中时应用的受击硬直值太快了。举个具体的例子,假设我们有一个动作在第4帧开始发生,只持续了1帧,有3帧收招。如果该移动应用例如9帧的受击硬直,这意味着相同的移动将能够随意地再次击中,一次又一次,因为恢复加上启动加起来是7帧,潜在可能地导致无限

为什么是“可能地”?嗯,帧数据不是一切。这一招可能会和自身组成连段,但只能在很短的范围内,会在第二次重复后会将对手推出伤害范围。然而,没有充分考虑这一点可能会导致灾难(或者一个做出正好基于左右无限连的非常有趣的游戏,取决于你怎么处理你手里的牌)。

神圣三位一体:伤害缩减,重力缩减硬直缩减

阻止无限连只是构建一个好的连段系统的关注点之一。理想情况下,你不希望玩家在接下来的255秒内能够在屏幕上杂耍对手(不可否认,有一些游戏围绕这个概念努力,但你挨一顿这样的连段,不是吗?).这就是三种不同的扩展方式的作用:

· 伤害缩减:连击持续的时间越长,每次打击的伤害就越小。有几种方法可以实现适当的伤害缩减,这可能是本系列下一篇文章的主题,但是基本思想是连击的每一击造成的伤害越来越小。最简单的、不算最好的实现方式是一个线性函数,它对下一次打击的伤害乘算一个递减的倍率,与当前的连击计数器成比例。这在处理例如多段伤害的招式时有缺点,因此可能需要更精细的解决方案;

· 重力缩减/增加击退:杂耍不可能永远持续下去,对吧?为了避免角色在空中的时间比在地面上的时间长,您可以每次击中后,降低它们被击飞的高度或者随着打击的衔接,将它们送得越来越远。这意味着,随着连击拖得越来越长,被杂耍的角色将离地面越来越近和/或离进攻的玩家越来越远,最终完全断绝了连击的机会。但是,如果编码错误,导致溢出,就会得到北斗神拳;

· 硬直缩减:你可能想让这些招式自身在连段中使用一定次数,这本身并没有什么不好或可怕的。这就是硬直缩减加入战斗的时候了:连击中的每一次新的击中都会乘算硬直倍率,随着连击持续的时间越长,有效地减少了连段时间玩家必须将一个招式衔接另一个招式来延长连段。动漫格斗(如龙珠斗士Z)利用这种类型的缩减来最终给他们已经很长的连段收尾。

请注意,您不必在游戏中实现所有这些功能,但是上述三个功能的合理组合能够并且将会造成一些不同。

,最后的核弹级选择:无限连段预防系统

即使具备了以上所有条件,也可能会出现奇怪的少见情况或超出预想愚蠢的、意想不到的交互仍然可能导致无限组合。甚至像街头霸王V这样的老牌游戏也不能幸免于此——见臭名昭著的丹无限https://youtu.be/n2dXd8cvYi0在同名角色丹作为DLC加入名单后不久,这一问题就困扰着游戏。

因此,为了确保你有一个选项来防止这一点,除了伤害缩减,重力/推击缩减和硬直缩减,您可以添加另一个安全系统作为替代:

· 自动中断连段在连接了一定时间或一定衔接了一定数量的打击之后或者…

· 给被连段的玩家一个选项,中断连段,如果他们做出正确的猜测(例如在《杀手本能》和《骷髅女孩》中)或者…

· 以上两者,同时使用,并有不同程度的调整。

即使是那些不以长连击而闻名的游戏,如《街头霸王V》,也有一种后备的“无限连击预防系统”,在连击达到100次时触发——诚然,这太没用,夜太晚,因为它并没有真正阻止臭名昭著的“丹无限连”的发生和在竞技场景下的短暂争议(在以一种非常有创意的方式修补之前)。

总结和结论

连段是现代格斗游戏的一个显著特征,也是大多数新的传统格斗游戏必须包含的内容。

当命中对手时,连段与造成受击硬直被联系在一起,导致他们在短时间内不能行动,而这段时间使用招式可以再次击中他们,从而造成不可避免的伤害。

无限连击通常不利于玩家体验,所以你需要以某种方式阻止或控制它们。为了做到这一点,你可以使用伤害缩减,重力缩减,硬直缩减的组合,如果需要的话,对连段本身进行硬性限制,无论是时间,伤害还是命中次数。

平衡一个连段系统和硬直的产生是一个挑战,但是幸运的是,这是一个已经基本解决的问题,有很多实际的例子。你只需要坚持自己的想法,调整系统,通过使用我们在这篇文章中介绍的一些或全部工具,再加上一些你自己发明的给你的游戏增加一些趣味的工具,将游戏引向你想要的方向。

注释和额外名单和其他有用的材料

[1] 游戏: Divekick (PC), steam官方主页截图: https://store.steampowered.com/app/244730/Divekick/

[2] 游戏: 街头霸王 V (PC) — 截图来源: https://store.steampowered.com/app/310950/Street_Fighter_V/

[3] 游戏: 铁拳 7 (PC) — 截图来源: https://store.steampowered.com/app/389730/TEKKEN_7/

[4] 游戏: Beatdown Dungeon (PC) —GIF来自 :https://phil-airdash.itch.io/beatdown-dungeon

[5] 游戏: The Chaos Gene (PC) —  GIF来自: https://store.steampowered.com/app/1503000/The_Chaos_Gene/

[6] Infil的格斗游戏术语列表: https://glossary.infil.net/

[7] 街霸V开发者修复丹的无限连通过更加随机的 [我道拳]: https://kotaku.com/street-fighter-v-devs-fix-dans-infinite-combo-by-making-1846928265

[8]北斗神拳 —高级技巧[Shoryuken Wiki, 包含了造成“篮球连”的原因的解释]: https://srk.shib.live/w/Hokuto_no_Ken/Advanced_Game_Mechanics

标签:

下一篇: 最后一页
上一篇: 世界热议:菱电电控: 截至5月31日,公司股东人数为4855(户)

相关新闻

保险时讯