一个能让「盖茨」和「马斯克」都羡慕嫉妒恨的人
他是比尔·盖茨眼中为数不多的电脑天才,还会在 Twitter 上替“钢铁侠”马斯克琢磨几个小时猎鹰火箭着陆失败的原因,而后竟能引得马斯克也浮想联翩:
“哥,既然您这么喜欢火箭,干脆来我这儿咱们一块去火星吧!”
▲马斯克邀请卡马克一块搞火箭
结果这人却无情地熄掉了“钢铁侠”心中刚刚燃起的希望之火:火箭只是哥的后备计划,哥现在还有更重要的事要忙……
这位大神便是约翰·卡马克(John Carmack),3D 游戏的祖师爷,id 软件和犰狳航天的创始人,如今虚拟现实公司 Oculus VR 的 CTO。
对于卡马克来说,玩火箭只不过是改装汽车一样的业余爱好,虚拟现实才是他真正的“星辰大海”。从《危险的戴夫》到《德军总部 3D》,从《毁灭战士》到《雷神之锤》……从 Oculus Rift 到 Gear VR,再从《毁灭战士3:BFG》到虚拟现实版《我的世界》……他一步一步不断在接近自己心目中的那个圣杯。
虚拟现实的初心
尽管远在开发 3D 游戏引擎的早期,卡马克就是受到《星际迷航》的“全息甲板(Holodeck)”、《雪崩》小说的“超元域(Metaverse)”等虚拟现实概念的影响。但 3D 游戏还远不是虚拟现实,最多不过是虚拟现实进程中的一小步而已。
直到2012年4月,等卡马克看到 MTBS3D 论坛上帕尔默·拉奇(Palmer Luckey)所发的 Oculus Rift 原型机的帖子时,大神着实兴奋了一把——这才是虚拟现实应有的样子嘛!于是他赤膊上阵,亲手改进原型机早期的不足之处,并进一步改写《毁灭战士3》代码来为一个初出茅庐的小伙子做内容。而在随后的 E3 游戏展,卡马克更是主动召集媒体来演示这台尚在襁褓中的 Rift 原型机,以重新点燃整个技术圈对于虚拟现实的热情。
▲卡马克在 2012 E3 上展示 Rift 原型机
早在 22 岁的时候,卡马克就做出了世界上第一款 3D 电脑游戏:《德军总部 3D》。要知道在那个 386、486 的年代,流畅地绘制 3D 图像可不是件容易的事。3D 游戏运行很慢的一个重要原因是需要绘制的物体太多,CPU 运算不过来。卡马克独辟蹊径的使用了“射线追踪”算法,剔除掉视野外的物体,结合削减多边形、动态缩放这些技术,终于能创造出一个流畅的三维世界。后来的《毁灭战士》和《雷神之锤》系列游戏不仅风靡全球,也成为整个行业的标杆。据说最初的显卡之所以能被发明出来,就是有人想要玩好《毁灭战士》。而其后的版本更新,就连 Windows 都要先来打听卡马克打不打算支持。
▲德军总部 3D
如今虚拟现实行业的一开始,同样要受限于计算能力的不足,60Hz 液晶屏上最多维持住 30fps 的图像,在玩电脑游戏时或许还能忍受,可戴上 VR 稍微扭头动动屏幕图像就会一片混浊,卡到没法玩……这就是动态模糊。好在卡马克用异步时间扭曲(Asynchronous Timewarp)解决了这个难题,就是直接修改图像渲染参数来生成中间帧,从而能让图像的帧率跟得上屏幕本身的刷新率:
“理论上,异步时间扭曲允许你把一个 30fps 的游戏升级到 60fps,以更好地匹配屏幕 60Hz 的刷新率。”
▲异步时间扭曲(Asynchronous Timewarp)
这就解决了虚拟现实难以推广起来的一大障碍。而今,不论是做显卡的 AMD、Nvidia,还是对手 HTC 的 Vive 都在使用卡马克的这个方法来规避当前芯片技术整体计算水平上的局限。
搞定三星
对于虚拟现实,卡马克认为移动版的 Oculus 会是未来,这就是为什么他会看上跟三星合作的 Gear VR 项目,这一点也正是他下定决心离开为之奋斗20多年的 id 软件的原因。
不过,跟三星合作的前几个月却是困难重重。由于大公司的官僚作风,卡马克迟迟拿不到三星手机前置缓冲区(front buffer)的访问权限,尽管他反复给三星写过长篇大论的邮件来解释这一点的重要性。
意识到三星的人理解不到要点,卡马克索性直接黑了这部手机,并把做出来的效果拿给三星负责驱动的人看,对方终于能理解到点子上了:
“噢,天哪!这么做太糟糕了……”
▲黑掉这台 Note 4 吧
这一招很管用。前置缓冲渲染能让他们减掉两帧的延迟,而那非常重要!
看到这样做的真正效果后,三星不仅欣然接受,还特地写出合适的程序接口来交给卡马克一个正式的权限,并开始提供合作预期之外中的一些便利,因为他们明白了卡马克的建议将会带来真正的改进。
而这场合作的成果,可不仅仅是三星得以用 Oculus 的技术来生产 Gear VR,Oculus 也终于能让三星来为 Rift 产品生产专门的 OLED 显示屏。
尽管这次合作的过程一波三折,但与多年前的坎坷经历相比,已能算相当顺畅了。
那要回到1990年,当时 PC 机的性能不仅比不上苹果机,就连街机和任天堂的游戏机都比不上。很多人都想把任天堂的《超级玛丽》移植到电脑上,可难点在于超级玛丽每移动一下就要重新绘制整个背景。尽管游戏背景上只有几片“白云”,电脑还是要绘制整片“天空”。
这时卡马克写了一段代码,“欺骗”电脑认为白云就是整个屏幕,这样蓝色的天空背景不动,直接绘制白云就好了。
紧接着,连续工作72小时,卡马克他们一个像素不差地移植了《超级玛丽3》,并满怀希望的寄给了任天堂。几周后,他们收到了任天堂的“亲切”答复:
“小伙子们,干得不错,但我们对 PC 机没有任何兴趣。”
现在的虚拟现实设备与手机相比,就像当年的 PC 机与游戏机。不同的是,如今的三星显然要比任天堂更明白如何去跟上“时代”的步伐。
打开《我的世界》
除了基本技术上的进步,虚拟现实现在更缺的就是内容了。
不知道是不是为了弥补当年移植主机游戏的遗憾,卡马克将《吃豆人》《刺猬索尼克》这样的街机游戏带进了虚拟现实,这便是 Oculus Arcade。
同时,为了让人们在虚拟现实中可以体验到 IMAX 般的观影效果,卡马克还亲自帮 Netflix 把 Netflix Living Room 带进虚拟现实。
不过,要说卡马克最想要的,那还要数《我的世界》……卡马克认为它是目前虚拟现实里面最最重要的游戏,没有之一。
▲风靡世界的游戏《我的世界》
然而,《我的世界》创始人 Markus 却非常反感 Facebook,并在 Twitter 上公开拒绝了他。
▲Markus 说 Facebook 让我毛骨悚然
可卡马克并没有就此放弃。后来 Markus 的态度也有所软化,却最终把《我的世界》以 25 亿美元的价格卖给了微软。于是,卡马克只好直接接触微软:
“我不会向你要求任何东西,只要让我们去尝试就行,让我来尝试把它做成一个 VR 的游戏……我非常有信心把它做成一个很酷的东西,所以你们的任何要求我都能同意。”
微软没有任何理由拒绝掉这样的提议,但 Oculus 的律师却十分担心卡马克是白白在为微软做嫁衣。
可卡马克极力坚持这个做法,因为这是他现在能为虚拟现实做到的最好的事情:
“这是我们为虚拟现实所能做出来的唯一最为重要的应用,它将确保我们获得一批狂热、忠诚的支持者群体来告诉人们虚拟现实为什么能这么棒。”
▲卡马克宣布我搞定《我的世界》了
而《我的世界》之于虚拟现实的重要程度,该行业的著名先驱人物杰伦·拉尼尔(Jaron Lanier)则想到的更多:
“每当一个全新的平台诞生时,开创新经济模式的方法亦随之改变……现在启动一个虚拟现实行业平台的要点在于,我们可以……(创建一个)极其简单、便捷的小额支付世界,在那里每一个人都是真正平等的,每一个人都会是买家和卖家,每一个人都是一等公民……再让我们看看这将会发生什么奇迹。那可能会很伟大!……关键是你确实需要付出相当的努力和匠心才能做出好东西,做出一个像《我的世界》那样美好的世界……”
相应的,回想起当年卡马克与微软之间的交锋,其实会有这样一种感觉——“出来混,迟早是要还的”。
▲比尔·盖茨:不要打断我说话
那还是《毁灭战士》最为火爆的年头,一心想用多媒体这个卖点来推广 Win 95 盖茨打起了这款游戏的主意。诚然,《毁灭战士》确实是展现 Win 95 多媒体属性的最佳应用。
只是还没等比尔·盖茨开口去收购,卡马克就下手从微软挖走了一员正在为下一代系统准备技术的大将。回过神来的微软只好去求 id 帮忙,帮忙把《毁灭战士》移植到 Win 95 上来替微软吸引用户,而 id 的回应则是:卡马克现在没空。
铩羽而归的微软反过来提议:由微软自己来把《毁灭战士》移植过来,id 软件连一根手指头都不用动,收益仍全归 id 所有。卡马克没有理由拒绝。最后由微软出资为《毁灭战士》Windows 版所举行的“审判日”发布活动上,比尔·盖茨还化身游戏中的一名角色来宣传视频中搞怪(上图)……微软甚至还在 Excel 95 软件内精心布置了一枚来自《毁灭战士》的彩蛋。
以后的结果正是,不惜血本的微软确实成为了 PC 游戏平台无可争议的霸主。
内置位置追踪:继续挑战虚拟现实技术
至于 id 团队卡马克他们的高冷,反感微软的公司文化只是一方面,最关键一点在于卡马克当时确实很忙——忙着开发《雷神之锤》,同时再把 3D 游戏的技术带上一个新的高度。
而新的挑战意味着新的难题,一心求解难题的卡马克自然是想到了他自学 3D 技术所用的书的作者——计算机图形学界泰斗迈克尔·亚伯拉什(Micheal Abrash),如今 Oculus 的首席科学家,也就是前面提过的那员微软大将。
得知此事后,比尔·盖茨给出优厚的条件力劝亚伯拉什不要跳槽。不过在盖茨和卡马克之间,亚伯拉什毅然选择了陪同卡马克一同去创造历史,因为他希望在图形技术即将取得革命性突破的时刻,自己是置身其中亲自参与的。而后来卡马克离开他一手创办的 id 软件加入 Oculus,大抵也是同样的考虑。
但亚伯拉什比较顾虑的一点则是:每一次在做完一个项目后,自己还能否百尺竿头更进一步。卡马克却能非常有信心地回应:
“我从没怀疑过,嗯”
确实,当前的卡马克又在挑战一项新的高度:为 Gear VR 开发一项内置的位置追踪技术。
想象一下,只需为 Gear VR 装上立体摄像头,再辅以卡马克风骚的算法,你的头显就能立刻感知并计算外部世界的变动……这意味着你再也不用像 HTC Vive 那样只能在固定的房间体验虚拟现实,而是可以自由地探索虚拟世界的全部,想去哪就去哪。
▲网友脑洞可以自由走动的虚拟现实
尽管这一技术还有一大堆的技术细节有待搞定,卡马克表示他有信心解决好这些问题,并决定把接下来几个月的时间都安排在该问题上。
他已经认定了移动版的虚拟现实才会是真正的未来。
唯一的问题:为什么他能够如此高产?
我们每个人都会想着一个能长期跟其他人长期讨论的“宝贝想法”,而惟有Carmack这样的人却在持续不断地把这些“宝贝想法”变成现实。为何他总是能一次又一次地完成看似不可能的挑战呢?
去年在 Facebook 内部的一场演讲中,他讨论到了这事,其中最关键的一点是要“反脆弱”:
一旦有了一个想法,你就要试着打败它。这一过程中你将产生出更多的想法来取代先前失败的主意,因为你为更多的想法的诞生空出了思维上的空间。而且,你已有的想法将会变得更为强大,因为它们通过了重重考验。
读到这里,如果你仍旧意犹未尽的话,可以继续来读读这篇以卡马克的思维来分析卡马克的“游戏黑客之道”;如果你对“反脆弱”的想法更有兴趣的话,可以进一步来读“卡马克论想法的更迭”这篇。
Geek's view
当然,卡马克最能触动我的还是他在 .plan 日志中写下的这句话:
在这个信息时代,客观障碍已不复存在,所谓障碍都是主观上的。如果你想动手开发什么全新的技术,你不需要几百万美元的资金,你只需要在冰箱里放满比萨和可乐,再有一台便宜的计算机,和为之献身的决心。
▲当年说这句话的时候的他,随便感受一下吧
“你就可以达到任何你期望的编程境界。”
关注我们的微博:@极客视界V
关注我们的微信号:Geekview