《塞尔达传说:荒野之息》总监谈打破常规的游戏设计

Gamelook报道/作为一个拥有几十年历史的IP,《塞尔达传说》系列在游戏设计领域一直都被很多人认可,影响了无数的游戏和开发者们。随着新作《荒野之息》的发布,任天堂在游戏设计方面达到了新的成就,该作品被称为“有史以来最优秀的游戏”。

17

在3月初的GDC大会上,《荒野之息》的技术总监堂田卓博(Takuhiro Dohta)和游戏总监藤林秀麿(Hidemaro Fujibayashi)分别讲述了研发团队打破传统的游戏设计方法,以下是gamelook整理的演讲稿:

打破常规的游戏设计:乘法式玩法怎么做?

我是游戏总监藤林秀麿,我今天将告诉大家和其他策划一起想到的各种主意,包括一些比较傻的想法。

2

这些游戏是我曾经作为游戏总监和策划而从事的一些项目,回过头来看,我做《塞尔达》游戏已经20年了,连我自己都觉得惊讶。接下来我们切入正题,首先看看这张图:

3

看起来像什么?第一眼看去它可能比较像NES平台的原版《塞尔达》,但仔细看的话你们会发现,Link是蓝色的,还有一片叶子和一个短的褐色管道。实际上这张图片和我们今天的主题有很大的关系,不过这一点我会稍后再说。

新的塞尔达系列《荒野之息》看起来怎么样?到底是完全不同的改变,还是看起来没有多大的变化呢?当最初设计这款游戏的时候,我首先想到的是,我想通过这个新续作做些什么?然后我想,该怎么做才能实现自己的想法?关键的是两个你们可能已经听过的概念,一个是重新发现经典,另一个是打破常规。

我想做的是一个让用户们可以真正获得自由体验的作品,通过探索和发现,我希望玩家们可以不断获得新的冒险体验,并且可以自由地在这个世界里行走。换句话说,就是一个可以让玩家思考并决定自己去哪里、做什么的游戏。

当我思考这个新项目的时候,脑海里想到的是最初NES版《塞尔达》,你需要在地牢里穿行、与敌人战斗,每次卷轴切换,都会有新的发现、找到新的解决方法。玩家们可以自己思考和决定去哪儿、做什么,并且体验兴奋的战斗和冒险,我当时对自己说,可能我要做的是回归经典。

4

海拉尔是塞尔达故事发生的地点,这张地图你们可能有些人比较熟悉,但实际上是很多年前我们的美术师创作的一张插画,并且试图把这种优秀的冒险体验展现到纸张上面。这是一张海拉尔地图,而且和《荒野之息》或者《天空之剑》都没什么关系,但仔细看你们就会发现有趣的事情,这里面有一个漂浮的小岛,周边的环境很像Link苏醒的地方。富有沉浸感的漂亮城堡会让你想起中世纪的欧洲,有喷发的火山、茂密的森林,当然,还有藏了很多秘密的地牢。

海拉尔之地有创造优秀冒险体验的所有因素,但是,我意识到要创造一个之前所提到的游戏,还有很多的障碍需要克服。比如预先设置的事件顺序、无法通过的墙壁、以及按照设计师预定的体验。而且我们不能忘记的是,所有的解谜、地牢的答案都要在互联网上寻找。

这些都是塞尔达的传统做法。所以我们希望改变游戏结构,从一个让玩家被动体验的游戏改成一个让他们可以主动选择的游戏。那么,什么是主动游戏呢?

5

我们第一个做法就是去掉所有不能通过的墙,让玩家们可以在所有的墙壁上攀爬。这样,原本是边界的墙,成为了新的通道之一,让玩家有了更多选择。这时候我们才发现,我所追求的游戏就应该是这样的。所以当你爬到山顶之后向下望去,实际上只有一件事可以做,那就是跳下去。通过特殊工具,你爬到山顶之后可以飞向任何地方,所以我认为这拓展了游戏的自由度。通过观察玩家们的行为之后我才发现,通过动作和地图加成,创造无限可能的玩法,我发现这种“乘法”概念就是我要找的答案。

塞尔达当中很多的解谜都是基于自然现象或者科学现象,并不需要提前知道很多知识。但按照我们之前的设定,我们使用了线索让玩家们解决谜题。顾名思义,这些东西都是为特定解谜而设计的,虽然完善和优化了游戏体验,却需要大量的资源支持,所以过去那种数学乘法式的研发方式并不适合新塞尔达游戏。

所以我接下来想的是,能否用之前的乘法方式制作这些解谜。让游戏里的目标对玩家动作产生反应,这些物体之间也会相互作用,我觉得这样会离主动游戏的目标更进一步,因此我希望用最简单的方式试验。结果就是你们在一开始看到的,我觉得用2D方式创作可以最好的实现目标。

6

你们可以看到,这是一个2D的塞尔达,但它却可以实验我之前谈到过的玩法,你可以把它看作《荒野之息》的简版创意原型,所以link的蓝色衣服就很容易被识别。这个原型没有太多的东西,我们只是做了角色、一条河流和几棵树,用户们可以自己思考并且开出一条道来,这个简单的设定只有一个规则,游戏给出了环境和目标,你能否达到呢?玩家的动作、游戏环境以及游戏内的物体都可以通过这个简单的规则互动,这样玩家们就可以自由地找到解决方案,于是就形成了一个活跃的、乘法式的玩法。

7

通过这个简单的方式,我们确定哪些需要改变、哪些不需要改变,来完成基本的游戏设计。所以,接下来让我们的技术总监堂田卓博(Takuhiro Dohta)来讲讲,实际上我们是如何实现这个目标的,下面的时间交给堂田。

物理引擎:讲述“聪明的谎言”

大家好,我是堂田卓博,担任《荒野之息》的技术总监,我是2003年加入任天堂的,并且参与了多个类型游戏的研发,做过游戏程序员、还做过引擎和技术开发。

8

在研发的过程中,我们的程序员必须在技术上打破各种各样的常规,从地形系统、用户指导,到图形和声音、算法、AI、动画甚至是资源管理,我们都被迫重新思考可能遇到的挑战。每个问题的解决都是一个有趣的故事,但我们今天时间有限,如果有机会可以再详细的说。

所以我今天要说的是,我们如何实现乘法式玩法的。这实际上就是物理与化学的问题,不过别担心,我今天不是开学术讲座的。我认为塞尔达是动作游戏,所以我们回过头来考虑动作游戏的主要因素,通常一款动作游戏是由碰撞、移动和客观状态构成的。碰撞和移动在游戏当中就是上面提到的物理。

9

当然,做游戏研发的时候,你不会加入课本里的物理原理,而要加入你的游戏所需要的物理效果这也就是我们所说的游戏物理。从NES时代开始,平台游戏就加入了物理效果,游戏物理效果也可以被称为“错误的物理”或者“具有欺骗性的物理”。那么,你为什么要在游戏里撒谎呢?这样做主要是为了增加操控性和反应效果,达到游戏设计的目的。我们这么做有时候还是为了优化处理能力和增加真实感。

10

另一方面,当我们“说谎”的时候,我们用什么方法来实现物理效果呢?我认为这样可以在游戏和玩家之间建立一种信任,用户们在现实中观察世界并且在游戏里相信这些物理效果的规则,这就是我们在游戏研发中“说谎”的基础。

当然,塞尔达系列也不例外,过去的游戏使用了大量物理效果让解谜操作显得更加直观,作为一名程序员的乐趣之一就是,决定如何讲述这些聪明的谎言,以及如何表达在幻想世界里发生的事情。由于这款游戏发生在非常大的世界里,所以我认为它需要一个对应强大的游戏物理效果才能让游戏栩栩如生。

另一方面,在研发的一开始,创造很高的自由度就成为了我们非常重要的主题之一。比如你可以把任何物体带到游戏里的任何地方,如果你愿意的话,可以把游戏开始遇到的石头一直推到最终boss战的地方。但是,在一个物理模拟当中,你必须让这件事行得通,还需要做一个几乎适合无限情况的设定。

我们非常专注于让游戏变得有趣,我们意识到如果使用以前的方法做下去,就会在没有达到目标的很久之前失去了动力。所以经过了一些测试之后,我们决定使用Havok引擎做物理模拟,这个引擎在物理效果方面的强大功能使我们可以做出所有“聪明的谎言”。

11

在《荒野之息》里,我们加入大多数的物品和动作都非常依赖游戏物理效果,这样我们就可以专注于做最想做的功能。游戏物理的好处在于,你可以做出现实中不可能发生的效果,这么做的目的是节约编程的时间,同时又不牺牲玩家的操控体验,Havok引擎为我们解决了大多数的物理效果方面的问题。

现在我希望回到游戏总监说的乘法式玩法,在我们不断的尝试中,我们发现,如果提供了一系列的物理效果,玩家们就可以自由地尝试很多方法。比如图中的这块板子是让玩家过河用的,但当你拿起来的时候,可能会想把它扔向敌人;看到河里漂浮的圆木,你很自然地想要跳上去,踩着圆木在水里走也是有趣的。我想说的是,最后我自己看到了大量的可能性,并不是从游戏设计师的角度,而是从玩家角度。

我这样或者那样做会有什么效果,如果换个方式呢?这样简单的游戏世界就可以创造非常复杂的效果,我意识到这才是我们想做的游戏。

在我们的研发团队讨论的过程中,我们得出一些关键词,如果物理引擎这么厉害,为什么没有提到化学方面的东西呢?

如你们所知,塞尔达游戏很早就已经在游戏里加入化学效果了。和物理效果一样,创造和真实世界里一样的解谜可以让玩家本能地解决它们,所以我们决定研发一个“化学引擎”。

化学引擎:连接游戏里所有东西

那么,什么是化学引擎呢?用一句话描述物理引擎,它就是一个具有规则的运动计算器。作为对比,我们把化学引擎称之为一个基于规则的客观状态计算器。物理引擎管的是碰撞和运动,化学引擎主要负责状态的变化。

12

接下来我要解释的是化学引擎的工作方式,我们把火、水、空气等不具有持续固定状态的物体称之为元素,接下来我们把树、岩石等具有固定状态的物体称之为材料,化学引擎主要是通过三个简单的定律把这些东西融合在一起:第一个定律是,元素可以改变一个材料的状态,比如火和树结合之后,树木上的叶子就会消失;第二个定律是,元素之间也可以改变彼此的状态,比如火和水结合之后,火就会消失;第三个定律是,材料无法改变另一个材料的状态。

这就是我们的化学引擎,虽然规则很简单,却可以处理所有的活动产生的效果,游戏里所有的互动效果都是化学引擎实现的。可能有人注意到,游戏还有风和电的效果,这些也属于化学效果吗?答案是,在《荒野之息》里,我们的确是通过化学引擎实现的,在课本里可能不会这么划分,但在我们的游戏里,很明显是的,这样我们的游戏世界就变得更加简单,我们的目的并不是创造一个化学引擎,而是希望通过这个状态计算器让这些物体相互关联。

还有一个原因是,我们把乘法式玩法称之为化学反应玩法,这个引擎是让所有可能性发生的基础,所以某种方式来说,这就是化学反应玩法。通过这种方式,我们做出了想要的游戏玩法,给玩家更多的自由,让他们做自己想做的事情。所以,我们是如何做到乘法式玩法的呢?答案很简单,那就是把游戏世界里的所有东西都连接起来。

13

当我们开始做创意原型的时候,并不确定这种方式是可行的,为了证明概念,我们用了2D风格创作原型,2D可以用最简单的方法做出象征性的玩法,但实际上你看到的这个原型是3D的,而且加入了一些物理效果。

在《荒野之息》的世界里,乘法式玩法体现在不同的环境和目标之间,所以如果细化不同物体之间的联系,你可以发现周围的环境实际上都给你带来了问题,如图所示,它同时还可以让你选择不同的想法。实际上我们给每个目标都设置了正确答案,但我们更希望玩家们按照自己的意愿尝试,这样他们可以最大程度获得乐趣。

14

通过这样打破常规的做法,我们创造了一个无限可能的游戏世界,实现了我们做更主动、更开放的游戏目标,玩家们可以用他们独特的方式解决游戏里的解谜和任务。

现在我们来换个话题,在我们研发Wii U版本的时候我们收到了一封邮件,内容很短:我们决定把《荒野之息》做成跨Nintendo Switch平台的游戏。这就是制作人,而且他还非常有勇气的告诉我们,要在游戏发布的时候做到对两个平台的支持。

15

作为游戏开发者,实际上后来我们发现做Switch支持比我们想象的更简单。首先SDK帮我们解决了很多问题,比如跨PC平台、优化操作系统玩法以及显卡驱动。在硬件方面,它拥有强大的多核处理器以及非常大的主内存,我给任天堂很多个硬件做过移植,但Switch是硬件方面支持工作做的最少的。

当我们做出来的时候,使用了同样的源代码、引擎、线程、资源和着色器,而且做出来的游戏体验不经过优化都已经是相同的,我们甚至用《荒野之息》来展示Switch对于开发者的吸引力。