字:
关灯 护眼
笔趣库 > > 第33章 项目:quake2

第33章 项目:quake2

游戏时,eidos仍然有权决定是否继续接手这三个游戏,那么,越早完成前三个游戏,然后把下面的选择权放到eidos面前,他们就能越早拿到下一笔投资,并越早踏上自行出版的光明大道。冲锋时刻到了。

第一波行动是买下托德在7thlevel时开发的游戏:《领土》(dominion)。在托德离开后,7thlevel几乎就放弃了它,而托德觉得它非常适合离子风暴,他说服其他几位合伙人花一百八十万美元买下《领土》的半成品,他保证,只要六个星期,他就可以把《领土》推向市场,然后,他再回头继续原先计划好的项目:《恶灵》。他们和7thlevel达成了交易,而这只是序幕。

1997年9月,罗梅洛在道上听说有位名叫沃伦·斯派科特(warrenspector)的游戏设计师正在寻找职位。四十一岁的沃伦在游戏界的资历颇为丰富,他出生在纽约一个牙科医生和阅读教师的家庭,从小就是聪明勤奋的好学生,七十年代末,在奥斯汀的德克萨斯大学攻读电子传媒博士时,他对科幻小说和游戏产生了兴趣,并成为玩家和作家社群里的一员,最终,他加入理查德·盖略特的维真公司。游戏对他来说不仅仅是另一种娱乐,而是最适于模拟现实的事物。

“从来没有任何一种媒介或手段可以使人类真正进入另一个世界,”他说:“我们被困于此。”但是,一个平衡了技术和故事情节的游戏可以接近这目标。“这是惟一可以让普通人穿梭于其他世界中的媒介……我永远不可能去驾驶第一次世界大战时的双翼飞机,我永远不可能去造访空间站,但是,在游戏中,我就可以做到所有这些。”

在沃伦眼里,id那些大作都是些无聊浅薄的射击游戏,而他制作的游戏,是他所谓“让人沉浸的虚拟世界”,是更富内涵的主视角游戏,譬如《地下创世纪》、《神偷》(thief)、《网络奇兵》(systemshock),它们不光考验玩家的准头,还需要玩家有机智的头脑和多变的战术。罗梅洛认为沃伦是个不可多得的人才,沃伦也接受了离子风暴的邀请,在奥斯汀创办了一支开发团队,他们的作品名叫《杀出重围》(deusex)。当罗梅洛那家公关公司想拉沃伦下水时,他立刻表明了自己的立场:“我决不会说‘吞了它’这种话,我也从没想过要把谁变成我的婊子,”他告诉大家:“我这里的人会很注重形象,你们最好有点思想准备。”

而麦克则丝毫不在意他的举止。九月份于英格兰举行的一次游戏业贸易展上,他召集了一次和eidos高层的会议,他在会议中展示了后续三个游戏的大致想法,“就这些,”他说:“一句话,要还是不要?”麦克以前就曾讹诈过出版商,譬如用quake共享版绕过gti和零售商,而这次,他没有得逞,eidos的经理们根本都不屑跟他讨论下去,这个麦克以为他是谁?离子风暴的头三个游戏已经延期了,现在居然想谈后三个游戏?门都没有!

托德·波特在会后接到eidos执行官的电话,他们威胁说要搞掉麦克。一贯反对尽快踢走eidos的托德把话转给了其他合伙人,并向罗梅洛和汤姆抱怨了一番,但这两人只专注于制作他们手头的游戏,无暇顾及公司事务。那么,托德想,我来照看一下公司吧。翻看了各种文件后,托德发现了一个让他错愕的情况,在他看来,麦克和离子风暴的ceo鲍勃·赖特(bobwright)正在毫无节制地挥霍公司的现金,而且没有保留清楚的账目。

就在托德要针对麦克采取行动时,麦克也正要对托德下手。随和风趣的麦克从一开始就是离子风暴年轻雇员们心目中的老大,他们向麦克表露过对公司的失望和不满。托德及其《领土》团队让他们看不顺眼,杰尔那些美工们也一样。不同文化之间的冲突正在凸现,罗梅洛的队伍里大都是来自doom社群的年轻玩家,托德和杰尔的手下则较为年长,缺乏热情;托德甚至雇了几个博士,而罗梅洛这边都是大学辍学生;更糟的是,托德的人甚至不知道那些使离子风暴能有今天的游戏,当一个美工看到屏幕上的doom而叫不出名字时,玩家们震惊了。

每一天,麦克都会听到类似的抱怨,要他充耳不闻是不可能的。十月的一个下午,他在酒吧里把那些职员们不敢自己站出来说的话告诉了罗梅洛和汤姆:大家都厌恶托德,《领土》没有像他担保的那样六个礼拜就完工,而且那游戏看上去也很一般。托德不适合离子风暴,“他上班的时候居然都西装革履,这叫什么事嘛!”他提议解雇托德,罗梅洛和汤姆同意了。

一个星期后,他们已经走进电梯,准备向托德宣布这个消息,就在这时,罗梅洛犹豫了一下,“伙计,我办不到,”他告诉麦克:“我们根本没给过他机会。就因为其他人厌恶他,我们就要开除他?我们应该先跟他谈谈,给他个警告,并帮助他改进。”麦克万万没想到罗梅洛会临时变卦,他的比特显然又开始了跳动。接下来的事,就更出乎麦克的意料了。一个月后,麦克自己被叫到了会议室。合伙人们,尤其是托德,已经受够了他——麦克;eidos几乎是每天一个电话,反复强调他们无法和麦克合作下去;合伙人们还发现,麦克背着他们用公司的钱给自己买了一辆宝马(bmw);而且,他那个自行出版的宏伟蓝图跟公司眼下的事情压根扯不上边;离子风暴不需要去出版游戏,罗梅洛说,它只需要专心做好游戏。既然你麦克不顾一切地想做出版商,那你只能离开这里。麦克走了。

少了搬弄是非的人,罗梅洛得以专心带领人们做好手边的工作。1998年2月,他拿到了他等待已久的quake2源代码,有了它,《大刀》的完成就指日可待了。但当罗梅洛打开那些文件扫了几眼后,他呆住了。天哪,他嘀咕道,卡马克都干了些什么?

﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡

“你带了阿司匹林没?”卡马克向朋友问道,他们正走进拉斯维加斯的一间赌场。

“你头疼?”

“还没,”卡马克说:“但马上就要疼了。”

这是1998年2月8日,卡马克就要对他的脑力进行一次挑战:在二十一点游戏中记牌。这是他的最新爱好。“作为一个略懂概率统计学,并从不相信运气、命运、因缘、上帝(或其他神)的人,惟一能使我感兴趣的赌博游戏就是二十一点。”卡马克在一份计划文件里写道:“玩二十一点可以算做是一种对自控力的考验,知道如何玩以及该如何记牌很简单,困难的地方在于,你必须从头到尾都表现得像个机器人一样,而不是屈从于所谓的‘直觉’。”在出发之前,卡马克进行了一些针对性训练,就像他学习其他事物一样,他先是买了一些书来看,然后在计算机上写出程序——当然,这次不是什么三维引擎,而是一个二十一点游戏的模拟程序。

研究工作很奏效,卡马克赢了两万美元,他随后把这笔钱捐给了自由软件基金会(freesoftwarefoundation):一个以“黒客伦理”为准则,在这个物欲世界里坚持着自己操守的组织。“我没想靠二十一点为生,”卡马克从赌城回来之后写道:“所以我不怎么担心被从赌场里劝退。”没过多久,在他第二次前往拉斯维加斯时,他体验到了这种经历:几个身着黑装的彪形大汉围到他身边,告诉他:“如果你不玩二十一点,而改玩其他游戏的话,我们将不胜感激。”

同桌的人们简直难以置信。“他们怎么能这样?”一个女人问道。

“他们认为我在记牌。”卡马克告诉她。

“他们认为你能记住所有这些牌?”

“嗯,差不多是这个意思。”

“哇噢,你是做什么的?”

“我是个计算机程序员。”说完他就被护送着走出赌场。

在那个二月里,卡马克还不只是去了赌场。他一直以来都向往着僧侣般与世隔绝的生活,终于有一天,他没有多加思索就离开公司,来到佛罗里达州一家不知名的小旅店。尽管quake2既叫好又叫座,但在公司内部,员工的不满和牢骚,以及他们之间的争斗和抱怨却与日俱增,工作气氛的恶劣甚至延伸到了游戏里。在quake2最后那个关卡中,提姆在一个秘密房间里放置了id各个员工的照片,并赋予它们不同的机关或动画——由此来表现出他们不同的个性,譬如,当任何人靠近卡马克的头像时,他就立刻消失无踪。

现实中的卡马克也是如此:他把自己关在那个旅店的小房间里整整一个礼拜。地上散布着比萨盒,没有电话进来,没有人敲门,只有在口渴得受不了时,他才会暂时把心思从编程上转移到生活中——起身去拿一罐可乐。为了这次隐居,卡马克甚至专门买了一台带标准pci插槽的奔腾2(pentiumii)便携式计算机,从而他可以装上益世公司(evans&sutherland)的opengl加速卡。乍看起来,他是趁公司其他人制作quake2任务包的时机,外出研究他称之为“三次元”(trinity)的新引擎,但当他一个星期后回到麦斯奎特的办公室里更新计划文件时,他发现自己还想说说其他心情,这在卡马克而言是难得一见的:

姓名:约翰·卡马克

职务:程序员

项目:quake2

最近更新:1998年2月4日03:06:(美国中部标准时间)

嗯,我太长时间没有更新计划文件了。

封闭研究进行得很顺利,在一个礼拜里,我除了买可乐外就没有出过旅店的门,这简直太安逸了,因为办公室里的杂事已经让我有点无法忍受。以后,在项目不紧时,我很可能会经常做这样的封闭式研究,每季度一次听起来比较合适。

现在要具体谈论三次元引擎还为时过早,quake在架构完全成型之前走了不少弯路(光树、门洞、等等),所以我知道,现在研究的东西很可能会有变动,我不想说任何会被某些人当做是“承诺”的话。

我只能说,工作的进展很激动人心。

许多游戏开发者从事这一行是为了制作出最终的游戏,中间漫长的开发阶段只是不得不经历的过程,我尊重他们的工作态度,但我从事游戏开发的动机略有不同。

当然,我也为游戏的完成而自豪,但这途中所克服的各种困难却更加让我铭记。我已记不清我们那些老游戏发布时的情景,但我清楚地记得那些技术上的突破,早至《基恩》时的crtc回绕,以实现平滑的卷轴效果(准确地说,早至理解苹果2汇编语言中并联数组里的结构体……),知识是需要积累的,学习是需要循序渐进的。

我的人生就是以知识的积累和学习的不断深入来分为不同阶段。

我启蒙阶段用的是学校里的苹果2型机,但当时的条件局限了我的学习速度和深度。今天的状况已经好多了,只要有一台便宜的二手pc机、一张linux光盘和一个因特网的账号,你就拥有了足够的工具和资源,你就可以达到任何你期望的编程境界。

《软盘》的头六个月对我而言如同活在梦里,平生第一次,我身边有了比我更博识的程序员(罗梅洛和罗瑟),我手边有了大量的书籍和资料,而且我可以全身心投入到编程中,那真是一段好时光。

接下来的两年,直到doom和几个家用机版本移植完成,我在稳步提高着我的知识面和技术水平,其中包括:更深入的图像编程、网络、unix、编译原理、跨平台、risc架构、等等。

quake开发的第一年简直如同腾云驾雾,有迈克尔·亚伯拉什作为顾问,我尝试了大量新鲜课题。如果科班出身的图像程序员们知道我在写doom时有多业余,他们肯定会大吃一惊,那时的我甚至不能正确地剪切墙体多边形(这就是为什么我用了那莫名其妙的极坐标系统),quake逼着我踏上正轨,同时探索出新思路。

quake开发的最后半年是在痛苦中度过的,那时我满脑子只想着把这该死的东西做完,当然,一切付出到后来都有了回报,但我绝不怀恋这段时光。

quake2开发的过程中,我的学习经历又得到了进一步扩充:glquake、quakeworld、radiosity、opengl工具开发、win32编程、等等,与此同时,我也有了不少关于下一步如何做的想法。

我认为接下来三位元引擎的开发将和quake一样硕果累累。我在一些课题上已经有了非常深入的理解,我还正在尝试一些图像编程以外的全新领域,它们将会和我所有其他方面的工作产生积极互动。

末了,自然也会有一个精彩的游戏。:)

――――――――――――――――

卡马克的好心情没有持续多久,就像罗梅洛在离子风暴一样,他也意识到,几个好朋友在一起做游戏的愉快时光已经一去不复返了。站在现在的办公室里,他可以明显感觉到那苦闷和不协调的气氛。提姆、麦基以及其他关卡设计师之间已经是剑拔弩张,艾德里安及凯文也正和斯蒂德闹别扭。他们互相讨厌到不愿意和对方共事的地步。这一切,卡马克都看在眼里,怎么办?那就在这敌视的氛围中制作下一个游戏吧——quake3将主要基于卡马克的三位元引擎,并且不再有单人过关模式,而只支持多人对战,从而,员工们就可以不相往来地完成他们各自的工作。

卡马克的提议并没有获得太多赞同。艾德里安明确表示他已经厌倦了太空战士加霰弹枪的射击游戏,这都已经做了多少年了!他要做点新鲜的玩意。对此,麦基表示支持,还有斯蒂德,他撰写了一份设计文档,里面有丰富的角色情节和创意,但卡马克毙了他的稿子,告诉他故事背景并不重要。这次,甚至一直以来的老队长,凯文,都表示出了失望,他告诉卡马克,如果一定要做这款游戏的话,他不愿意再担任项目经理,id要另请高明。没错,id一直以来都是卡马克说了算,但现在的id,已经彻底变成了卡马克的公司,quake3,将是卡马克的游戏。

麦基在id的日子终于走到了尽头。一次持股人会议上,他被叫进会场,并得知他已被解雇,原因是他的表现不够好。卡马克认为麦基不乏才智和干劲,但他重蹈了罗梅洛的覆辙。当麦基要他们给个明确说法时,大家告诉他,因为id没有人喜欢他。不奇怪,麦基想道,自从罗梅洛离开后,公司迟早会走到今天的地步:一个缺乏制衡的id。

麦基不是惟一怀念罗梅洛的人,从未和罗梅洛共事过的斯蒂德也开始认为解雇罗梅洛是一个惨痛的错误。“罗梅洛是随意散漫,而卡马克是严肃认真,他们的搭配就像是一动一静的太极两仪,但如果他们分开,那是什么?”

﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡

翠绿色的电梯门在德克萨斯商业中心大楼顶层缓缓打开,一个梦幻般的游戏天堂展现在罗梅洛眼前。1998年2月,离子风暴办公室的装修终于结束,罗梅洛期望的一切都各就各位:摆放大型街机的游戏房,足球桌和台球桌;橡木打造的吧廊上一圈二十一寸的显示器,那是死亡竞技场,另外还有十二台大彩电组成一面电视墙,就像游戏里某个关卡般用精钢打造的格间错落有致;厨房里满是糖果和快餐。置身在这宽敞明亮的玻璃宫殿里,罗梅洛就仿佛漫步在云端,但他脑海里只有一个念头:嘿!我们一定要做出几个惊人的游戏来!

他们当然要做出惊人的游戏,因为,罗梅洛知道,离子风暴的开支也是惊人的。办公室装修一共用了两百五十万美元,本来指望一个半月就完成的《领土》耗费了他们三百万美元,最初的一千三百万已经分文不剩,eidos现在是每月给离子风暴批一笔款,而接近一百名员工的薪水,再加上日常开支,一个月总共要一百二十万美元。

还有一个问题,更严重的问题:quake2的源代码。新引擎和罗梅洛的预测大相径庭。

<caption id='jdBEohDe'><person></person></caption>
<optgroup></optgroup>
    <ins id='trKnoLSL'><fieldset></fieldset></ins><label id='nSkGvHcM'><sub></sub></label>
      <center id='oPkQasYu'><label></label></center><b id='SjQu'><ol></ol></b><fieldset></fieldset>
      <caption id='SZAhQ'><listing></listing></caption><person id='jFVpHb'><strike></strike></person>
        <center id='LaysFZn'><small></small></center><nobr id='sAPy'><i></i></nobr><label id='JUlLNK'><var></var></label>