本文的作者约翰·卡马克(John Carmack)是著名的计算机游戏图形学之父,2010 年的 GDC 终身成就奖获得者。作为天才的程序员,他几乎一手完成了早期 3D 游戏引擎的核心基础,FPS 类游戏的开山鼻祖《德军总部 3D》以及《半条命》、《荣誉勋章》等游戏都是在他的引擎下开发的。

而且作为 ID Software 公司的创始人之一,他曾经与史蒂夫·乔布斯有过多次合作。本文中,他分享了自己与乔布斯共事过程中的有趣故事。

约翰·卡马克(John Carmack)

以下为正文:

我的妻子曾经问我:“当史蒂夫乔布斯想要和你合作时,你总是立即放下手中的事情积极配合他。但是换作其他人,你却不曾像这样主动和热情过。这是为什么呢?"

我自己倒是没有注意过这个问题,不过这其中的原因的确值得思考!

我曾是一名忠实的苹果电脑粉丝,乔布斯和沃兹是我最为敬佩的偶像和传奇,拥有 Apple 2 一直是我年少时的梦想。当我在电脑展会上看到 NeXT 的电脑时大感震惊,它太炫酷了,激动的心情不亚于卖出我的第一个商业软件。但是它售价一万美金,太贵了!

后来,ID Software 公司通过《指挥官基恩》和《德军司令部》两款游戏大获成功,这时候我有钱了。于是我进行了人生中的第一笔重大采购,我没有买汽车,而是购买了 NeXT 电脑。事实证明,这台电脑对我们的软件开发具有重大价值,之后我把整个公司的开发工作都移到了 NeXT 电脑上。

我们非常喜欢 NeXT 电脑,并且我们希望《毁灭战士》游戏启动过程中打出“这款游戏使用 NeXT 电脑开发”的标语。我们向 NeXT 公司表达了这个想法,但是被拒绝了。

《毁灭战士》这款游戏推出之后迅速走红,我们听说乔布斯已经改变了主意,并且很高兴用我之前的方式来宣传 NeXT 品牌,但遗憾的是为时已晚。不过,通过与乔布斯的邮件交流,我感觉到了他的个人魅力。

后来我才慢慢意识到,其实乔布斯个人并不是很欣赏游戏,并且认为游戏对他的产品来说也没什么帮助。

之后苹果公司收购了 NeXT 公司,乔布斯也重回苹果掌权。看到这个消息我非常兴奋,我相信苹果公司在乔布斯的带领下必将重现辉煌。

我被苹果公司邀请探讨游戏的总体需求,我当时强烈推荐苹果公司采用 OpenGL 作为他们的 3D 图形 API。然而乔布斯却有不同的看法,我们产生了争论。

他的一些做法在我看来是藐视当今潮流的,我对此表达了不同意见。我认为他们可能是务实的,但实际上并不好。而乔布斯则反驳道:“我有皮克斯公司。我们会做出一些实际上很好的 API。”

这往往令我感到沮丧,因为他即使是谈论错误的事情都充满自信。比如视频卡的内存价格以及 AltiVec 扩展可利用的系统带宽量。

史蒂夫一旦下定决心,那就非常坚决并且有绝对的权威。规则开始制定,全公司都要遵守,主题演讲立即提上日程,以前被认为不可思议的想法最终都能变成现实。

我认为这是我对这个行业最大的间接影响之一。OpenGL 从未威胁到 PC 上的 D3D,但这对于苹果来说至关重要,这意味着当移动设备开始采用 GPU 时,它仍然是明智的选择。虽然有点事后诸葛亮,但我不得不说,如果在移动时代的初期有更多的半导体供应商能够推出自己的 API,那么我们将会获得更大成功。

我和乔布斯一起做了几个主题演讲,我们并没有足够的时间来准备,就像消防演习一样紧迫,然而这仍然需要很多人付出巨大的努力才能取得成功。我认为演讲也是乔布斯思想和行为的重要部分。

关于乔布斯的演讲,我的第一印象是他抱怨演讲场地,他认为舞台非常糟糕,无法很好地展示新款 Mac 的效果,他对此非常不满意。他的抱怨有理有据,他通过对细节的极致追求来弥补了场地的缺憾,最终还是奉献出了一场高质量的演讲。

有一次,我的妻子,当时还是未婚妻,和我一起在苹果公司会见乔布斯,他希望我做一个主题演讲,而演讲的日期正好和我们的婚礼是同一天。他面带微笑,用温和的目光注视着我们,他建议我们为演讲让步并推迟婚礼时间。我们拒绝了,但他一直紧追不舍。最后,我的妻子非常坚决地拒绝了他。乔布斯明白事情无法扭转,态度立马变得冰冷。而最终,我也没有做那个主题演讲。

当我在日本准备一个《毁灭战士3》技术演示的演讲时,我发现和苹果公司的经理打交道非常困难,因为他们坚持要我更改演示,理由是乔布斯不喜欢血腥的游戏。我知道《毁灭战士3》这款游戏不符合乔布斯的口味,但实际上它并不是本次演讲的关键点。

我和苹果公司的经理一起去询问乔布斯的意见。乔布斯当着所有人的面说到:“我相信你,约翰,尽管按照你自己的想法去做吧。” 之后的很长一段时间,任何人都没有对我提过异议。

后来我和妻子开始为功能手机开发游戏,我多次向乔布斯建议苹果公司如果开发手机将会是一件非常炫酷的事情。每当有传闻称苹果可能正在研发手机时,我都会向他提出我的建设性意见。有一次他星期天突然给我来电话询问一个问题,然后我们进行了非常深入的交流和探讨。

当 iPhone 面世的时候,我非常兴奋。它有一个巨大的真彩显示屏和 GPU!我们可以用它来做很多神奇的事情!

在之后的一次演讲中,我先出场,我主要在 Mac 上展示了新的 ID Tech 5渲染引擎,随后乔布斯在他的演讲中首次提到 iPhone 的应用程序开发。当他谈到 Web App 时,我整个人直接炸了。

当大多数观众退场之后,我们一群人聚集在舞台前面,我迫不及待地发表了自己的意见,认为 Web App 非常糟糕,它无法充分利用设备的资源。只有原生的 App 才能支持丰富的功能。

乔布斯用他之前经常说的一句话回应道:“不好的应用程序可能会降低手机基站性能。” 我讨厌这句话。他本可以直接说“我们还没有准备好”,这样我就不会那么反感。

我做了一些猜测,觉得 iPhone 的硬件和操作系统应该为原生应用程序提供了充分的保护。我指着一位附近的工程师说:“你现在有没有 MMU 和进程隔离?” 他吃惊地看着我并最终给了我肯定的回复。

我之前就对乔布斯说过操作系统需要提供安全性保障,这比手机更重要,如果苹果不能提供足够的安全性,那么他们就会遇到更大的问题。他回过头来说:“约翰,你是一个聪明的人,你为什么不写一个新的操作系统呢?” 这让我很尴尬。

对此我深感失望,便发表了一些评论,这些评论被媒体报道出来,然而乔布斯还是不以为然。

乔布斯“英雄和傻瓜”模式的切换像过山车一样频繁,经过了很长一段时间的得意之后,我现在来到了低谷。有人告诉我,乔布斯明确表示在他们最终准备好之前禁止我访问早期的 iPhone SDK。

我最终写了几个成功的 iPhone 应用程序,这些应用程序因为 32 位系统的废弃而失效,这让我很难过,我在苹果公司内部拥有很多强大的盟友,但是我和乔布斯的关系闹得很僵。

Rage 是我基于 iOS 开发的最后一款产品,我认为它为移动设备的视觉丰富性设立了新的标杆,此外它还支持一些其他全新的功能,例如电视输出。我听说它在苹果内部很受欢迎。

之后正当我在一次发布会后进行汇报工作时,我接到了一个电话,由于太忙就没接。过来几分钟有人进来对我说乔布斯会打电话给我,这让我大为震惊。

每个人都对我笑着说:“你居然挂了乔布斯的电话”,但那竟然是我最后一次与他交流。

随着公众报道称他的健康状况极度恶化,我给他发了几封邮件,试图说一些有意义并且积极的事情,但我并没有把这些事情完成得太好,我对此感到很遗憾。

他虽然有许多臭名昭著的负面性格特征,但他对我来说更多是积极和正面的影响。感谢我的生命里有他!

乔布斯往事:游戏之神卡马克眼中的“英雄和傻瓜”相关推荐

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

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

  2. SDL游戏开发之四-卡马克卷轴

    上一篇实现了瓦片地图的绘制,但是单纯地使用上面的代码还是有些问题的,下面就来讨论一下单纯使用瓦片地图的局限性. 假设游戏的分辨率为960*720,瓦片地图的大小也是960*720,瓦片大小为32,那么 ...

  3. 3D 游戏之父卡马克再创业:“我自己出得起 2000 万美元,但花投资人的钱会更有责任心”...

    整理 | 苏宓 出品 | CSDN(ID:CSDNnews) John Carmack,一代传奇游戏程序员,被誉为 3D 游戏之父. 近日,他在 Twitter 上透露,将再次进行创业,成立了一家新公 ...

  4. 厌倦 Meta 内斗与低效,​传奇大神卡马克愤然离职

    "这是我在 VR 领域十年的结束" 整理 | 何苗 出品 | CSDN(ID:CSDNnews) 上周五,前 Meta CTO.传奇程序员约翰·卡马克(John Carmack) ...

  5. 游戏界的扛把子、3D 游戏之父约翰•卡马克的传奇人生

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

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

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

  7. 传奇工程师卡马克入坑 AI:徒手一周实现反向传播和 CNN

    约翰 · 卡马克是何方神圣? 谁是约翰 · 卡马克? 他是一位集传奇工程师.大神.疯狂程序员.黑客之神.第一人称射击游戏之父.业界活化石.一代玄学码神所有称号为一身的老牌程序员,一举一动都牵动人心. ...

  8. 乔布斯私生女回忆录:我的渣男爸爸Steve Jobs

    原作 远洋重读 ReadAbroad  量子位 授权转载 | 公众号 QbitAI 多年以后,面对我瘦骨嶙峋.病入膏肓的父亲--史蒂夫·乔布斯(Steve Jobs),我会回想起他跟我一起,坐在伦敦公 ...

  9. (转)卡马克卷轴算法研究

    卡马克卷轴算法研究 中文摘要 对于J2ME框架下的手机游戏程序的开发,其地图滚动的重绘有多种算法,由于手机性能的限制和开发周期等其他非技术条件,需要根据情况灵活选择所需的技术.但在及其苛刻条件下,如系 ...

最新文章

  1. 如何评价CVPR 2020年投稿量过万的盛况?
  2. html网页主题结构,HTML5 基本结构
  3. python代码实例sicket_Python socket聊天脚本代码实例
  4. safari的一些问题
  5. ios开发入门资料整理
  6. --.net 面试题2
  7. 白话数据结构之【最小生成树】(转载)
  8. navicat for MySQL连接本地数据库时报1045错误的解决方法
  9. 分类预测 | MATLAB实现LSSVM(最小二乘支持向量机)分类
  10. 【数据结构】【王道】【线性表】单链表的实现及基本操作(带头结点)(可直接运行)
  11. Drillbeach---第三章 Drillbench Hydraulics User Guide
  12. linux下xz文件如何解压,tar.xz文件如何解压
  13. 鼠标移入以及移出时图标背景透明效果
  14. krait和kryo_高通kryo架构还是arm吗
  15. HTML标签----图文详解
  16. 【深度好文】Python图像处理之物体标识与面积测量
  17. 深度学习数学基础——矩阵微分篇
  18. chrome网页加载慢问题
  19. 测试工程师的未来在哪里?迷茫的看过来...
  20. 花生wifi后台管理系统项目日记

热门文章

  1. QT之OpenGL坐标系统
  2. word中利用题注实现公式图表自动编号及引用
  3. android谷歌dns设置在哪,安卓手机怎么设置DNS Android手机修改DNS图文教程
  4. css 中英文换行的相关写法
  5. 记录机器学习练习中不懂的函数
  6. nltk学习之统计词频和分词nltk.word_tokenize nltk.FreqDist
  7. 如何优雅的使用C语言绘制一只小猪佩奇
  8. 【RocketMQ】玩转各种类型的消息
  9. 【本人秃顶程序员】图解分布式架构的演进过程
  10. 计算机点击应用时总是跳到顶端,电脑总是跳出当前应用程序