就是這個(gè)!讓蓋茨和馬斯克都羨慕嫉妒恨的男人
他是比爾·蓋茨眼中為數(shù)不多的電腦天才,還會(huì)在 Twitter 上替“鋼鐵俠”馬斯克琢磨幾個(gè)小時(shí)獵鷹火箭著陸失敗的原因,而后竟能引得馬斯克也浮想聯(lián)翩:
“哥,既然您這么喜歡火箭,干脆來我這兒咱們一塊去火星吧!”
▲馬斯克邀請卡馬克一塊搞火箭
結(jié)果這人卻無情地熄掉了“鋼鐵俠”心中剛剛?cè)计鸬南M穑夯鸺皇歉绲暮髠溆?jì)劃,哥現(xiàn)在還有更重要的事要忙……
這位大神便是約翰·卡馬克(John Carmack),3D 游戲的祖師爺,id 軟件和犰狳航天的創(chuàng)始人,如今虛擬現(xiàn)實(shí)公司 Oculus VR 的 CTO。
對于卡馬克來說,玩火箭只不過是改裝汽車一樣的業(yè)余愛好,虛擬現(xiàn)實(shí)才是他真正的“星辰大海”。從《危險(xiǎn)的戴夫》到《德軍總部 3D》,從《毀滅戰(zhàn)士》到《雷神之錘》……從 Oculus Rift 到 Gear VR,再從《毀滅戰(zhàn)士3:BFG》到虛擬現(xiàn)實(shí)版《我的世界》……他一步一步不斷在接近自己心目中的那個(gè)圣杯。
虛擬現(xiàn)實(shí)的初心
盡管遠(yuǎn)在開發(fā) 3D 游戲引擎的早期,卡馬克就是受到《星際迷航》的“全息甲板(Holodeck)”、《雪崩》小說的“超元域(Metaverse)”等虛擬現(xiàn)實(shí)概念的影響。但 3D 游戲還遠(yuǎn)不是虛擬現(xiàn)實(shí),最多不過是虛擬現(xiàn)實(shí)進(jìn)程中的一小步而已。
直到2012年4月,等卡馬克看到 MTBS3D 論壇上帕爾默·拉奇(Palmer Luckey)所發(fā)的 Oculus Rift 原型機(jī)的帖子時(shí),大神著實(shí)興奮了一把——這才是虛擬現(xiàn)實(shí)應(yīng)有的樣子嘛!于是他赤膊上陣,親手改進(jìn)原型機(jī)早期的不足之處,并進(jìn)一步改寫《毀滅戰(zhàn)士3》代碼來為一個(gè)初出茅廬的小伙子做內(nèi)容。而在隨后的 E3 游戲展,卡馬克更是主動(dòng)召集媒體來演示這臺(tái)尚在襁褓中的 Rift 原型機(jī),以重新點(diǎn)燃整個(gè)技術(shù)圈對于虛擬現(xiàn)實(shí)的熱情。
▲卡馬克在 2012 E3 上展示 Rift 原型機(jī)
早在 22 歲的時(shí)候,卡馬克就做出了世界上第一款 3D 電腦游戲:《德軍總部 3D》。要知道在那個(gè) 386、486 的年代,流暢地繪制 3D 圖像可不是件容易的事。3D 游戲運(yùn)行很慢的一個(gè)重要原因是需要繪制的物體太多,CPU 運(yùn)算不過來??R克獨(dú)辟蹊徑的使用了“射線追蹤”算法,剔除掉視野外的物體,結(jié)合削減多邊形、動(dòng)態(tài)縮放這些技術(shù),終于能創(chuàng)造出一個(gè)流暢的三維世界。后來的《毀滅戰(zhàn)士》和《雷神之錘》系列游戲不僅風(fēng)靡全球,也成為整個(gè)行業(yè)的標(biāo)桿。據(jù)說最初的顯卡之所以能被發(fā)明出來,就是有人想要玩好《毀滅戰(zhàn)士》。而其后的版本更新,就連 Windows 都要先來打聽卡馬克打不打算支持。
▲德軍總部 3D
如今虛擬現(xiàn)實(shí)行業(yè)的一開始,同樣要受限于計(jì)算能力的不足,60Hz 液晶屏上最多維持住 30fps 的圖像,在玩電腦游戲時(shí)或許還能忍受,可戴上 VR 稍微扭頭動(dòng)動(dòng)屏幕圖像就會(huì)一片混濁,卡到?jīng)]法玩……這就是動(dòng)態(tài)模糊。好在卡馬克用異步時(shí)間扭曲(Asynchronous Timewarp)解決了這個(gè)難題,就是直接修改圖像渲染參數(shù)來生成中間幀,從而能讓圖像的幀率跟得上屏幕本身的刷新率:
“理論上,異步時(shí)間扭曲允許你把一個(gè) 30fps 的游戲升級到 60fps,以更好地匹配屏幕 60Hz 的刷新率。”
▲異步時(shí)間扭曲(Asynchronous Timewarp)
這就解決了虛擬現(xiàn)實(shí)難以推廣起來的一大障礙。而今,不論是做顯卡的 AMD、Nvidia,還是對手 HTC 的 Vive 都在使用卡馬克的這個(gè)方法來規(guī)避當(dāng)前芯片技術(shù)整體計(jì)算水平上的局限。
搞定三星
對于虛擬現(xiàn)實(shí),卡馬克認(rèn)為移動(dòng)版的 Oculus 會(huì)是未來,這就是為什么他會(huì)看上跟三星合作的 Gear VR 項(xiàng)目,這一點(diǎn)也正是他下定決心離開為之奮斗20多年的 id 軟件的原因。
不過,跟三星合作的前幾個(gè)月卻是困難重重。由于大公司的官僚作風(fēng),卡馬克遲遲拿不到三星手機(jī)前置緩沖區(qū)(front buffer)的訪問權(quán)限,盡管他反復(fù)給三星寫過長篇大論的郵件來解釋這一點(diǎn)的重要性。
意識到三星的人理解不到要點(diǎn),卡馬克索性直接黑了這部手機(jī),并把做出來的效果拿給三星負(fù)責(zé)驅(qū)動(dòng)的人看,對方終于能理解到點(diǎn)子上了:
“噢,天哪!這么做太糟糕了……”
▲黑掉這臺(tái) Note 4 吧
這一招很管用。前置緩沖渲染能讓他們減掉兩幀的延遲,而那非常重要!
看到這樣做的真正效果后,三星不僅欣然接受,還特地寫出合適的程序接口來交給卡馬克一個(gè)正式的權(quán)限,并開始提供合作預(yù)期之外中的一些便利,因?yàn)樗麄兠靼琢丝R克的建議將會(huì)帶來真正的改進(jìn)。
而這場合作的成果,可不僅僅是三星得以用 Oculus 的技術(shù)來生產(chǎn) Gear VR,Oculus 也終于能讓三星來為 Rift 產(chǎn)品生產(chǎn)專門的 OLED 顯示屏。
盡管這次合作的過程一波三折,但與多年前的坎坷經(jīng)歷相比,已能算相當(dāng)順暢了。
那要回到1990年,當(dāng)時(shí) PC 機(jī)的性能不僅比不上蘋果機(jī),就連街機(jī)和任天堂的游戲機(jī)都比不上。很多人都想把任天堂的《超級瑪麗》移植到電腦上,可難點(diǎn)在于超級瑪麗每移動(dòng)一下就要重新繪制整個(gè)背景。盡管游戲背景上只有幾片“白云”,電腦還是要繪制整片“天空”。
這時(shí)卡馬克寫了一段代碼,“欺騙”電腦認(rèn)為白云就是整個(gè)屏幕,這樣藍(lán)色的天空背景不動(dòng),直接繪制白云就好了。
緊接著,連續(xù)工作72小時(shí),卡馬克他們一個(gè)像素不差地移植了《超級瑪麗3》,并滿懷希望的寄給了任天堂。幾周后,他們收到了任天堂的“親切”答復(fù):
“小伙子們,干得不錯(cuò),但我們對 PC 機(jī)沒有任何興趣。”
現(xiàn)在的虛擬現(xiàn)實(shí)設(shè)備與手機(jī)相比,就像當(dāng)年的 PC 機(jī)與游戲機(jī)。不同的是,如今的三星顯然要比任天堂更明白如何去跟上“時(shí)代”的步伐。
打開《我的世界》
除了基本技術(shù)上的進(jìn)步,虛擬現(xiàn)實(shí)現(xiàn)在更缺的就是內(nèi)容了。
不知道是不是為了彌補(bǔ)當(dāng)年移植主機(jī)游戲的遺憾,卡馬克將《吃豆人》《刺猬索尼克》這樣的街機(jī)游戲帶進(jìn)了虛擬現(xiàn)實(shí),這便是 Oculus Arcade。
同時(shí),為了讓人們在虛擬現(xiàn)實(shí)中可以體驗(yàn)到 IMAX 般的觀影效果,卡馬克還親自幫 Netflix 把 Netflix Living Room 帶進(jìn)虛擬現(xiàn)實(shí)。
不過,要說卡馬克最想要的,那還要數(shù)《我的世界》……卡馬克認(rèn)為它是目前虛擬現(xiàn)實(shí)里面最最重要的游戲,沒有之一。
▲風(fēng)靡世界的游戲《我的世界》
然而,《我的世界》創(chuàng)始人 Markus 卻非常反感 Facebook,并在 Twitter 上公開拒絕了他。
▲Markus 說 Facebook 讓我毛骨悚然
可卡馬克并沒有就此放棄。后來 Markus 的態(tài)度也有所軟化,卻最終把《我的世界》以 25 億美元的價(jià)格賣給了微軟。于是,卡馬克只好直接接觸微軟:
“我不會(huì)向你要求任何東西,只要讓我們?nèi)L試就行,讓我來嘗試把它做成一個(gè) VR 的游戲……我非常有信心把它做成一個(gè)很酷的東西,所以你們的任何要求我都能同意。”
微軟沒有任何理由拒絕掉這樣的提議,但 Oculus 的律師卻十分擔(dān)心卡馬克是白白在為微軟做嫁衣。
可卡馬克極力堅(jiān)持這個(gè)做法,因?yàn)檫@是他現(xiàn)在能為虛擬現(xiàn)實(shí)做到的最好的事情:
“這是我們?yōu)樘摂M現(xiàn)實(shí)所能做出來的唯一最為重要的應(yīng)用,它將確保我們獲得一批狂熱、忠誠的支持者群體來告訴人們虛擬現(xiàn)實(shí)為什么能這么棒。”
▲卡馬克宣布我搞定《我的世界》了
而《我的世界》之于虛擬現(xiàn)實(shí)的重要程度,該行業(yè)的著名先驅(qū)人物杰倫·拉尼爾(Jaron Lanier)則想到的更多:
“每當(dāng)一個(gè)全新的平臺(tái)誕生時(shí),開創(chuàng)新經(jīng)濟(jì)模式的方法亦隨之改變……現(xiàn)在啟動(dòng)一個(gè)虛擬現(xiàn)實(shí)行業(yè)平臺(tái)的要點(diǎn)在于,我們可以……(創(chuàng)建一個(gè))極其簡單、便捷的小額支付世界,在那里每一個(gè)人都是真正平等的,每一個(gè)人都會(huì)是買家和賣家,每一個(gè)人都是一等公民……再讓我們看看這將會(huì)發(fā)生什么奇跡。那可能會(huì)很偉大!……關(guān)鍵是你確實(shí)需要付出相當(dāng)?shù)呐徒承牟拍茏龀龊脰|西,做出一個(gè)像《我的世界》那樣美好的世界……”
相應(yīng)的,回想起當(dāng)年卡馬克與微軟之間的交鋒,其實(shí)會(huì)有這樣一種感覺——“出來混,遲早是要還的”。
▲比爾·蓋茨:不要打斷我說話
那還是《毀滅戰(zhàn)士》最為火爆的年頭,一心想用多媒體這個(gè)賣點(diǎn)來推廣 Win 95 蓋茨打起了這款游戲的主意。誠然,《毀滅戰(zhàn)士》確實(shí)是展現(xiàn) Win 95 多媒體屬性的最佳應(yīng)用。
只是還沒等比爾·蓋茨開口去收購,卡馬克就下手從微軟挖走了一員正在為下一代系統(tǒng)準(zhǔn)備技術(shù)的大將?;剡^神來的微軟只好去求 id 幫忙,幫忙把《毀滅戰(zhàn)士》移植到 Win 95 上來替微軟吸引用戶,而 id 的回應(yīng)則是:卡馬克現(xiàn)在沒空。
鎩羽而歸的微軟反過來提議:由微軟自己來把《毀滅戰(zhàn)士》移植過來,id 軟件連一根手指頭都不用動(dòng),收益仍全歸 id 所有??R克沒有理由拒絕。最后由微軟出資為《毀滅戰(zhàn)士》Windows 版所舉行的“審判日”發(fā)布活動(dòng)上,比爾·蓋茨還化身游戲中的一名角色來宣傳視頻中搞怪(上圖)……微軟甚至還在 Excel 95 軟件內(nèi)精心布置了一枚來自《毀滅戰(zhàn)士》的彩蛋。
以后的結(jié)果正是,不惜血本的微軟確實(shí)成為了 PC 游戲平臺(tái)無可爭議的霸主。
內(nèi)置位置追蹤:繼續(xù)挑戰(zhàn)虛擬現(xiàn)實(shí)技術(shù)
至于 id 團(tuán)隊(duì)卡馬克他們的高冷,反感微軟的公司文化只是一方面,最關(guān)鍵一點(diǎn)在于卡馬克當(dāng)時(shí)確實(shí)很忙——忙著開發(fā)《雷神之錘》,同時(shí)再把 3D 游戲的技術(shù)帶上一個(gè)新的高度。
而新的挑戰(zhàn)意味著新的難題,一心求解難題的卡馬克自然是想到了他自學(xué) 3D 技術(shù)所用的書的作者——計(jì)算機(jī)圖形學(xué)界泰斗邁克爾·亞伯拉什(Micheal Abrash),如今 Oculus 的首席科學(xué)家,也就是前面提過的那員微軟大將。
得知此事后,比爾·蓋茨給出優(yōu)厚的條件力勸亞伯拉什不要跳槽。不過在蓋茨和卡馬克之間,亞伯拉什毅然選擇了陪同卡馬克一同去創(chuàng)造歷史,因?yàn)樗M趫D形技術(shù)即將取得革命性突破的時(shí)刻,自己是置身其中親自參與的。而后來卡馬克離開他一手創(chuàng)辦的 id 軟件加入 Oculus,大抵也是同樣的考慮。
但亞伯拉什比較顧慮的一點(diǎn)則是:每一次在做完一個(gè)項(xiàng)目后,自己還能否百尺竿頭更進(jìn)一步??R克卻能非常有信心地回應(yīng):
“我從沒懷疑過,嗯”
確實(shí),當(dāng)前的卡馬克又在挑戰(zhàn)一項(xiàng)新的高度:為 Gear VR 開發(fā)一項(xiàng)內(nèi)置的位置追蹤技術(shù)。
想象一下,只需為 Gear VR 裝上立體攝像頭,再輔以卡馬克風(fēng)騷的算法,你的頭顯就能立刻感知并計(jì)算外部世界的變動(dòng)……這意味著你再也不用像 HTC Vive 那樣只能在固定的房間體驗(yàn)虛擬現(xiàn)實(shí),而是可以自由地探索虛擬世界的全部,想去哪就去哪。
▲網(wǎng)友腦洞可以自由走動(dòng)的虛擬現(xiàn)實(shí)
盡管這一技術(shù)還有一大堆的技術(shù)細(xì)節(jié)有待搞定,卡馬克表示他有信心解決好這些問題,并決定把接下來幾個(gè)月的時(shí)間都安排在該問題上。
他已經(jīng)認(rèn)定了移動(dòng)版的虛擬現(xiàn)實(shí)才會(huì)是真正的未來。
唯一的問題:為什么他能夠如此高產(chǎn)?
我們每個(gè)人都會(huì)想著一個(gè)能長期跟其他人長期討論的“寶貝想法”,而惟有Carmack這樣的人卻在持續(xù)不斷地把這些“寶貝想法”變成現(xiàn)實(shí)。為何他總是能一次又一次地完成看似不可能的挑戰(zhàn)呢?
去年在 Facebook 內(nèi)部的一場演講中,他討論到了這事,其中最關(guān)鍵的一點(diǎn)是要“反脆弱”:
一旦有了一個(gè)想法,你就要試著打敗它。這一過程中你將產(chǎn)生出更多的想法來取代先前失敗的主意,因?yàn)槟銥楦嗟南敕ǖ恼Q生空出了思維上的空間。而且,你已有的想法將會(huì)變得更為強(qiáng)大,因?yàn)樗鼈兺ㄟ^了重重考驗(yàn)。
讀到這里,如果你仍舊意猶未盡的話,可以繼續(xù)來讀讀這篇以卡馬克的思維來分析卡馬克的“游戲黑客之道”;如果你對“反脆弱”的想法更有興趣的話,可以進(jìn)一步來讀“卡馬克論想法的更迭”這篇。
Geek's view
當(dāng)然,卡馬克最能觸動(dòng)我的還是他在 .plan 日志中寫下的這句話:
在這個(gè)信息時(shí)代,客觀障礙已不復(fù)存在,所謂障礙都是主觀上的。如果你想動(dòng)手開發(fā)什么全新的技術(shù),你不需要幾百萬美元的資金,你只需要在冰箱里放滿比薩和可樂,再有一臺(tái)便宜的計(jì)算機(jī),和為之獻(xiàn)身的決心。
▲當(dāng)年說這句話的時(shí)候的他,隨便感受一下吧
“你就可以達(dá)到任何你期望的編程境界。”





