“史上最大”游戏诞生记:游戏120G,还有700万G数据再造地球

【GameLook专稿,转载请注明出处】

GameLook报道/去年全球疫情期间,一款飞行模拟游戏迅速走红,微软发行的《微软飞行模拟(Microsoft Flight Simulator)》首月的销量(不包括订阅用户)就超过了100万套。真实的飞行体验让欧美很多因社交隔离宅家的用户非常喜爱,甚至有调研公司称该游戏未来能带动PC游戏硬件26亿美元的销售额。

不过,或许更令人印象深刻的是,《微软飞行模拟》还是有史以来最“大”的游戏:虽然它的安装包体只有120多GB,但为了模拟整个世界,研发团队在云端存储了超过700万GB数据,并通过云流媒体技术将其无缝传输到玩家的客户端。

最近,外媒通过对微软西雅图团队和Asobo Studios的采访,用纪录片的形式讲述了这款模拟大作背后的打造过程:

作为人类,想要对飞行无动于衷是不可能的,但这个情绪可能会有很大的差别。对有些人来说,飞行是鹰击长空、用不可思议的速度在空中遨游;对其他人来说,这是恐惧、无法控制以及无法想象的高度和令人疲倦的旅行。

飞行可以是一个奇迹,感受探索的喜悦、在目的地和路上见到令人兴奋的新事物,当然它也可以是一种喜悦,一次离开太久之后的回归之旅,去见老友、所爱之人、回家,抑或是新旅程。

一、研发团队的打造

《微软飞行模拟》系列有着很悠久的历史,有40年的历史,也是游戏行业的“活标本”,不进展示了游戏可以模拟现实的能力,还包括游戏对玩家情感的影响。

《微软飞行模拟》是有史以来最美观和技术方面最令人印象深刻的游戏之一,被5000英里大洋相隔的两个团队在其中投入了大量的心血和热爱,这个大洋以及之间的每一英里实际上都被做到了游戏里。

你可以看到《微软飞行模拟》包含了整个世界,每个国家、城市、机场、道路,甚至每一棵树。

微软团队是如何打造了这么一款游戏,又是如何让天气与自然在游戏里如此真实的?

游戏负责人Jorg Neumann说,“我加入微软已经超过21年了,所以《微软飞行模拟》系列早在2000年甚至更早就已经存在了,这个系列在2007年停止了新作的推出。这是一个几乎与公司历史一样长的,在Windows之前就已经存在了,非常令人自豪,因为它的原版游戏在1982年发布,每一个版本的推出都推动了PC的发展。这一点很重要,因为新技术在不断带领我们前进”。

Jorg Neumann是《微软飞行模拟》系列的负责人,他的团队位于西雅图,但规模只有几十人,主要聚焦于授权、发行,以及为其他微软团队提供专业技能,比如必应地图、微软计算技术Azure。

这款游戏的两个团队分别位于美国的西雅图和法国的波尔多,就是乘飞机也要好几个小时才能到达。波尔多的研发工作室叫做Asobo,它的游戏研发资历很高。

Asobo工作室CEO Sebastien Wloch说,“最早的时候,公司一部分团队在做模拟游戏《燃料(Fuel)》,它包括自行车、卡车、汽车,当时的引擎可以模拟出很真实的效果,游戏设定多是偏向动作的,还有开放世界设定。另一部分做的是与皮克斯合作的授权游戏”。

《燃料》游戏截图

过去20年里,Asobo的增长一直很稳定,从最初的12人增长到了如今的200人,从事过很多辅助工作以及大作游戏的外包。三分之二的团队成员从事聚焦技术的游戏项目,其中开放世界竞速游戏《燃料》就是很好的案例;另外三分之一则从事动作冒险游戏,从丰富多彩的儿童游戏《UP》,到主题更黑暗的《瘟疫传说:无罪》。

实际上,《瘟疫传说》与《微软飞行模拟》的研发几乎是同时的,值得注意的是,它们使用了同一个引擎。

《瘟疫传说:无罪》游戏截图

Asobo与微软的合作已经有几十年的历史,从最早的《Kinect Rush》,到最近的Hololens技术。实际上,正是在Hololens的合作,为双方种下了新型合作的种子,也就是《微软飞行模拟》项目。

“当时是2015年,我们一起做了Hololens技术,你可以通过它以AR的方式到达世界上的另一端,并且能看到非常真实的景观。于是我们在想,能否把它拓展到整个世界?我们决定尝试。《微软飞行模拟10》最大的优势是云技术,对于云端,很多人将它当作存储数据的仓库,但我们更进一步,将计算能力也移到了云端,得益于全球分布的服务器,所有人都可以用低时延的方式获得数据,那么,我们能否把全世界存在云端呢?

我们已经有了世界地图,是否可以把所有地方的数据处理、存储进去?因为我们有了深度学习和大量的工具,还可以流媒体的方式传输到客户端”。

《微软飞行模拟》的地图一直都是覆盖全世界,如今你不用再将各地数据存储到玩家硬盘中,可以做更高的保真度。

二、创造另一个地球

Hololens的案例展示了通过将数据注入地图的方式创造真实感的3D场景是可行的,但问题在于是否可以将它扩大到整个地球,面连的障碍有三个:

首先,是否能够存储整个地球?答案是可以,因为很多游戏都用过世界地图,所以理论上没问题。但这里的地图往往都是粗略的地形数据,这样给人的感觉会是在某地的绘图上面飞行,体验并不好。想要做到真实,你需要注入大量的3D数据细节,比如建筑物、道路、植被等等,一些大城市有图片化的3D数据,尽管如此,这些大城市只是全世界的一小部分。

如果把每个城市的每条街、每棵树、每栋建筑物都做出来,可能需要一个游戏工作室投入数年甚至数十年的时间,于是这就遇到了第二个问题。

是否有技术能力用虚拟机器吸收这些数据并把它放到3D地图里?答案同样是可以。

于是我们再来看第三个问题,能否把如此巨大的数据量传输到用户的客户端,并且让他们注意不到其中的时延问题?理论上来说,也是可行的。然而,这么大的数据传输之前在游戏里是没有过的。

Jorg Neumann表示,“必应有2.5PB(2560TB)数据,如果把它存放到用户电脑里,那几乎是不可能的。但有了流媒体技术,就有了可能。这也是《微软飞行模拟》能够带来如此巨大的体验改变之关键,但实际上我们并没有把整个星球存放到每个用户端,然而15亿栋房子和2万亿棵树放在一款游戏里,通过云端和其他技术是可以实现的”。

Sebastien Wloch透露,“你可以用机器存储如此之大的数据量,但却难以把它传输到客户端,这也是该工作只有我们能做的原因,挑战在于,如何将冰冷的数据,变成活生生的场景”。

Neumann说,研发团队开始想更聪明的方式,“一开始用小团队打造了西雅图地图和科罗拉多大峡谷地图,带来的效果很好,但这仍然局限在单个地点之间的尝试。不过,这次实验仍然给我们带来了信心,那时候我们是4个人完成的”。

那时候,我们打造的地图还只是静态的3D,但很多人想要动态化的世界,有天气、有不同地形,甚至可以在任何地方降落,我们随后一步步扩张团队,每一次都很谨慎。

不过,有了技术之后,做游戏并不像用机器做雕塑,地球很大,充满了房屋、植被、道路、山脉、峡谷、天气等等。所以,从将这些数据从图像变成有深度有细节的真实世界,Asobo团队还必须帮助外部团队用技术做出整个世界。

我们当时是2月份开始的,仅航拍照片就耗费了不少时间,有时候烘焙出来的效果并不好,因为从飞机上俯视的效果并不好,植被看起来一点都不像真实的树木。以西雅图为例,有些地标的航拍与实际有些出入,而且航拍照片还有云的遮盖,另外也需要校对色差,因为有些照片是每天的不同时间,甚至时隔多月,这些都是早期的技术障碍。

去掉阴影、建筑和云彩的问题之后,接下来就是植被,因为飞机上看到的植被根本不真实,所以团队必须增加用户看到的植被数量,如果是手绘,同样需要数、数十年。为此,Asobo通过机器学习的方法,绘制了全球的植被。

“你给机器两张图片让它学习,一个是空白的树木图形,另一个是上色(红色)版本,随后它再看到树木的时候,就都会涂成红色。这个方法可能90%都有用,但少数时候是行不通的,比如在非洲,很多时候根本看不到树木,因此我们用了多种技术结合,如果你只有一台电脑,可能一辈子都做不完”

机器学习可以被用于大多数方面,但并不是万能的。虽然用机器学习把全球的树木画出来也只需要3天,但团队还需要解决不同植被类型、海拔以及气候对植被的影响,做到尽可能真实。

与植被问题相似的是,把分散在全球的建筑做出来也有挑战,于是,微软还专门找了一个叫做Blackshark的公司用特定的AI处理这个问题,同样,它也不是所有情况都行得通的解决方案。

三、打造真实的人类世界

Sebastien Wloch表示“我们的团队已经打造了大量的内容,但西雅图团队可以让世界给人带来不同的感觉。比如我们做了俯视视角的建筑布局,他们调整屋顶的颜色和形状,用AI训练确定不同的建筑类型,甚至可以据此推算建筑的用途,比如医院、学校。做了这些之后,我们把它放到渲染引擎,着色也必须很精准,确保让用户看不出(与真实世界)的差别”。

航空摄影与3D探测在很早就被用于打造整个世界,无论是你的家乡、你从未去过的世界任何一个角落,还是任何一个热门的旅游景点。

大多数的地方都可以用机器学习完成,但一些建筑却需要尽可能做到精准,最明显的就是机场。在《微软飞行模拟》当中,你可以从全球任何一个机场起飞,去往3007个城市。通过必应地图,团队设置了一些指标,作为建筑生成的原则,将机场的航站楼、出入口都做到十分精准,甚至是跑道、等候区甚至巴士通道都一一还原。

在全球最繁忙的机场打造中,团队使用了更多的手绘地图让它更真实,还有一些机场则需要你付费购买地图才能获得与真实一样的细节,其中有些地图是工作室打造,还有更多则是游戏发布之后,由社区打造加入到游戏内市场的,以便更快速满足玩家的需求。

更大更广阔的地图中,团队还打造了各地真实的街道、高速、桥梁等,这些道路上的交通是用《微软飞行模拟10》类似的技术模拟的,但降低了玩家在其上方飞行时的CPU占用率,因为旧代码的表现远不能满足现代玩家的需求。

与世界的打造一样,游戏里的人类也使用了大量的机器学习技术,还有些使用了人工绘图。然而,这个世界是如此的庞大,如何才能确保所有事物都在对的地方?如何确保精准度?什么情况才算是精准?

Jorg Neumann说,“没办法做到100%精准,因为我们的地图照片有些是几年前的,比如西雅图的有些地方多了桥梁,还有些桥梁翻新,有些旧的桥梁没有了,于是在游戏里,很多车辆行驶在旧版的桥上。所以我们的数据一直在更新,但世界从未停止变化,因此游戏里大多数的数据都是对的,但也有一小部分是过时的”。

四、模拟世界天气

对每个飞行员都很重要,海拔、洋流、气流都会对天气以及飞行产生影响,

Meteoblue,他们是动态天气预报领域的先锋,Asobo将他们的数据增加到了游戏当中,并且渲染出真实可信的效果。

并不需要一直更新,而是有一个数据箱体,比如什么样的云层会带来多大程度的颠簸,你可以随机做,但这些来自真实世界的数据更可靠。

《微软飞行模拟》的系统非常复杂,它把空气质量、湿度、风向甚至是污染程度都用在了光的投射以及云的形成中。太阳、月亮、城市、云朵都会发出不同的光线,随着风将云吹到不同的地方,这些光就会辉映到云层之上。

实际上,风还会影响降雨,带来颠簸,让海上飞行变的更有挑战型。

如果有一片乌云飞来,它覆盖下的地面会被阴影覆盖,但当你飞过这片云的时候,会有一些地方应该不受到乌云影响,所以不会变暗。

有些山谷中,太阳光经过折射之后与平原是不一样的颜色,所以我们必须对每一种情况做特殊的模拟。

在游戏里,你甚至可以随时改变天气。

五、模拟真实飞行体验

从一开始,研发团队就希望在各方面做到真实,精准到,分辨率高。游戏里所有的飞机型号都拿到了授权,人们知道乘坐不同飞机的真实感受,菜单都要做到真实,实际上,合作方不仅给了我们飞机数据,还给出了飞行员反馈。

否则的话,你做不到那么真实,甚至面板、座椅的纹理、按钮都按照真实机型设计。

音频团队用了数月的时间录制飞机起飞的声音、噪音、开窗关窗,Asobo团队的大多数人还专门上飞行课,以得到真正飞行的感觉。

《微软飞行模拟10》已经可以很好地模拟飞行、燃料等多种系统,但在新作中,团队增加了更多的细节,比如不同机翼的气流对飞行速度的影响不同,带来的颠簸感也不一样,根据社区反馈,他们还在不断增加细节。

游戏研发是很技术向的东西,但它带给人的却是不同的感觉。在讲述游戏研发的时候,很明显,机器学习,图形设计、渲染等技术可能对玩家比较陌生,但谈到比较感性的话题,比如在首次玩家测试的时候,哪个地方是人们最喜欢飞的目的地?

Jorg Neumann给出答案既让人有些意外,又突然觉得这是情理之中。

他说,“70%的玩家都飞向了同一个地方,那就是回家。比如我的家乡在德国,但我没有在那里工作,因此可以(在游戏里)飞到那里去,我能打电话问家里的天气,在游戏里遇到同样的天气给人的感觉很亲切,它拉近了人们之间的距离”。

如若转载,请注明出处:http://www.gamelook.com.cn/2021/07/445605

关注微信