||
共享代码看起来是应该做的事情
这么做只需要付出很小的代价
却往往可以显著地使很多人受益
...
21世纪每天坐在电脑前的我们
似乎看惯了显示器中以假乱真的画面
无论是游戏里可以让人看清面部绒毛的精细模型
还是完美隐藏在欧美大片儿里的电脑CG特效
使命召唤CG
我们根本无法想象仅仅二十多年前
那个电脑游戏画面不仅赶不上家用游戏机
甚至只能靠文字描述情节和场景的年代
《洞穴深处的冒险》游戏界面
但有一个人偏不信邪
他相信只要自己足够努力地编程与开发
所有技术上的困难都能迎刃而解
他是约翰·卡马克——3D游戏教父、伟大的图形程序员
比尔·盖茨心中为数不多的天才
约翰·卡马克
然而他不仅蹲过监狱,甚至连大学都没念完
...
童年的卡马克就充满着传奇的色彩
小学时他以满分的成绩进入了重点初中的一个天才班
卡马克与终身伴侣(计算机)的初见就在发生在那时
甚至还学习到了一些简单的编程基础
这让卡马克对计算机技术产生了极大的兴趣
但是造化弄人,刚刚找到自己生活的精神寄托
他却因为父母离异而搬到了落后的乡下
从此远离了心爱的计算机和编程
虽然没有电脑也还有编程的书籍可以看
这本《黑客:计算机革命英雄》便是他唯一的朋友
朋友的陪伴不仅没有让卡马克感到安慰
却更激发了他对现实的不满
《黑客:计算机革命英雄》
彼时已立志成为程序员的卡马克
对没有电脑窘境越发感到无奈与恼怒
他心里全是对有电脑的完美生活的向往
于是他下定决心不择一切手段也要弄到一台
卡马克不知从哪里看来了铝热剂的配方
这是一种危险的化学用剂,铝热反应可以产生约2500℃的高温
几乎可以融化生活中绝大部分的物质
自然也包括大学电脑室的玻璃窗户
他竟然要去偷大学新购置的Apple II电脑
当他融开玻璃门触碰到了梦寐以求的电脑
如触电一般,一阵凉意袭来直至脊梁骨
警察的枪已经顶着他后脑勺
原来是卡马克一个超重的同伙触发的警报
为编程崛起而偷窃的少年就被包围了
14岁的花季,卡马克锒铛入狱
入狱时的评估报告中记录下了警官对他极高的评价
“Boy behaves like a walking brain withlegs…no empathy for other human being.”
“这孩子就像是野兽……对别人没有任何同情心”
经过少年之家一年的感化教育,卡马克变得更加的愤世嫉俗
但是依旧成绩优秀,以优秀的成绩考取了密苏里大学
在密苏里大学就读计算机科学专业两个学期后
也许是觉得课程的进度还不如自学来得快
也许是觉得课本的知识缺乏创造力
“为什么你不能给个项目让我们来做?你要什么我就能做出什么!”
卡马克在试卷上留下这样的一句话,便告别了他的大学
约翰·卡马克
辍学后的卡马克加入了一家软件公司
在那里他第一次遇见了比自己还要厉害的程序员罗梅洛
他们惺惺相惜,很快成为了很好的工作伙伴
早就不满足于公司枯燥的工作的他们有了新的想法
他们打算私底下开发自己的游戏
工作中的约翰·卡马克
可是苦于没有资金购买计算机设备
他们便在周五下班后偷偷把公司的电脑装上车
运到他们郊外的房子里
用周末短暂的时间进行游戏开发
直到周日的晚上才把电脑送回公司
假装什么事也没有发生过
卡马克(左)与罗梅洛(右)
虽然这听起来既荒谬又可笑
但他们心中的愉悦就像是代码一样源源不断地涌出
编程和开发就是他们生活所有的娱乐
就这样玩玩乐乐地开发了没多久
卡马克就一举攻破了当时家用游戏机与电脑的最大技术壁垒
横向卷轴滚动系统
经典的超级马里奥就是采用卷轴滚动系统的游戏,卷轴滚动就是在玩家控制角色移动的过程中,场景跟随角色的移动而改变,这意味着角色的每一次移动计算机都需要重新计算生成所有的场景,这对当时计算机的性能来说是不可能的。
卡马克开发出的名为EGA(3D图形加速卡的雏形)的显示技术
完美地在电脑上实现了顺滑的卷轴滚动效果
他用一晚上就复刻了超级马里奥兄弟3的第一关
他们将移植的游戏拿给任天堂寻求合作
但是任天堂完全不在乎家用游戏机以外的平台
游戏巨头任天堂
可卡马克和他的团队也没有气馁
而是下定决心自己创业
成立了日后大红大紫的id Software
发行了完全免费且效果媲美游戏主机的《指挥官基恩》
在这个信息时代,客观障碍已不复存在,所谓障碍都是主观上的。如果你想动手开发什么全新的技术,你不需要几百万美元的资金,你只需要在冰箱里放满比萨和可乐,再有一台便宜的计算机,和为之献身的决心。
id Software全员
作为技术的狂热追逐者
卡马克觉得横版卷轴的方式已经老掉牙了
需要找到更加有冲击力的游戏表现方式
于是在1992年,id Software推出了第一款3D空间效果的游戏
虽然这款《德军总部3D》中的场景并非是真的3D模型
是通过对平面图形的变换实现场景随视角变化的
德军总部3D
但是这款游戏的成功让卡马克真正地打开了3D世界的大门
从此人类发现:原来我们真的可以“身临其境”地把自己融入到游戏场景里面去!
卡马克凭借超强的编程能力不断地完善空间效果
随后发布的《Doom》甚至有了物理效果,阴影效果
要知道当时小霸王才刚刚发售可以玩FC游戏的学习机
《Doom》这款游戏给id Software带来了上千万的收入
Doom
游戏的安装量甚至比当时Windows系统的安装量都要大
就连盖茨在Win95的发布会都演示了这款叹为观止的大作
然而当时id Software整个团队也只有仅仅13人
卡马克只专注于游戏背后的程序框架的开发
他首创的这种程序框架后来被称为游戏引擎
游戏引擎让游戏开发工作量大大降低
如今游戏引擎被广泛采用
经过两代《Doom》的积累,卡马克准备再一次震惊世人
两年的潜心研发,ID Software终于发布了跨时代的《Quake》
这不仅是游戏史上的里程碑,也是计算机史上的革命性飞跃
《Quake》实现了完完全全的3D游戏画面
玩家可以在游戏世界中用任何角度观察世界
可以说《Quake》的诞生开启了计算机的3D革命
《Quake》游戏画面
《Quake》适配了上了当时先进的图形加速卡
能流畅地运行游戏,是许多玩家升级计算机配置的最大动力
这股动力一直延续到了现在
卡马克凭一己之力硬是推动了计算机图形处理的发展
后来图形加速卡渐渐承担了计算机全部的图形处理工作
发展成为我们现在熟悉的独立显卡
“战术核显卡”GTX690
天才卡马克虽然曾经爱着天才乔布斯的Apple电脑
但他却十分痛恨乔布斯那样的专利流氓
所有科学技术,以及文化、知识、理论,都是在前人的基础上发展起来的。去注册一项专利,就等于宣布说:“这个想法是我的想法,你不能使用或扩展它,因为,我‘拥有’这个想法。
因此卡马克积极倡导开源软件
几乎放出了他早期所有作品的源代码
爱好者将Quake移植到各种设备上
源代码的公开震惊了世界
不是因为卡马克的无私
而是因为代码的精妙
在《Quake》使用的引擎底层程序中
其中有一个开根号并取倒数的算法
这个算法效果等同于1/sqrt(x),但速度却快了4倍
直到现在这个算法仍然被大量地使用
约翰·卡马克
算法中有一句:
0x5f3759df 这个神秘的数字以及注释的what the f**k?
让卡马克又平添了几分传奇色彩
后来有数学教授分析研究了很久,尝试了无数次
才找到效果比卡马克算法中更好的数值
卡马克算法
用Quake引擎开发的游戏众多,其中也不乏许多经典
例如《Half Life》(后来衍生出CS系列)以及《荣誉勋章》
所有的第一人称射击游戏几乎都是源自Quake
Half Life半条命游戏画面
不知道是不是科技大佬们都有一颗想飞天的心
功成名就的卡马克在新世纪伊始便搞起了火箭
“不务正业”成立了名为“犰狳火箭”的公司
后来在火箭的嵌入式编程上屡有突破
多次获得了NASA关于月球着陆器项目竞赛的奖项
约翰·卡马克获NASA奖项
曾经站在计算机图形革命风口的卡马克
如今再一次地踏上了另一场革命的浪尖
13年卡马克被邀请至当时还名不见经传的OculusVR担任CTO
他的目的很简单,正如他当年醉心与3D游戏的开发
投身VR同样也是将虚拟世界更好的展示给人们
身为CTO他也不会不懈于基础的工作
为了丰富VR的游戏内容,卡马克几乎是一人将游戏《minecraft》
完整地移植到了Oculus Rift这个VR平台上
Oculus CTO约翰·卡马克
卡马克不遗余力地将我们带入虚拟的世界中
这让我们不禁想问
究竟计算机与现实世界隔了多少个卡马克
这个问题恐怕只有他自己能会回答
由于摩尔定律的规律,某个时间点上要极其聪明的图形程序员才可以做出来的东西,在若干年之后只要能力还可以的程序员就能复制出来。
每个人都有无法实现的梦想
或许是那梦想需要太多时间和金钱
或许是那梦想太过于离谱
或许是那梦想会违反法律
但不管能否实现,它们总盘旋在你脑海里,每一天,让你浮想连翩
这就是为什么会有庞大的游戏产业来实现各种光怪陆离的白日梦
这就是为什么卡马克会努力创造一个虚拟的真实世界
_____________
我们同样热爱科技
对科技未知充满孩子般的好奇
为科技给生活带来的一切改变感到热血沸腾
我们将科技的感性给大家
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 09:35
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社