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