开放世界和线性游戏的关卡设计方法论
腾讯互动娱乐 游戏策划
前言:关于线性/多路径/开放世界
在大型3D游戏中(内容体验型为主),游戏关卡具有【线性】和【非线性】的区分。
线性游戏中的挑战和事件往往是依次展开的;而非线性的游戏则会具有更多的自由度,挑战和事件将会交给玩家选择具体的完成顺序。
从这一基础概念出发,重点关注三类游戏的设计:
1. 线性 Linear
2. 多路径 Multi-path
3. 开放世界/沙盒 Open/Sandbox
本篇文章希望讨论:
· 从【线性】到【多路径】,再到【开放世界游戏】,游戏关卡设计有哪些共通的方法论。
· 如何通过【分层】和【简化】的思路,来完成游戏的构思设计。
这里放上一张名图,老头环玩家对于其初始场景的简单分析。
其中涉及到了目标地点、路径选择、重要的POI兴趣点等关卡设计的内容。通过阅读本文,我们将会对这一张图,以及游戏设计师的方法实践有更加深入的理解。
本文内容框架基于设计师@Iuliu-Cosmin Oniscu,并进一步延申,融入笔者个人的解读与思考。
一、线性游戏的设计方法
线性游戏中,玩家使用预定的路径从A点移动到B点。
[ 标准的线性进程 ]
这种节点图的表达是抽象的,我们可以假设A和B可以是任何东西。
为了简单起见,它们代表线性进程的开始和结束。
[ 线性进程-X标记意味着游戏中的遭遇战/事件 ]
在A和B之间,玩家会发现障碍(用红色标记)。
随着设计的深入,我们可以把这些障碍变成实际的遭遇战或事件,这样就有了专门的对应空间。
我们可以进一步为每个空间分配主题,暗示游戏中的进程。
[ 比如遭遇战的发生空间,从洗手间到厨房到卧室 ]
要注意的是:
· 用节点图来说明位置之间的联系是一个设计早期的好主意。
· 节点的表示使游戏设计更容易阅读。
· 在后期,当事情开始变得复杂时,仅仅通过节点图会变得困难。
如果我们把上述的节点图变成一个平面图,我们可能会得到这样的草图:
[ 关卡设计草图 ]
· 红色区域:代表实际承载游戏玩法的空间,
· 绿色区域:代表安静的过渡空间,以便在移动到下一个游戏空间时进行安静的思考过渡。
另外在设计关卡时,有一件事经常出现,那就是在关卡中设置一条难度曲线。
它可能看起来像这样:
[ 难度曲线示意图 ]
这意味着难度曲线先上升,在某个点达到峰值,然后下降,最后关卡结束。
然而如果设计师真的完全这样做了,玩家可能会在关卡结束前心脏病发作。
在实际的游戏设计中,它可能是这样的:
[ 在整体关卡的节奏控制中,每个小节的难度曲线 ]
曲线的谷峰代表最喧闹的时间(游戏挑战最强烈的时候),而谷底则代表游戏中平缓的时间。
[ 曲线的谷峰和谷底 ]
因此,尽管最开始举例的节点图是线性的,但关卡中的强度和节奏可能非常不同。
为什么要记住上面这些内容:
· 防止遗忘:因为游戏设计师可能会忘记设计初衷
· 防止偏离:因为设计师很容易偏离主题,开始过分强调或忽略关卡的部分内容
· 优化表达:因为当你试图用一种容易阅读、不复杂的分析图向别人展示设计时,它很有用。并不是所有人都明白你想在关卡中做什么,事实上你可能是唯一知道这一点的人
二、多路径游戏的设计方法
多路径,意味着关卡设计能促进游戏中的多种选择,将目标/重要区域通过不同的路径连接。
[ 多路径示意 ]
这引发了一系列问题:
· 玩家有多种方式到达一个区域/目标
· 如何确保玩家不会迷失方向或感到困惑?
· 如何确保不管玩家通过何种路径到达目标,游戏整体进程都保持不变?
· 如何确保玩家按照设计师的意愿行事?
解决方案是对关卡路径进行【分层+简化】:
设计师可以将不同的地点、以及与之相关的游戏玩法分配到特定的游戏节拍(beat)中。
[ 游戏节拍流程图示意 ]
如果我们观察关卡节拍的结构,我们马上就能注意到关键的路径是什么。
[ 关卡的关键路径 ]
这样设计师可以确保:
· 玩家在所有路径上的进程都是相同的
· 设计师知道玩家在任何特定时刻“可能”在哪里
· 允许玩家选择自己想要走的道路
· 确保每个区域都足够明显,这样玩家就不会迷路
这也意味着,作为游戏设计师,需要放弃一些控制权,让玩家自己决定如何体验游戏。
但简而言之,多路径的游戏可以归结为:分别设计多个线性关卡序列,并有节奏地组合在一起。
它们相互叠加,相互交叉,并为玩家提供更多的玩法选择。
三、开放/沙盒游戏的设计方法
[ 开放世界中可能的玩家点位分布 ]
如果开放世界是空的,但我们在周围散布了一堆刷新点,我们得到的就是缺乏方向性的关卡。
玩家可以去任何地方,但并没有真正“值得”去的地方。
所以不管你有多少刷出点,地图有多大,从节点图的角度来看,一切都可以简化成这样:
[ 没地方可以去 ]
如果我们为这个问号引入一个答案,并让玩家注意到它,它就会成为玩家的兴趣点(POI, point of interest)
[ 场景中的POI兴趣点 ]
节点图的角度来看是这样的:
也就是说:
· 如果没有来自设计师的任何指示,玩家将只会探索自己感兴趣的内容。
· 如果橙色的兴趣点是场景中最有趣的部分,那一般就是玩家会去的地方。
· 如果将游戏内容有节奏地分布集中在这一区域,玩家便能够充分地体验。
这是因为:
· 地图中的每个POI,都会对玩家产生吸引力。
· 玩家将被POI吸引到,并最终想办法到达那里。
如果在地图上引入其他POI,情况就会变得更加复杂:
[ 玩家现在有很多选择,那么应该先去哪里呢 ]
POI倾向于相互竞争,它们像是为了吸引玩家的注意而互相打架。
游戏中,玩家在访问POI之前会权衡一系列因素:
· 距离:那个地点有多远?
· 趣味:它看起来比其他的更有趣吗?
· 信息:关于那个地点我知道些什么?
· 重复:我已经去过那里了吗?
[ 应该去哪里呢 ]
我们可以通过调整一些变量,来分化POI的吸引力,让某些地点变得更有趣、更独特:
[ 相对清晰的结构 ]
这样去做的话,可以引出一系列游玩这个关卡的路径结构:
这些路径的组合,将会基于玩家偏好的游戏风格和玩家类型:
· 有些玩家可能会先去比较困难的地方
· 有些玩家可能喜欢探索地图一边的位置
然而,所有的POI都必须具有吸引力。
因为玩家只有在知道自己努力前往地点的意义时,才会真正到达地点并体验到游戏内容。
如果游戏设计师加入更多的变量,关卡就会变得更加复杂和难以预测。
这就是设计师需要强化POI的分布,并且进行简化的时候:
[ 极端的开放世界场景 ]
在这个例子中,我们很难预测玩家的前进方向。
所以很难确保游戏进程在这个场景中发挥作用。那么我们该怎么办呢?
我们可以用之前讲过的【分层】+【简化】的方法。
[ 分层+简化:把世界分成不同的区域泡泡 ]
将游戏世界中的POI划分为不同区域,并尝试着使用明确的结构将玩家的进程分隔开。
这样做是为了:确保玩家在最佳情况下,能够基于我们的游戏进程曲线,从一个区域泡泡旅行到另一个区域泡泡来体验内容。
[ 预估玩家的路径 ]
所以,这就引出了讨论的核心:开放世界关卡的POI。
四、开放世界中的POI设计方法
基于开放世界中POI网络的复杂性,玩家可以从多个角度到达这些POI。
因此,让我们看看应该如何组成一个POI。平面图的角度是这样的:
从节点图的角度来看,应该是这样的:
1)方法一:序列化设计的复用
将之前多路径游戏的序列化设计应用在这里,将是解决这种情况的一个不错方法:
[ 把每一段体验都做出结构化的序列 ]
2)方法二:重点设计层级+进入点
另一种方法是对POI分层,重点考虑简化的层级和进入点,可以通过下面的分析图理解:
[ 关注不同的层级和进入方法 ]
对上面这张图,可以盘点其中POI的常量和变量。
常量:
· 从开放世界来看,路径的选择可能——无限
· 从Layer1到Layer2来看,路径的选择可能——4种
· 从Layer2到目标Objective来看,路径的选择可能——2种
变量:
· 地点的尺寸大小
· 目标Objective具有几层Layer数
· Layer2层级区域的数量
· 不同地点定位的难度
简单总结一下,保持关卡结构清晰和简单的理由:
· 难以预测:开放世界有太多的关卡组成部分,很难预测玩家路径。
· 功能错位:部分关卡可能会出现和预期不符的功能变化。
· 迷失目标:过于复杂的地点分布最终会让玩家感到困惑。
· 精力有限:如果设计师能预先确定合适的POI路线,那么就应该把重点放在优化设计这些路线。如果关注点太多,游戏设计师没有足够的时间去覆盖所有的游戏内容。
// 参考:
https://www.reddit.com/r/Eldenring/comments/taf3j3/this_is_what_makes_from_softwares_level_design_so/
https://iuliu-cosmin-oniscu.medium.com/linear-multi-path-open-world-level-design-7ef6a6831a05