This is 游戏邦's Tencent Weibo homepage. Follow now!

游戏邦 收听

游戏邦(GamerBoom),推动社交游戏、手机游戏...

万字长文,关于游戏中的难度曲线设定和用户体验(篇目一

2017-01-12

作者:Rafael Vázquez

(Xibalba Studios首席游戏设计师Rafael Vázquez针对开发者难以评估游戏实际难度的问题,设计了一种考察游戏难度的方法,并以三款横向卷轴动作游戏为例进行说明。)

数月之前,我在一个新项目的原型制作阶段发现了一个问题。由于团队中不同成员对何谓完美游戏挑战的看法不尽相同,我们几乎无从判断自己的游戏怎样才能设置理想的难度级别。

我知道这对小型且具有多元文化的团队来说更是一个普遍问题,因为大家的技能水平并不一致,所以很难就此问题达成共识。

思索一段时间后,我突然觉得游戏难度不应该与玩家技能挂钩,而应该取决于游戏本身。我们不能将游戏难度视为一种静态的因素,而应该去观察它在游戏发展过程中的变化。

抱着这种想法,我尝试开发一种可以在不考虑玩家技能的前提下,衡量并比较游戏挑战的起伏情况。尽管这种方法还是不够准确,但我认为这至少是一个良好的开端,并希望它能获得开发群体的关注和讨论并因此得到完善。

设置恰到好处的难度并非易事。游戏设置过难,玩家就会很抓狂,过于容易,玩家很快就会感到无趣。这是众人皆知的常识,因此设计师一般都会选择中间路线。但多数时候,我们还是得凭胆量和感觉行事,而这种方式也似乎颇为可行。

游戏难易情况往往取决于游戏类型,以及我们从玩家那里得到的反馈结果。宁静安详的社交游戏和紧张激烈的FPS属于两个截然不同的世界,我们不可将它们的挑战性等量齐观。当你向团队成员解释游戏挑战性时,往往是费了几个小时的口舌,大家还是没有就其难度设置是否合理达成一致。

出现这种情况的原因在于,难度是一个主观因素,它在很大程度与每个人的技能水平存在关联。更糟糕的是,合理的难易程度也要取决于每个人的兴趣点,例如有些人就喜欢《超级食肉男孩》这种游戏。当你想开发一款游戏时,就会发现真的很难找到大家共同的切入点。

但这个问题也并非毫无解决之策——它就是我们能够找到共同基准的难度图表。在深入探讨这个问题之前,我要先声明这种方法并非用于创造游戏难度(设计师恐怕还是得凭直觉制定决策),而是分析游戏难度,以便你的团队成员就此展开有建设性的讨论。这些图表并不能指明游戏应该具备哪种难度,只能说明游戏本身的难易程度。

何为游戏难度图表

这些图表可以解析游戏过程的难度变化情况,主要可分为两种类型:基于时间和基于距离的难度图表。前者会根据玩家体验游戏的时间指出遭遇挑战的时刻(游戏邦注:这里排除玩家暂停和死亡的时间),后者则标注挑战出现的位置(假设游戏开始至结束是一条直线路径)。

这两者各有千秋,但要选择哪种方法需取决于你所测试的游戏类型。《Asteroids》或《几何战争》等街机游戏只能选择基于时间的难度图表,因为这些游戏并不存在奔向目标的位移过程。

但多数FPS中的敌人会在特定地点出现,所以最适合采用基于距离的图表。我个人比较偏爱基于时间的图表,具体原因稍后再谈。

吹毛吹疵者可能会指出,这两种方法实际上还是不能完全摆脱玩家因素的影响;玩家闯过一关的速度,以及完成一个挑战所用时间均与其技能水平有关。

但这种方法已经得到我们团队每一个成员的检验,也是目前我们最靠谱和可行的解决方案。我们只能从不同玩家多次玩游戏的情况中搜集数据,并计算其平均值。事实上,只有进行多次测试之后,难度曲线才会派上用场。足够数量的玩家试过游戏之后,你就会了解玩家的平均游戏水平。

正如前文所述,难度具有主观性,所以如果我们询问测试者是否觉得游戏过于困难,很可能就会得到五花八门的答案(但你还是得向他们提问)。如果游戏难度因人而异,那么我们如何才能衡量游戏难度?诀窍就是让游戏与自身作对比。

假设我们有一个低级敌人会产生X的破坏性,那我们就把它的威胁指数设置为1,这里的威胁指数是指敌人对玩家而言的难度。如果我们有另一个敌人火力是前者的2倍,但其他属性完全相同,那么我们就将它的威胁指数设置为2。

也许这种方法过于简化,虽然地点、位置和其他敌人出现情况等因素也会产生影响,但重点在于,我们得先将最简单的挑战作为一个标准(低级敌人),才能将它与游戏中其他挑战进行对比,这样才能在脱离玩家技能的情况下判断每个挑战的难度。无论你的技能有多高超,行动速度快三倍的敌人,总是比标准敌人更难对付。

但是,敌人的状态并非影响游戏难度的唯一因素。假如敌人是在玩家身后或者从天而降地复生,那么游戏难度也会因其复生地点而发生变化。即使是最微弱的低级敌人,他们突然冒泡的情况也会让玩家瞬间手足无措,形成不容忽视的挑战。

除此之外,会飞的敌人总是比陆地敌人更难缠,藏匿于暗处的敌人亦是如此。但那些心不在焉的敌人,或者缘木求鱼地寻找玩家的敌人,就基本上是小菜一碟了。我们不能低估这种情况对游戏挑战造成的影响,所以我们使用了一个“情况乘数”将其考虑入列。

情况乘数是一个可以根据某障碍物与玩家之间的空间关系说明其难度的数值。但每个乘数的属性主要取决于游戏设计。

在使用双摇杆控制方式的射击游戏中,飞行的敌人并不是个大问题,只要玩家能瞄准目标就能将其击落。所以每种乘数的重要性如何也要看设计师的想法,后者需根据游戏机制的需要检验这些乘数的合理性。

要想判断征服一个敌人的难易程度,有一个好方法就是统计玩家采取攻击行动的次数。杀死敌人的方式越直截了当,就说明敌人越容易对付。

我们可以将敌人难度价值与乘数相结合计算出结果。例如,敌人出现在玩家身后的乘数是1.2,该敌人的威胁指数是3,那么它在玩家身后复出时造成的新威胁数值就是3.6。

我们还要考虑到多数时候,敌人不会单兵作战,他们总会成群结队地出现。在这种情况下,我们就需要添加同一时间(或同一地点)出现的所有敌人难度。在此我们就需要计算一群敌人的难度系数。这也正是我为何更习惯使用基于时间图表的原因,因为玩家可能在同一地点遭遇一茬又一茬的敌人,而且多数情况下是倒下一批又涌现一波。基于距离的曲线图表会让敌人难度数值挤到一块,但这并不能反映实际情况。

所以计算一帮敌人难度的公式如下:

Ʃn=0 = (ETn)(ESn)

n是指一波敌军的特定敌人种类;

ET是指敌人威胁指数;

ES是指情况乘数。

正在加载...