比爾·蓋茨最愛的遊戲:用40多年開啟一個時代
1999 年,比爾·蓋茨寫了一篇對萊特兄弟(Wright brothers)的感人讚譽,他認為他們的機翼發明是“那個時代的萬維網”,給予了人們全球視野。這也為微軟後來收購《模擬飛行(Flight Simulator)》埋下了伏筆。
而且,就像萊特兄弟最初的飛行器一樣,《飛行模擬器》這款遊戲的意義早已不止是“飛行”本身,更是“飛行”所帶來的視角的轉變。
《飛行模擬器》許諾將整個世界裝進你的電腦,並兌現了這個承諾。這也是為什麼它成為了世界上最暢銷的飛行模擬系列遊戲。它最新的版本已經售出了超過200 萬份。
儘管2022 年是《微軟模擬飛行(Microsoft Flight Simulator)》上市的40 週年,但實際上,它的歷史要比1982 年的正式發布還要久遠,而且目前仍在積極開發中。
它也因此成為了第二古老的電子遊戲。(第一古老的是《俄勒岡之旅》(The Oregon Trail)在1971 年問世,至今仍與我們同在。)
《飛行模擬器》系列遊戲的核心不在於“遊戲化”,而在於它用來模擬飛行體驗和你腳下地面的“技術魔法。”它對“真實描述”的關注,則反映了遊戲開發者的背景。

1 對飛行的熱情
布魯斯·阿特威克(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 的集團經理。他說:“我認為最終微軟想要《飛行模擬器》的絕對控制權,而不是阿特維克持有它。”
“我們是一家小公司,我們按照小公司的規則行事,而這有時會給微軟的人帶來困擾。我們很容易說不,這讓他們感到非常沮喪。”
2 微軟掌權
隨著Windows 95 操作系統的問世,《微軟模擬飛行》的新篇章也拉開了序幕。
在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 的員工丹特就在那裡,他結束了這個項目。他留下來對工作室的工作進行存檔,為《飛行模擬器》的這個時代畫上了句號。
3 涅槃重生
約爾格·諾伊曼是微軟的一名老員工,從事一個名為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 流媒體應用,將整個世界裝進你的口袋,允許任何擁有現代智能手機的人下載《飛行模擬器》,在全世界“自由翱翔。”
貝勒斯說:“我們的雄心壯志是複刻整個世界,而且,我們確實做到了!”