关闭→
当前位置:游戏欢乐站>单机图文攻略>无人深空星球生成机制深度分析 为什么没有多人联机

无人深空星球生成机制深度分析 为什么没有多人联机

游戏欢乐站 人气:2.85W

无人深空是一款创新过也努力过,但最终没能把他们想象的创新做到完整,被迫就这么发售的游戏。

无人深空:未能完成的创新

在今天这个自媒体、直播和视频蓬勃发展的时代里,富有争议的热门游戏经常出现。去年的辐射4、今年的全境封锁都是例子:这些游戏固然大卖数百万、上千万套,但在互联网上,用户评论都呈现出了激烈的分裂态势。

但一般来说,会引起这么大争议的游戏大多是商业游戏,独立游戏一般是豁免的:大多数独立游戏只要在销量上成功,就算风格奇异、玩法单调、甚至在某些极端情况下内容抄袭,广大玩家们也会用比较宽容的心态面对他们,很少发生商业游戏那种用户群分裂、口出恶言互斥的情况。毕竟,这些独立游戏大多数是几个人、十几个人的小团队,顶着资金缺乏、资源紧缺、技术缺乏、竞争者数量庞大等等困难做出来的,好不容易抽到销量彩票已经很不容易了,就算有些缺点,大家又怎么忍心斥责他们呢?

然而,这个“玩家对独立游戏比较喜爱”的规律,被无人深空(No Man’s Sky,NMS)打破了。

自发售以来,几乎所有评论社区都对这款极受期待的独立游戏大作发起了猛烈攻击——这种攻击甚至波及到了媒体评论界,国外各大网站和杂志也对这款游戏打出了少见的大量低分。通常来说,对于争议游戏,媒体总是比玩家宽容得多,但这次就连不少媒体们也加入到了追击的行列之中。

在游戏的商业世界里,一个游戏成功、畅销和好评如潮,很可能和这个游戏的游戏设计关系不大,是推广、运营、商业化甚至品牌效应的贡献,非常不好玩的游戏超级赚钱的事情发生过也不是一两次。但如果一个畅销游戏获得大面积的差评,毫无疑问,这一定是因为这个游戏在游戏设计上做错了重要的事情,甚至选择了错误的方向。无人深空面对的这个舆论结果,就已经证明了这一点。客观上来说,其实无人深空已经完成了很多令人惊讶的事情,比很多好评如潮的独立游戏可能更多;但他们做错的设计也是那么醒目,激起了玩家群体广泛的反感。

所以,我不光打算讨论“无人深空错在哪里”,更想要讨论“这些令玩家感到不满的错误设计是为什么而发生的”。

当然,有些话我要预先说在前面:本文所做的设计分析,都是官方不会承认的,你在他们的公关稿上永远只能看到“我们从一开始就没说过要做多人”之类的话,但最后完成的游戏不会撒谎。

15个人的宇宙沙盘和宣传的反差

首先,这可不是因为无人深空“不够独立”。从客观上来说,无人深空当然是一款独立游戏:他确实拿了发行商索尼的钱,享受了风之旅人一般“索尼第一方力推独立游戏”的待遇,可它的独立资格也仍然是毋庸置疑的,比风之旅人要像独立游戏多了。

它的开发商Hello Games位于英格兰萨里郡的吉尔福德,一个位于伦敦外围规模不大的镇子——北京的读者大概可以想象为怀柔、上海的读者可以想像为崇明,诸如此类。在着手制作无人深空之前,他们赖以谋生的是一个叫Joe Danger的独立游戏系列:和大多数二线独立游戏类似,他们依托于索尼的发行网络和资源支持开发这个3D平台动作游戏。这个系列并不算有名,也不算特别畅销:系列甚至没有正式的中文译名。但在发行商索尼的支持下,也不算多么惨淡:在2010-2014年间,他们开发了两代PS3上的Joe Danger,同样后来也做了这个系列的手机版本。

但在2012年,整个团队还忙于开发Joe Danger 2代的时候,该公司的联合创始人、后来无人深空的总监制作人Sean Murray,有了一个点子。对于我们这些搞游戏设计的人来说,那是个很常见的点子。我有个也做游戏设计师的朋友曾经告诉过我,她觉得每个游戏设计师都想做一个宇宙海盗题材的游戏。我对此表示异议,但却发现了一个更惊人的事实:几乎每个游戏设计师甚至每个公司,确实都有做一个“太空题材游戏”的梦想。比如,几乎每个战略游戏的公司都忍不住要做个太空策略游戏,从半人马阿尔法到群星。每个做RPG的公司都忍不住想做个宇宙或者科幻题材的RPG,而太空沙盒游戏更恨不得是大家的最终幻想……而对Hello Games的人们来说,他们想要开发的,就是No Man’s Sky这个太空沙盒游戏。这是一个在概念上和当时所有其他太空游戏都不太一样的游戏:他们想要以“探索”和“类似真实宇航员的孤独体验”来设计、构建这个游戏。

——虽然他们只有那么十几个人(2016年的现在还剩下15个),甚至还要同时开发平台游戏谋生。这整整4年的时间中,他们一边做这些不怎么畅销的3D平台动作游戏,一边默默挤出资源开发着一个宇宙题材的独立游戏。

你可以想象,这个项目的开发绝对称不上多么顺畅——我会在之后从设计角度来分析这个项目为什么一定不会顺畅的原因,不过看到上面这些背景故事,你大概也猜到他们这个项目不会顺利的。在2013年的圣诞节,当时只有10个人的这个团队,居然还碰到了洪水。他们位于吉尔福德的小办公室被水淹了,所有人都在一起捡着开发资料的残骸。按照Sean Murray后来的说法,“这段经历让我们连接在一起,构建了团结。我记得自己说过,是的这个项目很吓人,但想想我们完成以后,一起出席E3发布会,然后观众席爆满的情形”。

他对此的感想还是部分正确的:这个项目确实比他想得更加吓人。在游戏发售后,他将会装作自己没有说过游戏可以多人进行,表示游戏的未来DLC将会收费,他们还将经历第二次洪水。

最终出现在我们面前的,是一个对大多数玩家来说,和预先的宣传、展会之间的落差大到难以接受的游戏。

在之前所有的宣传中,玩家们得到的消息是,这将是一个前所未有的,以太空探索为主题的太空沙盘游戏。游戏里将有数不清的飞船、文明、星球和星球上的生物等待着玩家们去发现,而且这些星球有极其独特的美术风格,几乎每一张截图都有艺术效果——Hello Games反复强调,有18,446,744,073,709,551,616个不同的星球。

游戏中有太空作战,有遗迹考古,每个星球都有独特的风景和生物圈,其中大约10%的生物圈会有比较高的复杂度,他们在宣传视频里放了生态环境非常复杂的行星作为效果预览。

玩家们要像我的世界(Minecraft)里面一样,使用太空采矿光线去采集各种各样的行星资源和小行星矿山,进行星际贸易,开拓通向宇宙中心的道路,解开银河系的奥秘。

更夸张的是,整个游戏是无缝衔接的,全程没有读盘,玩家的飞船可以在星球上飞行,可以突破大气层进行亚光速航行,甚至突破恒星系进行超光速航行。而这一切,都是通过前所未有的程序化生成算法构造的,而且所有玩家还会处在同一个宇宙当中!他们或许不会在宇宙中相遇,但他们所提交的所有命名都将保存在服务器端被其他宇宙探索者看到。

无人深空星球生成机制深度分析 为什么没有多人联机

玩家们原本想像的游戏内容,大概是这样的(2014年E3)

而真正游戏发售后,我迫不及待的进行了三、四个晚上,十多个小时的连续体验,然后就不得不停了下来:游戏的重复度太高,再去星球上拿着光线收集钚我就要吐了。如果飞船每次起飞能少要一些资源,或许我还能坚持得更久一些。

关于无人深空的这些预告确实都实现了——但我只能说,是按照“字面”含义实现的。如果你听过那些关于“恶魔实现人类愿望”的童话故事,无人深空第一个零售版本所实现的内容,大概就与此相似。

游戏里的星球确实有极其独特的美术风格,但它们都像三、五个风格相近的现代艺术家捏出来的作品,配色不同,但都很奇特。游戏里确实也有数不清的生物等待着玩家们去命名,但90%以上的时间,你看不到预告视频里那种美妙的,由不同大小的动物和植物构成的美妙生物圈,只能看到一些造型奇特扭曲的小动物在怪石和资源之间奔跑。

虽然游戏无缝衔接,但每次飞跃新宇宙和出入大气层,都要等待着生成函数为我计算全新的世界和地表。所有玩家确实都在同一个宇宙里面,但就算他们同时在线,在浩瀚太空的一个角落中相遇,也无法看到彼此——这实在很难说是一个多人游戏,所以最后Hello Games选择做鸵鸟,表示“我们其实并不想做一个真正的多人游戏”。

无人深空星球生成机制深度分析 为什么没有多人联机 第2张

实际上的游戏画面是这样的……好吧这张特别丑,但确实有4成以上的星球也这么丑……

只有一点,他们确实实现的非常好:这个游戏的意境,确实和他们想要构造的一致。我确实感到了在无人深空中开拓未知宇宙的孤独。

所以,我既可以理解一部分用户对这个游戏的意境和艺术成就大加赞赏,也同样可以理解另外一部分用户的失望、愤怒和口出恶言。

说实话,看到团队只有不到20个人,加上整个游戏的程序化生成概念,我就已经猜到这会是第二个孢子了。我没想到的是,最终的反差会如此巨大,用户的反弹会如此剧烈。

了不起的灵感和它的诅咒

那么,这个庞大的宣传反差,是为何诞生的呢?为什么无人深空会如此笃定他们能做出一个超级庞大,而且支持多人联机的宇宙来(虽然他们最后并没有做出来)?要知道,他们可只有那么小的一支团队(2016年的现在是15个人),按照游戏开发的常理来说,这简直是睁着眼睛乱吹牛皮了!15个人?做个单机手游还差不多,你们要做3A太空沙盒?是来骗经费的吧?!

要解答这个问题,我要从无人深空所使用的程序算法开始解释。从某种意义上来说,无人深空这个项目,是整个游戏行业中极为罕见的“程序员和算法主导”的游戏项目。绝大多数的游戏,要不是游戏设计师主导,要不是美术总监主导,甚至很多时候是市场总监、财务总监甚至融资总监主导,但极少有被程序技术算法主导的例子——偏偏无人深空就是那极为罕见的一个。这也是他们敢以15个人的超袖珍团队,向所有玩家和发行商索尼描述游戏愿景的底气。而最终,这也导致他们没能完成这个架空的愿景,是游戏上市后玩家舆论给他们致命一击的根本原因。

18,446,744,073,709,551,616这个数字是什么呢?对于学计算机的各位肯定非常熟悉——它是2的64次方,和256、65,536、4,294,697,296一样都是计算机系的大家应当很熟悉的数字,代表着一个64位的2进制数。看到这个数字,你就能猜出来,他们用了一个“长整形变量”作为生成随机星球的种子。

这意味着,在无人深空中,他们使用了程序化生成算法(Procedural Content Generation,一般简称PCG)来构成这个随机宇宙。你能够在很多地方见到对PCG原理的简述,甚至还有人专门写了一篇介绍无人深空中随机宇宙生成算法的文章,所以我在这里不再赘述这些程序化生成是怎么实现的。

当然,实际上的生成算法会非常复杂,经过很多很多步的生成,绝非我或者科普文章说的“使用一个随机生成的长整形数来随机生成星球上的数据”这么简单。你可以想象,相对于一般游戏使用的复杂的数值表,无人深空有一张复杂的生成规则表:星球的名字如何生成、生物如何生成、地形如何生成、资源如何摆放、宇宙太空站如何生成、NPC种族如何生成、飞船如何生成、蓝图和语言如何生成……

而在这里面,有些问题会比其他问题更加复杂。如何生成合理的地貌?如何生成看起来合法的生态环境?每个星球上都需要生成资源和值得玩家去探索的特殊地点,这些又怎么通过一个64位的随机数种子去进一步生成?在这些内容上,团队必须要投入比简简单单地说“程序化生成”这三个单词多得多的工作量。在最终的游戏零售版本中,他们实现了完整的基本游戏逻辑——但也只有基本的游戏逻辑而已。对于4年的开发时间来说,这个答卷完全无法令玩家满意。

我想,那可能是因为他们浪费了很多时间,用来追寻另外一个最终失败的目标。很多关于无人深空的文章都说了程序化生成,但这个游戏并不仅仅是程序化生成。在这个游戏里面,还容纳了一个极为罕见的灵感,也正是这个灵感,将它原本的愿景和野心暴露在了我们的面前。

因为在这里还有另外一个非常重要的设计要点:虽然这个宇宙里,有2的64次方个不同的星球,但所有人看到的宇宙都是一样的。虽然游戏没有联机功能,但玩家们确实能够看到别人上传和命名的星球,在庞大的宇宙中找到其他玩家的踪影,看到别人所命名的生物——这证明大家所看到的宇宙,并不纯粹是用那个随机数生成的本地数据,而确确实实存在于所有人的电脑之中。

但从传统网络游戏的实现方法来说,这个“所有人都能看到的宇宙”原本是不可能存在的!只要做一个简单的算术,大家就能明白这一点了:假定一个星球的随机生成,真的只需要一个长整型变量,也就是一个64位的2进制数(64bit)。存储这个星球的随机生成种子,就需要64位2进制数,也就是8个字节(一个字节是8bit)。

我们平时说的1MB有多大呢?有1,048,576字节,能存储131,072个这样的星球(约13万个)。

1GB有多大呢?有1024MB,也就是说,能存储134,217,728个这样的星球(约1.3亿个)。

1TB有多大呢?这个已经是大家一整块硬盘的单位,有1024GB,也只能存储137,438,953,472(约1374亿个)这样的星球。

我们再用上服务器等级的硬盘,1PB=1024TB!这样的硬盘能储存多少个星球呢?140,737,488,355,328个,也就是140万亿个星球的数据。没错,即便我们动用了1PB这样惊人的服务器级别硬盘,也还没能存下这个宇宙每个星球的生成种子——遑论玩家们给这些星球和星球上的地点、生物们起的名字了。

那么,无人深空这个多层宇宙宇宙里,到底有多少个这样的星球需要储存呢?答案是1800亿亿个。我们换算成PB的话,是131,072PB——13.1万PB的服务器,当然远远超过一个游戏公司所能负担的上限

所以,他们不可能使用这么愚蠢的“传统网络游戏”的做法。他们需要另外一种办法来存储这个“所有玩家共存的单一宇宙”。

这就是无人深空这个游戏大愿景的另外一半:用“伪随机数”的算法来同步所有人的宇宙。这是之前所有程序化生成游戏,从矮人要塞到孢子,都没有想到的事情。那些使用种子生成地图对战的游戏们想到了,但是他们从未想过要把这个算法扩大到一个真正的“大服务器游戏”上——这确确实实是一个非常疯狂,但也相当天才的想法。

我先来解释一下伪随机数的算法。对于学过计算机的人,计算机不能生成真正的随机数,只能生成伪随机数。通过一个算法,生成一个看起来没什么规律的大数字,然后再通过算法在这个大数字里面截取一段,之后再进行近似操作,对我们人类来说,看起来就好像是随机数了。

比如说最常用的伪随机数生成算法,叫做“线性同余法”:Xi = (Xi-1 * A + C ) mod M,通过取大数字的余数来快速生成伪随机数。懂数学或者算法的读者应该一看就懂,而各位不懂算法的大家不必深究,知道这是一个用于递归生成特定随机数的算法就可以了。

但是,伪随机数不是真正的随机数。如果你玩过那些廉价计算器,就会知道这一点:在这些计算器的伪随机数生成模块中,有极其明显的规律存在。比如你使用线性同余法,只要给定了计算的次数和函数的初始值,这个随机数序列的每一项都是固定的;当这个同余数字特别小的时候,甚至还会产生有规律的循环和特定数字。所以会有一些安全指南,告诉程序员的大家一定不要允许其他心怀恶意的用户在你的系统里连续取随机数,或者干脆就不要用语言提供的默认随机数算法(很多主流语言默认都使用线性同余法);在已知使用线性同余法的情况下,他们甚至能够通过连续取到一定数量的随机数反推到种子。所以,通常来说,我们看到这种默认通过一个函数来生成的算法都会觉得算法的随机性很差;一些从众所周知的函数(比如pi的通项公式)里面取值的算法就更糟糕,只要知道算法,种子瞬间就可以被破解。

实际上,我们在现实生活中,也大量使用和这个“伪随机数”原理类似的验证算法——最著名的验证算法就是被我们用于加密和验证的“大质数因数分解”(著名的RSA算法)。我们大量使用的“CRC校验算法”其实也是个类似的应用:只要给定输入和算法,任何一台计算机,一定都能算出相同的结果;反过来说,只要算出了相同的结果,我们就能够知道他们使用了相同的固定算法。

但是,在游戏领域,之前几乎没有人思考过如何反向使用“伪随机数”这类算法。随机性越高就越好的思维定势很难避开,所以几乎没有人考虑过能不能反过来利用大随机数序列的“伪”性来构造复杂的设计用途。

反向是什么样的呢?让我们想想看“给定一个算法和种子值,任意一台计算机都能生成特定的随机数”的反面……

没错,这个反向思维是“如果我想要一个所有人都能获得的特定值,那么给他们一个算法和种子值就可以了”!

我们不再需要这个至少13.1万PB的服务器用来存储宇宙了:只要在每台机器上存储这个“通过特定种子数值生成宇宙、行星及星球上一切的算法”,再给几个玩家一个相同的种子值,他们就会处在一个同样的行星系和同样的星球上。理论上来说,只要把玩家的数据再单独拆开,我们就能造出一个庞大的随机宇宙,让无数的玩家在里面同时游戏,还不用准备庞大的服务器和进行预先设计!

如果这个反向思维成真,只需要给每个玩家在服务器端储存一套用户数据,理论上我们就不需要去做单独的场景地图了。我相信,这个“可以同步的算法”本身,才是无人深空这个项目最开始的野心和愿景。不需要给大家预先准备副本和区域设计,只要所有人和服务器都使用同样的伪随机生成函数和算法,就能按需生成一个庞大的可以同时容纳很多玩家的宇宙。

从这点来看,在最初的设计方案中,这个宇宙一定、一定、一定是有多人游戏的。只有非常想做多人游戏的程序员和设计师,才会想出这种充满炫技色彩的实现方法,来解决这个大宇宙沙盘中的对战问题。而这个项目的总监、程序员、设计师……所有人,甚至包括索尼方面了解这个项目的宣传负责人,他们也应当是知道这个愿景的,所以才会印出那些包含多人游戏的包装盒来。所以,他们的项目制作人才会在各种场合,口无遮拦地畅想着以后“多人模式”实现后的景象。

无人深空星球生成机制深度分析 为什么没有多人联机 第3张

然而,最后他们没做出来,索尼只能临时把包装盒上的“多人游戏”用贴纸给贴上。

无人深空星球生成机制深度分析 为什么没有多人联机 第4张

要具体将这个野心变成具体的游戏设计,非常非常困难,一路上有非常非常多的细节问题要处理。某种意义上来说,他们所遇到的问题,有点像我曾经讨论过的VR游戏设计:我们有一个听起来非常非常棒的点子,但是执行起来却发现这个点子的各个角落,都充满着我们之前完全没有想到的问题,每个问题都足够毁掉你之前的所有努力。

这些问题里,有些看起来可能是无法解决的;还有一些则是因为开发团队的无力和设计选择被迫放弃了;甚至还有一些是因为开发团队的不重视和漠视。所以,我们最终没能看到视频和宣传里说的那个游戏;就算用最宽松的标准评估,最后实现的这个游戏,也只达到了宣传和视频里那个游戏的30%。

预料不到的困难和失败的妥协

首先,也是最显而易见的困难,就是美术设计上的困难。

随机生成的东西,大多和“美”不会有太大的关系。绝大多数像Roguelike那样利用基本元素随机生成地图和物品的游戏,基本上都和大多数人眼中的“美”绝缘——诸如矮人要塞或者Elona这样的游戏固然非常好玩,但画面只能说“可以接受”而已。如果地图规模小还好,可以用预制模块弥补美的不足,比如暗黑破坏神、流亡黯道或者以萨;地图规模大了,那大家必须就要在高度恐怖的重复性和美之间做出抉择。

美术上的困难,如果客观来说,解决得还是不错。如果你没看过任何他们之前放出过的影片,也不拿去和其他一线3A游戏对比,无人深空的画面确实是可以接受,甚至可以说有些时候是不错的。美术总监选择的方案,是给整个世界的材质和颜色抹上一层厚涂油画一般的浓墨重彩,随机生成出的天空、大地、岩石看起来都像从超现实主义画作里面扒下来的一样。

这确实是个很好的随机生成方案:当美术风格很强烈的时候,随机拼接的违和感就不会那么剧烈。这套方案甚至可以对使用预制模块随机生成的游戏有很多启发:它或许是个改进二维游戏随机生成地图Tile的一套方案。

无人深空星球生成机制深度分析 为什么没有多人联机 第5张

然而,他们在宣传上犯了一个很大的错误:他们在游戏发售之前放出来的那些影片,恐怕都是自己建模和制作的。和这些影片相比,哪怕近视眼们也能一眼看出人工美术设计和程序化生成美术设计之间的巨大落差。

在影片中,高大美丽的蛇颈龙在参差错落的树丛中漫步,大小动物在丛林中奔跑,天空中有异星飞船交替飞过。

在游戏的零售版本中……大多数星球上黄绿色或砖红色的星球上零落着异型花草,脸上仿佛长着生殖器的随机生成生物在沙尘中跑过。

玩家们甚至做了一个站点,用来收集“在无人深空中长得好像生殖器的生物”,欢迎大家提交照片……所以说事情就怕比较啊。明明已经做得不错了,奈何宣传造成的期望太高。

无人深空星球生成机制深度分析 为什么没有多人联机 第6张


第二个重大的困难,就是游戏结构设计上的困难。

程序化生成这个方法本身就极富争议。绝大多数游戏设计师相信,引入太多随机性和程序化生成算法,会限制游戏设计,尤其是关卡设计本身能达到的高度。每个程序大概都能写出一个“超级玛里奥兄弟关卡生成算法”,每个关卡设计师用伪代码差不多也能实现一个,但谁也说不出怎么实现一个能生成出超级玛里奥兄弟1-1那样经典、有趣、易于上手的关卡的算法来。

具体到无人深空这种大宇宙游戏的例子上来,我们不可能通过程序化生成算法来构成复杂、巧妙的星球关卡,也很难构成各种宇宙势力之间合理的爱恨情仇,甚至都很难生成出一场令人荡气回肠的宇宙大战来。相比于人类设计的高度,程序化生成设计确实会对结构设计有很大限制。

但是,我必须要说,用程序化生成,不一定做不出好玩的游戏。整个游戏历史上,使用程序化生成最多、难度最高、生成算法最复杂的游戏矮人要塞(Dwarf Fortress)里,整个世界和世界的历史都是通过程序化生成的,但没有人敢说这是个不好玩的游戏。

很多人会说矮人要塞画面粗糙、上手困难,但只要玩进去的人,大多都疯狂地表示“这是他们一辈子玩过最好玩、最有深度的游戏”——哪怕整个游戏都是由ASCII字符构成的抽象符号。

受到矮人要塞启发的作品里也大量使用程序化生成:比如尽人皆知、横扫全球的独立游戏超大作“我的世界”(Minecraft),就是一个大量使用程序化生成手法的游戏。哪怕在商业化游戏中,我们也经常看到程序化生成算法的影子,比如暗黑破坏神的地图、装备甚至大密境。

像不可思议的迷宫或者以撒的结合这种Roguelike和Roguelite游戏中,程序化生成更是游戏的基本要素之一,把他们去掉这些游戏反而可能变得极其不好玩。如果游戏设计师极为重视这个问题,小心翼翼地控制程序化生成和随机性的边界,是完全有可能做出对很大一部分玩家来说好玩,甚至极为好玩的游戏的。随机性不是游戏设计师的敌人,完全不受控制的随机性才会成为敌人。

遗憾的是,无人深空的设计师看起来并不太注重这一点。零售版本游戏的生成算法中,看不到太多对游戏性的刻意设计和优化,只有按照标准模式散布在空间中的星球。他们甚至没有想到一些最基础的玩法目标,例如“星球应该能让玩家看到区别”或者“蓝图和剧情应该有序”,大多数时间玩家只是在付出高昂的登陆和飞行成本,收集、搜索本质上类型极为有限的“可探索地点”而已。想到每次降落要付出的成本,玩家很容易就能识破整个系统内容的有限,进而对整个游戏框架产生反感。

最根本,也是对无人深空整个游戏伤害最大的困难,恰恰来自于那个“所有玩家共处同一个宇宙”,使用伪随机型算法来构建多人游戏的愿景。这个困难,让游戏设计师无法使用很多已经被证明可以有效削减玩家反感的设计方法。

比如说,无人深空的当前版本里面,玩家不能进行任何沙盘建设,而只能对随身的三种主要资源:背包、飞船和多功能工具进行升级、研发和改造。而这些工具的提升也非常野蛮:提升工具,出现新蓝图、新飞船,甚至新物品的条件都只取决于“玩家现在掌握数量的多少”,和玩家怎么进行游戏毫无关系。

每次发现坠毁的飞船或者其他NPC手里可以购买的飞船,都一定会比你现在的飞船综合能力好一点点;要获得新科技就去找生产建筑,要购买新工具就去找贸易站……至于最后的结局呢?甚至就连游戏的“到达宇宙中心”这个结局也只是简单地重复:所有人的第一周目星系都叫欧几里德星系,二周目叫希尔伯特纬度。当我在网上看到第三周目叫卡吕普索星系、第四周目叫赫斯珀洛斯纬度、第五周目叫许阿得斯星系以后,果断放弃了这个游戏。

这种设计的成因是什么呢?自然是因为“所有玩家都共处在同一个用算法的生成宇宙之中”。

在这个设计框架下,我们可以将无人深空的游戏结构简化为:“算法生成的宇宙”和“玩家个人数据”两个部分。但这里有个很大的问题:当玩家的个人数据同算法生成的宇宙产生交互时,前者的优势将会剧烈减小,服务器必须拿出大量的额外资源用于处理这些交互。

比如,在目前无人深空实现的方案中,玩家们只需要提交自己发现的信息和名字。这对服务器来说是个比较轻松的工作:只要玩家把算法需要的种子发过来,然后服务器让本地游戏处理一下就好了。飞船、蓝图、物品这些都绑定在玩家本地的模块也比较好处理:就算以后要联机,也只需要在服务器端一人存一份就好了。单个玩家对这些宇宙造成的交互和破坏可以直接放在单机游戏的本地。

但如果要同“算法生成的宇宙”产生交互呢?这里会产生的所有难题,无人深空最终都选择“不解决”。我相信他们不是没有尝试过,但在这里产生的预料外的困难实在太多太复杂。比如玩家想要自己建设星球——这些建设资料该怎么存储?玩家如果在多个星系之间来回贸易,这些沙盘建筑需要系统反复生成,该怎么办?甚至如果他们以后要开联网模块,如何处理玩家们修建在不同星球上数以百计的基地呢?甚至更简单的设计也会造成问题。很多玩家都对只能保存一架飞船十分不满。但如果要让他们能够率领一个舰队,这个舰队要和算法宇宙交互又该怎么处理?

为什么多人模式最终没有做出来,玩家之间不能相遇呢?这很可能就是因为两个玩家的相遇太过不可控制。光是飞行、跑路大概没什么问题,但如果两个玩家要在算法宇宙里PK、战斗、采集、组队……这些交互就会对服务器造成太大的压力。

我相信无人深空的服务器目前基本不会处理实际通过算法生成出来的区域:这意味是服务器事实上并不知道那些宇宙里有什么——运行一遍生成算法对玩家自己的电脑都是相当的负担,不要说要容纳数十万玩家数据的服务器了。当玩家通过星图汇聚,大家一起开始收集资源、破坏地貌、进行太空战斗的时候,会造成的问题之多简直难以想象。更别说,这个宇宙里很可能还有些不通过算法生成的东西:比如生物的运动和宇宙人的飞船,它们的行动模式很可能不是通过算法生成的,而是通过真正的本地随机生成的。这些东西也同样需要在多个玩家之间同步……

所以,最终无人深空没有多人模式,他们不得不删除这个多人游戏的部分。而且,当初为了多人模式,而被放弃掉的所有游戏设计,当然也不可能被添加回来。

我这里所想到的,只是在游戏过程中就能想到的、极少数利用我的游戏设计经验就能想到的问题;无人深空的制作团队所碰到的问题,一定比我这里的想像还要多很多倍。那个庞大的,利用一个长整型种子就能生成一个服务器区域的点子固然听起来极为美妙,但并没有任何一种方法能保证这个点子真的能够变成现实。

留在我们这些玩家面前的,就是这样一个未能完成的创新。如果让我个人作为一名游戏设计师来评价,最终版本里留下的这些东西,当真是一片狼藉,不堪入目。

在各种各样的妥协和无法实现之后,最后剩在游戏里的设计,到底都是些什么啊!如果说孢子的好玩程度是一般游戏的30-40%,那无人深空最后剩下来的这些游戏设计,恐怕连一般游戏的10%都没有。可能提供好玩的设计都被迫删除,剩下的是一些独立的小太空站、贸易点、石碑塔之类的东西,分散在这1800亿亿颗星球的宇宙中。每个太空站的造型,甚至还都是差不多的——这种人工生成的建筑,他们干脆连预制模块都没有做几个。

当然,无人深空已经完成的美术成就,和他们所达成的孤寂感,确实也是游戏世界中一道罕见的风景线,我之前确实没有在其他游戏中见过。肯定也有一部分玩家,会被这种美术风格和孤寂感吸引,在游戏中流连忘返,给与这个游戏很高的评价,这样的玩家很有可能还会增加。但至少,对我和很大一部分玩家来说,无人深空当前版本的游戏设计,可以说是完全失败的。

更糟糕的是,这个游戏还定价为60美元。这么高的商业游戏定价,加上有这么很大一部分玩家极为不满,后面的事情,我们就都可以理解了:论坛爆炸,评价分歧,褒贬不一,恶评如潮。

这令我想起另外一个游戏的故事——那就是孢子(Spore)。

另外一个孢子的未来命运

太空沙盘游戏或许确实是个设计难度过高的类别,它是在Freelancer之类的太空模拟飞行游戏和猎户座之王这样的太空策略游戏基础上发展起来的。这个类别里,第一个引起广泛注意的游戏是2008年的孢子(Spore),模拟城市(SimCity)和模拟人生(the Sims)之父威尔·怀特(Will Wright)最后的作品,融合了文明、太空飞行、星球建设等等很多游戏类型的玩法,但每个小游戏的完成度都不算高。

这款游戏不能说很差,但遭遇了和无人深空类似的舆论风暴,总体来说是个悲剧。这款游戏失败之后,威尔·怀特在2009年离开了EA,也结束了他作为一名游戏设计师的生涯。

而在无人深空之后,还有另外一个更加万众瞩目的超重型产品,躺在我们未来的时间线上:星际公民(Star Citizen)。这款游戏是众筹历史上筹资金额最大的产品,仅仅靠银河飞将和自由枪骑兵之父Chris Roberts的名字,以及玩家们的爱就筹足了一个3A级别游戏的开发经费:超过一亿美元!

但这款游戏现在也承受着空前的舆论压力:游戏还没发售,就已经有太多的人,甚至是参与了筹资的人表示对这个项目不再看好。独立游戏在此方面的尝试也称不上多么乐观:类似Elite:Dangerous这样的作品只能说整体刚刚及格,很多用户都表示在里面的体验甚至赶不上以上手困难著称的太空网络游戏EVE;Star Bound这类披着宇宙和科幻皮的倒是个更好玩一些的沙盘游戏,问题是这个横板游戏很难说还剩下多少“太空”的要素。

到现在为止,无人深空则是这个类型下最新的加害者与牺牲者。那么,下一个问题是,无人深空所梦想的多人游戏还能实现吗?坦白说,我不知道。

这个游戏现在已经赚了很多很多很多钱。仅仅Steam版本就销售了超过70万份,平均售价接近60美元;而在索尼亲自下场力荐的PS4上,销量很可能超过这个数字。这意味着,这款游戏很可能有150-200万的全价付款玩家,带来了超过1亿美元的总销售额。

而正像我在上面分析的一样,基于目前的设计架构,要在这个游戏上添加真正的多人要素和沙盘建设要素,恐怕会是非常困难的。

那意味着,服务器要存储大量玩家们对这个宇宙进行永久改变的信息,进而同全球所有玩家的本地信息整合在一起。这可不像优化游戏运行效率或者增加新的随机要素那么简单,很可能要投入高昂的成本,甚至改动整个游戏设计框架。也难怪Sean Murray会表示,未来的DLC很可能要付费:这么高成本、高风险的改动,完全免费可能确实不太现实。

这就是这个游戏的现状:已经有了巨额的收入,但也得罪了无数的玩家,继续制作还要投入高昂的成本。从纯粹商业角度来说,这样一个已经褒贬不一,甚至恶评如潮的游戏,还有必要继续下去吗?不管从索尼还是Hello Games的角度来说,都可能是悲观的。不管他们怎么改动,现在200万玩家里,可能有100万是非常不满的,怎么改动他们也不会回来。

假设我是Hello Games和Sony的决策者,而且我是一个教科书般理智的经济人(读作残酷无情的资本家),我就会选择卖几个DLC发掘剩余价值,然后由他去吧。声誉这么差的游戏不可能再推出续作了,我们不如把这些团队集中起来仔细想想他们还能干些什么……

我猜测,这大约就会是无人深空,这另外一个孢子游戏的结局。

没错,第一个孢子的结局也是这样:虽然它作为游戏,甚至比无人深空还要好玩一些,但这也不影响孢子这个游戏未来的命运。它比它所有不太好玩的小游戏加起来要好玩,但这也无法改变这个游戏整体的评价和Will Wright未来的命运。

无人深空星球生成机制深度分析 为什么没有多人联机 第7张

但作为一个游戏设计师,我也会忍不住想,如果让我来利用这个“伪随机数服务器”的点子,我能设计出什么样的东西来?

看过了无人深空以后,在我的版本的游戏设计之中,肯定不会踩中他们已经踩过的这些坑啦……但我会选择用它做些什么呢?

一个每个玩家都有、千变万化的个人探索区域?

一套充满变化性、但能同时容纳数百个玩家进行的活动副本?

一整套矮人要塞式的、等待着玩家去改变的,却又能永久保留在服务器上的随机历史线?

只要给出一套算法,就能产生出一整片随机生成,但又容许多个玩家在里面同时行动,并进行永久改变的区域,这个设计点子的魅力有多么诱人!

但冷静地想想,用经验判断,这些新的设计点子虽然看起来已经经过了很大的优化,但里面一定也蕴含着无数现在看不到的设计陷阱。我甚至看不清楚要把算法设计做到什么程度,才能在里面保留最低限度的“好玩”而不是无人深空式的“乏味”,就更别提把这整个方案放在某个具体的游戏里了。这恐怕只能依靠实际制作和试错才能做到,还得说服整个团队克服无数困难才行。

至少,我觉得在中国,绝对没有可能去制作这样的游戏:这样的游戏,哪怕只是一部分游戏模块的制作风险和周期都太吓人了,足以吓死中国所有的游戏公司、投资人和制作团队。没错,除非真有不在乎钱的老板拿充足的钞票打我的脸,我想就连我都不会去做一个这样的游戏,因为在中国根本找不齐一群愿意长期做这样类型游戏的笨蛋……花四年时间做这么一个很可能会失败的游戏?别开玩笑了,大伙儿还有房贷要交、有男女朋友要哄、有老婆(或者老公)和孩子要养活呐!你们不知道中国的屋价已经涨成什么样了吗,做这种玩意男女朋友都要分手啦!

但我也会存有一线希望:在那庞大的国外独立游戏开发原野上,有那么一群或很多群衣食无忧也不怕老婆孩子没人养的游戏制作者,受到无人深空这个例子的激励,试图在它的基础上设计出一个或很多个更加保守但是好玩的游戏出来。

无人深空星球生成机制深度分析 为什么没有多人联机 第8张

游戏史上不乏这样的例子——比如,矮人要塞这个上手难度和门槛高到可怕的程序生成游戏,最终激励产生出了我的世界(Minecraft)。而在很多老玩家看来并不太好玩的Minecraft,它惊人的商业成功也最终激励产生出了Steam和家用主机上一大堆的建设沙盘,里面很多游戏即便以最苛刻的标准来看,也是相当好玩的。

并不是每个类型的游戏,都像平台游戏的超级马里奥兄弟、动作RPG的塞尔达传说这样,有天才设计师制作游戏给大家指明道路;也有些类型,只有经过无数设计师血泪甚至人生的浇灌,我们才能一点点看清楚正确的道路所在。

没错,无人深空确实是一大片缺乏游戏设计的狼藉,活该大家骂它然后去退款。这个制作组的收益也足够高了,他们也差不多该带着钱滚去做下一个项目了,我不赞同大家继续给他们捐献利润——不管是在Steam还是在PS4上。Steam70多万销量!PS4版本有索尼力推,销量没准比它还高!而且,每个游戏要60美元,之后还打算卖付费DLC!先不管大家怎么恶评如潮,起码你们15个人都快可以一起退休了好吗!

但我希望大家能够看清楚,这并不是程序化生成,以及反过来的,“多人程序化生成服务器”这两个思路本身的问题,只是Hello Games一次尝试的失败而已。无人深空的设计思路,或许会变成未来设计更好、更巧妙的多人程序化生成游戏的种子。我们也许能够找到一条道路,在游戏设计师的设计、程序生成的内容和玩家制作的内容之间找到更多可行的平衡点。

说实话,我之前确实没想到我会给这个游戏写这么长的文章,我甚至在这个无聊的游戏里都没有忍耐这么久。那么,在这漫长的阅读旅程最后的最后,是例行推荐指数。

推荐指数:75

如果你要看当前程序化生成游戏的最高水平,那么这个游戏值得一玩——也真的只是一玩而已,二玩一般人就要爆炸了。

游戏基础质量分:70

虽然他的质量达到了程序化生成游戏的最高水平,但最多也只有普通人类设计游戏的一半水准,就更别提和他们自己专门做的宣传影片或者玩家们脑海里的美化相比了。

+4 十分独特的程序化美术实现方案。但是,大多数时间,这个美术方案随机产生的结果仍然无法被一般人接受;

+3 一个不知道是否行得通,通过固定算法来生成多人游戏的灵感。也许和游戏设计一样,缩减一些的话还是可行的;

+3 了不起的技术成就,迄今为止在程序化生成方面走得最远的游戏;

-5 宣传和成品的落差是最大的败笔,一切问题都可以滚到这里——还有为什么要卖60美元?你们给索尼抽税抽疯了吗。

TAG标签:#星球 #联机 #深空 #机制 #无人 #
猜你喜欢