《飞行模拟器》许诺将整个世界装进你的电脑,并且兑现了承诺。

作者|Matthew S. Smith


【资料图】

来源|https://spectrum.ieee.org/microsoft-flight-simulator#toggle-gdpr

原标题:FLIGHT SIMULATOR GAVE BIRTH TO 3D VIDEO-GAME GRAPHICS

编译 | 美漪

编辑 | 靖宇

1999 年,比尔·盖茨写了一篇对莱特兄弟(Wright brothers)的感人赞誉,他认为他们的机翼发明是「那个时代的万维网」,给予了人们全球视野。这也为微软后来收购《模拟飞行(Flight Simulator)》埋下了伏笔。

而且,就像莱特兄弟最初的飞行器一样,《飞行模拟器》这款游戏的意义早已不止是「飞行」本身,更是「飞行」所带来的视角的转变。 《飞行模拟器》许诺将整个世界装进你的电脑,并兑现了这个承诺。这也是为什么它成为了世界上最畅销的飞行模拟系列游戏。它最新的版本已经售出了超过 200 万份。

尽管 2022 年是《微软模拟飞行(Microsoft Flight Simulator)》上市的 40 周年,但实际上,它的历史要比 1982 年的正式发布还要久远,而且目前仍在积极开发中。 它也因此成为了第二古老的电子游戏。(第一古老的是《俄勒冈之旅》(The Oregon Trail)在 1971 年问世,至今仍与我们同在。)

《飞行模拟器》系列游戏的核心不在于「游戏化」,而在于它用来模拟飞行体验和你脚下地面的「技术魔法」。它对「真实描述」的关注,则反映了游戏开发者的背景。

01

对飞行的热情

布鲁斯·阿特威克(Bruce Artwick)在伊利诺伊大学厄巴纳-香槟分校,学习电气工程,但他仍挤出时间去追求一个许多青少年都想过、但很少有人实现的梦想:他学会了开飞机。也正是在大学的飞行培训项目中,他遇到了后来成为他商业伙伴的斯图·莫门特(Stu Moment)。

1976 年,阿特威克写了他的硕士论文,内容是他设计的飞行模拟器在数字设备公司(Digital Equipment Cooperation)的 PDP-11 微型计算机上运行。它的三维演示可以达到每秒 9 帧,这在那个时代是非常出色的。

随后,阿特威克在加利福尼亚州的休斯航空公司 (Hughes Aviation) 找到了一份工作,同时在空闲时间继续从事 3D 图形的研究。

《飞行模拟器》的两位创始人 Stu Moment 和 Bruce Artwick |Stu Moment

1977 年,他为 Kilobaud 写了一篇文章描述了他所创造的「sunLogic 三维微图形软件包」,该软件包将三维技术与装有流行的摩托罗拉 6800 微处理器的微型计算机相结合。鉴于非常多的读者对它非常感兴趣,阿特威克想寻求帮助,把这个软件变成一门生意。于是,他与斯图·莫门特重新联系起来,并一起成立了 sunLogic。

戴夫·丹哈特是 sunLogic 的第二位雇员。根据他的回忆,公司早期是由阿特威克的 3D 软件推动发展的,而该软件又因为微型计算机的兴起而更新迭代。丹哈特说:「 布鲁斯和斯图销售的东西基本上就是一个用于微型计算机的 3D 软件包」。「Tandy 公司的 TRS-80 就是一个微型计算机,我想那时 Apple II 已经出现了」。

阿特威克常常在演讲中称,sunLogic 的软件可以用于「飞行模拟」,这个建议让听众惊呼不已。通过一台计算机展示在地球上空翱翔的视角?大多数人从未见过这样的东西。受到观众的鼓舞,阿特威克决定将其变为现实。

《飞行模拟器》的演进历程,从左至右分别是在 Apple II、雅达利和微软 Dos 上的效果|JOSEF HAVLIK 和 微软

于是,在 1979 年底,《飞行模拟器》在苹果 II 和 TRS-80 上推出了,采用的是线框图形,和个位数的帧率。它并没有描述真实的空域或现代飞机。相反,玩家驾驶的是第一次世界大战时期的双翼飞机,其原型是著名的索普威斯骆驼(Sopwith Camel)。 但在同时代,它的第一人称 3D 视觉效果代表了当时的先进水平,甚至比 Atari 的《战地(Battlzone)》等更著名的作品还要早。

丹哈特说,「很早的时候,布鲁斯就看到了《飞行模拟器》的潜在市场。当微处理器变得普及的时候,布鲁斯的机会就来了」。正如布鲁斯所说,「如果我把我的这个模拟飞行的想法放到更便宜的电脑上,让其运行,这一定是有市场的」。

布鲁斯是对的。 1982 年 9 月,《计算机游戏世界》杂志就把《飞行模拟器》列为迄今为止第四大畅销产品。

IBM 公司一直渴望展示它的 PC 平台,因此联系了 sunLogic,希望将《飞行模拟器》装到它的新硬件上。与此同时,深入开发 IBM PC DOS 的微软,也很快打来电话,提出了类似的要求,但提出更好的条件。

最终,微软和sunLogic达成了合作关系,拿下了《飞行模拟器》的授权,尽管布鲁斯可以在未来的几年里,继续拥有他的公司。

在 1982 年底,《微软模拟飞行》正式发布,并在随后的几个月里持续优化,这也反映出了微型计算机的进步。页面动画从单色变成了彩色(在具有适当硬件的 PC 端上),显示刷新率增加到每秒 15 帧。一位评论家称《微软模拟飞行》的体验「非常流畅」。

在游戏中,玩家可以在四个真实世界的地区驾驶塞斯纳 182 飞机(Cessna 182),包括芝加哥和西雅图。

这是有史以来第一次,人们可以在家,用电脑实现做飞行员的梦想——在游戏中驾驶一个真实的飞机穿越真实的地形,在真实机场的模型上起飞和降落。

这种真实感延伸到了飞行模型(Flight Model),它使用了一种有效的技术:查询表(lookup tables)。这是因为,早期的 IBM 电脑无法支持对飞机受力情况的实时计算。但幸运的是,飞机制造商可以帮忙给出答案,这给 sunLogic 提供了一个可以延展的基础。

丹哈特说,「基本上,你输入需求,模拟器就可以简单地做一个查找,并输出结果」。「现在,由于分辨率和内存的限制,你不会有一个超大的查询表,但是你可以有一种中等大小的,甚至是小的查询表,你还可以在数据点之间做修改」。

有了飞行模型(flight model),sunLogic 扩大了模拟的范围。

《微软模拟飞行 2.0》(1984 年)模拟了整个美国,《微软模拟飞行 3.0》(1988 年)加入了盖茨里尔喷气机 25(Gates Learjet 25)和大量的机场,而《微软模拟飞行 4.0》(1989 年)增加了随机事件,包括天气。

《飞行模拟器》从 1995 年到 2022 年持续的画面演进过程|JOSEF HAVLIK 和微软

1993 年,《微软模拟飞行 5.0》引入了一个新的杀手锏:材质系统(textures),在视觉上颠覆了游戏的样貌。在此之前,机场之间的土地是由成片的颜色表示的,绿色代表森林,灰色代表城市,蓝色代表水。

如今,材质系统(textures)提供了新的细节。 从《微软模拟飞行 5.0》开始,这些细节是以卫星图像为基础的。也因此,《飞行模拟器》将会是很多人在实时三维软件中看到卫星图像的第一个机会。

《飞行模拟器》在市场上的第一个十年是一个平稳上升的时期。然而,这背后却一直暗流涌动,阿特维克和莫门特经常发生分歧。到 1980 年左右,他们分开工作,莫门特在白天,阿特维克在晚上。而最终在 80 年代末,这种分裂成了永久性的,阿特维克在离开了 sunLogic,又成立了 Bruce Artwick Organization(BAO)。 1988 年的《模拟飞行 3.0》也就成了最后一个归属于sunLogic的版本。

也许,正是因为这种分裂,阿特维克在 1995 年决定把《飞行模拟器》卖给微软。虽然,这无法得到阿特威克的证实,但知情的员工透露,这是一个 突然但并不令人意外的决定,尽管阿特威克已经花了近二十年的时间致力于这项业务,尽管该团队与微软也有分歧。

保罗·唐兰在微软收购的前一年担任 BAO 的集团经理。他说,「 我认为最终微软想要《飞行模拟器》的绝对控制权,而不是阿特维克持有它」。「我们是一家小公司,我们按照小公司的规则行事,而这有时会给微软的人带来困扰。我们很容易说不,这让他们感到非常沮丧」。

02

微软掌权

随着 Windows95 操作系统的问世,《微软模拟飞行》的新篇章也拉开了序幕。在 Windows 95 华丽的发布会上,杰伊·雷诺依靠媒体属性来说服消费者,「是时候让 MS-DOS 电脑退休,并购买 Windows 电脑了」。(顺带一提,正是这种推动使游戏进入了我的视野:用于 Windows 95 的《微软模拟飞行》与我家的第一台 Windows 95 电脑捆绑在了一起)。

将《飞行模拟器》搬到 Windows 上不是一件小事。该游戏深深扎根于 MS-DOS 和 20 世纪 80 年代初,日益神秘的软件开发实践。Windows 95 在理论上可以运行 MS-DOS 应用程序,但这并不适合《飞行模拟器》。

sunLogic 公司的丹哈特解释说,「其实,到现在这一步了,《飞行模拟器》还是没有真正使用微软的操作系统:你把软盘塞进软驱,它就会启动」。「我想《飞行模拟器》是在微软最小的 MS-DOS 上运行,但只是启动运行,然后就不理会 MS-DOS 了」。甚至,该团队还抵制了早期版本的 Windows 系统,因为他们担心它会拖慢《飞行模拟器》的运行。

但现在微软掌权了,失败是不可能的!

保罗·唐兰回忆说,「当我们进入 Flight Sim 95 时,有一个巨大的端口」。他认为现任洛克希德公司(Lockheed)的 Prepar3D 模拟平台的软件工程师迈克·施罗特,发挥了指路人的作用。「我不能说这对所有的事情来说有多重要,但很多代码都从汇编语言(Assembly language)移到了 C 语言中,这其中的工作量是巨大的」。

将《飞行模拟器》搬到 Windows 上,是对微软劳作文化的初次尝试。它也只是部分地成功了,因为审查人员发现即使是最快速的家用电脑也存在性能问题。事实证明,《飞行模拟器》团队对 Windows 处理「模拟」的能力的担忧,并非毫无根据。尽管如此,《飞行模拟器》仍是微软为扩大 Windows 95 的媒体影响力,而不可或缺的「噱头」。

该团队在《飞行模拟器 98》的视觉效果上更是加倍努力,通过采用 3D 硬件加速再次推动了尖端技术。测试负责人哈尔·布莱恩说,「这项工作需要花很长时间来测试各种 3D 加速器,这些加速器还没有形成共同的标准」。所幸,这些测试得到了些回报,《飞行模拟器 98》平息了评论家对虚假性能的抱怨。

此外,用户也受益于 CD-ROM 和 DVD-ROM 媒介的兴起,它们为游戏中更详细的材质系统(textures)、更多的地形数据,以及更快的数据传输速度提供了发展空间。

《飞行模拟器》40 周年版本中的游戏画面|Steam

杰森·丹特最初受雇于微软的《安卡塔世界地图集(Encarta World Atlas)》,很快就转而协助《飞行模拟器》的相关工作。 卫星图像改善了模拟器的视觉效果,但其数据仍然很粗糙,「边长大约在 4 到 16 公里之间」。在人迹罕至的地区,整个山脉都不见了。为了避免这种差距,丹特和他的同事将卫星图像与土地使用数据结合起来,同时提供规模和精度。

这些努力在《 飞行模拟器 2000》中得到了回报。《飞行模拟器 2000》达到了一个技术上的里程碑:以 1 公里为单位绘制了整个地球的地图。监督该团队的工作室经理斯考特·贝勒斯说,「早期的效果演示让比尔. 盖茨惊呆了」。

根据贝勒斯的回忆,在向比尔·盖茨展示了该软件包括了地球上的每一个机场后,盖茨回应说,「 你在胡说八道。这是我听过的最愚蠢的事情」。贝勒斯强调,「这是比尔·盖茨最高形式的赞美。根据微软的八卦,如果比尔·盖茨对你说这句话,那么你就成功了」。

而且,有一段时间,《飞行模拟器》确实取得了成功。新的版本登上了畅销榜。《飞行模拟器》团队也更名为 Aces Game Studio,还创建或承包了《微软模拟战斗飞行》和《微软模拟太空飞行》等衍生产品。

甚至还有传言,称微软要建立一个通用的、世界规模的模拟平台,这最终成为了微软的企业模拟平台(Enterprise Simulation Platform,ESP)。虽然,ESP 只持续了几年,但是,被洛克希德-马丁公司(Lockheed Martin)授权用于其 Prepar3D 仿真平台。 回过头来看,ESP 就像是建立「数字双胞胎」来模拟和复制真实世界的努力的先驱。

然而,《微软模拟飞行》有一个问题,而且是来自微软公司内部的,那就是 Xbox 游戏机。微软在 2001 年推出 Xbox,是为了对抗索尼 2000 年发布的 PlayStation 2。它有一个 DVD 驱动器,并且可以通过一个附件连接到互联网。微软担心一些消费者会将其视为低成本的 PC 替代品。

布莱恩说,Aces Game Studio 曾探讨过将《飞行模拟器》引入 Xbox。但因为该计划需要调整键盘和鼠标的控制方式让其适应游戏手柄,而受到重重阻碍。贝勒斯认为,这让 Aces Game Studio 和微软之间产生了裂痕,他对没有更努力地推动 Xbox 版本的《飞行模拟器》而感到遗憾。「我认为我们最终会得到一个更强大、更灵活、更健全、更适合未来的引擎」。

Aces Game Studio 在以 Xbox 为中心的微软游戏部门中独立。不难理解,当 2008 年的金融危机迫使全公司裁员时,它首当其冲。对于那些受影响的人来说,这是一个令人讨厌的惊喜,但多年来,他们中的一些人已经接受了微软的决定是有道理的,因为模拟器的最后一次迭代可以说是停滞不前,专注于过去的优势,而忽视了新的平台。

在裁员开始的时候,sunLogic 的员工丹特就在那里,他结束了这个项目。他留下来对工作室的工作进行存档,为《飞行模拟器》的这个时代画上了句号。

03

涅槃重生

约尔格·诺伊曼是微软的一名老员工,从事一个名为 HoloTour 的 HoloLens 项目。这是一个沉浸式虚拟现实的旅游指南,它包括对秘鲁马丘比丘等地的鸟瞰视角。然而,该项目也面临着挑战,特别是在马丘比丘,团队实际获得的数据远低于预期。

诺伊曼说:「很明显,即使有现场照片,要做一个完整的、漂亮的三维模型也是非常困难的」。「 针对这一点,我们只是说,为什么我们不直接让飞机飞过头顶,给我们提供激光雷达数据和适当的摄影测量」?(激光雷达是一种基于激光的技术,用于估计物体的范围,而摄影测量则是从照片中提取的三维信息)。

《飞行模拟器》中的 Cessna C172 飞机|微软

虽然,飞机没有飞过头顶,但诺伊曼的观点发生了变化。他意识到了微软已经有了完美的解决方案,那就是《飞行模拟器》。「其实,这个想法一直都在我脑子里。我们应该尝试通过空中数据来增强我们的游戏世界」。

诺伊曼利用来自必应(Bing)的数据,制作了一个塞斯纳飞机(Cessna)飞越西雅图的演示,这与最初的微软《飞行模拟器》中的飞机和城市相同。即使在那个早期阶段,它看起来也很壮观。该项目取得了进展,丹哈特的记录也被证明是非常宝贵的。

诺伊曼说,「代码库和项目的归档工作做得非常好」。这些代码被送到 Asobo 工作室,也就是 HoloTour 项目的主要开发者,并用于保留与《模拟飞行 X》的第三方飞机的兼容性,它是 Aces Game Studio 发布的最后一次迭代。

《飞行模拟器 X》还保留了一个「传承(legacy)」模式,可以激活旧的飞行模型,保留了那个可以一直追溯到 1982 年的血统。

今天,大多数《飞行模拟器》的玩家都会喜欢默认的「现代」模拟,其模型多达 1500 个飞行表面。模拟中每个点的气流不仅由飞机的速度和设计决定,而且还由周围环境状况决定,如天气和附近的地形。

这种模拟水平在 1982 年是无法想象的,但今天它可以在任何最近的中端 AMD 或 Intel 处理器上运行。

哈尔·布莱恩指出,之前的模拟在极端情况下会崩溃,比如失速和旋转,这样飞机就会表现得很木讷,过于可预测。他知道,因为他以前就是这样测试这个东西的。新的模拟可以精确地模拟许多表面上的气流,因此可以确定失速会在何时开始,以及是否会变成旋转。

虽然 Bing 的数据对创建《飞行模拟器》的游戏世界很有帮助,但该团队仍然面临着阻碍,毕竟并不是每一寸地面都有高质量的摄影测量数据。

为了填补这些空白, Asobo 使用 Blackshark.ai 的机器学习技术,将摄影测量数据和卫星照片,转换成「地球表面的复刻」。

Blackshark.ai 技术根据卫星照片,自动创建建筑物,并在适当的地方添加建筑物。机器学习还纠正了照片之间的颜色变化,同时消除了云层和阴影。

《飞行模拟器》2020 版本中下方城市的画面清晰可见|微软

Blackshark.ai 的首席技术官 Arno Hollosi 说,「 我们希望有独特的建筑,基本上你通过程序性生成来实现,它会收集建筑脚印、屋顶类型、屋顶颜色、分区、建筑密度等其他信息」。然后,这些数据被具有适合该地理区域风格的「原型(archetypes)」所修改。其结果就是,各种各样的 3D 建筑至少从离地面一千多米的地方看是真实的。这种技术还可以描绘出小型社区,甚至是无人问津的农村房屋和建筑,这是艺术家们在逐一添加建筑时永远无法完成的。

即便如此,微软如今的模拟也并不完美。一条城市街道可能看起来是正确的,但你的房子可能不会。模拟的空中交通并不像现实中那样繁忙。模拟的空中交通管制的信息也往往不准确或不存在,特别是在中型机场。模拟的天气往往是惊人的美丽,但它只是模糊地模仿了真实世界。对于这些问题的解决,就像《飞行模拟器》的许多附加功能一样,需要新的技术来支持。

然而,《微软模拟飞行》的一个核心成果是不可否认的:它把整个世界装进了你的电脑。它甚至可以通过微软用于智能手机的 xCloud 流媒体应用,将整个世界装进你的口袋,允许任何拥有现代智能手机的人下载《飞行模拟器》,在全世界「自由翱翔」。

贝勒斯说,「 我们的雄心壮志是复刻整个世界,而且,我们确实做到了!」

*头图来源:JOSEF HAVLIK

本文为极客公园原创文章,转载请联系极客君微信 geekparkGO

极客一问

你玩过《微软模拟飞行》吗

推荐内容