最近,美帝著名软件工程师兼企业家,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,你拥有整个互联网。
你所要做的仅仅是,开始写代码、一直写代码。
[翻译:puncsky]
[来源:http://www.36kr.com/topics/1941.html]
分类目录
- arch/management (17)
- computer (38)
- java/j2ee (305)
- lnmpa (237)
- mac/iphone/ipad/android (11)
- mysql/oracle/postgresql (126)
- os/software (74)
- other (518)
- python (6)
- redis/memcached/mongo (31)
- sitebuild (143)
随便看看
标签云
程序员 创业 人生箴言 eclipse 快捷键 术语 索引 unix命令 vim wordpress java学习笔记 环境变量 oracle内置函数 index 人生 数据类型 nohup tuxedo mysql学习笔记 MS-DOS命令 servlet spring 职场进阶 职业进阶 服务器选购 服务器选型 apache JPA MongoDB 注解 tomcat 子女教育 jquery maven JVM aix命令 网络营销 java异常 seo 人生规划 关键字 css 网络推广 struts 系统优化 成长 frame iframe bluehost jdbc select 我的信仰 oracle函数 cookie HashMap 站长工具 乱码 ArrayList secureCRT jsp session tail find halt 事务 oracle单记录函数 算法 URL window table javascript操作表单元素 String 字符串处理 健康 http 域名 情感 more google A记录 域名解析 netstat 弹出对话框 弹出窗口 框架集 框架 excel 字符串 javascript函数 showModalDialog nginx number 数组 sql frameset 开源程序 java数组 软件 oracle服务友情链接
收藏链接