能讓平臺爲之優化遊戲,DOOM 移植項目如何改寫 PC 遊戲歷史?

“所有時代的迭代,永遠由玩家的熱愛推動”

引言 來自微軟的“百萬富翁”

在上世紀90年代的美國西雅圖,有這麼一羣人,他們天天登上當地的新聞頭條:XX買了一座城堡、建了一座超級農村又或是購買了一架私人飛機。

這羣暴發戶行爲的人,正是來自微軟的員工。

作爲最早一批將期權開放給全體員工的公司,微軟公司自1986年3月13日正式上市之後,到了90年代趕上了互聯網泡沫的鼎盛期,公司股票飛漲,一下造就了上千名的百萬富翁,甚至再後來這個數字飆升至五位數。

由於人數衆多,且聚集在西雅圖本地,於是當地人就給這幫人起了個名就叫做“微軟百萬富翁(Microsoft millionaires)”管這幫人買的別墅叫“微軟別墅羣”。

作爲微軟的第271號員工,G胖也是其中的一員。

G胖在入職微軟後負責Windows1.0、2.0、2.1早期項目的開發,期間創造出了極爲亮眼的職業生涯。

在開發項目中,爲了能儘快地根據測試人員的反饋進行調整,G胖乾脆從家裏拿了個睡袋,就放在自己的工位下面。

整整一個月,他喫住都在工位,全天候連軸工作,困了就躺在睡袋上,自此,他就有了“瘋子紐維爾”的稱號。

像這樣的程序員不止他一個,因爲編譯程序的要很長時間,在等待的空檔兒,這羣小夥子總得找點事兒做。

有人提議乾脆做個炸彈,於是他們就用咖啡機旁的白糖以及自帶的硝石做出了簡易火箭。

事實證明,不是所有人是有錢之後纔開始瘋的......

起初一切還算剋制,大家只是來到室外的空地上引爆來取樂,直到其中一位的程序員盯上了辦公室裏的微波爐......

結果也不難猜,微波爐直接當場退役。

就這樣員工們失去了便捷加熱午餐的工具,此後一段時間,大夥只能餓着肚子辦公。

視角來到幾年後,在遊戲半條命中也有一個類似有趣的小彩蛋。

玩家在遊玩時,會經過一個茶水間,裏面放置幾臺販賣機和餐桌以及一臺微波爐。

這時玩家就可以對這臺微波爐進行交互,在連續點擊幾次後,微波爐就會“轟!”的一聲發生爆炸。

而原本在旁邊休息的科學家就會衝到你面前震驚朝你大喊“My God, what are you doing?!!”

可想而知,又是某個倒黴蛋科學家(馬格努森)的午餐就這麼沒了...

以我們現在的視角來看,或許G胖就是把他曾在微軟工作期間那些“瘋狂程序員”的生活狀態映射在了遊戲中的NPC科學家的身上。

整個遊戲也是由這些看似不起眼的小設計堆砌起來,給遊戲帶來極其豐富的體驗密度。

加上跨時代的畫面表現與關卡設計,給予當時的玩家極大的新鮮感。

但話又說回來,G胖作爲微軟核心的老員工,怎麼會想到離職去開發遊戲呢?

G胖與開發遊戲的契機又是什麼?

第一章 由“毀滅戰士”引發的系統危機

故事要從當年一款現象級大火的遊戲《DOOM》開始說起。

毫不誇張地說,如果你是當年的遊戲玩家,只要接觸過電腦,就一定知道這款遊戲。

就比如說其中一個案例來自卡內基梅隆大學:

遊戲發佈僅幾個小時後,管理員就發佈了一則在線通知,要求用戶不要在網絡模式下運行毀滅戰士。

因爲玩的人實在太多了,導致學校內部的網絡性能多次大幅下降,甚至完全癱瘓。

同樣還有路易斯維爾大學,學生們紛紛湧向實驗室的電腦只爲玩毀滅戰士,一位主管忍無可忍,最終編寫了一個程序來自動清除毀滅戰士的遊戲文件。

不僅發生在大學,一些公司也在上演着同樣的情況,就比如說英特爾公司。

英特爾在1993年12月發佈了一份內部備忘錄,裏面就包含着公司將全面禁止《毀滅戰士》。

因爲員工們總是找各種時間,在公司內部組織比賽。

最核心的原因還是因爲,初代毀滅戰士使用廣播數據包,強制網絡上的每個系統將數據包傳輸到內存並進行分析,然後才能丟棄其內容。

換句話說,即使沒有運行遊戲,每臺計算機也必須處理《毀滅戰士》的數據。

毀滅戰士的開發公司Id Software後來還在公告中調侃說:

我們預計,在1993年,我們將成爲影響全球人類生產力的罪魁禍首......

微軟也不例外,員工們也喜歡玩毀滅戰士。

G胖本人就曾說過:自己也喜歡打DOOM,但是自己太菜了,反而自己纔像是遊戲裏的“小怪”。

當年在微軟內部有這麼一項調查:

“在美國本土市場內個人主機的裝載量第二名的是Windows,第一名是毀滅戰士。”

這件事震驚了微軟的所有人。

要知道微軟可以算當時全球最大的軟件公司,沒有之一,他們在全美有幾乎最大最完善的軟件銷售渠道。

而就這麼樣的一個公司,居然在銷量上被一個僅有十餘人的Id Software給打敗了。

這時,微軟的管理層也才逐漸意識到G胖之前的主張是正確的,玩家已經成爲了不可忽視的羣體。

微軟接下來的想法也很簡單,因爲對於當時的遊戲開發商來說,DOS是最主流的開發電腦遊戲系統。

只要自己有一部能成功從DOS移植到Windows系統上的遊戲,且能證明遊戲性能表現毫不遜色,這樣玩家和廠商就會嘗試選擇Windows。

於是毀滅戰士就成爲了最終被敲定的移植遊戲,用來當做Windows95的招牌,並且將項目交給G胖來主導。

隨後微軟主動聯繫了Id Software的聯合創始人約翰·卡馬克(John Carmack)。

微軟願意免費將Doom移植到Windows 95上。並提供全部資金和開發人員,移植完成後遊戲賣出的全部收入都歸id Software,微軟一分不收,前提是願意將DOOM的源代碼交給微軟。

約翰·卡馬克對於這個無本萬利的交易,也是爽快地答應了,把毀滅戰士的源代碼交給了微軟。

講到這裏,我們暫時脫離主線,去補充一下當時的背景:

作爲當時主流遊戲的開發平臺,什麼是DOS系統?

作爲玩家,想要在那個年代電腦上的DOS系統玩一個遊戲,是非常麻煩的。

想象一下,當你從商店拿到遊戲軟盤,回到家後,你興奮地打開電腦,插入軟驅。

伴隨着繼電器的啪嗒聲,你進入那個沒有窗口沒有圖標,只由黑色的背景附帶着白色跳動的字符組成的系統界面,對於此時的你來說,真正的噩夢纔剛剛開始。

與現在雙擊即可安裝遊戲的方式不同,DOS系統,需要你在提示符裏面手動進入A盤並輸入正確的安裝指令。

因爲軟盤的容量很小,所以大部分遊戲要裝有四五張盤,你還需要重複安裝好幾次。

別以爲安裝完成後就可以直接開始遊戲了,你還需要手動的配置聲卡,因爲遊戲並不知道你電腦上是什麼聲卡,所以一般遊戲安裝中會帶一個"環境設置"程序。

這時你就需要在Sound Blaster、AdLib、Gravis Ultrasound...等等一大堆型號中選擇正確的聲卡進行配置,否則在進行遊戲中電腦會直接死機。

就算這些都完成後,你的內存配置還有可能出現問題...一些你看不懂陌生的程序正在佔用着那小得可憐的內存空間。

你需要盯着屏幕上的 MEM 命令輸出,反覆修改配置文件、每修改一次還需要強制重啓,直到滿足遊戲的最低運行內存。

而在上面的配置過程中稍有一步錯誤,系統在運行遊戲的時候就會瞬間崩潰。

是不是光想想就很頭疼了...

那麼既然DOS上玩遊戲這麼麻煩,遊戲開發者們爲什麼還是選擇DOS呢?

答案也很簡單:性能

在 DOS 環境中,遊戲代碼可以直接讀寫顯卡顯存、聲卡寄存器、輸入設備端口等硬件資源。只要優化到位,遊戲程序可以將 PC 硬件的全部性能壓榨出來。

但代價同樣沉重,當年 PC 硬件品牌型號紛繁雜亂,不存在統一的接口。開發者無法一套代碼通喫全部設備,不得不自行編寫,爲市面上主流聲卡、顯卡逐一適配參數,但並非所有開發者有精力去適配全部硬件。

微軟也意識到了這個問題,並在開發 Windows 95的過程中做出了嘗試。

最初的Windows 95系統自帶基礎圖形接口GDI,裏面附帶一個作爲臨時方案的擴展庫 WinG。

WinG是專門爲2D遊戲畫面兼容也就是像毀滅戰士那種遊戲而誕生的,專門用於臨時加速擴展的補丁。

G胖就和團隊基於WinG完成了初代的毀滅戰士移植版本,並命名爲WinDOOM,但效果遠不能達到商業化的程度,最終僅在微軟內部完成測試展示,並未對外發布。

不過WinG證明了,如果遊戲可以藉助系統提供的API訪問硬件,確實可以大幅降低因程序亂操作硬件造成整機崩潰的概率,但並不能完全避免。

問題到這裏似乎陷入了死局。

第二章 微軟的“曼哈頓計劃”

到了1994年11月,就在微軟即將推出的操作系統Windows 95的最後幾個月,作爲項目團隊一員的艾利克斯·聖約翰(Alex St. John)負責線下走訪了遊戲開發者,以幫助他們解決DOS與Windows95之間的兼容問題。

在走訪途中,聖約翰就問這些開發者:“你們會考慮在Windows上開發下一款遊戲嗎?”

幾乎所有的開發者都回答他:“NO。”

原因我們在上文中也提到過,WinG的能力顯然是不夠的,開發者寧願選擇更爲老舊但卻簡單的多的DOS開發。

在當時,迪士尼旗下IP獅子王的新作採用WinG開發,由於技術不成熟,小孩子在遊玩的過程中經常遇到遊戲崩潰問題,導致迪士尼的客服收到不少憤怒的家長投訴電話,這也讓開發商承受了很大的壓力,諸如此類的情況還有許多。

聖約翰對這種現狀感到擔憂。

於是他就在想,自己能不能另開發出一套新的軟件去解決這個問題?

說幹就幹,聖約翰在公司內部找到了另外兩位志同道合的同伴他:克雷格·艾斯勒(Craig Eisler)和埃裏克·恩斯特羅姆(Eric Engstrom),並着手開始研究,項目的名稱就叫做“曼哈頓計劃”

這三人僅用了四個月,在完全不依賴WinG的前提下開發出了另一套軟件庫。

該軟件庫不僅在功能上超過了WinG,性能表現也是全面碾壓。這款軟件庫也就是後來大名鼎鼎的DirectX。

G胖得知這個事情之後,認爲很適合運用在移植毀滅戰士項目上面。

隨後在G胖推動下,有了DirectX的加持,世界上第一款DirectX遊戲誕生了。

作爲當時性能要求最高的遊戲,移植後的毀滅戰士在性能上完全不輸於DOS的版本,甚至有了更強的畫面表現,玩家也能夠體驗更復雜的地圖。

一切塵埃落定,屬於Windows版本的《DOOM95》正式發佈。

比爾蓋茨甚至還親自爲此拍攝了一部宣傳片

有了DirectX和《DOOM95》的示範作用,遊戲開發者們也願意轉到Windows上開發遊戲。

硬件廠商也終於有了參考標準去製造聲卡、顯卡等設備。

Windows的銷量也在這一時期暴漲,微軟也藉此正式進入遊戲行業,遊戲行業界的又一巨頭的即將誕生。

結語

到了1996年8月24日,已經離職的G胖與另一位同事麥克·哈靈頓(Mike Harrington)在華盛頓州柯克蘭市聯手創立了Valve,並且當天G胖還和他的妻子莉薩・門內特(Lisa Mennet)正式結婚。

此時他們還不知道,自己接下來的作品和理念又會怎樣影響遊戲行業乃至整個遊戲史的發展。

本篇完。

文章作者

歡迎點贊、充電加關注,這裏是咪奧喵,分享熱愛,解構次元,我們下一期再見!

文章參考

  1. 卡洛斯·阿圭列斯. 《九十年代在微軟工作的回憶》

  2. 利桑德羅·帕爾多. 《英特爾在其網絡上禁用“毀滅戰士”的那一天》

  3. SHACK NEWS. 《亞歷克斯・聖約翰訪談》

  4. 塞繆爾·威利茨. 《DirectX 如何定義了 PC 遊戲…… 而這一切都離不開比爾・蓋茨的鼎力相助(他當時還拿着一把霰彈槍)》

  5. DoomWiki社羣Doom95

本文內容綜合自互聯網公開信息,僅供讀者參考,如有錯誤歡迎在評論區指出。

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com