(本视频转载自YouTube:视频原址)
这家工作室从游戏开发之初就紧跟时代潮流,他们的灵感来自两部杰作,其一就是《Minecraft》。“我从这款游戏本身和(开发商)Mojang那里都学到了很多东西,了解到了站在玩家立场上玩一款尚未完工、还在开发的游戏是什么体验,”Bromell说,“我曾和同一帮朋友在我们的专用服务器上没日没夜地玩《Minecraft》,真的感觉我们是在‘打造’自己的故事。”这位创意总监回忆起这些经历是如何影响《Astroneer》的,他说:“我至今还会深情地回忆起那些时光,那时候我就很想制作一款也能提供自我进步感觉的游戏。”在游戏界之外,2015年上映的电影《火星救援(The Martian)》曾经轰动一时,它在《Astroneer》的开发中也扮演了举足轻重的角色。“它让我们看到,有些人也和我们一样渴望得到这种体验,”Bromell说,“在很多方面,它成了我们的‘创意圣经’;在需要表现和生存能力有关的情感时,以及让玩家拼凑比较小、比较不起眼的零件来完成大目标的设计上,我们都依靠它来获得灵感。通过《火星救援》,我们看到了人类在充满挑战的无人行星上生存的非常直接的特殊体验。我们希望通过《Astroneer》打造一种沙盒体验,让每一个玩家都能得到类似的感受,只不过更明确地针对他们个人和他们对各类行星的兴趣。”
为了让他们的灵感和这款游戏的设计经受考验,System Era Softworks在2016年12月16日发行了《Astroneer》的抢先体验版。这一做法为工作室提供了极其宝贵的经验。“从技术角度讲,我们肯定学到了很多,懂得了需要怎样设计我们的系统架构,使它在开放世界场景的情境下具有高性能并担当持续流送内容的管道,”工程师Wolpert说,“我们还学到了很多关于网游开发的知识:在构建每一种新的游戏功能时都必须考虑到多人游戏,这就要求付出比纯粹的单机游戏体验更多的时间和精力。”他说,正是由于得到的经验教训,“《Astroneer》的代码库,以及我们的工程指导原则和最佳实践,在抢先体验版发行期间发生了很大的变化。”
这个游戏突破了许多作品没能越过的界限,在完成抢先体验版之后发行了正式版,这一过程也为工作室提供了关于如何长期扩展这款游戏的深刻见解,“我们还对游戏的许多核心系统进行了根本的设计修改,主要目的是增加我们的系统深度,使1.0版不仅能提供更引人入胜的体验,还为今后的扩展留出了余地。”
因为《Astroneer》是这家工作室发行的第一款作品,所以抢先体验版发行的过程也为公司提供了坚实的基础。“我认为我们System Era作为一个团队也学到了很多,并且在这方面有很大发展,大大提高了我们把《Astroneer》做好的能力。发行抢先体验版给我们提供了一个优秀的环境,让我们得以了解自己,知道了怎样合作效果最好,也让我们自己为实现目标做好了必要的调整,”Wolpert评论说。
虽然《Astroneer》将玩家置身于太空时代的旅程,但是这款游戏却没有将叙事强加于玩家;它打造了一个开放的游戏环境,方便了玩家自发创造独特的故事。“《Astroneer》从一开始就打算做成沙盒体验,它的设计也始终是朝着这个方向去的。我们不想告诉人们他们的故事是什么,我们希望他们自己来决定,”Bromell强调说,“虽然《火星救援》是一个非常独特的故事,但我们希望《Astroneer》能够产生出各种各样的故事,全都是由玩家在体验它的时候从自己的角度讲述的。”要实现沉浸式的自发性叙事氛围,仅仅创造一个有趣的沙盒是不够的。这家工作室还必须提供令人着迷的推动力。“我们在游戏中遇到的叙事挑战和发现就是要帮助推动那种沙盒体验,”创意总监说。谈到这一决定产生的影响,他回忆说:“尽管大家遇到的是同样的挑战,我们仍然能够看到被玩家们发现和促成的各种奇闻异事,它们彼此之间都大不一样。在当时和现在,我们都认为,通过线性的、精心编排的故事体验是不可能做到这一点的。”
在玩家群体中,这些不同瞬间的体验之所以如此独特,部分原因是《Astroneer》采用了程序性生成的世界场景。如果处理不当,这种做法可能会带来大量难题,而这正是这家工作室费了很大功夫得到的教训。“我们的程序性生成技术实际上在抢先体验版发行过程中被彻底推倒重来了,”Wolpert说。这位工程师接着补充道:“在2016年12月发行的第一版游戏中,玩家探索的世界场景是用与《Astroneer》1.0版完全不同的方法构建的。原先的方法涉及一套Actor层级,其中包含各种世界场景生成参数,它们都是在加载时生成的,用于预先产生整个行星场景。”接着他就这些话题进行了展开:“很显然,这种方法的问题是每个行星的复杂程度都严重受限,因为需要有整个Actor层级才能解析行星上任何位置的地形和装饰器。复杂度一高,预先生成的做法就会带来太多成本,因此游戏最初版本中的行星上内容很少。”
Wolpert介绍说,为了实现设想,他们重新编写了程序性生成技术,新系统“利用分层噪点函数生成地形并同步放置物体,不需要在加载时了解行星上邻近部分的内容,也不需要生成任何东西”。他还补充说:“我们在此基础上又设置了几个图层,用于支持生物群落和洞穴图层的分离,这有助于简化编写行星的过程,而且进一步提高了系统的性能。我们还利用UE4的植物叶子系统支持草木繁茂的地形,其中的植物、岩石、资源和其他装饰器都要比我们先前所能支持的多得多。最终结果是,《Astroneer》1.0中的行星有了一直延伸到其核心的洞穴系统、茂密的丛林、布满岩石的沙漠平原、广袤的草原,等等。”
在工作室的这些设计决定的累积影响下,《Astroneer》成了在许多玩家眼中提供宁静祥和的探索体验的游戏。正如Wccftech在他们的评测中指出的,“《Astroneer》是一款质量出色、令人放松的生存游戏”。这也成了一个意想不到的优点。“我们从没有想过要设计一款治愈系或‘清凉’的游戏,但我们确实希望探索和发现的要素成为体验的重心,”Bromell表示。这位创意总监又补充说:“《Astroneer》的重点不是生存,而是你发现的事物和你与它们的互动。如果你总是处在需要空气、食物、水、睡眠等东西的压力重重的状态下,那么你遇到发现的瞬间就会越来越少。我们把游戏的生存要素做得更偏向于二分模式(你需要空气,否则就会死),这样一来就可以把更多精力放在发现方面。”鉴于Shacknews在他们的《Astroneer》评测中提到,这款游戏允许“玩家把大多数时间用在有趣的事情上,几乎在任何时候都不需要担心状态条”,System Era Softworks显然做出了一个非常正确的设计决定。
玩家可以和好友联机探索,这进一步提升了这款游戏的发现感。但是加入合作游戏要素也给工作室带来了一些挑战。“在技术方面,为了确保一切内容都能在多人游戏中顺利运行,并且监视多人游戏的性能,我们团队必须进行大量调整和艰苦的工作,”Wolpert说,“我们不得不习惯于为多人游戏额外付出,为这两个因素做额外的工作,而且不得不学会怎样共同成为优秀的多人联网游戏程序员。”他指出,工程团队为了解决这个问题不得不改变工作方法,“我们必须学会如何构建能够支持大量内容的、在网络上安全的系统。”好在这些辛勤的工作得到了回报,Shacknews指出,“《Astroneer》中的合作要素在1.0版中得到了很好的处理,没有出现我在抢先体验版阶段遇到过的连接问题的迹象。别人可以自由地加入或退出我的游戏。”
虽然这款太空探索作品色彩鲜艳的风格化画面广受好评,Video Chums还在他们的评测中提到,“它那色彩艳丽的世界场景配上简约的纹理和精细的动画,简直让我爱不释手”,但这种风格最初却是不得已而为之。Bromell解释说,“我们团队在初创的时候只有4个人,其中两个是美术。我们知道自己在美术创作的技术方面花了太多时间,这会严重拖慢制作出可玩内容的创意实现速度。”他接着说,“在当时,一想到要花工夫解析模型,创建高分辨率版本,再为这些网格体创建纹理,我们都觉得要投入的时间简直多得不可思议,而我们都希望快一点把精力用在制作出色的内容上。那时候我刚刚完成了我自己的一个低多边形美术项目,知道了它创作起来有多快:大概用一个周末,我就做出了一个完全互动的三维场景;那是一个《Canabalt》的同人作品。然后我就开始思考用这种风格制作《Astroneer》的想法,发现我可以用非常快的速度拿出美术成果。在看到这样快速周转的好处之后,我们就决定对这种风格加以润色,使它成为《Astroneer》的独特风格。”
这种极简主义外观带来了意想不到的好处。从内存的角度来看,它有助于优化性能,Wolpert解释说,“我们只需要将极少数的纹理与游戏内容打包在一起,或者在运行时加载到内存。”这位工程师还提到了另一个有利的副作用,“我们可以使用我们的主材质做一些有趣的东西,然后让游戏中的各种人造物体共用。这个材质支持动态自发光‘光源’,可以打开和关闭,甚至可以改变颜色,而且还能够在物体的任意部分显示动态变化的图标。我们通过在纹理贴图集上移动UV做到了这一切,这也使我们能够让物体对玩家的活动做出有视觉效果的反应,同时只需要一次绘图调用来渲染。当玩家在《Astroneer》中和各种控制面板交互时就可以看到它的作用;另外还包括装了物品的箱子、降落场上的着陆灯,等等。”
另一个帮助了System Era Softworks的功能是蓝图,Wolpert形容它是“强大的工具,可以用来构建新功能的概念验证原型,而不需要工程师参与”。他提到,工作室构建了一个工作流程来高效地利用这种可视化脚本系统,“我们的许多工程工作都是围绕为设计师构建工具包而组织的,让设计师能够用我们为了在后台处理联网、性能和保存游戏等关键功能而实现的数量相对较少的蓝图节点来构建新的游戏Object。”这家开发商还利用UE4基于节点的图表编辑器实现了该游戏的程序性地形生成工具。Wolpert解释说:“用于生成行星的噪点和Object放置函数是使用自定义节点构建的,而这些自定义节点又是在引擎提供的节点编辑器界面上构建的,这给我们带来了巨大的好处!”
System Era Softworks从虚幻引擎4获得的一个关键功能就是源代码访问。Wolpert感叹说:“如果没有它,《Astroneer》不可能发售。”这位工程师解释说,“原先的初创团队实际上是在Unity中构建这个游戏的最初原型的,但是在开发过程中很早就改用了虚幻引擎。促成这一决定的最重要因素之一就是源代码访问。由于我们的地形生成系统的性能要求,需要访问本地引擎代码才能正确实现我们用来使游戏以可接受的帧率运行的机制。”谈到这个资源的重要意义,他接着指出,“除了地形之外,《Astroneer》的开放世界性质也要求我们重新考虑构建许多游戏Object和系统的方式。虚幻把访问源代码的自由作为让我们利用引擎现有功能和系统的选项提供给我们,如果没有它,上述这些工作的难度都会大大增加。它在调试、联网实现和性能分析方面也为我们提供了巨大的好处。就像我说的,如果没有它,这个游戏不可能发售。”
1.0版的发行得到了许多杂志的高度评价,例如Videochums就声称,“如果我只能用一个词来总结《Astroneer》,那就是赏心悦目。它的世界场景的优雅美感和悠闲的游戏玩法相得益彰,造就了一款特别令人上瘾的太空生存游戏,可以让你在其中制作出一些真正令人满足的精妙装置。”虽然《Astroneer》已经正式发售,但System Era Softworks并没有躺在功劳薄上睡觉,它打算继续更新和改进这款游戏。要了解更多信息,请访问https://astroneer.space/。
如果你有兴趣制作你自己的游戏,现在就可以免费下载并探索虚幻引擎4。