横版游戏中的N种跳跃——从恶魔城到Super Meat Boy


前言

作为FC老油条,横版跳跃这个话题很早就想写啦。其实早在2018年的时候,私底下就已经划拉了一个note,写了一个大概的提纲。但之后也一直没动,毕竟那时还没开博客。
前一阵子回看小握的《新永远的超级马里奥》系列,又想起了跳跃这个话题,正好把它写出来。


跳跃的几个维度

废话少说,直奔主题。
横版游戏的跳跃,会有多种特性(维度)。这些特性的有或无,就造成了不同的跳跃手感。
以下是几种【常见的】维度:

跳跃的:
1.水平距离可控?(Yes/No):跳跃远近能否受玩家控制;或者说跳跃的水平距离是否有一种以上的可能。
2.垂直距离可控?(Y/N):跳跃高度能否受玩家控制;或者说跳跃的垂直距离是否有一种以上的可能。
3.面朝方向可控?(Y/N):俗称的能不能回头
4.是否具有水平惯性?(Y/N):跳跃过程中把手撒开之后,水平方向还会不会继续移动。一般来讲,没有惯性的跳跃比较好控制。

P.S. 1234对应的维度最好稍微记一下,下文会多次用到。

根据以上四个维度,乍一看至少有2^4=16种组合,从1Y 2Y 3Y 4Y(为了方便阅读简写为YYYY,下同)一直到NNNN
但是实际游戏中的跳跃多是一些特定的套路,比如YNYYYYYN等。以下举几个具体的例子。


典例

本人对FC游戏非常熟悉,因此主要就拿FC游戏来举例。其他平台上的横版游戏,道理也都是相通滴。
这还有个额外的好处:FC游戏文件很小,如果你想亲自实验一下不同的跳跃,下载过程很轻松。
以下例子若非特殊标明,均指FC平台上的游戏。跳跃的4个维度会在游戏名后面,以方括号标出。

恶魔城1代【NNNY

当恶魔城的绝对男一号西蒙第一次登场的时候,就是带着这样的难以适应的操作。跳跃的水平距离固定(不可控),垂直距离固定(不可控),也不可以回头。
因此,当的指令发出之后,人物接下来在空中的运动轨迹(弧线)就已经确定了。除非西蒙在空中挨揍,才有可能因此而突然栽歪,打破这个路线。

那么为啥说这种跳跃操作(对新玩家而言)难以适应捏?大多数游戏中,前跳的指令比较宽泛,前和跳差不多同一时间按住就行了。就算是先按的跳再按的前,也算数。
但是在恶魔城1代中就不行喽。当你前跳的时候,需要严格地按照 按前->按跳 的指令来输入。如果你的操作不够细腻,按成了 按跳->按前 ,就会事与愿违,进行一个原地直跳。
这二者的差别,也是跳跃的水平距离可控与否导致的。它决定了跳的指令发出后,是否还可以进行修正。


魂斗罗【YNYY

魂斗罗的经典程度,地球人都知道。它的跳跃也是别具一格:向左或右跳出之后,会一直具有水平移动的惯性,直到落地。
这么设计可以达成一种边跳边射的操作:向左或向右跳跃的同时,能够保持垂直向上开枪(见下图。当然,保持向下开枪或者跳跃方向的斜上/斜下也可以)。走位不耽误射击,使得打Boss的时候更为顺手。这一点与街机的合金弹头类似。


直跳的过程中可以修正为左跳或右跳。但一旦有了水平速度,就不能再修正为水平位置不动的直跳了。因此在躲子弹的时候经常需要左右来回折,来保持自己的水平位置恒定。


忍者龙剑传【YNNN

关于忍龙,就按照1Y 2N 3N的顺序分别来说。4N的部分则会在下一小节洛克人详述。

1Y 跳跃水平距离可控,这个基本上是横版游戏的标配。不然就会出现上文中恶魔城1代里,人物太的情况。
2N 跳跃垂直距离不可控,这一点上忍龙和其他游戏就有区别了。让我用俗称的大跳”“小跳来说明:其他游戏往往是【没有】设计小跳,而忍龙是【不能】设计小跳。
原因在于,这种横版近战类的游戏,站立发出攻击的时候往往不能移动,或降低移动能力(不然一边平移一边砍就太无脑了)。
但是小跳也有这个问题:向前小跳->瞬间出刀->在攻击判定结束前落地->向前小跳->瞬间出刀->…也能达到类似的效果。所以干脆把跳跃的高度固定,就解决了这个麻烦。
3N 面朝方向不可控,这一点可以说是忍者龙剑传设计上的神来之笔,我将其称之为不对称跳跃
何为不对称?起跳后,玩家依旧可以在空中向左或向右移动,但是人物朝向不变,而且向背身方向移动要比正面方向移动明显更慢,见下图。

至于这个设计的精妙之处,足够以后单独写一篇博文。考虑到篇幅,就不展开了。


洛克人【YYYN

洛克人可以说是FC游戏上最好使的人物了。跳跃和移动都非常灵敏,说走就走,说停就停,使用高低恰到好处的跳跃行进于关卡之间,在空中左右射击同时消灭两边的敌人,1Y2Y3Y就是这么任性:)

但是另外一点同样重要,那就是4N,跳跃没有惯性。
跳跃没有惯性意味着在空中的移动轨迹几乎完全受玩家控制,并且具备了【即时性】。右跳的过程中按住左,瞬间就会变为左跳。松开左右,马上就会变为垂直运动。这让距离控制的细腻性又提升了一个层次。

也因此,具有4N特性的人物在空中可以进行水平距离的微调,如图。操作感非常爽哦:)


赤影战士【YYYN

赤影战士也属于横版近战类的游戏,同样需要避免小跳刀的情况。
在这一点上它采取了与忍龙不同的做法。忍龙干脆去掉了跳跃高度的控制,而赤影战士只去掉了低空跳跃——最小跳跃高度也挺高,大概是最大跳跃高度的2/3左右。
通俗来讲,赤影战士只去掉了小跳。而从中跳到大跳之间的这个范围,玩家还是可以控制的。
可以看作是一种折衷的解决方案。


超级马里奥兄弟1代【YYNY

作为平台跳跃类游戏的老祖宗,在马里奥1代中玩家需要利用自身移动去踩人,顶块,跳台,钻库巴等等等等。就算加了灵芝能开豆了,也仅是一个辅助作用。
可以说这款游戏的难度,几乎都在对人物运动的控制上。而难度的来源,就是马叔那奇大无比的惯性(4Y)。

很多游戏都有 静止->加速->运动 运动->减速->停止 这样的过程,但它们一般很短,不会太影响操作。即,能够快速进入匀速运动状态,此时人物水平移动距离s与左右键按压持续时间t之间呈现线性关系,玩家就可以对【距离】进行操作。
马里奥1代则不然,惯性很大,速度变化很慢。在地面上由于有摩擦力,倒还好控制一点。而在跳跃时需要调整位置,速度的缓慢连续变化使得人物无法保持匀速运动,玩家基本一直是在对【速度】进行操作。
此时,人物水平速度vt之间呈线性关系,而st之间变成了二次函数关系。这种非线性的操控,自然而然就造成了难度。

顺便一提,马里奥1代中跳跃和加速键B键)实际上是【互斥】的。
因为马叔只能在地面上B键加速,此时脚不离地,排除了跳的状态;而一旦跳起来,就不在地面,排除了B键加速的状态。
另外,马里奥1代中所谓的加速键,其真正作用是改变人物的速度上限,并不直接影响速度。 


PC上的Super Meat BoyYYYY

Super Meat Boy这款游戏跟马里奥联系紧密(连游戏名的首字母缩写都取了SMB),我们干脆就接着拿马叔开涮。
前面说到,1代里的马里奥在空中既没有摩擦力又不能B键“加速”,速度变化十分缓慢。遇到下图这种情况,基本就属于无解

注意右侧下面的台子往回收了一格。就算马叔撞墙之后在空中能往右掰,也连这一格都掰不过去。
那咋办捏?接下来就要请我们的Meat Boy出场了。

Super Meat Boy这款游戏在马里奥的操作方案的基础上,进行了两处重大改良。
其一,移除了地面惯性。不论在地上跑得多快,只要左右键松开,人物就会立刻停下。当然,也就可以立即接一个直跳。这在玩家需要迎着齿轮发射器或激光冲刺的时候非常有用。
其二,改变了加速键的特性。就算是在空中,加速键也同样能够起作用。你可以理解为,除了人物自身在空中调整速度的能力之外,还背了一个随时可用的喷气式背包。
而且Meat Boy在空中的加速非常特别,是【即刻】赋予人物一个大小固定,方向可控的水平速度。这让玩家可以省掉不少用来调整速度的时间。

就是这第二点,彻底改善了马里奥操作方案的手感,尤其是跳跃手感。在空中也能够快速改变速度,使得人物能够应对更多的情况,用起来也更灵活顺手。

上面那张对马叔来说无解的图,如果有了Meat Boy的空中加速,就很好办了。


其他特殊跳跃

比如二段跳,蹬墙跳等,本质还是在基础跳跃之上进行翻新,不再啰嗦。


推导关系

看完以上的例子,很容易意识到:原来横版游戏中一个基础的跳跃动作,也有这么多花样。
爱动脑的同学也会发现一些规律:2Y【经常】导致1Y,但1N【必然】会导致4Y,即1N4Y。而它的逆否命题,即4N1Y,也成立。
至于原因嘛,就留给各位当思考题咯:)


结语

横版游戏中,跳跃是不可或缺的一部分。把跳跃的规律弄清楚,游戏人物的操作方案就已经八九不离十了。
其实在3D游戏中,本文中所叙述的跳跃的特性也完全适用。不妨回想一下你最熟悉的一款(能蹦的)3D游戏,看看它的跳跃属于哪一种。

评论