誰是最偉大的遊戲程序員?——FPS遊戲之父


3樓貓 發佈時間:2024-06-10 19:31:14 作者:gdtop Language

誰是最偉大的遊戲程序員?提起遊戲屆的傳奇製作人,我們可能最容易想到馬里奧之父宮本茂,今天介紹的這位主人公,則是公認的遊戲屆最偉大、最具傳奇色彩、最有公益精神的程序員,被譽為“FPS遊戲之父”、“3D遊戲圖形設計之父”、“首款遊戲引擎締造者”、“MOD社區開源發起者”、“VR遊戲先驅”,他就是傳奇遊戲公司id Software的創始人約翰·卡馬克。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第0張



約翰·卡馬克於1970年出生於堪薩斯城,父親是當地電臺的主播,受益於七十年代電子技術的快速發展,卡馬克在小學的時候接觸到此生唯一的信仰——計算機,8歲的時候,卡馬克接觸到了日本遊戲設計師西角友宏開發的《太空入侵者》,是最早的固定射擊遊戲之一,成為了街機遊戲史上的里程碑。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第1張

10歲的時候,卡馬克沉迷於《吃豆人》(Pac-Man),由南夢宮的遊戲設計師巖谷徹開發,卡馬克回憶自己童年非常喜歡玩遊戲,正是通過遊戲走上了計算機編程之路,當時他最欽佩的遊戲製作人就是任天堂的傳奇設計師宮本茂。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第2張


不過相比於遊戲設計,卡馬克更希望從計算機技術的角度,來對遊戲進行創新設計;14歲時,卡馬克和朋友偷偷闖入一所大學,偷走了學校的電腦,原因則是大學裡新購置了喬布斯發佈的Apple II電腦,Apple II是蘋果公司開發的第二款產品,也是第一款集成彩色圖形和聲音功能的個人電腦,非常適合遊戲和教育軟件的開發。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張


為了成功偷走Apple II,卡馬克自己精心調製了一種鋁熱劑和凡士林混合物,將學校窗戶融化才得手。雖然卡馬克沒有驚動任何人,但是這所大學安裝的是無聲監控器,隨後卡馬克被逮捕送到接受精神評估,被判在青少年之家服刑一年。在這一年中,卡馬克自學成績優異,出院後成功考取密蘇里大學堪薩斯城分校的計算機專業,來到大學後,卡馬克發現大學教的知識簡直爛透了,於是僅僅只讀了兩個學期,就從學校退學,成為一名自由職業程序員。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

J方對卡馬克的精神評估報告說,卡馬克就像是一頭野獸,沒有任何的同理心,故事發展到這裡,一位有案底、從大學輟學、精神輕微異常、性格非常怪異的19歲年輕人,可能在很多保守的人看來一生已經廢了,但是卡馬克的傳奇生涯才剛剛開始。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張


在路易斯安那州的一家電腦公司Softdisk,卡馬克找到第一份工作,主要是在公司幫助出售蘋果相關的軟件雜誌,還兼顧賣賣電腦和軟件,在公司裡,卡馬克很快熟悉了Apple II、Apple IIGS、IBM PC 和 Commodore 64 等平臺的軟件開發。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

工作期間,卡馬克認識了同事阿方索·約翰·羅梅洛(也是日後的《毀滅戰士》之父),羅梅洛是卡馬克人生中第一個貴人,羅梅洛非常欣賞卡馬克對編程的熱愛,但是苦於沒有經費來製作軟件,於是卡馬克和羅梅洛偷偷利用 Softdisk 的設備來開發自己的項目,在每週五下班後,他們會偷偷將公司的電腦裝上車,運到他們在郊外租用的房子裡,時間久了後,很多同事也被卡馬克的項目所吸引,然後加入進來。


誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

約翰·羅梅洛

工作的第一年,兩人就和公司的幾位志同道合的年輕人,一起製作了第一款遊戲《指揮官基恩》(Commander Keen),靈感來自任天堂的超級馬里奧兄弟,卡馬克開發了一種平滑滾動技術,使PC上的2D平臺遊戲具備了與主機遊戲類似的流暢度。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

工作的第二年,卡馬克團隊發佈了《指揮官基恩:夢想機器(Commander Keen in Invasion of the Vorticons)》,成為當時軟件市場的熱門遊戲之一,為卡馬克和羅梅洛賺夠了啟動資金,很快他們就在1991年離開Softdisk,創立一家新公司,這一年卡馬克才僅有21歲。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

新公司的名字正是id Software,對比其他的遊戲公司,id社的名字就是一家非常傳統的計算機軟件開發公司,卡馬克希望公司不僅能夠發佈偉大的產品,還要在軟件技術上有立足之地,在九十年代,計算機硬件和圖形處理能力有限(當時老黃還在創業初期),在PC上的橫向卷軸很難像主機那麼平滑,很多早期的PC遊戲採用的是屏幕切換或卡頓式的滾動效果。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

超級馬里奧就是最早採用卷軸滾動的遊戲之一,所謂卷軸滾動,就是指人物移動,屏幕中的場景也隨人物而移動切換,當時如果要在PC上實現平滑的卷軸滾動系統,需要高效地處理大量圖像數據,對整個屏幕的重繪是非常耗費資源的操作,卡馬克利用PC硬件的特性,只重新繪製部分屏幕,就達到了類似於流行街機和主機遊戲的那種平滑滾動效果。

第一步卡馬克利用局部重繪解決了這個難題,第二步卡馬克開發了EGA圖形顯示技術,這也被視作3D圖形加速卡的雛形,這一年老黃甚至還沒有開始創立英偉達。為了支持大範圍的遊戲地圖,卡馬克的系統採用了有效的內存管理技術,確保在滾動過程電腦能夠快速加載和卸載遊戲數據,保持高性能。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張


在早期的PC遊戲設計、優化過程中,卡馬克繼續歷史性地推出橫向卷軸滾動系統(Side-Scrolling System),僅僅一晚上就在PC上覆現了超級馬里奧的卷軸滾動技術,當卡馬克找到任天堂時,任天堂對PC遊戲並不在意。

在如此龐大的PC市場,任天堂不在意,其他還有大把的公司搶著要卡馬克的技術,作為一名純粹的程序員,卡馬克是全世界開源軟件運動的發起者和倡導者之一,可以說是真·初代源神,直接將這些技術無償分享出來。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

虛幻引擎



在卡馬克眼中,橫向卷軸滾動技術可能只是一道開胃菜,解決了2D遊戲時代的難題,卡馬克將目光瞄向3D遊戲,這時還沒有公司能夠做出來3D遊戲,原因很簡單,當時的計算機算力有限,如果做成3D的遊戲,PC很難及時渲染圖像,對此,約翰·卡馬克決定尋找方法提高遊戲速度。

卡馬克在遊戲時發現,3D遊戲運行緩慢的一個原因是需要繪製過多的物體表面,他設想在渲染繪製遊戲場景過道時,可以省略地板和天花板只繪製兩側牆壁,這樣不僅減少工作量,還能通過將牆壁做成梯形來產生透視效果。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

在主視角遊戲下,卡馬克獨闢蹊徑地採用了射線投射算法,在玩家的視角範圍內發射出無數條射線,只有被射線擊中的物體才會被計算和渲染,而視角以外的物體則不予考慮,這樣就能模擬出3D的主視角效果,計算機的運算能力得到了最大限度的利用,遊戲速度也顯著提高。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

從2D遊戲到3D遊戲的里程碑,卡馬克僅僅只花了一個半月的時間,不過考慮到他之前也只需要一個月就能做出遊戲,這個時間對於卡馬克來說也不算誇張,帶著這些新技術,卡馬克找到朋友,一開始大家覺得卡馬克的思路太天馬行空,但當卡馬克拿到美工的材質貼圖把技術跑出來,製作出第一款第一人稱視角遊戲DEMO《地下墓穴3D》後,所有人都震驚了,羅梅洛提議直接製作一款3D版本的《德軍總部》。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

1992年,劃時代意義的第一人稱射擊遊戲——《德軍總部3D》(Wolfenstein 3D),由卡馬克作為首席程序員正式發佈,創意源自於1981年的Apple II平臺遊戲《Castle Wolfenstein》和《Beyond Castle Wolfenstein》,這些早期遊戲採用了俯視角的視角,並以潛入和戰鬥為核心玩法,約翰·卡馬克和約翰·羅梅洛利用他們在《地下墓穴3D》開發中積累的技術,創造一個更加沉浸式的3D世界。就這樣,FPS遊戲的開山之作《德軍總部3D》於1992年誕生,僅僅三年後,卡馬克親自公開了《德軍總部3D》所有源代碼。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

1993年,卡馬克基於《異形》和《惡魔的種子》等科幻作品,推出《DOOM》系列,以獨特的視覺風格和音效而聞名,遊戲中的敵人和環境設計充滿了恐怖和暴力元素,音效和背景音樂增強了緊張氛圍。技術上,DOOM初代雖然不是真正的三維遊戲,但卡馬克通過複雜的算法實現了在二維平面上模擬三維效果,卡馬克還開發了動態光影系統,使得遊戲中的光源和陰影更加真實,使用“網格劃分”(BSP Tree)技術來優化渲染,使得大型關卡能夠順利運行。在遊戲發售後的第三年,卡馬克也公開了毀滅戰士的源碼。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

1996年,《雷神之錘》(Quake)正式發售,有了德軍總部和毀滅戰士的經驗,卡馬克主要負責開發圖形引擎,羅梅洛和其他設計師負責遊戲設計和關卡製作,卡馬克在本作推出了歷史第一款採用真正全三維多邊形圖形引擎的FPS遊戲,遊戲中的所有角色、物品和環境都是由多邊形構建,遊戲對互聯網多人遊戲進行了優化,開創了現代網絡對戰的先河,支持多達32人的在線對戰。在遊戲發佈後的第三年,卡馬克再次公開《雷神之錘》的源碼。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張


這裡還有一個小插曲,id社在97年曾被黑客攻擊,Quake的源代碼被洩露並在地下的Quake社區,一位id社以外的程序員將Quake移植到Linux,隨後把核心代碼發給卡馬克,這些洩露的技術在當時看來價值極高,但卡馬克不僅沒有起訴洩露者,反而幫助社區完善了代碼,並且授權給任意公司都能使用,卡馬克甚至還推出Quake的官方Linux移植版本,交給公司的新員工Zoid Kirsch維護,就這樣,卡馬克不僅成為所有MOD作者心目中的偶像,更是整個程序員屆的開源精神領袖之一!

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

卡馬克這些舉措極大地推動了開源文化在遊戲開發中的應用,卡馬克不僅是3D圖形遊戲的先驅,也深刻影響了整個遊戲行業的發展,展示開放源代碼不僅不會削弱公司的競爭力,反而可以激發社區的創造力和合作精神,日後幾乎所有PC遊戲的開發都受到卡馬克設計的啟發。關於卡馬克的技術和他的故事還有很多很多,比如卡馬克如何啟發半條命、CS系列、COD系列等FPS遊戲的製作,QUAKE引擎的發展史,快速平方根倒數算法等等。

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張

2013年,卡馬克加入OculusVR,擔任首席技術官,參與開發VR遊戲,帶領團隊推出了Ouclus Go和Quest等產品;卡馬克透露,早年間山姆·奧特曼還邀請他加入OpenAI,但是以卡馬克開源的態度,這輩子都不太可能加入ClosedAI,卡馬克當時給出的理由是自己不太懂現代機器學習範式,需要學習一下,也就有了Ilya給卡馬克學習AI的那份論文清單。2022年,卡馬克進行了360度轉向,攜手強化學習之父Sutton創業,進軍AGI通用人工智能領域,期待卡馬克能夠繼續書寫自己的傳奇職業生涯!

誰是最偉大的遊戲程序員?——FPS遊戲之父-第3張



深度學習入門——圖靈獎AI三巨頭

AI編年史——深度學習的發展史(收藏向)

AI編年史2——GPT是如何誕生的?

AI學術巨佬——何愷明,從遊戲中獲得論文靈感

AI領軍人物——孫劍,重劍無鋒的經典之作

AI傳奇巨佬——湯曉鷗,中國人工智能領袖人物!

AI女神李飛飛——從成都七中,到頂級AI科學家!

山姆·奧特曼——從遊戲編程,到OpenAI之父!

張益唐——黎曼猜想,華人數學家再創重大突破!

B站大學——線代不掛科,MIT傳奇教授的最後一課!

華為——盤古大模型解讀,專注“小模型”工業落地!

英偉達——跟著老黃學AI,英偉達官方免費推出AI課!

微軟免費AI課程——18節課,初學者入門大模型!

機器學習——科學家周志華,成為中國首位AI頂會掌門人!

機器學習入門——數學基礎(積分篇

機器學習入門——數學基礎(代數篇

機器學習入門——數學基礎(貝葉斯篇

遊戲&AI系列:

AI——是遊戲NPC的未來嗎?

巫師三——AI如何幫助老遊戲畫質重獲新生

AI女裝換臉——FaceAPP應用和原理

AI捏臉技術——你想在遊戲中捏誰的臉?

Epic虛幻引擎——“元人類生成器”遊戲開發(附教程)

腦機接口——特斯拉、米哈遊的“魔幻未來技術”

白話科普——Bit到底是如何誕生的?

永劫無間——肌肉金輪,AI如何幫助玩家捏臉?

Adobe之父——發明PDF格式,助喬布斯封神

#gd的ai&遊戲雜談#


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com