5

大开眼界!《多重花园》分享:如何设计”不可能几何体”游戏关卡?

 2 years ago
source link: http://www.gamelook.com.cn/2022/09/497452
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

大开眼界!《多重花园》分享:如何设计”不可能几何体”游戏关卡?

2022-09-16 • 未分类

【GameLook专稿,未经授权不得转载!】

GameLook报道/不可能图形应用在游戏上,往往可以带来惊才绝艳的艺术效果,比如几年前的《纪念碑谷》,就实现了较好又叫座的成绩。2020年,一名独立开发者耗时7年多打造的《多重花园(Manifold Garden)》登陆Steam平台,同样受到了玩家们的认同,好评率达到96%。

mgldig1.jpg

然而,这样的游戏关卡设计起来并不容易,由于改变了重力感应机制,开发者往往需要为这些不可能几何体改变设计技巧。

在此前的GDC分享中,《多重花园》开发者William Chyr介绍了游戏关卡设计的挑战和经验,以及如何为不可能几何体做关卡设计的实用技巧。演讲中,他展示了游戏的不断变化和关卡设计随着核心设计改变的过程,还提到了“意图”在建筑学里的重要性。

以下是Gamelook听译的完整内容:

William Chyr:

lazy.png

我是一名在芝加哥的独立游戏开发者,简单介绍一下我的背景,大学的时候我学了物理,作为学生的时候我曾短暂在意大利国立核子物理研究所(Istituto Nazionale di Fisica Nucleare)工作,图片中并不是我的实验室,只是在一台计算机前面的照片,其实没有那么令人兴奋。

lazy.png
lazy.png

毕业之后我从事物理方面的工作,主要是隔热艺术(insulation art),它们基本上就是用大气球做的隔热材料,由艺术中心和科学博物馆委托制作,这件事我做了四年,几乎被定位成了气球男,这是我不想做的。

《多重花园》的关键功能

实际上,在开始现在的项目之前,我并没有玩过游戏。我当时在尝试找其他的媒介,比如玻璃或者金属在游戏里的表现都不是那么好,由于我会一点编程和设计,所以觉得做一款游戏可能是个好的想法。

最开始学习Unity的时候,我以为只需要三个月就可以,但没想到用了三年半。

lazy.png

这个项目叫做《多重花园》,它是一款第一人称探索解谜游戏。

lazy.png
lazy.png
lazy.png

加入了不同寻常的物理、不可能几何体,和疯狂的建筑结构,以上都是游戏内截屏。

lazy.png

我将这款游戏视为物理学的一个隐喻,刚开始的时候,你要学习地心引力是如何工作的,在游戏结尾,你会对宇宙形状有一定的理解。所以,游戏里的解谜从房间内的重力开始,拓展到整个空间。

重力旋转

今天的分享主要聚焦于两个关键功能,分别是遍历(traversal,即重力旋转)和几何体(3D世界缠绕)。

lazy.png

先来说说重力移动,相信很多人都看过诺兰执导的《盗梦空间(Inception)》,故事发生在梦中,它们将巴黎叠加在巴黎本身之上。

lazy.png

随后,我们可以看到两名角色走到了墙上,这时候我就有一个疑问,如果迪卡普里奥(多姆·柯布饰演者)拿出钱包扔下,它会掉到蓝色箭头方向,还是走上墙之前所在的绿色箭头方向?钱包的重力属于那个表面?如果我站在他之前走过的街上,接过他的钱包,这时候钱包会往哪个方向掉?

遗憾的是,电影当中并没有解决这个问题,所以我觉得游戏是探索这种问题非常好的媒介形式。

lazy.png

《盗梦空间》使用了(荷兰图形学大师)M.C.埃舍尔很多作品当中的视觉效果,那个场景基本上借鉴自他的版画“相对性(Relativity)”,《多重花园》最初的名字也叫“相对性”。

接下来我们说说这种重力机制是如何在游戏里使用的:

lazy.png

我们从2D形式开始,这里有四个表面每个表面都有不同颜色(蓝绿红黄),其中的每个物体都属于其中一个颜色和它对应的墙壁,所以,蓝色物体会落到蓝色墙上,红色物体会落到红色的墙上。

lazy.png

并不是所有的重力都同时起作用,哪一个起作用取决于玩家的方向,比如现在玩家在这个面上行走,蓝色重力起作用,其他重力作用都被关闭,那些物体都被冻住。

随后,玩家走到黄墙上,黄色重力起作用,其他重力作用被封住。

lazy.png

这是游戏内效果,玩家走到哪个面上,都会有不同颜色,对应表面的重力就会起作用,这些颜色告诉玩家他们在哪个面,哪个重力作用可以用。

不可能几何体

lazy.png

最开始,你进入游戏是在室内,然后走到了室外。当你跌落的时候,游戏不会黑屏或者判定玩家角色死亡,游戏世界会无限重复,所以你会一直落下去,而且可以有自己的操作。

这个问题我们会稍后谈到,但我们先来说说,什么是不可能几何体?为了今天的演讲,我们将其定义为“在现实生活中我们看不到的奇怪几何体”。这样的物体是很难生成的,另外,我会重点讲述在《多重花园》研发过程中的几何体以及玩法机制带来的问题和挑战。

lazy.png

需要强调的是,不可能几何体并不是非欧几里得几何体。欧几里得几何体就是平面空间,就像两点之间最短的距离是直线、三角形角度之和是180度,以及平行线永不相交。

lazy.png

非欧几里得几何体指的是它(欧几里得几何体)之外的任何东西。比如双曲线(Hyperbolic)、椭圆等等,但它们并不是那么非同寻常,所以,当你在一个球面画三角形,就会发现它们的角度之和并不是180。

lazy.png

最好的例子是地球,如果你在平面上画三角,角度之和是190度,但如果是在地球仪上画一个三角,非欧几里得属性就会开始显现。

lazy.png

2D世界缠绕

我们再说2D世界缠绕,在这款射击游戏里,如果你到了底部,就会被传送到顶部,如果到了最右侧,就会被传送到最左边。

lazy.png

这就是两个环面。

lazy.png

我们看这个动图,这样做的目标是让通道看起来是无缝衔接的,我们将上下方和左右放粘在一起,如右侧的动图所示,它最后会成为一个甜甜圈形状。

lazy.png

这实际上就是两个环面,这就是2D世界缠绕。

3D世界缠绕

但是,我们需要更进一步,我们需要了解3D世界缠绕。我来解释一下如何将上下与左右结合起来,这两组实际上就是两个环面,但如果是3个环面该怎么办?

lazy.png

对于3D,我们需要用箱体展示,而不是平面。这时候,我们将顶部和底部粘贴在一起,然后将左右面、前后面粘贴,这时候该怎么将它视觉化呢?我也不知道,这很困难,可能需要四维空间来实现。

lazy.png

在2D世界构建的过程中,你实际上是在3D甜甜圈2D表面上行走的2D角色;在3D世界构建中,你是走在4D甜甜圈3D表面的3D角色。

lazy.png

虽然很难将4D甜甜圈的结构视觉化,但我们可以将其表面之内可能的样子视觉化。这是地球的3D模型看起来的样子,如果是4D,那么它看起来就像是这样:

lazy.png

因为你不仅要向左右看,还会向周围看。所以你会看到很多重复,它们都是同一个地球。

lazy.png

这是带有网格的版本。

lazy.png

这是游戏截屏,可以看到它长什么样。

lazy.png

这是另一个案例,它是一个持续不断的建筑。

lazy.png

这是你在关卡中掉落时的样子,关卡会不断自我重复。

lazy.png

这就带来了一些有趣的物理现象,比如我们拿一个盒子把它扔下窗台,你会同时看到这个盒子在你的上方和下方。

lazy.png

很多游戏都有瀑布,这是我画的瀑布,在《多重花园》当中,实际上没有瀑布,只有水环。

lazy.png

这是水环的游戏内互动截图

如果你对这个话题感兴趣,一本很有趣的书是Jeffrey R. Weeks写的“The Shape of Space”。

lazy.png

还可以到GeometryGames.org,这里有很多小游戏可以帮你对这种几何体进行视觉化,有2D案例,也有3D案例。

3D世界缠绕是如何增加到《多重花园》当中的?

lazy.png

最开始的时候,游戏只是和重力移动相关的机制,你要做的只是去不同表面,将箱子推到按钮上,解决谜题。但问题在于,这很容易让人们感到困惑,玩家往往不知道他们丢掉箱子之后,它会落在哪里,所以要增加箱子阴影。

lazy.png

因此,我增加了定向光,以呈现箱子的阴影。然后人们问,光来自哪里?

lazy.png

于是,我增加了窗户,为这些阴影提供光源。

lazy.png

有了这些窗户,人们就可以向外看,这并非有意为之,我只是做了大量的房间和场景。然而,所有人都对外面的事情很感兴趣,想要走到外面探索。一开始我是不想这么做的,因为会增加游戏复杂度,但经不住人们不断地要求,因此最后还是增加了允许玩家走出去的功能。

这就带来了一个问题,玩家们会在这个世界里跌落,我不希望在游戏里增加禁区,有些游戏对边缘进行了保护,你永远都走不到某些区域。可是我不想那么做,我希望玩家所见即所得,远处看见一座山,随后你就可以登上去。

我不能在天空做任何东西,因为这意味着需要加入额外的内容。

lazy.png

空白的天空看起来有些枯燥,我增加过一个蓝天箱体,但看起来很糟糕。

lazy.png

有一天我突然意识到,通过3D世界缠绕,我有可能解决这个问题,我可以在天空中做内容,它不一定是新内容,还可以让玩家到达那里,这就解决了蓝天空白的问题,还让整个关卡更加有趣。

这给之前的而一些问题创造了意料不到的解决方案。

lazy.png

这是埃舍尔的作品“Cubic Space Division”,游戏最初的灵感就是在埃舍尔的一个作品基础上创作,我希望将这个关卡也加入到游戏之中。

lazy.png

这是2013年7月最初设计的关卡,没有世界缠绕,实际上直到研发一年半才加入缠绕。这时候的关卡玩起来很令人痛苦,因为到处看起来都一样,而且当你掉落的时候,会降落在地板上,因为这个关卡在房间里,所以是有地板的。这样做很乏味,因为你跌落之后还要重新开始走一遍。

另一个问题是,为了让关卡更有趣,你还必须扩大关卡规模,可问题是这会增加游戏内导航的复杂性,而且没有乐趣,所以我放弃了。

有了世界缠绕之后,一切问题都消失了,这是2015年12月的关卡截图:

lazy.png

这时候玩家根本没有可能迷失,因为无论朝任何方向走,你都在远离起始点,并且离某个物体越来越近。它还意味着我可以无限制增加关卡规模,不仅不会带来导航复杂性,实际上还去掉了复杂性,给玩家带来了更有趣的关卡体验,因为这在游戏是不常见的。

lazy.png

这是我之前想要放在游戏里却无法实现的东西,我觉得这些阶梯如果无限制延伸会很有趣。

有了世界缠绕之后,一切都有了可能,你可以不断地攀爬阶梯向上走,如果你到了底部是没有成就的。

lazy.png

这个阶梯是不断重复的,如果你从右侧底部掉落,就会出现在左侧顶部,因为偶我们所有东西都是在网格当中。

之所以这么做,是因为,当你走下阶梯的时候,并不只是朝下,而是朝下且前进。

新问题

lazy.png

当然,增加世界缠绕也带来了新问题,其中一个就是闸门。

基本上,玩家走出去之后,内部关卡就打开了,你可以走到任何地方,玩家甚至可以跳过这些关卡直接到最后。

lazy.png
lazy.png

我们用2D形式距离,假设我们想要让玩家得到星星,但只是走过去拿到就太简单了,所以我们增加一堵墙,这时候玩家可能需要找到一把钥匙开锁,或者学会二连跳越过墙体。有了世界缠绕之后,墙壁就不再是问题,他们可以在最右侧跳下,然后就能出现在星星旁边,这就让谜题设计没有了意义。

lazy.png

在《上古卷轴:天际》当中,走出房间之后,你可以到达地图上的任何地方。

lazy.png

随后进入地牢,它就成为了一个非常线性化的体验。

lazy.png

我实际上将它带到了自己的游戏里,所以当你走出房间之后,就可以到任何地方。

lazy.png

当你到了有谜题的地方,它就变成了线性通道,这就可以避免玩家跳过关键区域。

另一个问题是,你会发现高度和方向没有了意义。

lazy.png

很多游戏都会有一座塔,你得到一个任务,与某个NPC在塔下相见。

lazy.png

我们用2D距离,星星在塔的左侧附近,加入了世界缠绕之后,方向就没有了意义,因为星星在塔(本身)的右侧,这时候的塔是没有意义的,它没有高度,确切说是没有根基。

lazy.png

这是游戏里没有地基的建筑,一切方向都会显得非常混乱。

lazy.png

我的方案是接受现实,充分利用几何体的优势而不是放弃它。比如设计成放射状,这样你可以有更多的方式解决谜题,而不是原来只能按照固定方向。

不可能几何体关卡设计技巧

宏观技巧

lazy.png

接下来我想分享一些我认为有用的技巧,主要分为宏观和微观两个方面,宏观指的是关卡全局方面的东西,微观则是时时刻刻的东西。

宏观层面,有标志性的部分,也就是整体布局;还需要给关卡增加逻辑。微观层面,你需要加入故意为之的建筑结构,还要利用建筑学元素的规律。

lazy.png

这些都是比较有标志性的部分,大致上能够看到建筑看起来的样子。

lazy.png

当你按照埃舍尔的方法设计关卡的时候,增加大量的梯子让玩家应接不暇是很重要的。

但这种方法在关卡设计中行不通。

lazy.png

比如这是我最开始设计的开放关卡,有很多的楼梯和复杂的结构,看起来很有埃舍尔范儿。

然而,如果你要问我这个关卡的标志性部分是什么,看起来就会很混乱。

lazy.png

这是同样的关卡,现在可以看到它是一个被四块土地围绕的中央塔。

lazy.png

这个方法比较好的一点是,你可以从任何方向看出布局,而且我在游戏里没做小地图,你可以直接看到建筑结构,这对游戏设计很有帮助。

lazy.png

第二个宏观技巧是关卡逻辑,开放关卡都有一些房间教玩家游戏机制,然后让他们走出去。

lazy.png

最初测试的时候,我们的玩家有些人擅长解谜游戏,还有些人没玩过,玩过解谜游戏的可能10分钟就能通过,没玩过的可能需要30分钟甚至40分钟。

走出去之后,两组用户之间的差距就没那么明显了。主要是因为内部房间和外部房间的设计之间没有逻辑,它们是随机的。

lazy.png

不过,有了标志性部分之后,你就可以依次到四块土地解决谜题,然后回到中央平台。所以,为一个关卡增加逻辑是很重要的。

微观技巧

lazy.png

微观层面,我们该如何指引玩家走到对的地方呢?

目的性建筑结构

lazy.png

我的方法是在平台边缘增加一些指向性的物体而不是直接堵住,比如有方向的楼梯。

lazy.png

这样做的原因是,你在中央塔上,我想要你到蓝色地块解开谜题拿到星星。这时候我需要玩家旋转重力到达那里。

你必须从边缘物体跳跃到目标地块。

lazy.png

问题在于,你并不知道这个障碍物具体在做什么,实际案例中,很多人走到这里四处张望,然后选择了离开,这件障碍物并没有能告诉玩家它存在的目的是什么。

lazy.png

如果是一个台阶,我就可以走上去,然后进入重力旋转区域,就能看到下方的物品。所以,障碍物和台阶的区别在于,后者可以告诉你该怎么做。

lazy.png

第二个微观技巧是利用建筑结构规律

lazy.png

这是游戏里的走廊最常见的样子,这是有问题的,因为你可以改变重力方向,将房顶变成地板,很多第一人称游戏都不会让玩家向上看,所以他们走到这里就以为是死胡同。

lazy.png

另一个问题是,当你走回去的时候,走廊看起来和之前一样,考虑到重力旋转,很容易让玩家走到之前去过的房间。

lazy.png

所以,当我在关卡中增加窗户的时候,它们之间的长度是相同的。之前把关卡展示给一个朋友,他建议我将外部的窗户延长,这样当你到走廊尽头就可以看到明亮的东西,窗户就会引导你的眼睛看到方向,这就解决了之前的走廊问题,让玩家向上看。

lazy.png

这也解决了走回去的问题,因为当你走回去的时候,因为窗户的存在,你可以分辨走廊的方向,我不希望让玩家迷失在走廊中。

总结

拥抱几何体,不要反其道而行之。因为,你会发现它可以为之前无解的问题带来意想不到的解决方案。

你需要重新思考很多东西,比如闸门,方向。

充分利用清晰的关卡布局,在关卡中创造逻辑,让玩家通过观察知道接下来该去哪里。

你还需要做目标建筑结构,放在游戏里的任何东西,都要告诉玩家如何使用它。

利用公认的规律让玩家可以用来发现他们需要走向哪里,很多玩过《多重花园》的人告诉我,他们原本觉得游戏玩起来会让人困惑,但实际体验之后发现感觉还不错。

最后,我希望同行们不要害怕拥有更大的梦想。

如若转载,请注明出处:http://www.gamelook.com.cn/2022/09/497452


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK