如何制作一款「受苦向」游戏?

/ 1评 / 1

或者说,游戏是如何悄悄给玩家一些优势的。

开头还是先说点废话吧:400 Hours in Hyrule 绝对不会坑,但是要写的东西实在是太多了,中间收集资料的过程越来越像是上班——这违背了 ReGame 中提到的「享受游戏」的核心要素。所以我想先换换心情,去谈一谈其他游戏。

最近我在打《茶杯头》,PC 和 Switch 各买了一份。PC 买了一份是因为 G 胖的绿方块给我加了个 debuff; Switch 买了一份是因为我闲时的工作环境是 Linux, 而茶杯头又只有 Windows + Mac 版;不想为了打个游戏就重启到 Windows 下的我只能物尽其用一下了。

茶杯头按当下的叫法属于「受苦向」游戏,即游戏的难度要显著地高于其他同类型的游戏。我身边的一些人表示这个游戏属实困难,第一关都打不过去。

游戏的两个难度维度

我们说一个游戏「难」的时候,有三种可能:游戏对操作有要求、游戏对智力有要求、以及游戏对二者都有要求。当一个游戏要求操作而不需要太多思考时,我们说这个游戏是「繁琐」的;当一个游戏要求深入理解规则并推导可能的结果,但并没有太多操作上的要求时,我们说这个游戏是「复杂」的。繁琐和复杂两个维度共同构成一个游戏的难度。比如《蔚蓝》是一款繁琐胜过复杂的游戏而《5D 象棋》是复杂胜过繁琐的游戏。

受苦游戏并不一定都是繁琐的游戏。作为受苦游戏代表的《黑暗之魂》系列,并不是对规则的理解没有任何要求。你仍然需要去先理解「做什么」,然后再去「怎么做」。

我个人由于之前中过 I wanna 系列的毒,对于要求精细操作的平台跳跃类游戏并不陌生。所以茶杯头于我而言其实并不是特别的困难——毕竟你有无限条命,只要能不断重试,过关只是时间问题。但有些时候仍然会觉得有些 boss 的设计还是挺有恶意的,甚至在 "cheap" 的水平边缘徘徊。

那么,我们是时候解释一下什么是「恶意」,什么叫 "cheap" 了。

游戏的「公平」

游戏向来就是不公平的——游戏的总体设计偏向于玩家而不是 NPC. 如果在游戏里实现真正的公平设计,那么对于大部分玩家而言,这个游戏就是不公平的。玩家潜意识里期望他们是世界的掌控者,如果游戏的设计打破了这种掌控感,对于玩家而言就是打破了游戏的公平性。

无论多么困难的游戏,只要仍然是游戏,它就一定有赢的方法。好的游戏会确保引导玩家迈向胜利;稍有欠缺的游戏就不会做出完整的引导机制;设计不良的游戏则缺少这些辅助玩家的机制;而充满恶意的游戏则会利用这种心理设计反向机制引导玩家走向失败。

要想做一款难的游戏很简单:去掉那些辅助机制就可以了。但做一款好玩的难的游戏就复杂许多,你需要做到不动声色地帮玩家越过艰难险阻,既不能因为缺少机制导致玩家觉得不公平,又不能辅助太多让玩家觉得这是系统送的。

Cheap Death

如果玩家不觉得这次失败或者死亡是因为他们个人的技术原因,那么这次死亡对于他们而言就是不公平的,就是一次 "cheap death"。

受苦游戏,死亡是永远的话题。但并不是所有的死亡都是平等的:总有那么些时候,我想把手柄狠狠地甩在大大的一个血红的「死」字上。

有些时候,死亡纯粹是因为自己太菜。菜就多练练,无可厚非。但有些时候,因为纯粹运气的原因或者根本就不公平的游戏设计导致必死的结果(剧情杀不在此列)就只能让人无能狂怒。

所以,为了报复社会,我们也要做一款受苦向游戏!那么,我们应该怎么做呢?


输入公差

输入公差 (Input Tolerance) 是一类设计的总和,它们存在的主要作用是避免出现要求特别过分的或者让人感觉十分别扭的操作——哪怕这些操作是玩家理应作出的。这些设计可以降低游戏的繁琐程度。

滞空时间 (Coyote Time)

大部分平台跳跃游戏,尤其是那些「手感不怎么好」的游戏,都是因为滞空时间没有调整好。

这个时间是当玩家走出平台到重力开始把玩家往下拉的时间间隔;在这段时间内按跳跃键,跳跃仍然能够执行,即使理论上玩家角色已经在悬空状态。

由于机能限制或者镜头限制,或者干脆就是因为人脑并不像我们想象的那样精确以及从大脑想要跳到手真的按下跳是也有一定延迟的,这个滞空时间可以增强玩家对跳跃的控制感。但是滞空时间太长的话也会让人困惑,因为角色明明跑出了好一段路才开始下坠,看起来十分滑稽。

不同的平台跳跃游戏对滞空时间有不同的要求。部分确实要求精细操作的游戏可能干脆就不设置任何滞空时间,但会设置十分清晰的平台边缘;而部分场景比较多装饰尤其是平台边缘不明确的游戏可能就会有更长的滞空时间。想要为难玩家的话,把平台边缘做得模糊,同时取消滞空时间,再佐以极限跳跃就可以。

图 1 明晰与不明晰的平台边界

决死时间

决死时间是玩家角色判定接触到伤害到玩家角色实际受到伤害的时间间隔;在这段时间内执行规避动作,玩家角色可以避免受到此次伤害,即使理论上玩家角色理应死翘翘了。

图 2 决死时间判定流程

同样的由于机能限制和手眼延迟,决死时间机遇给予玩家最后的补救机会。在动作游戏中,有些攻击动画可能只有三帧甚至更短,要求玩家反应达到这种级别不能说不现实,只能说会筛掉绝大多数。即使有前摇提示,也可能来不及反应,至少会出现初见杀的问题。

要想做一个故意为难玩家的游戏,取消决死时间就可以了。你会发现大批量测试反馈「明明还没摸到我呢怎么我就没了」。

碰撞盒体积

图形和碰撞盒并不一定非得是统一的:有些看起来小的东西可以有大的碰撞盒;而有些大的东西可以有更小的碰撞盒。

在滞空时间不好实现的引擎中,一种补偿方法就是延伸平台的碰撞体积,使得平台比看起来要更长一些。在一些动作类游戏中,玩家的攻击碰撞盒要比视觉上大一些;一些障碍物和有害地形的碰撞盒比视觉上要小一些。这些调整都是为了偏向于人对于游戏的认知。

要想难为玩家,反过来调整就可以了。刀比拳短、刺比台长等等经典操作足够让玩家第一时间开始骂娘。

磕头和绊脚

磕头和绊脚是两个针对于平台跳跃类游戏的优化。这种优化是反常理的,但同时又是符合直觉的。

磕头指玩家在跳跃上升的过程中,如果撞到了高平台的非常边缘的位置,则不判定撞头,而是将玩家的位置移动到贴着平台的位置,并保留竖直的动量的做法。

图 3 磕头判定流程

绊脚指玩家在跳跃的最高点或下降途中,如果撞到了低平台非常靠上的位置,则不判定绊脚,而是将玩家的位置提升到低平台之上,并保留水平动量的做法。

图 4 绊脚判定流程

磕头和绊脚都是影响所谓「手感」的重要参数。不做这些辅助对整体而言影响并不是很大,但是在实际的测试过程中容易收到诸如「手感很硬」或者「操作很别扭」的反馈。如果希望进一步为难玩家,在实现了前几种恶意设计之后,顺便也把这些辅助取消掉吧。

模式识别

模式识别 (Pattern Matching) 也是一类设计的总和,它们的存在是让玩家能够清楚地判断当前的状态、作出合理的预测和规划并进行下一步行动。这些设计可以降低游戏的复杂程度。

前摇提示 (Telegraphing)

敌人应该通过一些方法告诉玩家他们即将做什么,这种提示手法称作前摇提示。

前摇提示并不只是通过前摇动作提示玩家即将发生的攻击;其他提示手法,如音效、图标变化或其他非叙事性元素也可以用于提示玩家将要发生的事务。

要难为玩家,只需要取消前摇提示即可。当然,直接取消前摇动作的话意图会过于明显,你还可以结合打破固定行为模式的方法让前摇动作失去前摇提示的意义。

固定行为模式

一个敌人角色的行动应该是有模式可循的。哪怕这个敌人角色是随机行动的,其随机性应只停留在随机选择一个模式执行。继续引入随机性将会大幅度提高认知负担 (Cognitive load) 甚至直接无效化之前的前摇提示。

例如,如果一个敌人角色的攻击前摇时间是随机的,那么玩家通过观察其前摇动作能获取的信息就大幅度下降了:因为玩家不能预测敌人何时会真正出击,进而无法在合适的时间执行规避动作。如果规避动作不需要执行还好;如果这个规避动作必须执行,比如玩家处在一摸就死的状态,这种局面相当于是完全剥夺了玩家的控场能力。这种失去对局面掌控的感觉最能让玩家感到沮丧。

即使不引入任何随机性,也可以打破固定行为模式,即颠覆预期 (Subversion of Expectation). 例如,某一种小怪的行为模式是连续攻击 3 次,休息 2 秒,再连续攻击 3 次,休息 2 秒。在前期,玩家遇到了足够多的这种小怪,此时他们已经会默认所有这种小怪的攻击模式都是这样;此时你决定毫无征兆地把其中一只小怪改成特殊行为模式:它连续攻击 4 次,休息 0.5 秒,再连续攻击 2 次,休息 3 秒。任何玩家在首次遇到这只小怪时都会至少吃到 1 次攻击——要么是第一轮里的第 4 次攻击(违背期望:小怪只打 3 次),要么是第二轮的第一次攻击(违背期望:休息间隔是 2 秒)。再阴间一点,这个小怪的伤害还奇高无比,只要吃到 1 次攻击就基本上是半残甚至是直接落命。任何遇到这个小怪的玩家都会在心里怀疑关卡设计师的水平。

复杂状态机

或者如果你觉得上面那种做法太过于直白,你也可以选择设计完全确定的固定行为模式,但是把行为模式做得非常复杂,和各种变量相关,这样它看起来就像是完全随机的。比如,根据玩家距离怪的距离细分出多个状态,传统的「远」和「近」完全不够,起手就划分出 8 个距离;以及玩家面向的角度、当前时间(包括现实世界时间和游戏内时间)都可以引入;甚至可以引入二阶状态,比如玩家速度、角动量等等。状态之间的转换也可以不展示给玩家,从而进一步剥夺玩家的规划和执行能力。

不过,当系统复杂到一定程度时,将状态机直接展示给玩家反而能达到更好的效果——此时玩家被淹没在海量的信息中,需要更多的时间去筛选对于他们而言有用的信息。此时再加快游戏节奏,你就可以欣赏玩家手足无措的窘态了。

动作反馈

当玩家做出操作时,系统应给予合适的视觉和听觉反馈。比如当玩家按下跳跃键时,玩家角色会跳起并播放跳跃音效;当攻击有效时,敌人会闪烁,同时会播放一个「击中」的音效等等。这些反馈效果可以提示玩家游戏已经充分理解其意图,并已经成功地执行对应动作。

缺少这些反馈并不会直接影响到操作的困难程度,但是会很容易干扰玩家的认知。尤其是有些时候玩家会需要这些反馈来确定他们是否真的打到了敌人,缺少反馈非常容易误导玩家连放空枪五分钟,纳闷为什么这个怪的血这么厚,然后半晌才意识到「卧槽没打中」。

导演系统

导演系统是游戏更宏观一层的辅助,这些辅助更多体现在总体设计上而非技术细节上。这些辅助对复杂度和繁琐度均有调控作用。

雪中送炭

对于有补给箱的游戏,「开补给箱」本身也是一个需要着重设计的部分。单人游戏中,补给箱的内容应该随着玩家当前的游戏进展而有所变化。在《半条命 2 (Half Life 2)》中,当你缺乏弹药时,打破箱子会得到对应的武器弹药;当你血量太低时,打破箱子则会掉出血包。这种不动声色的辅助可以降低游戏的实际难度,同时又不会让玩家感到太强烈的「这是系统送我过关」(尤其是对于并不了解导演系统的玩家而言)。

如果我们反其道而行之呢?其实并不需要这么痛苦,只要取消这种「雪中送炭」的辅助能力,回退到最基本的随机掉落,这个游戏就已经开始变得痛苦了:你能走多远,或者这趟路有多好走,完全看脸。有的人可能一路顺风顺水,有的人可能需要逆风走完全程。

如果你真的想故意为难玩家,甚至是对玩家开满嘲讽,那么确实可以反向调整掉落,当玩家最需要一把小刀的时候塞给他一堆勺子。

重试不难

游戏的一个核心能力是「重试」。你可以不断地重新从倒下的地方站起,然后继续向前推进,尽管有些时候这个重试是有那么一点点代价的——可能是有限的重试次数;可能需要跑尸体;或者会丢失经验、金币、复活券等等。

不过并不是所有重试都是相等的。《掘地求升 (Getting Over It with Bennette Foddy)》的重试既没有次数限制,也不会丢失经验金币复活币等等,但是这个游戏却根本没有实质性的「重试」的概念。你的每一次失误都伴随着几十分钟甚至几小时的进展完全打了水漂。尽管在技术上,你仍然只是回到了游戏的早期状态,你仍然在「重试」,但是这个重试的代价是相当高昂的。

高代价的重试本身并不是一个有问题的设计——毕竟有许多游戏的核心就是不断从零开始重试(所有的 Roguelike),但在以「不断从零开始」的游戏里面,你也会发现它的重试也并不像《掘地求升》那样痛苦:你的记忆和技巧并不会随着每次的重试而丢失。但在《掘地求升》中,每一次的下坠都代表着所做的努力的白费:你知道自己不可能再完美地重复之前的所有操作。

「大战之前必有存档」并不简简单单是一句调侃,而是早期游戏开发探索所产生的经验。「如何让玩家感到困难,但是又不是太难以至于他们会直接放弃」一直是一个需要设计师精心把控的内容。


玩家不喜欢困难 (difficulty),玩家喜欢的是挑战 (challenge)。

受苦游戏的核心并不单纯是技术上的困难,而是给予玩家挑战。玩家想要征服自己、获得胜利。征服自己的环节固然可以有技术上的难点,但这些难点不应是为了难而难的。我们大可以取消上述所有辅助能力,做出一款变态难的游戏。理论上这个游戏有通关的可能,但它只是一坨充满了恶意的烂泥而已。

宫崎英高的微笑,并不仅仅是一个梗图,更是一种对于受苦类游戏矛盾的真实写照:一方面,这种游戏的设计是必然充满了技术难点的;而另一方面,这种游戏的设计又必须有足够的人文关怀。老贼的目标就是:让玩家每一次死的时候认为「啊,如果自己再小心一点就好了」;而不是「卧槽这设计师脑子有大病吧」。

我们之前所讨论的各种技巧只是提及了游戏设计的一点皮毛。要想做出一款「好」的游戏,所需要关注的内容远不止如此。不过,这些内容都是一个很好的开始,它们决定了玩家对你的游戏的第一印象。

  1. 流金岁月说道:

    可能是自己玩游戏太菜吧,从来就受苦向的游戏不感兴趣,以前玩星际争霸都是show me the money的主,😃

发表回复

您的电子邮箱地址不会被公开。