《Airfight》——跨时代飞行模拟游戏的诞生

编者按
本文来自作家、游戏媒体人理查德·莫斯(Richard Moss)主理的播客《电子游戏的生命及时代》(The Life & Times of Video Games),由 indienova 取得译制授权并以文稿形式发表。
该纪实播客系列持续记录电子游戏及电子游戏产业的发展,通过资料整理、分析、采访和讨论,将游戏行业的过去作为映射当下的镜子。2019 年,该播客获得澳大利亚播客大奖(Australian Podcast Awards)“最佳游戏类播客”提名。
由于源文稿为音频整理,文中章节标题及配图均为译制过程中添加。
- 主持人:理查德·莫斯
- 与谈人:布兰德·福特纳(Brand Fortner)
- 译者:CoryluS
巨型机时代的探索
即便是亲历那段岁月的人,也很难回想起——曾几何时,除了《太空侵略者》(Space Invaders)、《吃豆人》(Pac-Man)和《超级马力欧兄弟》(Super Mario Bros)之外,最畅销、也最激动人心的视频游戏类型,竟是飞行模拟器。它们代表着当时科技的前沿,是实时运动、3D 图形和看似拥有无限可能的庞大虚拟世界所迸发出的令人赞叹的技术结晶。
其中最具代表性的要数由 subLOGIC 公司开发的《飞行模拟器》(Flight Simulator)。在那个只要在所有家用电脑平台上累计销售接近十万套就能登顶畅销榜的年代,这款《飞行模拟器》竟卖出了数百万套。从 1980 年首次发布起,它每年热销数十万套,直至 90 年代末的文化与技术大转折期,始终稳居当月娱乐软件畅销榜前十名。

《飞行模拟器》开始界面/图片:MobyGames
但在这一切发生的好几年前,甚至在 subLOGIC 创始人布鲁斯·阿特威克(Bruce Artwick)萌生为普通家庭用户开发家用飞行模拟器这一想法之前,就已经出现了一款名为《空战王牌》(Airace,又称 Air Ace)的游戏。
简单交代一些背景信息。70 年代初,当时的电脑还是神秘而庞大的巨物。大多数电脑连放在卧室里都很勉强,更别说放在桌面上或手中了。要使用时,人们需要在“打孔卡”(译者注:Punched Card,早期计算机的信息输入设备,通过在特定位置打洞来传递数字讯息)上打出孔洞,然后交给技术员,后者则会将这些卡与其他人的一并排队,分批运行。一两天后再去取,就能拿到打印出来的结果——如果程序有逻辑错误,打印出来的就可能是报错信息。

由 IBM 生产的简单打孔卡/图片:IBM
但也有一些计算机配备了小型图形终端,大小与下个十年的个人电脑相仿。人们可以直接在这些终端上输入命令,而主机(大型机)可能在数百乃至数千公里之外,程序运行结果几乎能实时返回。其中一套系统名为 PLATO。
PLATO 全称为“自动教学用程控逻辑”(Programmed Logic for Automatic Teaching Operations),于 1960 年亮相,出自时年 26 岁的伊利诺伊大学物理系实验室助理,电气工程博士唐纳德·比策(Donald Bitzer)之手。他的构想来自查尔默斯·谢尔温(Chalmers Sherwin)和丹尼尔·奥尔珀特(Daniel Alpert),二人曾于此前一年围绕类似概念展开过讨论,但最终未能取得成果。

PLATO/图片:The Grainger College of Engineering
到 1972 年,PLATO 已经历三次重大升级,不仅支持多用户同时在线,还引入了名为 TUTOR 的专用编程语言用于课程设计。到了 PLATO IV,系统配备了全新的等离子显示终端,可实现每秒 60 行或 180 字符的刷新速度,并支持快速矢量绘图和基础位图图形显示。
每台 PLATO IV 终端售价 1.2 万美元,一台设备可连接约千台终端,PLATO 随即在全美的中小学、大学及军事机构中得到推广,并最终走向海外。PLATO 的母公司控制数据公司(Control Data Corporation)及大多数部署了 PLATO 终端的高校,均聘用学生协助编写新的 PLATO 程序(也称“课程”),用于高中、大学课程及其它实际应用。
多亏了唐纳德·比策本人的指示,控制数据公司给予了 PLATO 程序员和操作员极大的自由度,让他们能够随心所欲地探索手中的技术。
《Airfight》的诞生
很快,人们意识到完全可以利用 TUTOR 来撰写实质上就是游戏的“课程”——从受《龙与地下城》(Dungeons & Dragons)启发的角色扮演类游戏,到一些简易的教育小游戏,再到那款复杂的 3D 多人联网太空模拟对战游戏《Spasim》以及二维太空战略游戏《帝国》(Empire),还有其他我可能会在后续节目中讨论的作品。
其中最早的作品之一《空战王牌》是一款由西拉斯·沃纳(Silas Warner)编写的简易飞行模拟器。若你熟悉 80 年代的电脑游戏,或许会听说过他的名字,他最广为人知的事迹就是创作了影响深远的潜行动作游戏《Castle Wolfenstein》——玩家需扮演间谍,逃离纳粹监禁并窃取作战情报。后来,id Software 基于此构想打造了开创第一人称 3D 射击游戏先河的《德军总部 3D》(Wolfenstein 3D),算是对原作的 3D 重制。

西拉斯·沃纳(1949-2004)/图片:ppe
但那是另一个故事了。大约在 1972 年到 1973 年间,西拉斯·沃纳在印第安纳大学(Indiana University)担任 PLATO 系统的操作员。当时在伊利诺伊大学厄巴纳-香槟分校(University of Illinois at Urbana-Champaign),还有一个叫布兰德·福特纳(Brand Fortner)的物理系学生,他在计算机辅助教育研究实验室(Computer-based Education Research Laboratory)工作,负责将心理学家邦妮·塞勒(Bonnie Seiler)设计的教学课程,编写为可在 PLATO 系统上运行的程序。
布兰德·福特纳:(西拉斯)做了一款非常棒的小型游戏,玩家扮演一位飞行员,置身于飞机中,你可以控制飞行速度、高度等基本参数。但要知道,在那个年代,我们系统的处理能力非常有限,程序每秒最多只能执行大约一万条指令,这还包括了图形绘制相关计算,因此,能分配给其他处理使用的算力其实微乎其微。
与现代设备进行比较的话,索尼在 1994 年推出的初代 PlayStation 游戏主机,其处理器每秒可以执行约三千万条指令,大约是早期系统处理能力的三千倍。而如今的个人电脑和游戏机,其指令处理速度更是达到了每秒数百亿条,它们通常还配备专门用于图形计算的独立芯片。事实上,如今智能门铃的计算能力可能都超过当年的计算机。因此,尽管在当时每秒执行一万条指令已经算是非常快了,但放在今天来看,这样的处理速度几乎微不足道。

初代 PlayStation/图片:PlayStation
布兰德·福特纳:基本上,你可以在一个虚拟空间中自由飞行。但必须说明,我们那个年代所说的“虚拟空间”,其实就是由一连串点和线构成的粗略图形,完全不像现在的那样。
西拉斯·沃纳并不是飞行员,因此他开发的这款《空战王牌》在飞行模拟方面显得非常简化。只要你拉高油门,飞行速度就会增加;若是把机头朝上,飞机就会升高;反之,机头向下,飞机就会下降。整个飞行过程完全不符合真实飞行规律,它更像是一款游戏。
当看到这款游戏时,我就在想,哇,要是我们能真正用飞行器运动方程(flight equations)来做模拟,那会多棒!于是我去了图书馆,复印了大量 Link 模拟器公司(Link Simulator Company)的技术文档——这家公司是最早做模拟器的厂商之一。我研究了他们在计算飞行参数时使用的方程,当时我还和另一位使用 PLATO 系统工作的物理专业学生合作,他的名字叫凯文·戈里(Kevin Gorey)。
两人对模拟器使用的方程进行了简化与优化,这台模拟器实际上使用了一台模拟计算机,并配有各种曲柄、齿轮、滑轮以及仪表面板等机械结构。幸运的是,他们在这个过程中遇到了一件非常有利的事:PLATO 终端所连接的主机针对浮点计算进行了优化,可以直接处理带小数点的数值,无需通过复杂且耗费性能的替代方案来实现,对于执行大量三角函数与空气动力学计算的高质量飞行模拟程序来说,这一能力至关重要。
大约几个月之后,他们就让程序运转了起来。可以在计算机终端上运行,并使用真实飞行器运动方程的飞行模拟器《Airfight》正式诞生了。

游戏视图以飞机驾驶舱内的第一人称视角呈现,下方包括雷达、G 力等功能信息和参数/图片:indienova
布兰德·福特纳:在这个程序里,你真的可以让飞机进入失速状态,飞行器的行为大体上会像真实飞机一样,图形效果方面也差不多。不过当然,我们仍然受到计算能力的限制,所以只能用线条来表示跑道,用点来代表地面上的物体。
后来我们又加入了飞行员互动的功能,玩家之间可以用导弹击落对方。相关计算其实非常简单:检查在你按下 F 键(开火)时,两架飞机之间是否存在一条直线,如果对方在这条直线上足够接近,就会判定为你击落了对方。这就是一切的开端。
未竟的商业幻梦
《Airfight》远远超越了其所处的时代。玩家可以通过文字聊天实时交流,可以组队合作,也可以参与乱斗模式,争取击落最多的飞机。尽管游戏的视觉呈现极为简陋,却营造出强烈的沉浸感。你仿佛身处这个世界之中,哪怕游戏运行速度极其缓慢,你仍会屏息等待下一次处理器运算所带来的动作推进。
布兰德·福特纳:对我以及其他从打孔卡时代成长起来的人而言,这种体验简直是颠覆性的。就像人们第一次看到《玩具总动员》(Toy Story),或者在 80 年代第一次观看《电子世界争霸战》(Tron)时感受到的那种震撼一样,惊叹于计算机竟然能够生成这样的图像。奇妙的是,那些用线条代表三维物体的画面,对我们这一代人意义非凡——你竟然可以围绕它们走动,简直令人无法置信。但当你把它展示给普通大众看时,他们会觉得那只不过是一堆线条罢了,这需要想象力。这令我想起了录音音乐的早期岁月。
你可能听过 20 年代早期留声机播放出来的声音,音质极其粗糙,杂音不断。但当时的人却对此感到震撼,因为这意味着你可以在家中播放真正的音乐。当那个年代的人被问及“你能分辨出唱片和现场演出之间的差别吗”时,大多数人的回答是否定的,他们觉得没什么差别。换句话说,人们对设备保真度的期望是会随着技术进步而改变的。
而今,我们会嘲笑那些 CGI 略显拙劣的好莱坞电影,但往往忘记四十年前,只要屏幕上出现几条模拟三维物体运动的线条,就足以让我这样的人激动不已,甚至双腿发软。
这让许多人感到无比兴奋。当然,PLATO 的管理人员非常讨厌我们,因为我们几乎完全占用了那台价值数百万美元的计算机的资源。但我认为,也正是从那时起,许多人看到了这种体验的潜力——人与人之间能够互动的潜力。

《电子世界争霸战》中的光速机车/图片:the Movie DB
尽管如此,布兰德却在自己设计的游戏中表现得非常糟糕。
布兰德·福特纳:这令人非常沮丧,因为程序是我写的,我也了解飞机是如何飞行的。我父亲是一名飞行员,我后来也接受了飞行课程,现在也是一名飞行员。但最让我沮丧的是,其他玩家会操控方向舵左右转向来击落别人,可在真实的飞机里,你绝不会那么操作。
其他玩家利用了我飞行器运动方程中的瑕疵——或者说不够精确的地方来赢得比赛。我从来都赢不了,总是被击落,因为我知道飞机是怎么飞的,我知道一切应该如何运作,但不习惯在程序中操作飞机。
《Airfight》的流行对 PLATO 的处理能力构成了巨大压力。只要大约 30 人同时在线游玩,就足以让主机瘫痪。
布兰德·福特纳:PLATO 系统的高层人士告诉我们,这款游戏只能在晚上 10 点之后才能运行,我们也照办了。结果有一段时间,在深夜运行《Airfight》的玩家仍然占用了主机 75%的处理能力。
我当时做了一个技术决策,不过后来的结果证明是有问题的:每次你按下 NEXT 键——我们当时用 NEXT 键作为回车键——就会把时间推进一秒,同时更新所有内容。也就是说,每按一次 NEXT,实际上你就能变相加速。这是个错误。
几个月后,布兰德决定完全重写这款游戏,独自一人完成——没有凯文·戈里的帮助。但那个 NEXT 键的 Bug 依然存在。80 年代,他再次重写了这款游戏,修复了 NEXT 键的问题,并改进飞行方程式,同时解决了另一个 Bug——当飞机垂直朝上或朝下时,模拟程序会暂时失效。
布兰德·福特纳:那个版本名叫《空中模拟》(Airsim),但那时早就没人在意这款游戏了(笑),人们记住的还是最初那个版本。
《Airfight》的鼎盛时期还不到一年,就被另一款同样具有突破性的 2D 多人太空游戏《帝国》抢去了风头。但即便如此,这短暂的时间已足够让它产生深远影响。
布兰德·福特纳:我这款游戏最重要的一名玩家,是一个名叫布鲁斯·阿特维克的学生,我和他并不熟。到了 70 年代中后期,《Airfight》不像以前那样火了,但它的质量仍然不错,还有人在玩。那时 Apple II 已经问世。

Apple II,苹果公司 1977 年推出的第一款个人电脑/图片:wikipedia
布兰德并不认为可以在 Apple II 上运行《Airfight》,因为 Apple II 没有浮点运算处理器,根本无法处理那些物理方程式。
布兰德·福特纳:不过布鲁斯·阿特维克觉得这事是可行的,他真的做到了——我不是说他移植了《Airfight》,而是在 Apple II 上制作了一款飞行模拟器,它显然深受《Airfight》启发。布鲁斯是个非常好的人,多年以后我和他聊过几次,相谈甚欢。后来布鲁斯以他在 Apple II 上制作的那款飞行模拟器为核心创立了一家公司,叫 subLOGIC,之后被微软收购。
在微软的支持下,《飞行模拟器》成为了全球最受欢迎的电脑游戏系列之一,甚至具备了推动个人电脑销量的能力,随后更是被无数渴望虚拟飞行体验的人模仿和追随。

1980 年 1 月发售的《飞行模拟器》/图片:MobyGames
与此同时,布兰德逐渐远离了游戏设计和编程——虽然这并非完全出于他的自愿。
布兰德·福特纳:这听起来可能很奇怪,在我们那一代人眼中,软件是免费的。
换句话说,早期的模式是——软件的存在是为了销售计算机本体,而计算机本身价值数百万美元。所以在 70 年代,我们根本不会去想靠软件赚钱。
直到后来,控制数据公司对 PLATO 介入加深,他们把我写的《Airfight》发行了,并为此支付给我软件版权费,这让所有人都很震惊。事实上,在 80 年代前期,我是电脑游戏领域版税收入最高的人,我每年光靠这款游戏就能拿到高达 2000 美元的版税。
直到更晚——大概是 80 年代中后期——人们才开始真正思考如何通过电脑软件“认真赚钱”。所以直到 IBM PC(IBM 公司 1981 年发布的个人计算机)面世,再加上不久之后的第一代麦金塔(Macintosh,简称 Mac,1984 年苹果公司发布的个人消费型计算机)发布,才真正掀起一波软件开发热潮。而那时我在读物理学方向的研究生,所以也就错过了这个机会。

目前,布兰德·福特纳在北卡罗莱纳州立大学研究生系顾问委员会和多家公司董事会任职/图片:The Grainger College of Engineering
封面:Youtube:Video Game History Project
原播客链接:https://lifeandtimes.games/episodes/files/2
*本文内容系作者独立观点,不代表 indienova 立场。未经授权允许,请勿转载。
来源:indienova · 独立游戏与开发 · indienova.com