字:
关灯 护眼
笔趣库 > > 第11章 很快

第11章 很快

十三,他们已经有了自己的事业。

尽管罗梅洛、卡马克和艾德里安三人成功地离开了《软盘》,但汤姆和杰伊却选择了留下。汤姆只是暂时的,他不愿意在公司还需要他的时候就这么离开,他要等公司找到他的继任者。杰伊则觉得有责任尽到他在《软盘》的义务,现在他手上正有一个重要的苹果机项目,但他也还是id的伙伴,譬如偶尔来玩玩《龙与地下城》。

冬去春来,id的人们尽情享受着自由自在的时光。尽管他们还要为《软盘》制作游戏,但至少他们不需要再朝九晚五了,他们可以整天舒适地呆在湖畔小屋里。卡马克全身心地投入了他的下一个图像引擎,前一个引擎实现了卷轴效果的突破,而这次,他要创造一些更眩目的东西,在他系统地展开研究时,其他人正开始利用现有的技术为《软盘》制作游戏。

这自由,还有《基恩》的成功,激发出了更多制作游戏的灵感。《拯救罗瓦》(rescurerover)讲述的是一个男孩去寻找他那被外星人劫持的小狗罗瓦的故事。这是个精巧的迷宫游戏,在途中,玩家需要机智地转动一面面镜子,通过反射机制,利用或是避开外星机器人发射出的致命射线。id的风格初露雏形,那就是暴力加上幽默,表现越极端越好。《拯救罗瓦》的开始画面上,一只肥头大耳的狗摇着尾巴,上面一排枪口正顶住它的脑壳。

《罗瓦》朝黑色幽默的方向迈出了一步,他们三月份开始制作的新游戏——《鬼屋里的戴夫》(dangerousdaveinthehauntedmansion),则走得更远。这次,罗梅洛把他最钟爱的角色放到了险恶的环境里:戴夫驾着小货车来到了一幢破旧的大楼前——就像什里夫波特城里那些,他头戴猎帽,身穿牛仔服,手里挥舞着霰弹枪,楼里等待着他的是僵尸和鬼魂。

艾德里安是所有人里最喜欢这种恐怖主题的一个,在医院工作时的那些血腥镜头还萦绕在他心里,这对他而言是个释放的机会。他依然讨厌那假惺惺的《基恩》,只是他没有跟其他人说,在他看来,如果还要做这种低幼游戏的话,那最好是庸俗有趣的那种,就像当时的电视剧《龙兄鼠弟》(renandstimpy)那样。而现在有了《鬼屋里的戴夫》,艾德里安总算找到了发泄的途径。当罗梅洛和汤姆坐在各自机器前忙碌的时候,艾德里安就悄悄地画起他所谓的“死亡动画”:三到四幅快速循环的画面,展现着戴夫痛苦的死亡过程。游戏里的角色死去时通常只是消失,汤姆在《基恩》里让尸体留下来,显然,艾德里安有他自己的想法。

不久后的一天晚上,罗梅洛看到了艾德里安的这个动画:戴夫被僵尸的拳头击中头部,然后眼珠随着一股血浆激射出来。罗梅洛笑得上气不接下气:“血!在游戏里面!太他妈的夸张了!”

暴力幻想有着源远流长的历史。一千多年前《贝奥武甫》(beowulf)里的血腥描写使每一代读者为之着迷:“恶魔一把抓起熟睡的地主,把他撕成了碎片,然后喝下他的血,咽下他的肉,连每一根骨头都细细吮了一遍。”孩子们喜欢玩警察抓小偷的游戏,挥舞着玩具枪,装出被击中的样子,假想着鲜血从中弹的地方流出。在娱乐界,早期的恐怖片《德州电锯杀人狂》(thetexaschainsawmassacre)和《黑色星期五》(fridaythel3th)非常叫座,八十年代的动作片《第一滴血》(rambo)、《终结者》(theterminator)、《致命武器》(lethalweapon)也席卷了票房。

暴力在游戏里也不是什么新鲜事物——甚至在最早的计算机游戏《空间战争》里,玩家其实也是在不停地摧毁东西。但是,把暴力用图像展现在屏幕上的游戏还很少见,即使有,也很节制。这一方面是因为当时的技术无法渲染出逼真的图像,但更主要的原因还是制作者们不想去趟这浑水。1976年有过一个名为《死亡飞车》(deathrace)的街机游戏,它和《乒乓》之类的流行游戏大相径庭,在这个游戏里,玩家要开着车碾过散布在屏幕上的人——几根很粗糙的线条,在玩家的车碰到这些尖叫的人们时,他们就变成一个个的十字架,屏幕两旁的机箱上还画着勾魂使者和骷髅头。它是第一个被禁的电子游戏。

艾德里安那些死亡主题的作品是如此精彩,以至于大家都不舍得把它们从游戏里剔除出去。在罗梅洛的鼓舞下,艾德里安加入了更多血腥的细节,譬如当僵尸被霰弹枪击中时会飞溅出鲜血淋漓的肉块。当《软盘》的人们看到这些画面时,他们显然没有领会这其中的诙谐,他们坚持要id重新制作死亡的动画——不能有任何血迹。“也许会有那么一天,”艾德里安说:“我们可以随心所欲地去做血腥的游戏。”

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

其他人忙碌的时候,卡马克也没有闲着。他是个追求技术的人,程序员们心目中的圣殿:三维图像,自然成了他的下一个目标。严格地说,二维的计算机屏幕不可能装下真正三维的世界,程序员们只能是通过透视做图法,以第一人称的视角,让玩家“感觉”到自己处在一个三维的世界里。

卡马克并没有意识到,他正在试图去实现千百年来让无数人为之魂牵情系的梦想:一种逼真的、令人信服的、可交互的体验。在一部分人眼里,这甚至是人类最根本的愿望。法国南部拉斯考克(lascaux)洞穴里那公元前一万五千年的壁画就是人类最早对“拟真环境”(immersiveenvironments)的尝试,那些图画试图让置身其中的人们感觉像是进入了另外一个世界。

1932年,英国小说家奥尔德斯·赫胥黎(aldoushuxley)在他的小说《美丽新世界》(bravenewworld)里描绘了一种类似未来电影的多感媒介,在综合了三维图像、嗅觉、触觉等效果后,这种多感媒介“比日常生活感觉更和谐、更完美、更多姿多彩,远比现实世界真实。”美国文学家雷·布拉德伯里(raybradbury)在他190年的一个短篇《非洲草原》(theveldt)里也写到了类似的事物,一户人家有一个特殊的房间,能把人们想像中的场景显现在四周的墙上,在书里,当一个非洲大草原无比逼真地出现在房间里时,麻烦也接踵而至。

很快,技术人员们就开始为把这些梦想变成现实而努力。195年,好莱坞的一个名叫莫顿·海利希(mortonheilig)的摄像师开始了他称做是“未来电影院”的工作:“它将会远远胜过赫胥黎笔下的多感媒介。”海利希通过他那名叫“体验剧场”(sensorama)的新奇设备所带来的图像、声音、气味,营造出一个热闹的街市,他的目标是超过当时那些简陋的所谓三维电影,带给观众一种“真正身临其境的感觉”。

简单地把各种多媒体效果综合起来并不能建造出令人信服的拟真环境,交互性也是必不可少的一部分,而交互性正是计算机游戏的迷人之处。威斯康星大学的计算机艺术家麦恩·柯尤革(myronkrueger)就把可交互的拟真环境作为一个至爱的项目来研究,20世纪70年代里,通过把参与者——甚至是身处异地的参与者——投影到一幅巨大的画面上,他创建出了布拉德伯里笔下的大草原。“这样的环境,暗示着一种新的艺术形式,它基于人和机器的实时交互……在这种人造现实的场景里,艺术家们可以完全控制各种因果关系……结果的差异性就是这门艺术的表现形式。”譬如,在其中一个实验里,观众们要试着在投影到墙壁上的迷宫里找到出路。

到1980年的时候,这种拟真环境有了一个新的称呼:虚拟现实(virtualreality)。威廉姆·吉布森(williamgibson)在他1984年的小说《神经漫游者》(neuromancer)里提出了“电脑空间”(cyberspace)这个名词,那是存在于计算机网络中的交互世界。20世纪80年代末期,美国航天局艾姆斯(ames)研究中心的一名工程师,斯科特·费希尔(scottfisher),成功地通过数字手套和固定在头上的一个显示设备实现了虚拟现实的原型。通过这些工具,用户可以在以主视角三维图像展现的虚拟世界里操控各种物体。最后,费希尔在1989年写道:“将会诞生交互影院和交互游戏,里面既可以有日常生活中的物品,也可以有现实中没有的东西,人们的数字化身可以有不同的外貌。最终,电信网络上会出现可配置的虚拟现实服务器,用户们可以远程登入,和其他人的数字化身进行交互……虚拟世界将会和现实世界一样多姿多彩,在那里面,人们甚至可以通过一些传送门瞬间消失,进入另外一个虚拟世界。”

尽管卡马克也是一个科幻小说爱好者,着迷于《星际迷航》里的全息成像台,但他并没有去堆砌宏大的虚拟现实设计方案,他更专注于解决当前的技术问题,譬如如何在计算机上显示出三维图像。

卡马克很久以前在苹果机上制作那个mtv标志的时候就体验过三维图像编程。在那以后也出现过一些主视角的三维游戏。1980年,理查德·盖略特就在他的第一个角色扮演游戏《阿卡拉贝斯》(akalabeth)里采用了透视做图法。两年后,天狼星软件(siriussoftware)出品了一个既叫好又叫座的主视角迷宫游戏:《出口》(wayout),它是飞行模拟类的,玩家可以透过各种飞机的舷窗体验到在三维世界里飞行的感觉。1990年,理查德·盖略特的维真公司出品了一个太空主题的战机游戏:《银河飞将》(wingcommander),它很快就在id的湖畔小屋里流行了起来。

卡马克觉得他可以做得更好。在他看来,飞行模拟类的三维游戏实在太慢了,繁复的图像让玩家们感觉自己像是一只在空中飞行的蜗牛。他和id的其他人都更偏爱类似街机的快节奏动作游戏,譬如《防御者》、《行星撞击》、《金手套》,在其他人忙于《拯救罗瓦》和《鬼屋里的戴夫》时,卡马克就开始尝试去做这没有人做过的东西:快节奏的三维动作游戏。

然而,他随即发现,pc机的性能还不足以运行那样的游戏。卡马克翻遍了各种书籍和期刊,但没发现什么有价值的东西。他又像当初做卷轴效果时一样:先尝试最直接的办法,如果不行,再拓宽思路。三维游戏之所以很慢的一个原因是要画的物体表面太多,但卡马克又想到,是不是可以让计算机每次少画些表面,就像给马儿戴上个眼罩,譬如,在绘制走道时,省略掉地板和天花板,只画出两侧的墙壁,用透视法的话,它们就是两个简单的梯形。此外,卡马克又独辟蹊径地使用了所谓的“射线追踪”算法(raycasting),在剔除掉玩家视角外的物体后,游戏的速度得到了极大的提高。这时,就只剩下最后一个挑战:在三维的世界里加入人物,解决的办法是简单地绘制出表现这些人物的图像和动画,《银河飞将》就已经可以根据玩家和目标之间的距离远近来动态缩放图像的大小。在综合了削减多边形、射线追踪、动态缩放这些技术后,卡马克已经可以做出一个流畅的三维世界了。

整个研究工作花费了卡马克六个星期,以前他顶多都只需要四个星期。当罗梅洛看到这成果时,他再次叹服于卡马克的天才。他们接下来讨论了应该制作个什么样的游戏,才能发挥出这个引擎的优势。他们最终决定制作一个未来核战后的世界,玩家在里面开着坦克营救幸存者。《气垫坦克》(hovertank)于1991年4月发布——id创造了主视角射击类游戏。

尽管《气垫坦克》是一个创新的游戏,但它比不上《基恩》,它看上去过于简陋,尽是大块大块的单调颜色,抛去这些不足,它还是体现了id那益发血腥的风格。在那些核污染产生的异种死去时,艾德里安让它们变成了一团血胶;就像《基恩》里的唷扑一样,它们也继续逗留在这个世界里,于是当玩家回到他曾经屠戮过的地方时,还可以重新回味他给这里带来的不幸。

id不断地尝试着新的技术和游戏,很快就进入了五月,他们回到了最初的《基恩》。为了履行和《软盘》的协议,他们决定制作一章《基恩的梦想》(keendreams),尽管他们已经在《气垫坦克》里试验了三维技术,但他们还是选择了继续在《基恩》世界里沿用平面卷轴的表现方式,当然,加入了一些新东西,譬如,把场景的移动做得更加逼真——让前景和背景以不同的速度卷动,这是所谓的“视差卷动”。在过去,当基恩经过一片森林时,树木和他以同样的速度在屏幕上移动,如果是“视差卷动”的话,背景上树木的移动会相对缓慢许多,这就产生了一种纵深的层次感,让人觉得更真实。

卡马克再一次被pc机的性能所局束,经过几次尝试后,他意识到没有任何简洁的办法可以实现“视差卷动”效果,pc机的速度根本无法同时处理背景和前景的更迭。卡马克决定凑合一下,他曾在程序里保存过屏幕上某块区域的缓存,这样就不需要每次都重新把画面计算出来,而为了表现出深度感,他想,他可以同时保存两块缓存,譬如前景里的一小段人行道和背景里的一小片树木,这样就可以快捷地移动它们。他再一次在pc上实现了无人能及的速度。《基恩的梦想》在五月底的时候完成了。

六月份的时候,id开始为天极制作《基恩》的第二个三部曲,也就是第四、五、六章,和以前一样,其中一章将作为共享软件免费发布,玩家们需要购买其余两章。天极的游戏这时已不光是共享游戏市场里的领头羊,而是整个共享软件市场的领头羊,《基恩》仍停留在排行榜的首位,每个月为天极带来约六万美元的进账。如果继续沿用以前的发行方式,斯科特向他们保证,收入只会比过去还多。

汤姆撰写了《再见,银河》(goodbyegalaxy)这个三部曲的故事大纲。这次,基恩发现了一个试图摧毁银河系的阴谋,他必须立即乘坐他的飞船去拯救这个世界,在此之前,他还要照料好父母,他们被他不小心用眩弹枪击晕了。汤姆在游戏里加入了眩弹枪这个新玩意,因为在前一个三部曲发布后,忧心忡忡的家长们给id寄来了一些不满的信件,他们不喜欢游戏中角色死亡的方式,他们不喜欢死了以后还留在屏幕上的唷扑:“为什么这些角色不能直接消失呢?就像其他游戏里一样?”汤姆仍想坚持他的做法,但他也不愿去惹不必要的麻烦,他只好加入了这种新式武器,角色们不会死去,他们被击中的时候只会晕倒在原地,头顶上盘旋着一串金星。

八月份,他们完成了第四章《神谕的秘密》(secretoftheoracle)的原型。就在这时候,罗梅洛接到了一个来自加拿大的电话,那是一个名叫马克·瑞恩(markrein)的玩家,他是个狂热的基恩迷,也是个健谈的人,他问罗梅洛id是否需要游戏测试人员,罗梅洛随即把第四章寄给了他,游戏最后是下一章《末日机器》(armageddonmachine)的诱人介绍,里面许诺到,那将会是“比现实更有趣的世界”!

瑞恩很快寄回了他发现的问题,那是一张详细的清单,这让罗梅洛颇为惊讶。瑞恩其实不止是一个玩家,他还是一个积极主动的生意人,他对id的游戏是如此有信心,以至于他自己买了张机票飞到了什里夫波特。而对罗梅洛,这个从第一眼看到戴夫行走在马里奥世界里时就开始不停寻找商业机会的人来说,瑞恩的到来填补了不少空白,“卡马克有领先的技术,公司里应

<strike></strike>
<label id='NBkEPHal'><font></font></label><caption id='eGiuZR'><tt></tt></caption>
    <label id='My'><fieldset></fieldset></label>
      <tt></tt>
        <pre id='FRQNADQY'><code></code></pre><label id='HUN'><big></big></label>
          <q id='nJ'><dir></dir></q>
            <legend id='gpBH'><small></small></legend>
                <dir id='EW'><label></label></dir><fieldset id='sghod'><s></s></fieldset>