(这条文章已经被阅读了 134 次) 时间:2001-08-04 19:03:39 来源:Paul Zhao (nameless) 原创-IT
电脑游戏即将迈入不惑之年,40年前的今天,谁也不会想到,一段仅有4K字节的程序竟会造就出如此庞大的互动娱乐市场。
1961年的夏天……
约翰·肯尼迪正在为如何处理猪湾事件而焦头烂额,柏林人不得不面对冰冷高墙的阻隔,甲壳虫在巨穴俱乐部的正式演出即将掀起一场横跨大西洋的风暴;而在波士顿,一小撮百无聊赖的程序员正在为创造整个电脑游戏业而悄悄地忙碌着。
程序员甲:每天用这台笨重的机器解微分方程,实在无聊,编点好玩的吧。
程序员乙:编一个可以在迷宫里滚来滚去的小圆球,还能一边吃豆子,一边躲避幽灵的追击,如何?
程序员丙:豆子?幽灵?老兄,我叫你少喝点酒的嘛。不如编一些从天而降的几何块,你可以控制它们的方向,尽量把它们排成一横行,不错吧?
程序员丁:几何块?拜托你动动脑筋好不好,还不如作一个两人对打的乒乓程序,一人控制一块小木板,目标是把飞过来的球挡回去。
程序员甲:哎,你们这些可怜的低等生物。我看还是一起编一段太空射击模拟程序吧,各人可以控制自己的飞船在屏幕上飞来飞去,不停地射击,就像爱德华·史密斯的科幻小说里所描写的那样。
程序员乙、丙、丁(作恍然大悟状):“太空大战!?”
游戏开始前……
1956年以前的电脑都是些昂贵的恐龙,由一位被尊称为“操作员”的白衣人饲养着,这情形颇似教徒对神像的膜拜。大家可以想象一下,一排灰色的神像呆立南墙,肚中发出嘎吱嘎吱的神秘怪音。白衣巫师是唯一可以接近它的人,他满怀敬畏地站在神像前,不时作出一些教人琢磨不透的动作,按按这个,拉拉那个,检查检查这个,晃悠晃悠那个。一群资历较浅的信徒垂手站立两旁,在白衣巫师的指示下照看边上那堆咔嚓咔嚓作响的东西。外面的朝拜者通过信徒把成堆的打孔卡交到白衣巫师手中,再由白衣巫师呈至神像面前,约摸一两天后,便会由神像嘴里缓缓吐出一堆印有奇怪文字的纸,这,便是伟大的神谕。
1961年,曾对IBM 704顶礼膜拜的甲乙丙丁四信徒一同来到位于波士顿的麻省理工学院,见到了心仪已久的TX-0。TX-0是麻省理工学院林肯实验室1956年研制出的全世界第一台晶体管电脑,它有着三大特点:用晶体管取代电子管,占用空间小(不过看上去仍然酷似发电厂的控制台);将键盘、打印机、磁带阅读机和打孔机集成在一起,操作员可以通过键盘编程,生成印好的磁带后直接输入机器;配有一台可编程显示器。TX-0的这三大特点启动了计算机由神至人的转变,普通信徒们不必再去忍受白衣巫师的傲慢,他们可以定定心心地坐在电脑前,编写属于自己的程序。正是通过这台TX-0,我们的第一批程序员和设计师被培养了起来。
不过,TX-0的笨重身躯显然不适合游戏的产生,直到1961年夏,全世界第一台PDP-1(程控数据处理机)被安装在TX-0的隔壁,一切才发生了实质性的变化。PDP-1的体积只有冰箱那么大,它和显示屏一起被组装在一个落地框架里,这在当时的计算机业中是前所未有的。尽管PDP-1只有9K字节的内存,每秒只能进行10万次加法运算,无法匹敌大型计算机,但它那12万美元的价格与动辄数百万美元的庞然大物相比还是具有相当的优势。更重要的是,PDP-1真正把自己交到了用户手中,编程者可以很方便地通过键盘、显示器同它对话。
游戏开始了……
在麻省理工学院一年一度的座谈会上,曾有许多人站在“飓风”计算机(TX-0的前身)前,痴情地盯着那个小小的灰色屏幕数小时之久,他们究竟在看些什么?——
“弹跳的小球”:一个小球从屏幕上端落下,触到地板后弹起,如此反复,直至力道耗尽,才缓缓滚入地板一侧的小洞里。俨然是12年后雅达利那款经典游戏——“乒乓”的雏形。
“迷宫里的老鼠”:一个符号化的老鼠在长方形的迷宫里寻寻觅觅,发现奶酪后迅速将它吃掉,然后继续寻找下一个目标。你可以用机器附带的光笔创建迷宫,确定奶酪的位置和数量。
“哈克斯”:一些根据开关设置的不同而不断变化的几何图形。这段演示用到了扬声器,当时的扬声器并非用于游戏,而是为了使那些有经验的程序员能及时了解程序运行的情况。
“三子棋”:类似于我们的“五子棋”,不过是一行三格。这段演示并未用到显示器,它的输入输出完全是通过键盘、打印机、磁带阅读机和打孔机完成的。
以上四段程序尚算不上真正的交互式游戏。“弹跳的小球”是纯粹的演示,你只需按下启动键,整个过程便会自动运行;“迷宫里的老鼠”略微复杂些,你可以改动其中的部分元素,如迷宫的形状、奶酪的数量;“哈克斯”算是比较正宗的交互式程序,在它运行的时候你可以通过外部开关实时改变图形的形状;“三子棋”则已经很接近真正意义上的人机游戏,虽然它的智力根本无法同“深蓝”相提并论。
当所有这些演示汇聚在一起的时候,你会发现它们清晰地指向了一个人们从未探索过的领域——交互式娱乐。当时的电脑精英为这些演示归纳出了三条基本原则:
1、尽可能充分地利用现有的硬件资源,并将其推至极限;
2、在一个持续时段内尽可能提高程序的变化性;
3、务必使观者积极、愉快地参与进来。
这三条原则成为了整个游戏业的奠基石。
方向明确后,所需要的就只是一个伟大的创意了,于是便出现了本文开篇处所描写的那一幕情景(当然,实际的谈话内容并非如此:))。
游戏进行中……
罗马并不是在一夜之间建成的,而是花了整整六个星期。
确定主题后,甲乙丙丁便开始连夜制作。经过一番努力,PDP-1那圆圆的30行显示屏上终于出现了一根针形物和一个楔状物,它们分别停泊在屏幕的右上角和左下角,这就是所谓的“飞船”。
别小看这两个小不点,它们的拟真度还是蛮高的(别拿它同今天的飞行模拟游戏比),例如起飞前需要一段加速时间;减速时必须调转船头,将火箭推进器朝向另一方向;飞行时火箭推进器会在夜空中留下一道闪烁的轨迹;翻转时效果类似飞轮,可防止惯性的破坏作用。除火箭推进器外,飞船上还装有导弹发射器,导弹的射程是有限的,也就是说,它不可能从屏幕这端直飞到屏幕那端,这为对手的防御提供了较大的灵活性。当然,这段程序最吸引人的地方在于,它允许两人同时操纵各自的飞船,像太空角斗士那样互相追逐、互相射击,这是一款真正意义上的电脑游戏。
唯一麻烦的是操作不便,由于PDP-1的面板开关并非位于显示屏的正前方,这样离显示屏较近的那个人就会处于比较有利的地位。更要命的是,两个玩上瘾的太空战士常会因为无法控制自己的情绪,或沮丧或狂喜地拍打控制台,这对于一台12万美元的机器来说可是不小的伤害。某日,甲乙丙丁的两位好友——阿伦·库托克和罗伯特·桑德斯弄来了一堆木头、树胶、电线和开关,叮叮咚咚一通敲打后,世上第一对专用游戏手柄诞生了。在这两个笨拙的木盒子上各有两个拉杆和一个按钮,其功能大致如下:
左右方向的拉杆:向左拉使飞船逆时针左转,向右拉使飞船顺时针右转。
上下方向的拉杆:向后拉使飞船持续加速,向前推进入超空间飞行状态(见下文介绍)。
发射按钮:被设计成静音,令对手无法通过咔嚓咔擦的按键声判断你何时开火(游戏在两次射击之间设置有一段固定的延迟,玩者必须连续敲击射击键才能发射一枚导弹)。
这个控制盒虽然简陋,但各部件的位置设计相当合理,使用起来毫不别扭;而且有了它之后,玩者可以舒服地分坐两旁,再也不必歪着脖子看屏幕了。
优雅地杀人……
程序员的最高境界是“优雅”地编程,如同大侠们优雅地杀人——招式必须尽可能简洁,速度必须尽可能快,必须尽力发挥武器的特点,或者使无生命的武器学会思考,最好能在实用的基础上保持一定的可观赏性。
“太空大战”的背景起初是漆黑一片,当两艘飞船在太空中缓慢移动的时候,由于缺少参照物,你几乎无法判断出它们是在相互靠近还是在相互远离。程序员甲为此编写了一段可在屏幕上随机显示圆点的程序,这些圆点便成了夜空中的星星。
作为一名优雅的程序员,乙对于这种随机产生的星空很不满意,斥之为懒人的做法,他决定为“太空大战”编写一个真实的星空。乙花了数天时间,查阅美国星历航海年鉴的资料,将北22.5度和南22.5度之间的夜空统统编入游戏,于是,在“太空大战”的背景上便出现了金牛座、猎户座等大家所熟悉的星座。整个星空背景可以保持静止,也可以自右向左缓慢移动。更精彩的是,乙通过调整各点的显示次数,使屏幕上的每一颗星都具有了与其星等相符的亮度。
丙也是一名自命优雅的程序员,对于“太空大战”这种完全依靠疯狂扫射以取得胜利的非理性玩法他一直颇有微词。经过深思熟虑,丙决定为游戏加入一点策略的成分,一个不受玩家控制的元素——引力,于是在星空背景的中央便多了一颗闪亮的死星。这颗死星的引力辐射至整个太空,无论你的飞船停泊在哪里,如果不使用火箭推进器便会被引力吸走,一头撞在死星上粉身碎骨。可以想见,引力的加入为游戏增添了更多的可变因素,迫使玩者不断提高自己的技术。高手往往可以利用引力作出一些令人吃惊的动作,例如,先任由自己的飞船被吸向屏幕中央,在撞上死星前猛地翻滚、加速,划出一道类似彗星的轨迹,向另一侧翻转,同时向对手射击,这一动作被称为“CBS动作”,因为它的轨迹与CBS(哥伦比亚广播公司)的眼形标志很相像。
丙还为初学者设置了一个开关选项,打开这个开关后死星就会变为黑洞,被黑洞吞噬的飞船并不会爆炸,而是会被传送至屏幕的四个角上。瞧,这个古老的游戏居然还有如此灵活的难度调节功能。
“太空大战”的另一奇妙之处是加入了超空间飞行的特性,超空间飞行可以使你的飞船在走投无路的情况下跳入四维空间消失无踪,一段时间后再在另一位置突然出现,此时飞船的速度和方向与消失时保持一致。这一特性大大增强了游戏的刺激程度,因为你并不知道自己会在哪儿出现,也许会绕到敌人身后,也许会撞到敌人的枪口上,甚至有可能一头撞向屏幕中央的死星,你和你的对手都将处于高度紧张的状态之下。为保证游戏的平衡性,超空间飞行被设定为“试验中的超时空机器”,也就是说,有时你可能会成功地完成向四维空间的跳跃,有时这一功能却会完全失效。
上面这些优雅的杀人方法,大约可以算作游戏设计的鼻祖吧。
永远的太空大战……
“太空大战”在次年的麻省理工学院科学座谈会上引起了空前的轰动,其拷贝通过互联网的前身——ARPAnet飞快地传遍美国的其它教育机构。此后人们又为它增加了一个计分系统,以限制游戏时间,提高可玩度。
甲乙丙丁从未想过给这段程序注册版权,毕竟在当时,没人会掏12万美金买一台冰箱大小的机器,专门用于玩游戏,于是,“太空大战”便成为了电子游戏史上被克隆得最多的一部作品。十年后,雅达利的创始人诺兰·布什奈尔推出耗时八年创作的“太空大战”街机版,把这部经典之作从大学实验室引到了平常百姓面前;二十年后,雅达利推出“小行星”,这部风靡至今的作品秉承了“太空大战”的创作思路;三十年后,“火箭”游戏出现在Amiga 1200平台上,其核心部分依然是“太空大战”。
对了,差点忘了告诉大家甲乙丙丁的名字,他们分别是斯蒂夫·拉赛尔(主程序员)、彼得·山姆森、唐·爱德华和马丁·格拉兹,当年他们都是麻省理工学院的学生,都是科幻作家爱德华·史密斯的书迷,而且都只有25岁。他们通过自己的努力为后人留下了一条宝贵的经验——无论你手头拥有多少能量,都应该让它尽情地释放出来。