在我们设计动作游戏的时候,一定会遇到一个问题——除了调整怪的攻击力、血量这几个有限的、却又显而易见的属性之外,还有什么办法可以让怪物的难度有所变化呢?这是一个非常有趣的问题,因为随着一个动作游戏的进度推进,游戏难度的提高是必须的,而怪物对于动作游戏来说,就是体现出难度的核心甚至是唯一因素,但在难度设计的时候仅仅只是提高了怪物的攻击力和血量,调性又与动作游戏并不相符——动作游戏的难度递进应该是让玩家自己发现一些技巧、精炼一些技巧之后,能够更加灵活、娴熟地使用这些技巧来克服更高的挑战,而不是让玩家通过收集高级素材来打造高级装备用属性来对抗怪物,堆属性是一种经营的玩法,它并不动作。所以,本文就要深入探讨一个问题——动作游戏的难度应该如何去设计和制作。
除了数值,还能调控什么?
01 追加的新动作
为高难度怪物追加动作是最常见的方式之一。在低难度的时候,怪物只会做一些破绽较大、速度很慢、攻击碰撞范围较小的动作,而当怪物的难度需要提高的时候,就会开始追加一些速度快,判定范围大的动作,同时弃用一些对于玩家而言没有挑战性的动作。
比如在Capcom的《怪物猎人:世界》中,上位(难度较高)的雌火龙,相对于下位(难度较低)来说多了一个倒挂金钩的动作,这个动作也是雌火龙亚种樱火龙(可以理解为换了皮的、难度更高的雌火龙)的招牌技能,而到了Master级(最高难度),雌火龙的稀少种金火龙在高热状态下还会吐出核爆大火球,这是樱火龙和雌火龙都不会的,核爆大火球不仅范围威力巨大,还会在地面上留下火焰灼烧一段时间,这大幅度提高了猎人的对抗难度。
(樱火龙倒挂金钩)
当怪物有了对抗难度更高的动作,同时失去了低对抗难度的动作之后,怪物的难度自然而然就会得到提升。
02 “隐藏”属性
除了肉眼可见的血量和伤害力之外,动作游戏中还有很多玩家肉眼不可见的属性,我们先看构成一个怪物动作的逻辑数据结构:
这是构成动作游戏中角色(包括玩家角色和怪物)的每一个动作的元素。一个动作由若干顺序播放的动作帧组成,游戏每推进1帧,当前动作就会播放下一个动作帧。每一个动作帧里又有:
图形:当前动作帧所需要绘制的美术图形,这非常好理解,通常就是序列帧动画的某一帧。
(常见的动作游戏中的一个角色的一个动作序列)
攻击碰撞盒:一帧动作中允许有若干个攻击碰撞盒,用于确定这个动作可以打中的范围,并不是每一个动作的每一帧都有攻击碰撞盒的,即使这本身是一个攻击的动作,也不是每一帧都会有攻击碰撞盒。
(一个角色的每一帧动画都可能会存在攻击碰撞盒、受击碰撞盒和格挡动作盒)
受击碰撞盒:
一帧动作中允许有多个受击碰撞盒,当任何一个被敌人的攻击碰撞盒打中,就很可能要接受伤害判定。
但是并不是所有动作的所有帧都有受击碰撞盒,在没有受击碰撞盒的动作里,角色无法受到攻击,因此这些帧通常被玩家俗称为“无敌帧”。
通常动作游戏、格斗游戏中玩家倒地(包括死亡)的动作里都会有大量“无敌帧”存在。
防御碰撞盒:
和攻击碰撞盒、受击碰撞盒一样的存在,这通常是因为角色会有一些防御动作,但是防御动作并不是全方位保护角色的,所以会需要碰撞盒来决定是否是“格挡到了”。
同样的,即使是一个防御性的动作,也并不是每一帧都有防御碰撞盒的。
吹飞力:这是动作游戏中特有的设定,即如果在这一帧能够命中对手,并且破坏对手的动作,就能导致对手产生位移,位移的量取决于这个属性,因此通常来说,这个属性是一个向量。
(在动作游戏中,尤其是格斗游戏里,击飞击倒打硬直等都是很常见的事情,也是非常重要的战术,挨打目标能飞多远或者滑多远,取决于当前帧的吹飞力,每一帧可以有略微不同的吹飞力,但是如果每一帧都差太多,玩家就会感觉很奇怪,除非动作上可以解释得通)
Cancel动作和被动作Cancel:这正是动作游戏打击感和华丽的核心来源之一,不可或缺的一部分——在动作游戏中,一些动作做到一半,可以被另一些动作直接取消后半部分的动作,而接上的动作也会失去前半部分,以达到动作衔接的流畅和一种效果奖励(通常会把一些带“破绽”的帧丢掉)。而能够形成这样的“真正的动作游戏的连招”的,正是这两个属性带来的。
(在gif的后半段,红衣的Ken重直拳之后跟升龙拳就是一个非常漂亮且实用的Cancel,集美貌与实用于一体的Cancel也是格斗游戏的魅力之一,也是玩家嘴里的“打击感”的极其重要的形成部分)
除了动作帧,整个动作还会有一些其他属性:
动作值:
每一个动作有一个动作值,这通常是用来说明这个动作能造成的伤害的,早年也用于计算得分的(早期的游戏都有得分系统,随着游戏的发展,得分系统逐渐被人淡忘和遗弃了)。
不一样的动作动作值应该是不同的,毕竟很多动作的“命中难度”本身就高,如果伤害都一样,那这些动作的性价比就会变得非常低,可以说动作值本身就是对动作性价比的一个补偿措施。
(在怪物猎人中,大剑不仅本身攻击力高,因为动作缓慢,大多动作的动作值也高,所以单次伤害的值总是能远高于双刀)
霸道值与破坏力:
这是与回合制游戏截然不同的一个值,在回合制游戏,尤其是ARPG游戏,如《Diablo3》中,角色开始做一个动作,只有被打断和没被打断2个状态,非黑即白。
而在动作游戏中则不同,当角色开始做一个动作的时候,未必会被其他角色的某些动作打断,但是可能会被另一些动作打断,这完全取决于当前角色正在做的动作的霸道值与对手动作的破坏力。
而在《地下城与勇士》(DNF)中,引入了一个概念,即将一个角色一段时间内所有动作的霸道值设定为最大值(以至于无法被打断),由此形成了“霸体状态”。
(DNF中,霸体的角色霸道值总是最高,所以动作“无法被撼动”)
段数:
这也是一个作用于打击感的属性,它包含了“最高段数”和“帧间隔”的概念,即这个动作在不同帧都击中同一个对手后,是否进行二次碰撞处理——通常的技能段数都是1,所以在动作完成之前的其他帧的碰撞盒都不会作用于同一个受击目标;
而如果段数>1,则会在指定的间隔帧之后,若碰撞盒再次碰撞同一个目标的受击盒就会做出2次伤害判定,这带来了一种更“连续杀伤”的打击感。
(在怪物猎人世界中,黑角龙与角龙的最大不同之一在于,角龙从地下钻出飞起的时候只有1段判定,而黑角龙会有3段,没有经验的猎人使用长枪往往会在格挡了第一段之后进行反击而被第二段或第三段攻击“带走”)
当我们了解了这些属性之后,我们不难发现,一些数字类的属性,比如“段数”、“霸道值”等,都是可以随着难度提高而提高的,玩家看不见。而除此之外,怪物的攻击碰撞盒、受击碰撞盒等范围,也是可以通过游戏难度来进行变化的,更大的碰撞盒范围、更小的受击碰撞盒范围,都会带来更高的游戏难度。
03 动作速度变化
调整怪物的动作速度,也可以起到调整难度的作用。但是与回合制游戏、ARPG不同的是,动作游戏的动作速度并不能直接通过无脑压缩时间长度来实现。
在一个ARPG游戏中,对于伤害的判定是一瞬间的。在整个一次行动(比如释放一个技能)的过程中,动作的长度决定了这个回合(一个回合一次伤害判定运算)行动的时间长度,因此直接压缩动作时间长度,就等于加快了动作,就等于单位时间内回合(伤害次数)变多了。由此,ARPG中直接压缩动作长度===加强。比如在《魔兽世界》里,非常好理解的是,寒冰箭需要读条2.5秒,而把2.5秒压缩到2秒就是非常直白的加强。
(在回合制或者ARPG游戏中,任何技能动作都可以看做是在读条,读条时间越短,自然动作越快,单位时间内可以反复做的次数也就越多,回合数也就上去了)
但是动作游戏不同,上面我们说过了,动作游戏中每一帧都是有不同的碰撞盒的,而游戏的每一帧这些碰撞盒之间的运动都可能改变游戏的局面,通俗的说:“并不是我做了一个技能,等动画播完就会造成伤害的”。如果演算一下不能发现,当我们压缩掉一些帧,尤其是这些帧原本还有攻击碰撞盒,特别是这些帧的攻击碰撞盒恰好还是这个动作中所有帧里面攻击碰撞盒面积(3D则为体积)最大的,这不但不是加强,还是削弱了。所以通过无脑压缩动作时间长度是无法做到“可控地调整动作游戏的怪物难度”的,因为这种方式本身是失控的。
(怪物猎人系列中,怪物愤怒了可不是只有脸红脖子粗的视觉表现,他们的很多动作会“变快”,压缩掉一些没有攻击判定的帧,复制更多有攻击判定的帧。通过这样的变化,来做到让玩家感觉怪物愤怒之后难度变高了)
因此当我们在说改变一个怪物的动作速度的时候,并不一定是说“加快某个动作”,因为可能这个动作变的更慢了,但是这个改动一定包含:
让动作中有了更多帧带有攻击碰撞盒——带有攻击碰撞盒的帧越多,这个动作的对抗难度自然也越高;
去除一些不带攻击碰撞盒还带有挨打碰撞盒的帧,就跟手动做了Cancel一样的感觉,把这些“破绽”帧去除掉,怪物就变得更不容易挨打了,动作也会变得让人感觉更加霸道和难以对付。
通过调整动作的帧,删除一些没有攻击判定的帧、复制或者追加一些有攻击判定的帧,或者仅仅只是调整一下攻击判定帧的位置,都可以起到提高怪物难度的效果,而这些改变都不是“面板化”的(即玩家在属性列表里无法查到)。
04 动作衔接变化
除了追加动作、调整动作帧的属性(尤其是判定范围)、改变动作速度之外,动作之间的衔接,也是怪物难度设计的一个要点——高难度的怪物在同一个准备动作之后,可能会有更多品种的后续动作,当怪物有更多的后续动作的时候,难度会变得更高,因为连续的动作会改变玩家的对抗思路;同样的将原本两个前后单独做的动作,用Cancel进行衔接之后,也会变得更流畅华丽,从而提高怪物的难度体验。
通过同一个前置动作(未必要完全相同,最好是不完全相同的,玩家可以凭经验判断的),做出不同的后续动作:
(怪物猎人系列中雷狼龙侧身很可能是要“铁山靠”了)
(而另一个相似的侧身动作之后则是拍地而非铁山靠)
相似的侧身动作之后是不同的攻击动作,这需要玩家有一定经验来判断侧身动作到底是哪个动作的开局,而因为动作的形非常相似,增加了判断难度,也就同时增加了对抗难度。
同一个动作不同个数的后续动作可能性,也是增加难度的关键。但是同样的,不同的准备动作最好也是能看得出些端倪的,以及后续动作的对抗方式也尽可能不同:
(雷狼龙转身2连拍,之后追加一个冲刺然后从空中压下)
(这回少拍了一爪子就开始冲锋了,老猎人都知道等雷狼龙落地了可以收拾他,如果想贪心博一把多打几下也不是不行,但是没吃准的话就要挨揍)
从上面我们看出,连续的动作组合中,动作的个数、元素是可以不同的,但是应该有明显的让玩家感觉到“可以动手了”的信号。
05 危险的“弹幕”设计
弹幕是清版射击游戏的招牌,也是很多敏捷类小游戏的核心玩法——即洒出大量的子弹,玩家此时要集中精神进行躲避,被子弹击中后果很严重(不是输了就是损失一次机会),依靠反应和身手敏捷躲避子弹是非常好玩的,因此也有很多蹩脚的ARPG游戏在设计Boss战的时候实在想不出方法了就采用了这种弹幕的设计。
(弹幕bullet hell,是很多带有“高难度”标签的清版射击游戏和敏捷类小游戏的核心玩法,也被一些ARPG游戏和动作游戏所借鉴)
弹幕设计对于动作游戏来说,也不是全然不可,但是因为弹幕会打乱动作游戏的节奏,给游戏带来一定的打断感——玩家从认真对抗敌人的动作,从每一个动作中寻找破绽从而得到反攻的机会,变成了专心致志躲避不被击中,整个体验发生了巨大的变化。偶尔有一些怪物有些许弹幕还可以接受,但如果弹幕的比例过大,游戏性就会荡然无存。尽管动作游戏也需要玩家敏捷,但是并不是动作游戏就等于敏捷游戏的,玩家玩动作游戏的动机和追求就和玩敏捷游戏非常不同,玩动作游戏追求有来有回的打斗快感,玩敏捷游戏追求依靠身手敏捷克服困难(而不强调反击,反击是自然而然进行的事情)。
(怪物猎人中的麒麟历来因为弹幕而被认为是“粪怪”,即使到了怪物猎人世界有所改进,也因为弹幕和快速移动让近战体验非常糟糕,一度使得怪物猎人被玩成了第三人称射击游戏)
避免弹幕设计,可以从减少弹幕次数出发,也可以从减少弹幕范围出发,总之在一个“砍砍砍”的游戏里来个弹幕,多少会让节奏上有所不爽。
怪物的设计与制作方式
在了解了我们能做些什么调整怪物的难度之后,从专业的游戏设计师的角度出发,我们就要来看看我们该怎么去执行这些方法的制作了。
01 细分好每一个动作
在开始设计的时候,细分好每一个动作都是非常重要的。这里存在一个很大的误区——当我们还没有设计动作游戏的经验的时候,我们会认为“动作”就是“技能”,但事实上一个“技能”包含了多个“动作”,或者说“技能”是“动作的组合”。在动作游戏的设计中,并不像回合制游戏或者ARPG游戏有“释放了某个技能”的概念,只有连续做了一些动作形成了一个招式的概念。
所以在做的时候,我们要把心里想的“一个技能”,根据其“可衔接性”拆成若干个动作,即每个动作前后都可以连接其他动作,而非一成不变的:
我们来看这样一个招式——他并不是一个“二连咬”的技能。首先我们应该把它最简单粗暴的分为“第一口”和“第二口”两个咬人的动作。然后我们再从“前摇”、“后摇”的角度出发去思考,每一口咬人的动作是否还能被拆分——即咬人的前半段到哪一帧的时候可以被单独使用去接另外一个动作。基于这个思路,我们可以看到:
从侧身开始走,到上图张嘴之前,一个侧身走,应该是一个动作,因为侧身走之后可以衔接一个其他的动作,而非必须咬人。而之后咬完第一口是一个动作,但并不完整的“第一口”动作,因为它在图里被“第二口”Cancel掉了后半段“收招动作”。
拆分已有的动作是一件容易的事情,如果我们先设计好一个连续的动作链(或者说一个技能的完整动作)然后去拆分,这是一个好主意,但是有经验的设计师应该在开始做之前就拆分好,这样在美术设计的时候可以根据可能连接的动作做一些微调,使得一个动作和后续的所有动作都能融合的更好。
02 明确可复用帧和可删除帧
在设计一个动作的时候,我们要确定好一个动作的帧数,这往往可以预设到大约有多少帧(一个范围,比如30-36帧,这是有一定“容忍性”的),大约第几帧到第几帧之间会有个什么范围的攻击、格挡之类的。除此之外,我们还应该计划好:
哪些帧是可以被“复制拉长”(即停留在这个动作几帧形成拉长整个动画的效果),这些帧将在动作“被加速”的时候使用。
哪些帧是可以被“跳帧”(即跳过该帧不播放也不会影响整个动作过程的流畅性),这些帧将在动作“被加速”的时候丢弃掉。
简单的来说,就是我们设计了一个动作“最慢的状况”,然后想好了他的“加速方式”,并且同时规划好了他的进攻判定、格挡判定等大约出现的时间节奏。然后再进一步配合做图做出进一步调整。
03 动作衔接流程图设计
在我们细分好每一个动作之后,这是很有必要去做的一步——去设计一个动作衔接的流程图,在每个动作衔接的线条上,我们应该标注出:
什么条件下产生这个衔接:比如怪物愤怒时、比如高难度时、比如怪物背上插了钉子以后、再比如怪物腿被打折以后。
衔接时候的Cancel情况:至少是一个速率上能感觉出衔接的快慢(Cancel的越多越快)。
衔接时前后2个动作的每一帧攻击判定盒的连续情况:因为当两次攻击衔接太紧凑的时候,如翻滚等常见的、让人非常爽快的回避方式就可能变得十分困难,所以应该事先计划好,来考虑清楚难度的提升是否一下变得太快了。
作为衔接终点的暗示:即希望用一种什么样的暗示方式来告诉玩家:“我的连招打完了,请揍我吧”。
(怪物猎人中,雷狼龙慢慢的回复站立姿势,就是告诉玩家“可以打我了”)
(当然我们可以设计的更可爱,比如从天而降的雷狼龙是四脚朝天躺在地上,然后像这个小狗起身一样动几下扭起来的)
当然,在做动作衔接之前,我们不妨先设定好怪物所属的科目,然后研究一下该科目的动物的动作。
04 为碰撞盒设计Pivot
本文上半段我们也提到过,在设计怪物难度的时候可以巧妙的利用变化碰撞盒的面积或者体积来做到难度的变化,但是由于怪物的数量x怪物的动作x怪物的动作帧是一个十分巨大的数量级,在实际工作中,如果手工为每一帧设计多个尺寸的碰撞框并不是一个好主意,这时候我们也可以利用一些简单的数学手段来解决,比如在每一个碰撞框中间标注一个pivot,当变化的时候,按照pivot的坐标来进行放大:
上图中篮圈所包围的(两条黑线的交点)即Pivot,红色框是原来的碰撞框尺寸,橙色则是根据pivot将红色框放大的框——将Pivot到四条边的距离按比例放大,形成实际使用的碰撞框。
总结
除了血量和攻击力这些“面板数据”之外,我们完全可以从动作游戏本身的特性出发去调整怪物的难度。不难看出,要做好一个动作游戏的难度设计也是一件非常复杂的事情,但做游戏,需要的就是这种不畏劳烦、精工细雕的精神,也正是这种态度和行为铸造出了Capcom等动作游戏大厂以及他们坚不可摧的“技术壁垒”。
微信公众号“千猴马的游戏设计之道(ID:baima21th)”授权转载
稿件合作:一元(微信:smallkisshe)
商务合作:Amber(微信:lcxk6876767)
投稿邮箱:[email protected]