作者 | 年素清  责编 | 张文

出品 | 程序人生 (ID:coder _life)

约翰•卡马克(John D. Carmack II)是电脑游戏界的传奇人物,你可能没听过这个名字,但你肯定玩过他开发的游戏。

因为太聪明被认为有心理问题而退学

卡马克于 1970 年出生在美国密苏里州,家境优渥,父亲是密苏里州堪萨斯城最大的三家电视台之一的晚间新闻主播,他们一家住在郊外的富人区。卡马克于小学就读于当地最好的学校之一圣母玛利亚天主教小学。

幼时的卡马克养成了一种很独特的口吃习惯,在每句话后面加上简短的类似机器人那样的嗡嗡声,就像一台计算机在处理数据一样:“12 乘以 12 等于 144……嗯嗯……”

卡马克从小就显露出高于同龄人的聪明才智,二年级的时候,只有七岁的他几乎在所有标准化测验里都得到了满分,这相当于九年级的水平。

在就读高中时,卡马克因为他的聪明被认为是“怪才”,甚至因此被学校视为存在心理问题,不得已停课一年。幸运的是复课后,卡马克顺利拿到了毕业证书,并进入堪萨斯州读大学。

辍学加入游戏公司写游戏

上世纪九十年代,正是美国计算机行业高速发展的黄金时代。卡马克靠着自学成才,成功地踏入了编程领域。刚读大一的他已经编写出了许多有趣的小游戏,其中的多款被软件公司看中并买走,他因此成了几家软件公司的兼职程序员,并逐渐在游戏软件领域小有名气。

1990 年,正在读大二的卡马克被一家名为 Softdisk 的软件公司相中,力邀他加入公司一起开发游戏软件。出于对游戏软件的热爱,卡马克毫不犹豫地接受了对方的邀请,并办理了辍学手续。

在 Softdisk,摆在卡马克面前的问题是如何将游戏程序移植到个人电脑上,经过一番考量,他选择了 IBM PC 作为最早的游戏运行平台,游戏软件则采用的是任天堂公司风靡全球的《超级马里奥兄弟 3》。最终开发出了一种名为 EGA(增强型图形适配器,3D 图形加速卡的雏形)的 PC 显示技术,这是一种 16 色的显示模式。

不久后,卡马克又设计出屏幕刷新技术以提高游戏图形显示的速度。

 

自己创业,开发出 3D 射击游戏

一年后,卡马克决定自己创业,他离开 Softdisk,与几个志同道合的伙伴共同创办了大名鼎鼎的 ID Software 游戏公司。在 ID Software 公司里,卡马克领导团队通过一部又一部血腥暴力的作品创造不断革新着游戏类别。

然而,卡马克的野心并不止于此,很快他将目标锁定在了 3D 游戏的研发上。得益于当时的计算机硬件技术已发展到了相当高的水平,高分辨率显示器、大容量硬盘和内存、高速运算的 CPU 和图形加速卡等硬件设备层出不穷,这些都是他实现梦想的良好基础。

1992 年,卡马克与另一个游戏软件天才约翰·罗梅罗(JohnRomero)共同研发出了全球首款 3D 射击游戏《德军总部(Wolfenstein3D)》,这款 3D 游戏采用了他独创的 3D 游戏引擎。紧接着,他又开发出了《毁灭战士》(Doom)和《雷神之锤》(Quake)两款 3D 游戏。一时间,所有的电脑用户都争相购买这些游戏,玩家们甚至为了能玩上 3D 游戏而去购买昂贵的 PC。不到一年的时间,仅《毁灭战士》就售出了几百万张拷贝,带来了上亿美元的商业利润,彻底改变了电脑游戏产业。

跳槽使得新东家博客系统宕机

2013 年,卡马克正式离开 ID Software,转而加入 Oculus Rift 公司,担任首席技术官一职。

卡马克表示自己对于虚拟现实的梦想已经在幕后酝酿了几十年,现在人与技术终于走到了一起,使其能够触碰到很多潜在的想象,他认为这是技术变革史上的一个里程碑。在 2012 年 6 月的一次采访中,卡马克表示自己正在努力打造一个虚拟现实头戴式装置,并在 2011 年的 E3 大展上花了大量时间来演示《毁灭战士 3》。

而最终使他下定决心全职投入 Oculus 的原因则是“三星的 Gear VR 让我下定决心要集中注意力专注在 Oculus 上。

据说卡马克宣布加入 Oculus 公司的当天,Oculus 官方博客系统宕机,原因是 “一个新成员加入导致的大规模访问行为”。

成立航空航天公司

从 2000 年起,卡马克开始对火箭技术表现出浓厚的兴趣。当他因为游戏公司赚到大笔的钱财之后,决心涉足航空航天领域。

2008 年,卡马克联合美国民用太空的积极推动者、洛杉矶太空前沿基金会创始人里克•特姆林森(Rick temlinson)创立了 Armadillo Aerospace 公司,主要研究宇宙航行技术,并以开发大胆前卫的太空探险项目被外界所知。

2010 年,据俄罗斯媒体报道,美国太空旅游公司太空探险(SpaceAdventures)俄罗斯办公室当天表示,俄罗斯太空旅行第一人欧金尼-科瓦廖夫将于 2012 年被送入太空,观光用太空飞船由 Armadillo Aerospace 设计,在正式载客前会进行 5 到 6 次试飞,该公司现在共收到 200 多份太空旅行申请。

卡马克还带领公司先后参加过几届美国航天局举办的登月挑战赛,但在“可复用亚轨道航空器项目”失败,无法争取到 NASA 的合同后,卡马克不得已于 2013 年放弃了自己投入多年精力的这个私人项目。

成就与地位

作为一名技术天才,卡马克在 3D 领域的贡献奠定了他在电脑游戏行业不可撼动的地位。

卡马克是最早的 3D 引擎开发者,并对此不遗余力地倡导和传播。《雷神之锤》刚刚问世的时候,3D 加速卡在人们眼里还只是一个的空想而已,只有卡马克对 3D 技术的威力深信不疑,他为《雷神之锤》制作了一个专门在 Verite 显卡上运行的特别版本,尽管画面非常漂亮,但 Verite 显卡未能在市场上大获成功。随后卡马克又采用 OpenGL 标准为《雷神之锤》制作了一个新的版本,使所有具备 3D 加速能力的显卡都能以更快的速度、更高的分辨率渲染出更华丽的图像。

到了今天,一些显卡生产商在研发新产品之前甚至会先同卡马克商量一下,以确保他们的硬件可以完美地支持 ID Software 出品的游戏。可以说,卡马克的动向几乎可以改变显卡产业未来的发展方向。

除了 3D 方面的成就外,卡马克还为游戏业带来了许多其它的技术革新,例如网络代码中的客户端侦测、多重纹理、便于修改和可扩展的游戏代码、游戏内部的命令行指令、卷轴游戏背缓冲技术发明者。

开源软件的积极倡导者

和“Linux 之父”李纳斯等人一样,卡马克也是开放源码的积极倡导者。

早在 1995 年,卡马克便放出了德军总部 3D 的源代码,在 1997 年又放出了毁灭战士的代码。1996 年,卡马克将雷神之锤的源代码放到了 Quake 社区,一个名不见经传的程序员将其改写成了 Linux 版本,并将修改后的游戏发给了卡马克。卡马克不但没有认为这是侵权行为然后付诸法律,反而要求 ID Software 的员工们用这个版本作为雷神之锤的 Linux 版。ID Software 在后来的日子里也同样公布了雷神之锤 II 的代码,雷神之锤 III 的代码也于 2005 年 8 月 19 日公布,这些代码的公布全遵循了 GPL 准则。毁灭战士的代码也使用 GPL 准则在 1999 年重新公布。

2012 年,卡马克决定将 ID Software 旗下的所有开源软件全部进驻 GitHub。

把法拉利跑车作为奖品送给游戏胜利者

卡马克在慈善方面毫不吝啬,他曾成立一个以自己名字命名的基金会,主要用来资助他的母校(高中)、开源软件的倡导者、游戏专利的反对者和热心的玩家。

1997 年,卡马克把自己的一辆法拉利跑车作为奖品,赠送给了在一次雷神之锤比赛“赤色全歼(Red Annihilation)”的夺冠者——丹尼斯•方(Dennis Fong)。

参考链接:

https://baike.baidu.com/item/%E7%BA%A6%E7%BF%B0%C2%B7%E5%8D%A1%E9%A9%AC%E5%85%8B/1072333?fromtitle=John%20Carmack&fromid=1290553&fr=aladdin

http://pc.kuai8.com/news/96652.html

https://zhuanlan.zhihu.com/p/91954339

游戏界的扛把子、3D 游戏之父约翰•卡马克的传奇人生相关推荐

  1. 游戏界的“扛把子”,“3D 游戏之父”, 约翰•卡马克的传奇人生

    作者 | 年素清 责编 | 王晓曼 出品 | 程序人生 (ID:coder _life) 约翰•卡马克(John D. Carmack II)是电脑游戏界的传奇人物,你可能没听过这个名字,但你肯定玩过 ...

  2. 3D游戏之父——约翰卡马克

    如果你问比尔.盖茨,"你最欣赏的程序员有哪些?",在他的回答中,肯定会出现John Carmack(卡马克)的名字.没错,John Carmack 在程序员中的崇拜程度,甚至到了无 ...

  3. 3D游戏之父 电玩游戏奇才约翰·卡马克

    约翰·D·卡马克二世(John D. Carmack II,1970年8月20日-),是美国著名的电玩游戏设计开发者.著名的游戏设计公司id Software的创始人之一,id是一家专门开发电子游戏. ...

  4. 23 岁的 Java 成为编程界的扛把子,网友回复:这就是实力

    编程语言界的扛把子 Java,不仅搭载上了如火箭版的更新速度,现在还有意让上车的用户付费买票了,那么身为 Java 开发者,下一步究竟是该弃用 23 年的老牌工具 JDK 还是乖乖付费继续搭载这列车? ...

  5. AI 女性界的“扛把子”,凭一己之力迫使 NIPS 改名

    作者 | 琥珀 出品 | AI科技大本营 "计算机领域其实没有歧视,只是存在性别比例的差异罢了--"如果这种事件不放在台面上说,可能大家就这么想当然的认为了. 或许当你津津有味阅读 ...

  6. 拇指射箭服务器维护,拇指射箭1小游戏:这个拇指射箭3D游戏有点意思,拇指枪王对决...

    原标题:拇指射箭1小游戏:这个拇指射箭3D游戏有点意思,拇指枪王对决 40000+游戏爱好者已加入我们! 每天推荐好玩游戏! 加入我们,沐沐带你发现好游戏! <拇指射箭>游戏小程序好玩吗? ...

  7. 开始利用CSDN做学习笔记,从windows 游戏编程大师技巧和3D游戏编程大师开始

    利用两个月的空余时间将windows 游戏编程大师技巧和3D游戏编程大师技巧看了一遍. 第一遍读的并不深入,代码也没有仔细研究.特别是3D下册,基本只是草草浏览了一遍而已.这一遍是为了对整体有个印象和 ...

  8. 3D休闲游戏夺宝向前冲3D游戏源码H5+安卓+IOS三端源码

    cocos creator3D1.2休闲游戏夺宝向前冲3D游戏源码H5+安卓+IOS三端源码,开发脚本为typeScript方便扩展和阅读,支持cocos creator3D版本,完整的源码可直接运营 ...

  9. AI女性界的“扛把子”,凭一己之力迫使NIPS改名

    作者 | 琥珀 出品 | AI科技大本营 "计算机领域其实没有歧视,只是存在性别比例的差异罢了--"如果这种事件不放在台面上说,可能大家就这么想当然的认为了. 或许当你津津有味阅读 ...

最新文章

  1. 【数据结构】C语言栈的基本操作
  2. php 使用sendgrid api 发送邮件_linux - 使用命令发送邮件
  3. 未声明spire。它可能因保护级别而不可访问_信息系统安全:访问控制技术概述...
  4. SQL Server 分页+json分享
  5. 洛谷 P3244 / loj 2115 [HNOI2015] 落忆枫音 题解【拓扑排序】【组合】【逆元】
  6. 【转】TLB(Translation Lookaside Buffers,TLB)的作用
  7. windows 防火墙疑难解答程序_不用愁!旧程序也能在Win 10系统下顺利运行,这一招很实用...
  8. adrms移动设备扩展插件_如何在所有移动设备上扩展网站
  9. java8模块化_Java9系列第8篇-Module模块化编程
  10. 服务器维修测试工具,goss 简单快捷的服务器测试检验工具
  11. sap供应商主数据表_SAP供应商统驭科目调整操作说明
  12. Jquery实现全选反选和省城市联动效果
  13. 场编码MBAFF相关
  14. 2016-408-计组-有如下c语言程序段
  15. ThinkPHP在前台模板格式化输出时间
  16. 什么软件可以让手机使用免费WiFi上网
  17. Install: pymongo
  18. 全球最专业心理测试软件,据说是全球最准的心理测试
  19. ffmpeg 各版本下载以及在线安装
  20. 0为真1为假C语言,在C语言中0是真还是假?

热门文章

  1. IGMP协议——IP组播之组管理协议
  2. 生活大爆炸之何为光速
  3. ThinkPHP删除指定文件(物理删除)
  4. Linux 命令 (tar,权限,管道)
  5. 三登堂入室-核心编程-01
  6. ansible 之条件语句 when
  7. 【探路者】第六周立会报告5(总第38次)
  8. CUDA程序kernel函数的运行时间限制
  9. C#通信之Socket通信的简单例子
  10. 项目经理修炼手册,泄露章节 ,项目经理需要注意的习惯