编译自 Jeff Atwood 的《You Don't Need Millions of Dollars》,如果你和 Puncsky 一样把 Coding 当做终身乐趣,那你一定能够在此书中找到强烈的共鸣 :D。
最近,美帝著名软件工程师兼企业家,Stack Overflow 的联合创始人 Jeff Atwood 写了一篇名为《You Don't Need Millions of Dollars》的博客,并介绍了《Doom 启示录》这本书。
我早年正是受到了这本书的激励,热血沸腾,走上了软件开发的道路。受到这本书和一位 CS PhD 的启发,你若问我的梦想是什么,我的梦想是在海边有所房子,面朝大海,春暖花开,每天躺在甲板上,望着湛蓝的天空,随着碧绿的海水飘荡,做点什么呢?写写代码写写诗…… 是不是颇有"浴乎沂,风乎舞雩,咏而归"的感觉?
《Doom 启示录》讲述的是 John Carmack 和 John Romero 的故事,他们创造了大名鼎鼎的德军总部 3D、毁灭战士、雷神之锤等游戏。此书在诸多方面皆属于上乘之作——但主要还是归功于作者详实的考据。
为了再现两位 John 的故事,我在这六年里采访了数百次,同一个人也可能在不同场合采访多次。2000 年的夏天,为了这本书,我搬到 Dallas,名扬全镇,被称为“写这本书的那个人”。John Romero 和 John Carmack 各自与我当面交谈了数十个小时,回答了我大多零碎的问题:他们当时感觉如何,有什么样的想法,他们说过、听到过、看见过、或者玩过些什么。如果当事者无法回忆起来,我会发掘网站、新闻组、电子邮件、聊天记录、杂志(尽管我参考这些,但是我更加重视当事人自己的观点)。我也曾经沉迷在他们的游戏世界当中,(是的,无法自拔),在家联机、或者参加联赛。
我花了六个月将磁带录音转录成脚本,并据此撰写了文本,尽可能地详实有据地再现当时的情况。为了让读者更好地理解,本书经常以众人不同的角度来讲故事。
通常很难有一本书在讲述错综复杂的友谊与利益冲突的同时,能够得到当事人双方的认可;哪怕这本书已经风靡了十多年。这也证明了 Kushner 这本书之好。这本书正是行业人物传记之典范,考据详实,观点多元。从这点上来讲,跟《乔布斯传》恰恰相反。《乔布斯传》尽管我还挺喜欢,但是它观点单一,考据懒散。如果真有哪本写乔布斯的书能够像此书这么优秀,我也就能够心满意足地洗洗睡了。
可以说,我跟这俩哥们是同一时代的人,我几乎与他们同岁。虽然我错过了德军总部 3D,因为那个时候我还在上大学,但是到了 1993 年 12 月,我和所有早年的 PC 玩家一样,望眼欲穿毁灭战士的发售。那么,又是谁让毁灭战士家喻户晓的呢?说来诡异,是汤姆克鲁斯。
德军总部 3D 和毁灭战士让我成了第一人称射击的终身脑残粉——我死磕过每一款毁灭战士引擎的游戏作品,我甚至一度在拨号上网时代的线上游戏中心 DWANGO 遇到过 Romero 本人,并“跪舔”之。95 年互联网浪潮开始后,我转战互联网,穷尽所能下载每一个雷神之锤的更新包,目睹了 Remoro 与 Carmarck 的分道扬镳,GLQuake 和 3D 加速的异军突起,一路走到雷神之锤3。
同时,这本书更是振奋人心的励志故事。这是一堆屌丝极客码农们筚路蓝缕,从无到有,自力更生,创造一整个产业的故事。
共享软件,Remero 对此并不陌生。这就得讲到 Andrew Fluegelman,他是 PC World 杂志的创始主编。1980 年,Fluegelman 写了一款名为 PC-Talk 的软件,并将其发布在互联网上,宣称任何喜欢这款软件的人请不要客气随意送他一些辛苦钱。很快,他不得不雇佣员工帮他数支票。Fluegelman 称之为“共享软件”,“一次经济学实验”。八十年代过后,其他黑客们接过共享软件的大旗,为苹果、PC 和任何其他的设备写代码,遵循同样的模式:试一试,喜欢才给钱。支付的费用可以进一步给用户带来技术支持和产品升级。
共享软件专业协会估计,光在美国国内,就算只有 10% 的用户愿意支付,共享软件市场也在一两千万美元之间。1988 年,福布斯杂志惊异于这一趋势,评价道,“如果你认为这都不算踏实的生意,请三思。”共享软件并不依靠狂轰滥炸的广告,而是在于口口相传,用销量说话。某顶级程序员 Robert Wallace,写出共享软件 PC-Write 文字编辑器,竟然成就了一个百万级别的软件帝国(注:尽管最后还是被微软 Office 击败了。)但是,大多数的作者能够拿到上十万就不错了,一般还是每年获利略多于 25,000 美元。一年一千份的销量就可以算是很成功了,总的来说共享软件的概念当时仍旧新潮激进,多数为"实用软件",比如用来记账、文字处理,尚未在游戏领域流行。
还有人记得共享软件么?我们这个年代与之类似的是什么?在互联网上发布软件么?算是,但我觉得答案更可能是各种应用商店:Google Play、Apple App Store、Windows Store。能够直达用户。但是,他们发现,共享软件概念在游戏方面不管用,至少刚开始的情况是:
到了发布游戏的时候,Scott 仔细研究了共享软件市场,感觉很好,完全可以绕过中间的发行商代理商,全部自己搞定。于是他放出了两款完整的文字游戏,坐等收钱。可惜钱并不赏脸,一个铜板也没有。他发现,游戏玩家与实用软件用户很不一样,后者愿意为实用软件付费,但前者更倾向于免费获取。Scott 打听之下,发现他并不孤单,其他的共享游戏作者也都破产了。他想,人们也许会诚实守信,但大多懒惰,需要激励。
后来他想到,与其一次放出整个游戏,为什么不先放出一部分,让玩家来买剩下的部分呢?没有人这样做过,但也没有理由不成功。Scott 制作的游戏也颇适合这种付费模式,因为这些游戏由很多幕故事、或者多个等级组成。先放出十五级的游戏,玩家寄支票,他就送出剩下的三十级。
关键是,你知道吗,当今的游戏开发商花了近五年的时间才明白这样一个道理——纯免费游戏加百分百的内置购买才是最佳的(或许也是唯一的)游戏商业模式。人家 id 公司的这两个家伙二十七年前就明白了。远方飘来了历史重现的声音。
id 软件不仅仅贡献了这种革命性的商业模式,把权力之杖交还了程序员,更重要的是,一位天才程序员——John Carmack——就此横空出世,是他发明了 PC 游戏领域前所未有的新技术。今天听来,这或许耸人听闻、或许老生常谈,但是在 Carmack 创造出游戏引擎之前,横版游戏视角平滑滚动、墙面纹理贴图、灯光模型、高速 3D 渲染这些概念,其实是人们闻所未闻的。是他普及了这些概念。
Carmack 就是编程界的传说,类似 Abrash。这本书描述 Carmack 之神,老实说,近乎恐怖。他痴迷于机器的极限;每周工作 80 小时;所谓“放假”就是抱着计算机上旅馆开房一整周——纯粹是为了好玩、放松一下。他的产出属于神的级别,但是他也很谦虚地意识到,他站在巨人的肩膀上。
Al(人名)从未在 PC 上见过横向卷轴游戏,他对 Carmack 说道,你应该申请专利。
Carmack 怒了,如果你再提起任何申请专利的事情,他突兀道,我就不干了。Al 原以为 Carmack 会维护他自己的经济利益,但是实际上这触碰到了 Carmack 愈发脆弱的神经,一颗年轻气盛的、理想主义的赤诚之心。少有事情能够真正触怒他,可这一次他真的愤怒了,骇客信条早已深深地刻到了他的骨子里。一切的科学、技术、文化、学习、学术本来就是建立在前人的基础之上,而专利却宣称,这个点子是我的点子,你无论如何都不能够拓展它,因为它是我的——这是如此荒谬。专利正深深地伤害着 Carmack 全部生命的核心——书写代码,解决问题。如果不触犯专利就不能解决问题,如果这个世界变成了这样一个世界,他会极为难过。
本着这样的精神,Carmack 常常基于 GPL 发布旧的引擎,以供其他程序员学习。比如,不要错过 Fabien Sanglard 的这篇史诗级 Doom3 代码解析]11,这款引擎比现在最新的 id 引擎(即将应用在 Rage 和 Doom 4) 仅仅落后一代。
我最喜欢的格言便来自此书的结尾:
Carmack 鄙视冠冕堂皇、夸夸其谈,但是非要他说些什么的话,他会说,“信息时代本无极限,障碍尽在人心。如果你打算扬帆起航、开发伟大的新产品,你不必拥有百万资本,你需要的仅仅是披萨和无糖可乐常驻冰箱、廉价 PC 伴你左右、以及为事业献身的决心。我们在地板上睡过,我们从河水中趟过。”
确实,他们做到了,如同此书所证明。@ID_AA_Carmack 和@romero 两人仍旧是游戏和编程社区的终身成员,影响显赫,鼓舞人心,因为爱,所以常在。
《Doom 启示录》的终极启示在于,时至今日,想要成功,你都没有必要像 John Carmack 那般聪明,John Carmack 自己就是最好的证明,当时坐在德州 Mesquite 某小办公隔间的 John,辛苦悲催,在勉强能用的破电脑上,从零开始写代码,每周工作 80 个小时。而如今,你口袋里装着超级计算机,桌上摆着超级计算机,有大把大把的开源框架、开源库能够帮你干 90% 的工作,你有 Github、维基百科、Stack Overflow,你拥有整个互联网。
你所要做的仅仅是,开始写代码、一直写代码。