太空沙盒游戏《Astroneer》是一款开发多年的高人气独立作品。这款游戏首次公布于2015年10月,并在次年发行了抢先体验版。凭借System Era Softworks在这个项目中注入的热情,《Astroneer》在2019年2月6日发行了正式版。他们的劳动成果获得了回报,这款游戏大受好评。但是在通向发行的道路上,他们也遇到了许多挑战。《Astroneer》最初的原型是在Unity中制作的,但是这家工作室遇到了性能问题,并很快意识到自己越来越大的雄心要求改用更为健壮的引擎,于是他们选择了UE4。为了了解这家位于华盛顿州西雅图的开发商如何制作出这款深受玩家喜爱的科幻探险游戏,我们采访了System Era Softworks的创意总监Adam Bromell和工程师Sam Wolpert。

本视频转载自System Era官方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。

近期焦点

  • 精选免费商城内容 - 2019年7月

  • 2019 虚幻引擎技术开放日 第三方技术演讲影片现已公开

  • 虚幻引擎和实时3D技术人才的市场需求达到空前高度

  • 重磅干货 | 2019 虚幻引擎技术开放日 Epic Games技术演讲影片现已公开

  • 2019 Unreal Open Day | 精彩花絮火热呈现

  • 全新虚幻引擎学习网站发布预览版

  • Epic Games 荣获英国电影电视艺术学院(BAFTA)特别奖

  • Epic和Twinmotion携手提供简单、高质量的实时可视化

  • 2019 Unreal Open Day 圆满落幕:精彩记录与动态分享

  • 虚幻引擎4.22现已发布!

  • Epic在2019 GDC上发布MegaGrants计划,全新虚幻引擎技术及Epic在线服务

  • 短片“Troll”展示虚幻引擎4.22光线追踪功能,呈现史无前例的电影级光线效果

  • Unreal Studio 4.22推动实时照片级真实渲染

如需获得更多虚幻引擎4的授权合作方式和技术支持,请发送邮件至EGC-Business@epicgames.com咨询;

如果你想来 Epic 工作,扫描下方二维码关注我们后点击菜单栏按钮“更多”并选择“招聘”,即可了解我们的最新招聘信息。Epic Games 欢迎你的加入!

长按屏幕选择“识别二维码”关注虚幻引擎

“虚幻引擎”微信公众账号是 Epic Games 旗下 Unreal Engine 的中文官方微信频道,在这里我们与大家一起分享关于虚幻引擎的开发经验与最新活动。

ue4 改变枢轴位置_System Era Softworks如何利用UE4创作Astroneer的精彩宇宙相关推荐

  1. ue4 改变枢轴位置_houdini+ue4道路(2):思路

    最近在搞道路生成,终于完成了一版demo,主参考了一些3A大厂的分享,自己补全了一些细节. 由于本人贴图制作水平所限,效果还远没有达到最优. 后面计划做个分享,先打个草稿. 一,背景 道路生成,目前最 ...

  2. ue4 改变枢轴位置_UE4-构建更好的静态网格体

    在本文中,我们会讨论包括系统单位.三角面数量.材质ID.枢轴点,我们会学习什么是光照贴图,然后介绍如何创建光照贴图.我们将学习碰撞网格体的创建和使用,细节层级或 LOD,最后介绍如何限制过度绘制. 1 ...

  3. ue4 改变枢轴位置_【UE4地形】轻松实现UE4自动地貌和自动植被分布

    今天是2020年11月09日  星期一 正文共:2624字 48图  预计阅读时间7分 首先介绍下我们制作自动地貌所需要的节点顺序不分先后 Break MaterialAttributes(中断材质属 ...

  4. ue4 改变枢轴位置_UE4渲染模块概述(四)---反射

    在前一文中介绍了像素着色器与material,大概知道了UE4材质的生产管线: Jerry:UE4渲染模块概述(三)---Pixel Shader & Material Rendering​z ...

  5. ue4 改变枢轴位置_UE4实时渲染深入探究----学习总结【上篇】

    写在前边 周末学习了下UE4实时渲染的视频,看完后觉得收获颇多,为了以后自己复习方便,记录于此,如果能帮助到大家,则再好不过了.为了以后复习的准确性和深刻,在这里我力求写的尽可能的详细,同时尽可能的保 ...

  6. ue4 改变枢轴位置_[UE4蓝图][Materials]虚幻4中可互动的雪地材质完整实现(一)

    不说废话,先上个演示图 最终成果(脚印,雪地可慢慢恢复,地形可控制) 主要原理(白话文): 假如你头上是块白色并且可以透视的平地,来了个非洲兄弟踩上面,你拿起单反对着上面拍了一张,照片如下 把脚印稍作 ...

  7. ue4 改变枢轴位置_[UE4]偏门实用技巧合集

    前言: 不论是玩游戏,还是玩软件,我对操作和技巧都有着痴迷的追求.而且是个快捷键狂魔. 从这个工具就能看出来,我对快捷键的执着,对工作效率极致提升的吹毛求疵. 戴巍:[SD Plugin] 快捷键创建 ...

  8. ue4 改变枢轴位置_UE4虚幻引擎学习云笔记(五)-静态网格体编辑器

    [五.静态网格体编辑器(Static Mesh Editor)] 19-09-26 静态网格体编辑器一般用以分配材质至静态网格体,每个LOD可以有不同材质. 静态网格体编辑器(Static Mesh ...

  9. ue4 改变枢轴位置_[UE4蓝图][Materials]虚幻4中可互动的雪地材质完整实现(二)

    上一篇: [UE4蓝图][Materials]虚幻4中可互动的雪地材质完整实现(一)​zhuanlan.zhihu.com 10.新建一个MaterialParameterCollection(材质参 ...

最新文章

  1. C语言显示字符型和整型数据类型的表示范围
  2. Android SDK下载失败的解决方法
  3. Matplotlib-动态更新图表
  4. php解析multilpart,使用PHP语言实现POP3邮件的解码
  5. 编译 / __attribute__(constructor)和__attribute__(destructor)
  6. 红黑所-1996-2011年中国黑客大事记
  7. 2019 年数据仓库 BI 及 Data Science 最全书单
  8. 点对点视频分发:从早期互联网到ZB字节(Zettabyte)时代的分布式网络
  9. 基于host的http代理--hproxy
  10. 《深入理解C指针》——认识指针
  11. DC学习-前言及第一章
  12. 计算机考研【干货满满】:2021武汉理工计算机考研经验分享
  13. android 9.0背光调节流程
  14. python绘制太阳系_如何利用Python动态模拟太阳系运转
  15. 让eclipse有像vs2005一样的智能感知能力
  16. 2021西部云安全峰会召开:“云安全优才计划”发布,腾讯云安全攻防矩阵亮相
  17. 中国天眼新发现登Nature封面:恒星形成速度比我们想象快10倍
  18. 图像处理--角点检测
  19. IE(Internet Explorer)重装失败,出现“出现错误。并非所有的功能被成功更改”的错误
  20. 谷歌裁员1.2万人....

热门文章

  1. 【2023年电工杯数学建模竞赛B题人工智能对大学生学习影响的评价】完整思路分析+完整代码
  2. 2021长治武乡高考成绩查询,喜报!武乡一中2018年高考成绩揭晓
  3. 二进制表示浮点数_二进制数的浮点表示
  4. 【附源码】Python计算机毕业设计千益校园帮跑腿信息平台
  5. python3.7 TA-Lib的安装
  6. 用XAML做网页!!—终结篇
  7. Go语言的string(底层结构+常用方法)
  8. 使用SPM固定执行计划
  9. 2019年10个最受欢迎的JavaScript动画库! 1
  10. 响应式导航栏和响应式底部