平台跳跃游戏是一种看起来很“简单”的游戏形式,一位能操控着跑跑跳跳的小人,一些高矮不一的平台,以及看起来符合直觉的简单物理效果,譬如重力。这三者在一起,构成了你能看到所有平台跳跃游戏的核心要素。
多年前的马里奥是这样的,18年发售的蔚蓝是这样的,前几天华科游戏极限开发挑战赛上的许多平台跳跃游戏也是这样的。
正是因为平台跳跃游戏的基本要素简单,其操作手感才显得格外重要。感觉“飘”、感觉“滑”、感觉“沉重”……这些负面的体验无疑是手感调校出了问题,并会极大地败坏游戏整体的体验。
要想对手感进行准确的调整,首先需要定义“手感”,何为“手感”,“手感”从何而来?这个问题看起来越来越主观了。不过幸好,我们可以站在巨人的肩膀上来解决这个问题,不妨换一种说法:用“游戏感”来代替“手感”:
图片来自百度百科
史蒂夫·斯温克在其所著的《游戏感》一书中系统地定义了游戏感,并提出了许多定量测试游戏感的方法。
书中对于游戏感的定义如下:
在模拟空间中对虚拟物体的实时操控,并通过润色增强交互感。
有了定义,再回头去看文章开头对于平台跳跃游戏基本要素的总结:
跑跑跳跳的小人—>实时操控
各型平台—>虚拟空间
简单的物理效果—>润色
其实也能发现这便是游戏感在平台跳跃游戏上的简单体现。
游戏感!
这三大基本要素共同构成了游戏感,上图最中间三个圈的交集是作者笔下的最完整的游戏感,当然不完整的游戏感并不意味着不是好游戏。
相对的,游戏感又是以各种各样的体验的形式而被玩家感知到,作者提出了游戏感中最常见的5种体验:
1.操控的美感。
2.学习、练习、掌握技能的快感。
3.感官的延伸。(赛车游戏拐弯左右晃身体)
4.身份认知的延伸。
5.与游戏里的独特物理现实进行交互。
这是玩家的角度。
那么,如何从游戏制作者的角度来为玩家塑造游戏感呢?作者同样提出了六个方面:
输入:玩家的意图通过设备的物理构造转送到游戏感系统中,以此改变游戏感。
我们很容易理解这一点,不同的物理设备,譬如手柄和键盘,输入能力是不同的 ,输入值也是不同的
响应:系统如何实时对玩家的输入进行处理、调整和响应。
在一些游戏中,同样的输入,游戏角色状态不同,响应就会不同。比如有时同样都是向左的输入,空中的角色移动得就会比地面上更慢。
情境:模拟空间对游戏感的影响。例如:关卡设计、碰撞的属性。
模拟空间,也就可以认为是关卡。不同的关卡体验当然不同,关卡内部玩家交互的结构,顺序都是不同的
润色:人为强化游戏中物理实体在游戏中展现的真实性。
比如符合直觉的物理交互,可以被打动的绳子,车损系统……
隐喻:游戏的表现和处理如何改变玩家对游戏对象的行为、移动和交互的期望。
是润色的强化,以玩家的视角来看,玩家过去对于某些事物的经历、认识带进游戏。如果提供的一个东西,开起来像车,听起来像车,撞起来像车,那它就是车。换到跑酷,骑马这个道理也同样能成立。就是让我们做的东西符合玩家的预期。
规则:游戏中抽象变量之间的关系如何改变玩家对游戏的感知,定义挑战并调整操作感。
可以分为高阶规则(最高目标),中阶规则(阶段目标),低阶规则(物理规则,基础规则……)。
回归平台跳跃游戏的手感问题,这六个角度无疑都是很有意义的。不过,响应相对更重要一些,或者说可以认为是其他角度的地基。
我们从基础的2d人物开始,描述人物的移动。这里引入ADSR包络图。
图源网络
原版的ADSR图包含冲击、衰减、保持、释放四个部分,我们在此处移除衰减,保留冲击、保持、释放三部分来描述玩家按下一个移动键之后,角色的速度变化。
图源GMTK视频
横轴是时间,纵轴是角色的速度,转折点是按下按键/按键抬起的时刻。
几个游戏的ASR图
左图的响应非常迅捷,在一帧内就达到最高速度,可以认为是立刻。好处是灵敏,但是不太自然。中图有一个明显的加速和减速的过程, 兼顾灵敏与自然。右图有一个相当长的加速过程,可能会感到“飘”或者“迟钝”。但是想象一下,这种体验在一个太空射击的情境里是相当符合直觉的。“笨重”的感觉方便表现质量大的物体。
再看两个更加复杂的ASR图
左图拥有更加迅速的响应,在做到快速开始与停止的同时有一个加速的过程。
右图保持了整体上“笨重”的感觉,但是加强了实时的响应,摁下按钮就有一个反馈
对于跳跃也可以用类似的方法分析,把纵轴改成高度即可。
通过上述几个ASR图的展示,我们可以发现,不同的平台跳跃游戏的手感也是相当不同的,一个看起来很“笨”的操作手感,在另一个游戏的体验情境下可能是合乎情理的。
也算是“游无定法”,或者换一个时髦一点的比喻,调整的合理的手感是“本手”,符合情景的好手感是“妙手”,如果为了追求好手感做出一些奇怪的举动,就可能落入“俗手”。比如在之前Gamjam中制作的平台跳跃游戏中,设定的跳跃重力在起跳阶段和下落阶段不一样大,追求缓慢起跳,迅速回落,但是基础的手感也没有调整好。
那么如何调整出一个基本的好手感呢?限于篇幅下次再说。下次分享希望能带给大家一个基本手感合适的unity2d移动框架。
当然第一点是最好不要用unity直接给角色的刚体加力或者速度来移动,很容易失控。
最后强烈给大家安利《游戏感》这本书,如果说其他的游戏设计书籍譬如《游戏设计梦工厂》、《通关!游戏设计之道》,其中叙述的更多可能是游戏设计的“道”,本书更加关注游戏设计的“器”,书中着重从定量的角度去分析游戏感,量化输入、响应。还结合具体的游戏示例给出了生动的分析。