任意一款2D平台游戏里,好的跳跃跳跃机制将在极大程度上决定着游戏所呈现的感觉。因为《Wayward》将包含2D平台,跳跃自然就成了我们制作原型的第一要务。但是现在仍处于早期开发阶段,很多东西都在变化,但我想在此与各位分享我们的一点早期想法,基本设计,并讨论一些关于设计跳跃机制的有趣窍门。
自由度
最简单的跳跃版本要求开发者了解初始垂直速度和加速,因为重力会像跳跃过程中的时间函数一样决定角色的高度:
这是牛顿力学的标准抛物运动方程式,从中可得一个类似于物体在现实世界跳跃的抛物轨迹。你可以使用一个不同的模型(例如比抛物线更为方形的曲线),但人类就是习惯于抛物运动。玩家如果没有看到抛物轨迹就会觉得有什么不对劲。
所以,假设是通常模式,设计跳跃的一个方法就是捣鼓初始速度和重力的不同值,直到你发现能够让跳跃呈现合理感觉的数值为止。(注:使用真正的地球重力常力也许并不可行)这可能是一个有效的方法,但从设计角度来看,你可能会对除了初始速度和重力之外的数字更感兴趣。你可能会比较关心跳跃持续时长,最大跳跃高度,水平跳跃距离(在全速度奔跑的情况下),达到最大高度的时间,或者其他相关的东西。这些东西都来自速度和重力的选择,但如果你想将重力和速度视为源自你所关心之事的东西,而非相反的情况呢?你该如何从设计角度做出选择,让这些选择产生重力等属性呢?你该从何入手?你该做出哪个选择,该做多少选择?
我们可以运用一个我所谓的“自由度”设计方法。其理念就是任何游戏机制(或者一般的系统),你可以做出有限数量的选择(之事才能得到由这些选择决定的事情)。这迫使你选择少量你最关心的事情,将其列出来,再让其他事情顺其自然。
在我们的跳跃方程式中,我们知道跳跃在机制上是由重力和初始速度这两个因素决定的。因此,我们有两个自由度。这意味着,作为设计师,我将可做出两个选择,其他一切都已经确定。对我来说,跳跃高度和跳跃持续时间通常就是我对跳跃设计最在乎的两件事,所以我选择了这两者,并且知道我无法再做更多选择了。我将这两者视为最重要的事件,并让其他一切由此决定。
当你确定了自己关心的事情后,如果你可以做一些计算,那就编写你所调整的参数机制,而不是那些可以直接编码的事物(游戏邦注:在此指的是重力和初始速度)。但我们通常并不需要这个步骤——最有用的东西就是你能控制多少东西的这种设计知识。在这个例子中,我可能之后会通过尝试不同的速度和重力值而继续推进,但目标则是达到特定的高度和持续时长,我可以用自己喜欢的任意值进行尝试。
多变的跳跃高度
当然,这个跳跃模式太简单了。游戏素来就是允许玩家通过持续或长或短地摁住跳跃键来改变跳跃高度的传统。这并没有什么物理学上的意义,并且每款游戏都有这种设置,但它却是相当普遍的设计。
实现这一目标的常用方法就是在摁下跳跃按钮时抑制重力,令其达到特定的最大持续时间。这会产生并不太类似弹射运动的跳跃运动——其高度会线性增长直到加入重力因素为止,之后再转变为通常的抛物线。
你必须意识到用这种方法并不能获得合理的抛物运动感。初始线性部分总是有点漂浮、喷气式跳跃的感觉。
回到之前的自由度方法,我们可以将跳跃视为由初始速度,重力和跳跃抑制持续时长决定的东西。很显然我们现在有3个自由度,第三个来自重力抑制计时器。
我并不是很在乎计时器。注意计时器并不会回应跳跃的顶点——当加入重力时玩家会继续向上移动,直到重力“超过”初始速度。计时器更微妙,并非玩家(或设计师)能够特别感受到的东西。但我还有另一个自由度(我仍然在意最大高度的最大跳跃持续时长),所以我在这个新系统中还会关心的其他东西是什么呢?
答案可能与多种跳跃高度有关。想想玩家如何处理一个变化的跳跃,我相当确信他们实际上只考虑两种情况:最高跳跃(他们一直摁着按键,直到达到顶点为止),最低跳跃(他们尽量轻轻点触一下跳跃键)。所以也许我所关心的第三件事就是最低跳跃高度。我可能还会关心最低跳跃持续时长,但我已经没有自由度了——我只能选择其中之一,并且我认为跳跃高度更为重要。
空中控制
到目前为止,我们还只讨论了跳跃的高低部分,但跳跃在空中时还有许多我们尚未确定的东西。例如,我们该给予玩家多少水平运动控制权?这里有毫无空中控制的极端(Ghouls ‘n Ghosts游戏),完全空中控制(《洛克人》式的游戏),以及介于两者之间的游戏(如《马里奥》、《Metroid》等)。毫无空中控制当然是最为“现实主义”的机制,但通常只会产生令人无法忍受的玩法。给予完全的空中控制则是最为游戏化的机制,可兼容超级准确的移动和棘手的平台谜题。
采用介于两者间的方法,即你获得了空中冲力但可以在半空中对其施加一定影响,可以为跳跃添加一些重量感,但同时又给予玩家更正错误的空间,令其获得一些控制感。这正是我们制作原型的切入点,但随着时间发展,我们不断调整了更多关于完全的空中控制权。一开始这非常令人意外,因为我们并不打算制作一款以准确的平台跳跃和计时为核心元素的游戏。但深度反思后,我们就明白自己想要更多空中控制权,因为我们并不想过于关注平台谜题。我们尽量让游戏更易于玩家移动,以便他们关注游戏的其他层面。
重力,跳跃高度以及微缩世界
多数游戏会让角色拥有惊人的垂直跳跃高度,《Wayward》也不例外。在2D游戏中尤其如此,玩家通常可以跳到至少有角色那么高的地方,许多时候甚至是数倍于这种高度。这反映了角色极为强大和轻盈的特点,以及极弱的重力情况。
不过微弱的重要并非游戏故意而为之。事实上,许多《马里奥》游戏中的重力都超过了地球重力的8倍。因为质量并不会影响下降速度,所以我们很容易看出无论这些角色有多轻盈,重力都很高,假设角色是正常高度的话。
但正常的高度就是一个正确的假设了吗?如果我们将角色想象成数英寸而非数英尺的高度,那么重力就是正确的。由此可以推论,这样小的角色可以跳跃到是自己身高好几倍的高度。如果我们不将这些游戏想象成控制真人大小的角色,而是玩具般大小的角色,那么可能就会有一点物理上的合理性。我们对游戏的看法就是将其视为一个微缩版的世界。
一个2D版第三人称游戏的感觉,就像是与一个世界玩耍而非在一个世界中玩耍,在2D横向视角的游戏中,他们能看到的远多于角色自己所能看到的范围,通常能看到围绕角色周围大部分的游戏世界。
唤醒玩家与角色(或世界)“玩耍”,和通常那种“像角色一样”玩耍这种感觉的确很神秘。这正是玩家和开发者对2D游戏都有怀旧感的原因,也是AtomJack决定让《Wayward》采用2D玩法的原因。探索微缩版的世界会比沉浸在3D世界中更有趣,也更不吓人,但仍可唤起一种强大的好奇和探索感。