天天看點

比爾·蓋茨最愛的遊戲,用40年開啟一個時代

作者|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 流媒體應用,将整個世界裝進你的口袋,允許任何擁有現代智能手機的人下載下傳《飛行模拟器》,在全世界「自由翺翔」。

貝勒斯說,「我們的雄心壯志是複刻整個世界,而且,我們确實做到了!」

繼續閱讀