1995年,微軟發布了大名鼎鼎的操作系統Windows 95。
全新的圖形化界面,即插即用的功能,便捷的操作,32位搶占式多任務系統,讓Windows 95成為個人電腦歷史上最重要的產品之一。
伴隨著10億美元的營銷活動,Windows 95在全世界都引發了轟動,掀起了搶購的熱潮。
但是,有一個群體一直在冷眼旁觀,他們堅決不愿意把自己的軟件移植到Windows95上。
他們就是游戲開發商,他們在前一年發布了無數經典的PC游戲:《Descent》、《DOOM II》、《Heretic》、《Jazz Jackrabbit》、《System Shock》、《UFO:未知敵人》和《魔獸世界:獸人與人類》,只不過,這些游戲統統運行在MS-DOS上。
為什么游戲廠商要拋棄Windows平臺呢?
01
曼哈頓項目
雖然MS-DOS只支持單任務,但是相比Windows它有個明顯的優勢:游戲開發者可以直接訪問硬件(如顯卡、鍵盤、鼠標、聲卡等),游戲可以充分利用硬件的性能,創造出復雜的圖形和聲音效果。
而“可惡的”Windows,為了強調穩定性和多任務,竟然阻止游戲開發者直接訪問硬件,必須通過Windows API才能訪問,這一下子就拉低了游戲性能。
所以,很多游戲開發者對Windows望而卻步。
當時的微軟考慮到了游戲廠商的需求,也提供了一個叫做WinG的圖形引擎,但這個引擎非常爛,迪斯尼用它開發了Windows版的《獅子王》,結果頻繁藍屏,憤怒的家長都快把迪斯尼的熱線電話打爆了。
無數游戲玩家都在期待在Windows上玩游戲,但是他們都失望了。
Alex St. John決心改變這個狀況,他認為:想讓Windows成為主流,必須要圍繞游戲構建,讓人們玩起來。
自從加入微軟開始,John就以反傳統著名,他叛逆和傲慢多次激怒比爾蓋茨,好幾次差點兒把他解雇。
John在公司內找到了“臭味相投”的Craig Eisler和Eric Engstrom,三人的特點都是會公開蔑視那些不同意他們想法的同事,這種做派被很多同事討厭。
三人組成了“野獸男孩”小組,開始了一個代號“曼哈頓”的項目,計劃開發一個新的軟件包,幫助游戲廠商充分利用Windows。
他們并沒有得到微軟內部的支持,公司管理層認為Windows 95成為游戲平臺的可能性很低。 但是“野獸男孩”三人組可不管這些,他們決心強力推進:
DOS不是能直接訪問硬件嗎?那用我這個軟件包也能繞過操作系統,把Windows推到一邊,清除所有與游戲爭奪資源的垃圾,讓游戲運行。
軟件包許多功能會關閉 Win圖形系統,讓游戲可以與視頻硬件直接對話:
阻止 Windows 將內存分頁到硬盤,以便游戲可以以恒定的幀速率運行;
繞過 Windows 消息隊列,以便您可以獲得實時鼠標輸入。
這樣你就可以真正控制像 Doom 這樣的第一人稱射擊游戲。
在 ATI 等顯卡制造商的支持下,新的軟件包很快就開發出來:
- DirectDraw:負責2D圖形繪制。
- Direct3D:用于處理3D圖形。
- DirectSound:用于處理聲音。
- DirectInput:用于處理輸入設備(如鍵盤、鼠標、游戲手柄等)。
- DirectPlay:用于處理網絡多人游戲。
這些 API 背后的命名理念是允許游戲“直接”訪問硬件,在游戲運行時盡量減少 Windows 操作系統的干擾。
當時有一位記者嘲笑了這種命名慣例,把它們稱為“DirectX”。
John團隊很喜歡這個名稱,DirectX一直沿用至今。
因為項目代號“曼哈頓”,和多年前的核武器計劃名稱一樣,最早的DirectX Logo 是這樣的,有種核輻射的感覺。
02
樣板工程
微軟擁有了DirectX,接下來就是吸引游戲廠商來使用它。
微軟先盯上了id Software,這個只有10幾個人的團隊開發的《DOOM》在全球極其流行,安裝量竟然超過了Windows,Bill Gates一度都想把它收購了。
微軟聯系了id Software的負責人,也是傳奇程序員John Carmack,提出了一個他無法拒絕的條件:
由微軟免費將DOS版本的《DOOM》和《DOOM II》移植到Windows,不用id Software出一分錢,將來游戲發行賺的錢也全部歸id Software。
在微軟的歷史上,做出這樣“卑微”的舉動,是非常少見的。
既然John Carmack可以坐享其成,就把游戲的源碼給了微軟。
移植的工作由加布·紐維爾負責,這也是一位超級大牛,1996年離開微軟后創辦了Valve,開發了《半條命》,又領導了Steam平臺的開發。
1996年8月20日,DOOM95正式發布,成為第一款DirectX游戲。
它不僅在Windows上運行效果出眾,在多個方面都優于其原始的DOS版本,它能以“高達”640x480 的分辨率渲染游戲,支持 24 個音頻通道,并通過圖形用戶界面簡化了多人游戲設置。
微軟把DOOM95作為宣傳Windows的關鍵資料,比爾蓋茨也參與其中,他錄制了一段視頻,穿著風衣,拿著獵槍,在DOOM的世界里一邊開槍殺死各種怪物,一邊推銷Windows和DirectX。
微軟的意思很明確:最牛的游戲都登錄Windows平臺了,你們在等什么呢?
(畫質有點渣,找不到高清版,大家將就著看...)
03
爭霸之路
但這個時候,大家對DirectX的評價并不高。
雖然DOOM移植成功,但John Carmack一直認為,DirectX是個糟糕的API,“它給使用它的程序員帶來了巨大的痛苦和折磨,卻沒有帶來任何顯著的優勢?!?/p>
大家更喜歡另外一個圖形API,也是市場的霸主,OpenGL。
OpenGL起源于SGI,這家公司知道的人不多了,當年它可是3D圖形工作站的領導者,著名的《侏羅紀公園》就是使用SGI的高端工作站渲染的。
SGI在圖形這一塊的實力非常強悍,為了進一步占據市場,SGI把自己的圖形API(IRIS GL)做成了開放標準,即OpenGL。
OpenGL有個架構評審委員會,ARB(Architecture Review Board),這里邊包括IBM,Intel,Apple,ATI,Nvidia,Sun 等巨頭。
有巨頭撐腰,在整個90年代,OpenGL人氣極盛,尤其是id Software使用 OpenGL 開發的的 Quake Engine ,達到了極為驚人的繪制效果。
這也激勵著ATI、Nvidia等顯卡制造商,必須完整地支持OpenGL,才能滿足開發者和玩家的期望。
軟件和硬件互相“激勵”,達成了螺旋上升的正向循環,可以說是勢不可擋。
這時候微軟的DirectX殺了進來,它該如何破局呢?
快速迭代!
OpenGL是個開放標準,每次API標準的發展,都要受到到各個軟硬件廠商的拉扯,大家為了自己的利益遲遲無法達成共識。
微軟雖然也比較官僚,但僅僅需要與 ATI 以及 Nvidia 兩家公司合作制定DirectX 的 API 規格,并且擁有最終的關鍵裁量權,可以快速迭代,快速發展。
就這樣,DirectX雖然一直落后,但就像一個打不死的小強,韌性十足,一點點改進,終于趕了上來。
2001年發布的DirectX 8成了整個戰役的轉折點,這個版本引入了兩個極為重要的創新:Vertex Shader(頂點著色器) 以及 Pixel Shader(像素著色器),賦予開發者在頂點和像素處理上的完全控制權,推動了 3D 游戲畫質和性能的快速提升。
而DirectX 9 的推出,更是讓微軟取了決定性的勝利,大部分游戲開發者都開始使用DirectX。
到了2011年,就連John Carmack也認為:DirectX比OpenGL更好了。
雖然OpenGL在PC的競爭上落敗,但是它的嵌入式版本Open GL ES卻抓住了移動互聯網的浪潮,被Android 和 iOS采用,隨著手機的普及,成為歷史上部署最廣泛的 3D圖形 API。(后來Apple另起爐灶,推出了自家的Metal,OpenGL ES也進化為Vulkan,那是另外一個故事了)。
04
小結
在微軟帝國的發展歷史上,它多次利用操作系統的優勢來擊敗競爭對手,Office之戰、IDE/編譯器之戰、瀏覽器之戰都是如此。
但是DirectX是微軟少見的,主要靠自己一刀一槍打下江山的產品,它不但把游戲廠商從MS-DOS遷移到Windows平臺,更是擊敗了霸主OpenGL,這是很難得的。
不過,由于微軟錯失了移動互聯網,DirectX也主要用于Windows和XBox平臺,沒法擴展到手機端了。真是應了那句古話:世事難料啊!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.