序言

谈到游戏,

你的当然会想到几乎统治游戏市场多年的英雄联盟,你可能还会想起前段时间风头大盛的王者荣耀手游,你应该还会想起正在冲击着游戏市场的“吃鸡”类型游戏。

那么,

大家是否还记得你玩的第一款电子游戏?

是超级玛丽?是魂斗罗?亦或是其他的什么。

是否还记得电子游戏所呈现给我们的世界?

光怪陆离,多姿多彩,妙趣横生……

无论是何种词语,或许都不足以表达我们初见游戏时的那种心情。

作为一个95后,我记得我玩的第一款游戏是忍者神龟,两人对战的激动心情,依然是历历在目。

多数同我一样,又或者是比我年长的朋友,玩过的游戏似乎数不胜数。

从最开始的超级玛丽等卡带游戏,到后来的家用机上的最终幻想系列,再到现在计算机上的各种类型的游戏。

纵观各行各业,总会有那么一些人是引领这这个行业的发展,以至于到最后对世界产生了极大的影响。

说到游戏行业,始终是绕不过去两个人,两位约翰。

那个年代,没有网易,没有腾讯,没有暴雪,有的只是id software。

两位约翰

约翰罗梅洛,被作者称为“摇滚明星”。他确实如同摇滚明星一般,狂放不羁,才华横溢,还有那一头长发。作为当年不多的编程人员之一,罗梅洛有着他的自负,他甚至在以此程序竞赛时对主办方说:“你们这次程序竞赛的冠军肯定是我,我的程序非常棒,不要再设那个五百元美金的奖金了,你们直接把它给我就好了,还有那个年度奖金,也一起给我吧……”当然,最终的结果是,罗梅洛确实拿到了这笔奖金。

约翰卡马克,被作者称为“火箭科学家”。这源于卡马克年少时的梦想,做一个火箭科学家,同时,他也是一个编程人员。不过,与其说他是一个程序员,说他是一名黑客更为贴切。热爱、专注、创造力、特立独行……这都是卡马克的标签。

最有趣的是书中描写卡马克专注力的文字,罗梅洛等人为了”恶心“一下卡马克,打开了装着黄色影碟的影碟机,并且将声音调到最大,但是这似乎对卡马克没有产生任何的影响,他只是”嗯“了一声,只是”嗯“了一声……

从这两个人在《软盘》相遇的那一刻起,历史注定就会按照这样的进程演进。

两个人一前一后的加入了《软盘》这家计算机游戏杂志社,抱着对游戏的同样的热爱,创造了一个又一个有意思的游戏。后来二者不满足于现状,几乎是没有怎么商量,他们就从《软盘》离职,创建了后来赫赫有名的id software。

id的时代

几乎是在整个90年代还有二十一世纪初的一段时间,id像是游戏行业里的神话一般,而两位约翰,就像是这神话中的上帝。

他们才华横溢,相得益彰。

前期的游戏由二者共同设计,到了中后期,就变成了罗梅洛负责设计,卡马克负责技术。

罗梅洛那天马行空般的大脑,卡马克那禅宗般的图形图像学编程技艺,让二者创造了一款又一款革命性的游戏。

《基恩》系列,二者共同设计,实现了平滑卷轴的效果。

要知道,在当时的那个年代,几乎没有人能够在计算机上实现平滑卷轴的效果,因为这是由计算机的性能决定的,当时的共识是,这只能出现在任天堂运行着超级玛丽的家用机上。但是卡马克的游戏引擎打破了这种共识,随后就像是开了挂的id在游戏行业一路高歌。

二者的性格特点,以及二者的少年时的遭遇,游戏中不可避免的呈现了黑暗、暴力这种元素。这也是后来游戏划分等级的重要因素。

随着《基恩》的成功,两位约翰又无法控制自己体内的洪荒之力了。他们决定开发《德军总部3D》,罗梅洛的丰富的想象力、卡马克浸淫在图形编程的成果,都促使这部游戏的巨大成功。

还有后来的《命运之矛》、《基恩三部曲》等游戏产出,这奠定了id在游戏行业的王者地位。这时候的他们,已经具有了和微软帝国叫板的实力,当然,彼时的微软帝国尚未成型。

有一部游戏,不得不提。

《DOOM》,也就是本书的名字《DOOM启示录》,可以说,这部游戏是FPS游戏的鼻祖,没有这部游戏,就没有后来的CS、穿越获火线等一大批优秀的FPS游戏。这部游戏的影响力,在那个通讯还是相对闭塞的年代,可以说丝毫不弱于如今的英雄联盟。可以想象这部游戏是何等的优秀。

不过二者性格上的差异在后期被无限放大,以至于二者最后分道扬镳。卡马克的一句话总结了这些差异。

”罗梅洛想创建一个帝国,而我只想写出优秀的程序。“

这句话,是二者性格的最好的写照。

获得巨大成功的id,罗梅洛喜欢出入于各种媒体,征求足够的曝光,摇滚明星的本质在这一刻被显得无比真切。

而卡马克在获得了成功之后,他依然能够静下心来写出最好的程序。

他们分道扬镳之后,罗梅洛创建了离子风暴公司,这期间出自罗梅洛本人的只有《大刀》,随后离子风暴被收购,罗梅洛也和他的妻子过上了”采菊东篱下,悠然见南山“的生活;而卡马克在完成了雷神之锤系列的游戏后,2013年退出id,加入了一个vr游戏公司。id公司也渐渐退出了人们的视野。

成为一个真正厉害的人

纵观id的兴衰,我不禁陷入思索。

尽管id的衰败从罗梅洛离开id的那一刻起就是注定的了,但是罗梅洛和卡马克二人所获得的成就的原因,确实是值得我们这些凡人拿来思考的。

  • 第一,热爱

    他们都非常热爱自己的行业,这就像是一座灯塔,指引着黑夜中航行在漫无边际大海中的船只。两位约翰,都是游戏的热爱者,他们几乎付出了自己所有的时间投身在此,如果没有足够的热爱,那么,只能是浅尝辄止,定然没有什么成就。
  • 第二,专注

    二者的专注,在我罗里吧嗦写的一堆文字中可见一斑。卡马克十几年来沉浸在图形编程之中,取得了一个又一个的成就;罗梅洛在设计关卡时的那种一丝不苟、他和卡马克讨论游戏问题时的那种不定如山,不时的大呼小叫……

    这些,无一不彰显了专注的作用,专注,是真正厉害的人的必备品质。

    也许有人会问,你为什么没列个”自律“啊?的确,大家在总结一个厉害的人的时候,都会写上自律,而我对此持有不同的观点。

    如果一个人没有所热爱的,那么很难去专注,也就很难去自律了。盲目的自律,只会让人越来越迷茫(我指的就是这个方向)。

结语

热爱,专注,几乎是一个厉害的人的必备品质。

希望我们都能在这个纷杂的世界中,找到自己热爱的事情,并付之专注,专注得来的自然是自律于努力。

以上,共勉!

觉得这篇文章还不错的朋友,可以给我发email(roobtyan@outlook.com)联系我,当然也可以在这上面跟我要qq。

最后,真的是最后了,对我感兴趣的话,也可以关注我的微信公众号(进击的程序狗),欢迎你的到来奥。

我读《DOOM启世录》——成为一个真正厉害的人的更多相关文章

  1. # 61条面向对象设计的经验原则-《OOD启思录》Arthur J.Riel

    61条面向对象设计的经验原则-<OOD启思录>Arthur J.Riel 原文 http://blog.csdn.net/cpluser/article/details/129291 61 ...

  2. windows网卡共享网络时,报Internet连接共享访问被启用时,出现了一个错误。(null)

    今天笔者在自己电脑上作试验时,准备将无线网络连接共享给VMnet1时报Internet连接共享访问被启用时,出现了一个错误.(null)错误: 经上网查询到问题原因:没有启用 Windows Fire ...

  3. 职场中究竟什么是ownership,你是一个有ownership的人吗?

    在互联网行业,我们经常用一个标准去评价一个人,这个标准就是ownership.一个有ownership的员工往往会被认为是出色的,被委以重任,从此升职加薪.而一个被打上了没有ownership的人,往 ...

  4. 人物传记Daniel Bolsonaro:永远不要做一个思维单一的人

    从小经历了移民和不断辗转迁徙搬家的Daniel Bolsonaro(现就职于灵石团队,职位是核心技术架构师)知道,人生不可能只有一条路,也不要局限于只给自己设立一条路.既然父母能带自己离开巴西来到美国 ...

  5. 阿里云“网红"运维工程师白金:做一个平凡的圆梦人

    他是阿里云的一位 P8 运维专家,却很有野心得给自己取花名“辟拾(P10)”:他没有华丽的履历,仅凭着 26 年的热爱与坚持,一步一个脚印踏出了属于自己的技术逆袭之路:他爱好清奇,练就了能在 20 秒 ...

  6. 阿里云“网红&quot;运维工程师白金:做一个平凡的圆梦人

    他是阿里云的一位 P8 运维专家,却很有野心得给自己取花名“辟拾(P10)”:他没有华丽的履历,仅凭着 26 年的热爱与坚持,一步一个脚印踏出了属于自己的技术逆袭之路:他爱好清奇,练就了能在 20 秒 ...

  7. 【API进阶之路】破圈,用一个API代替10人内容团队

    摘要:我用一个API代替10人内容团队,一年帮老板省了一百万. 自从学习API以后,我用技术手段相继帮助业务部.市场部解决了不少难题,算是从纯研发破圈发展到了业务端.老板召开业务讨论会的时候也会带上我 ...

  8. 为什么edge AI是一个无需大脑的人

    为什么edge AI是一个无需大脑的人 Why edge AI is a no-brainer 德勤预计,到2020年,将售出超过7.5亿个edge AI芯片,即在设备上而不是在远程数据中心执行或加速 ...

  9. 别指望一文读懂Java并发之从一个线程开始

    Understanding concurrent programming is on the same order of difficulty as understanding object-orie ...

随机推荐

  1. 四十、SAP中CASE语句用法

    一.上代码 二.选择内容 三.输出 四.我们选择一个其他的值 五.查看输出

  2. list实体数据分组

    比如查询获取了60000条数据进行批量插入数据库,一次直接插入6万可能不是很好,可以将6万条数据按照5000分成几组,每组批量插入5000条 List<T> list = new List ...

  3. zoj 1483 划分类DP

    还是看了little_w大神写的才知道怎么写,看完发现自己题意也理解错了,里面有个neighboring,意思就是你指定任务的时候指定的是原序列中连续的一段 然后就是怎么DP了,新学了个很好的dp模型 ...

  4. Spark 资源调度 与 任务调度

    Spark 资源调度与任务调度的流程(Standalone): 启动集群后, Worker 节点会向 Master 节点汇报资源情况, Master掌握了集群资源状况. 当 Spark 提交一个 Ap ...

  5. mysql视图使用方法

    1.为什么要使用视图 对于复杂的查询,往往是有多个数据表进行关联查询而得到,而这种语句往往比较复杂,也可能非常频繁的使用.比如: select 字段一,字段二.字段三, from 数据表1 join ...

  6. 【Android】家庭记账本手机版开发报告六

    一.说在前面  昨天 1.创建登入和注册界面:2.向数据库添加一张用户表  今天 用图标显示账单情况 问题 1.使用第三方库 hellochart,时添加依赖构建失败 2.在 chertFragmen ...

  7. C语言预处理理论-宏定义2

    宏定义21.带参宏和带参函数的区别(1)宏定义是在预处理期间处理的,而函数是在编译期间处理的.这个区别带来的实质差异是:宏定义最终是在调用宏的地方把宏体原地展开,而函数是在调用函数处跳转到函数中去执行 ...

  8. zabbix监控linux 以及监控mysql

    Zabbix监控Linux主机设置方法 linux客户端 :59.128 安装了mysql 配置zabbix的yum源 rpm -ivh http://repo.zabbix.com/zabbix/2 ...

  9. C语言-浮点类型

    C语言-浮点类型 浮点类型 在0的两侧有一小块区域,这个区域非常接近0,但是不等于0,是float(表达范围数量级10^-38^)或者double(达范围数量级10^-308^)无法表达的,而0是可以 ...

  10. 吴裕雄--天生自然C++语言学习笔记:C++ 常量

    常量是固定值,在程序执行期间不会改变.这些固定的值,又叫做字面量. 常量可以是任何的基本数据类型,可分为整型数字.浮点数字.字符.字符串和布尔值. 常量就像是常规的变量,只不过常量的值在定义后不能进行 ...