这是一门神奇的手艺
请先看前三篇:
什么是"动作状态机"?跟你聊聊怎么设计真正的动作游戏(一)
庖丁解牛!跟你聊聊怎么设计真正的动作游戏(二)
打人像划水?跟你聊聊怎么设计真正的动作游戏(三)
多图预警!!
多图预警!!
多图预警!!
前文提要战斗手感主要包含两个方面。上篇文章讲的是如何造就良好的"打击反馈",本文将对"角色操控"进行阐述。
"打击反馈"是明面儿上的功夫,较为容易得到提升,而"角色操控"则好比是"基本功",要花大多功夫才能得到提升。对基本功的忽视,很大程度上导致这种上文提及过的:
一些动作游戏宣传片挺能唬人,然而真正上手你觉得手感一言难尽。很多时候我们只能形容为"手感很飘",却说不出个所以然。
"角色操控"不仅体现在角色移动中,也体现在技能和连招中,因此本文会涉及连招的基本实现方式。我们开始吧~
对角色动作的转向和位移进行过分宽松的配置,是"角色操控感差"的症结所在。
在动手之前,我们来给自己定个目标。
两段精彩的动画片段截取自《黑客帝国:动画版》之《PROGRAM》。请留意白衣女主角的动作。
lang得一批
稳得一批
游戏不是一门一味追求真实的艺术。游戏中人物的动作是一种审美趣味的表达。上面的两个图里,女主角既可"其疾如风",也可"不动如山"。游戏也追求这种效果。
出于对"其疾如风"的追求,开发者很容易进行过分宽松的配置。实质上,有张才有弛,有缓才有急。缓急的节奏应该进行严格配置——这意味着在游戏中大量使用固定量位移和有限制的转向。允许玩家自由控制方向或距离的动作远远没有你想象中的那么多。
角色移动篇在动作游戏中,角色的移动通常通过摇杆来进行。你可能会说:"摇杆控制移动?很简单嘛!"这样想就错了。我们观察一下老游戏中摇杆的表现:
《鬼武者HD》
现在这种简单粗暴的移动方式已经很少见了(当然了还是比坦克式移动好很多)。你控制的是一个人,而不是别的什么东西——要做到这样,一点都不简单。
起跑
如果是实体摇杆,小幅度推动是慢跑,大幅度推动是快速跑。虚拟摇杆的话可以考虑起跑时先慢后快。
待机-快速跑
待机-起跑-快速跑
可以观察到第二个动图的效果更加自然。注意要在一个动画循环结束之后才切快速跑。如果在第一个动画播放到一半的时候切快速跑,就会出现"左脚迈完又迈左脚"的情况。
图二范例中,第一个跑步循环是起跑,为实现起跑"慢"效果,配置方式为是角色的动画播放速率为正常的80%。如果专门做一段"起跑"动画则效果更佳。
刹车一般游戏中很少有"惯性"。(因为物理特性很容易带来负面感受,需要谨慎使用,下文详聊。)通常当玩家松开摇杆,角色的移动速度立即降到零,但是人物会播放一个"刹车动作"。刹车动作使角色的表现更具说服力。
《鬼泣4》尼禄移动演示
移动中转向
在一些老游戏中我们可以观察到下面这种现象。
Bungie早期作品《Oni》
角色在拾取物品的动作中能转身——这种现象以现在的眼光看来是不可接受的。转身应该是在走路或跑步动作过程中发生。
在移动过程中,角色的转向应有"转向灵敏度"限制。下图中可以观察《鬼泣4》到与《鬼武者HD》有明显的区别——尼禄的转向不是立即转身,而是有转向过程的。
《鬼泣4》
为了进一步增加"转身"的说服力,我们可以考虑给角色加入一定角度的倾斜。
《合金装备崛起:复仇》
当角色进行转弯的时候,把角色的中轴进行一定角度的倾斜。
在《尼尔:机械纪元》中能更加明显地观察到这个现象。(手边没有合适的视频素材,大家看雷电的屁股将就一下。)
180度急转身
180度急转身应配置一个专门的动作片段。如果光是依赖"动作融合"功能把上一个动作融合至"走路"动作,就不能达到下图流畅自然的效果:
《荣耀战魂》
值得注意的是,手机触摸屏的虚拟摇杆因为没有手柄的实体触感,而且屏幕较小,所以在手机项目开发中不应盲目追求主机项目的效果。我们甚至可以容忍手机游戏中进行《鬼武者HD》那样的转向,因为它反应最及时。
转身动作有一个特例,就是"四足生物",留在最后进行阐述。
慎用物理特性
"惯性"这样的物理特性会导致角色的运动变得难以预料。
《马里奥》系列是对物理特性运用的相对较多的一款游戏了。然而仔细分析之后,你会发现它是很克制的。因为单纯地把物理特性打开,并不能保证它能带来优秀体验。真正能为游戏加分的必然是精心的设计。
《马里奥:奥德赛》中的"沙之国"中有一个段落发生在冰天雪地中,在这里马里奥跑步有惯性。可以观察到,当玩家推动摇杆往右,角色面朝右播放跑步动画,但是在惯性作用下角色依然朝上方滑动。为了把游戏难度控制在一定范围内,开发者做了这个设计——角色下蹲就会停止滑动。
另外,在这个场景中,马里奥化身为板栗仔之后就不会惯性了。
同样是《马里奥:奥德赛》,在"雪之国"有一个弹弹球竞速的桥段。玩家要花不少功夫才能驾驭这个胖胖的海豹进行赛跑。这个赛道的设计是与海豹的物理特性相匹配的。为什么不能在赛道以外的地方使用海豹?因为外面的世界是与马里奥的运动能力相匹配的,不是与海豹匹配的。一旦失去了与之相匹配的赛道,海豹的物理特性就失去了用武之地,关卡不能得到预期效果。
简而言之,对物理特性的应用,点到为止就好。除非游戏主打的就是"难以驾驭的物理效果",例如《模拟山羊》。在通常的动作游戏中,我们运用物理特性,目的只有一个,就是为了使角色的运动更符合玩家的心理预期。
物理运动:关闭
物理运动:开启
在关闭物理特性的情况下,角色仿佛一头撞上了透明的墙壁,突然停止。开启了物理特性之后角色的坠落运动更加平滑,让人觉得很自然。
技能动作篇连招范例
先快速过一下连招的编辑方法。以下范例是把三个动作编辑成一套三连招。我们把状态机这么一画:
三连招状态机动作A
动作B
动作C
连招的固定节奏
观察三个动作,得知:
动作A的开始姿势是待机姿势
动作A,B,C的结束姿势都是待机姿势
动作B的开始姿势是动作A某一个时刻的姿势
动作C的开始姿势是动作B某一个时刻的姿势
动作B和动作C是不可能单独释放的,它们都必须在上一个动作播放到某个时刻的时候才能释放。请看下面示意图:
中断发生时刻【图例】
绿色格子称为"接收信息区间"
黄色格子称为"执行中断时刻"
注意:绿色是一个"区间",黄色是一个"时刻"
下文的图表将使用相同的图例
我们玩游戏的时候随便按按攻击键就能出一套普通攻击连招。只要连招使出来,它总是这样的节奏。这就意味着:在动作片段的绿色区间内,系统接收玩家的输入,但是等到黄色时刻才会执行动作中断。
最终效果演示如下:
三连招完整演示
由于黄色的时刻是由开发者配置的,因此,并非按键按的越快连招的节奏越快。连招的节奏是固定的——是开发者根据角色的战斗风格而定下的节奏。
在一些游戏里面,绿色区间不总是如此的宽松。格斗游戏的"目押技"就是把绿色区间限制在非常短的几帧内。
连招的位移
通常来说连招都是带有位移的。连招会驱使角色在攻击中同时往前移动。
招式中所带的位移都是"固定位移"——位移距离和位移方向都是固定的。
游戏角色的动作要表达出来一种特定的气质。例如,我希望角色表达出来"迅猛""利落"的气质。为了达到这样的效果,我在这个动作的内,先后三次修改了运动速度。(注意是直接修改速度的参数,没有配置任何物理计算)。三个蓝色时刻依次为:起始速度、极速、刹车(突然变零)。
三次修改速度
我们再看看下面动图:
这个动作中角色最后在地上滑行的时间较长。这不就是所谓的“脚底抹油”吗?
以下动作也是凌厉的风格,堪称典范。
《鬼泣4》维吉尔攻击动作
正在考虑更先进的做法,例如把动画师做的位移导出来,转换成技能位移的数据。
连招中的转向
下面的四连招攻击演示中,可以观察到,连招中输入转动摇杆,可以使角色每次攻击都朝着不同的方向释放。这样的配置,使玩家在实战中足以应付来自各个方向的敌人。
仔细观察可以发现,角色转身是瞬间发生的。先转身再挥刀,挥刀的过程中人物的朝向是固定的。这就意味着只有动作片段的最开头一小段时间内允许发生转身,之后的时间内禁止角色转身。
允许转身的时间
调皮的同学可能会问:何必限制得这么死?自由一点不更好吗?我让角色连招中可以转身岂不是美滋滋?
全程允许转身
典型的“脚底抹油”
其实这是有特例的,就是背随视角的游戏。我们放在最后说。
收招切跑步
角色出招之后,玩家推动摇杆,使角色切到跑步动作。
出招后切移动
值得注意的是,攻击动作整个过程中都不应该允许"转身",人物之所以转身是因为切了"走路",而"走路"允许转身。
注意人物脚下的箭头在什么时候发生变化
如果在攻击动画被切之前就允许转身,就会导致角色收刀过程中转身。
注意人物脚下的箭头
冲撞技能
普通冲撞冲撞技能的"转向"是重要的作战性能。但即使这个动作允许玩家转向的,冲撞动作也并完全自由:冲撞的速度是固定的,转向也受到"转向灵敏度"的限制。
《鬼泣4》维吉尔技能演示
在上面的范例中,维吉尔冲撞结束后接了一个劈地动作。劈地动作是不可转身的,固定往前位移的动作,正是这一下动作使整个技能有了一个恰如其分的重量级结局。可见"固定位移"的动作是营造稳定手感关键。
连续冲撞《鬼泣4》中维吉尔可以连续多次进行冲刺,冲刺之间可以转向。
《鬼泣4》维吉尔冲刺技能
状态机
值得注意的是收刀姿势的时间是固定的,这就意味着无论战斗多么激烈,玩家一定会目睹这个逼格十足的姿势的完成,这对于角色性格塑造有着关键性作用。游戏也因为这样的恰到好处的停顿而获得一个有张有弛的良好节奏。如果缺了这个收刀姿势,这本该帅气的冲刺手感就会逊色很多:
《RUNIER》在美术、音乐方面都可圈可点,赛博朋克范儿很足,可惜手感很飘。问题在下面这个图中暴露出来:
红色身影就是主角
第一次冲刺结束时,角色的pose完全定住,旋转,甚至连特效都跟着一起旋转。简直太尴尬了。
招式之间的闪躲
《怪物猎人:世界》很适合作为当下游戏的参考。之所以选取了大剑的动作是因为容易观察。实质上这个机制同样适用于快节奏的动作。
前翻滚
侧翻滚
后翻滚
角色朝不同的方向闪躲,会出现不同的翻滚动作。
划分象限
顶视角图
把角色所处的空间划分为四个象限
蓝色圆点为主角,蓝色箭头为主角面朝方向
此时玩家输入:摇杆 翻滚键
系统将摇杆方向与人物当时的朝向进行对比。摇杆方向落在哪个象限,决定了最后人物使出哪个翻滚动作。这样的机制营造出"角色很灵活"的效果。而实际上闪躲动作的位移也是"固定位移"。闪躲动作一旦触发,中途不会再次改变方向,而闪躲的位移距离也是固定的。
特殊机制篇朝向辅助
目标系统是动作游戏必不可少的。下面演示中,在执行"朝向辅助"功能的时候,角色会瞬间面朝它的目标。
面朝目标:关闭
面朝目标:开启
"朝向辅助"执行时机
面朝辅助的作用在于修正细微的误差。一般来说限制在前方45°,一定半径范围内。如果范围太大,例如说能覆盖后背,这样就不合适了。
有的同学又皮了:"何必限制得这么死?我让角色在技能中一直面朝敌人,百发百中,岂不是美滋滋?"好,我们来试试:
全程执行"朝向辅助"
《CMD》镰刀"大风车"技能释放期间,角色的朝向频繁变化
现在你知道《DMC》和正统《鬼泣》的差距(之一)在哪里了。要是你说"我不服!老子就是要做一个360°无死角全方位自动瞄准日天日地日空气的龙傲天动作游戏!"
而居然真的是有特例,就是《蝙蝠侠:阿克汉姆系列》。我们留在最后说。
焦点式移动
焦点式移动,即我们平常在游戏中体验到的,锁定一个敌人,角色会绕着锁定目标进行绕圈移动。
《砰砰小怪兽》
在焦点模式下,技能动作依然是固定位移。以闪躲为例,闪躲仍然是直来直往,并没有变成"U字大拐弯"。在我印象中,能使出"U字大拐弯"的游戏,仅下面一款:
《SHINOBI》
我朋友大锤说《尼尔:机械纪元》里面闪躲也能拐弯。我当时可能光顾着看___去了,没留意到。大家自行回去回味吧。
追身技能
追身功能有两种实现方式。
第一种:在一个动作片段的某个时间段执行"朝目标移动"的命令。
追身作用的时间段
追身之一
另外一种则是由两个片段组合起来:第一个片段负责追身,第二个片段负责攻击。
把状态机顺手一画:
两个片段的组合
距离近-使用普通攻击,不触发追身
追身-近距离
追身-远距离
当追身到"足够近",角色就会切到攻击动作。因此角色的移动距离是不固定的。这是少有的距离不固定的情况。
"瞬移"效果与"追身"类似。除了朝目标沿直线移动之外,瞬移的目的地可以是一个固定的点,例如"瞬间移动至目标的正后方"。下面欣赏一段《鬼泣4》的演示。里面大量运用了面朝辅助和追身功能。令人惊异的是,在如此高速度的运动中,游戏的表现居然如此稳定,一点都不晕。这是真正体现开发者水平的地方。
即使在如此高速的运动中,维吉尔从不背对敌人,与《DMC》形成明显对比。
特例背随视角游戏
背随视角类游戏和《鬼泣》有很大不同。来看一下《堕落之王》这个游戏。
在"锁定目标"机制的作用下,角色会一直面朝一个目标。此时玩家发动攻击,角色一边挥动武器一边旋转,转了四分之三个圆。实际上如果敌人不死,他可以一直转下去。再加上角色的动作设计缺乏美感,以至于整个效果看起来很滑稽。实际上,如果不是敌人AI这么傻,也不至于一直二人转...但是这游戏实在是各方面问题太多了。吐不完的槽。这里不深入讨论了。
但是我们不能因此说这个做法是错误的。在背随视角的游戏中,如果锁定了一个目标,普遍都是这样做的。因为此类游戏一般要求玩家同时应付多个目标,"锁定"功能的目的就是为让玩家可以一直针对一个目标,否则,就相当于是锁定功能没有达成它的既定效果。可以观察到《黑暗之魂3》也是这样做的:
新《战神》有一点非常明智,就是角色的出招动画中包含大量的"转身"。这样一来,酣战中即使发生转身,玩家也不会轻易察觉到有什么不妥。
除了奎爷这个转身的细节,实际上,在这种视角下,技能设计、敌人AI等等...很多东西都会发生变化。从旧《战神》到新《战神》,远远不止是"把摄像机调一调"这么简单。光是为这个视角的变化,肯定就花了开发者无数的心血。
《蝙蝠侠:阿克汉姆系列》
该系列 Free Fow 动作系统真是一个令人赞叹的发明。观察这一小段战斗。
可以看到,这个动作系统最大的特色在于——允许玩家不断地切换目标,角色根据目标所处的方位和距离,使出一个与之匹配的攻击动作。更惊人的是——上文所阐述的机制是把角色旋转至面朝敌人,再执行往前的攻击。这个则是攻击动作中带有"转身",角色可以朝任意方向发动攻击。尝试反推出它的机制,这个过程是让人头皮发麻的。
顶视图
【图例】
蓝色点为主角
蓝色箭头为主角面朝方向
绿色箭头为玩家摇杆输入方向
三个红色圆点为三个敌人
系统把主角所处的空间划分为四个象限。当玩家沿绿色箭头方向推动摇杆,系统认定B为最合适的目标,把角色的运动修正成黄色箭头的方向。这样一来系统就判断了合适的方向。
同时,系统还进行了距离的判断,方法就是把角色所处空间按照远近切分一下。
另一方面,开发者在游戏中制作了庞大的动作库,足以应付任意方向和距离。根据系统判定的距离和方位,在动作库里面选取合适的动作。稍微找两个例子:
这个"转身大摆拳"就是近距离背后方向的攻击:
这里两个"滑铲"动作,第一个是远距离背后方向;第二个是远距离前方向。
居然能倒后滑铲,我也是服气...
这...这简直厉害到可怕!而且,请、请问一共需要多少个动作?
四足兽的转身
四足兽在跑步过程中的转身不需要什么奇特的机制,跟人型角色差不多。真正蹊跷的地方在于"原地转身"。
四组兽的原地转身动作是全身的动作,四个脚依次发生抬脚,移动,落脚。四个脚带动怪物全身扭动。而当这个动作完成的时候,四个脚都是着地的。这意味着转身动作一定要播放完整,不能中间掐断。这就意味着——难以用一个动作涵盖任何幅度的转身。
如果没处理好,怪物看起来会非常不自然。体型越是巨大,穿帮越是明显。而《怪物猎人》系列为我们提供了绝佳的例子。我们看下图:
可以观察到:中分哥先进行了一次90°的顺时针转身,这个转身动画就是与90°这个幅度严格对应的。这个动作不能与任何其他幅度对应。回想一下你的狩猎生涯,中分哥如果要进行180°的转身,它可能会执行两次90°转身,或者是进行一次180°的转身。如果是后者的话,就是另外一个转身动画了。
在上面动图中,中分哥进行了90°的顺时针转身后,发现自己转过头了,于是又进行了一次10°的逆时针转身,之后才发动了攻击。
我们再考虑一下,中分哥是个AI,系统下达指令让它转多少度,就采用哪个相匹配的动作。但是如果这个四足兽是由玩家控制,这就意味着转身角度可大可小,该如何处理?《合金装备崛起:复仇》的《刃狼》章节可以为我们提供很好的参考,本文不作过多阐述。
结尾
总结一下,其实这篇文章真没什么高端技术。一个好的动作编辑器固然是必备的,然而更重要的是思路,还有态度。配置要谨慎、严格,好效果是慢慢磨出来的,并非一蹴而就。
好了,各位pong友,我们下篇文章再见~