登陆注册
2716500000012

第12章 太空大战(3)

然后,他开始着手绘制两艘飞船的形状:两者都是经典的卡通火箭飞船,顶部是尖头,尾部装有一套尾翼。为了将这两艘飞船区分开来,他将其中一艘做成胖乎乎的雪茄形状,船体中部鼓起,而另一艘的形状则像一个细管。拉塞尔使用正弦和余弦例程计算出如何将这些形状向不同方向移动。然后他编写了一个子例程,实现用计算机上的开关控制从火箭鼻翼射出“鱼雷”(一个点)。计算机会扫描鱼雷和敌方飞船的位置,如果二者处于同一个区域,则程序会调用一个子例程,将这艘不幸的飞船替换为随机飞溅的点,这表示爆炸。(这个过程叫做“碰撞检测”。)

所有这一切实际上都是迈向更为复杂的“实时”编程的重要概念步骤,也就是把计算机上发生的情况与人工实际操作对应起来。在另一种意义上,拉塞尔正在效仿的是黑客所倡导的在线交互式调试风格——可以自由地查看哪条指令让你的程序停止,并用开关或电传打字机加入不同的指令,而与此同时,程序依然在DDT调试器中运行。《太空大战》游戏本身是计算机程序,它有助于表明所有游戏(也可能是所有其他的事情)是如何像计算机程序一样工作的。如果你走了一点弯路,就可以通过修改参数来修复问题。可以输入新的指令。同样的原则也适用于目标设计、国际象棋策略和MIT课程作业。计算机编程不仅仅是一种技术上的追求,更是解决生活问题的途径。

在之后的编程阶段中,桑德斯开始协助斯拉格.拉塞尔,他们会一起进行6~8个小时的高强度工作,如此往复几次。在1962年2月的某一天,拉塞尔揭开了这个最基本游戏的面纱。游戏里有两艘飞船,每艘配备了31发鱼雷。屏幕上有一些随机的点代表着这个星球战场上的星星。可以扳动PDP-1控制台上的4个开关来操纵飞船,这4个开关分别代表顺时针旋转、逆时针旋转、加速和发射鱼雷。

斯拉格.拉塞尔知道,展示这个游戏的简陋版本,然后将记录程序的纸带扔到放置PDP-1系统程序的箱子里,意味着他欢迎其他人主动提供程序改进方案。《太空大战》不是普通的计算机模拟程序——你可以成为真实的火箭飞船宇航员。这就像是真实生活中的多克。史密斯。但是,拉塞尔开发这个程序所利用的力量(PDP-1给予程序员来创建他自己的小型宇宙的力量)同样也可以被其他黑客使用,他们可以自由地改进斯拉格.拉塞尔的宇宙。他们立即就开始这么做了。

看看黑客们对斯拉格.拉塞尔为鱼雷使用的初始例程作何反应,你就会知道黑客们想对这个游戏做些什么改进了。拉塞尔知道实际生活中的军用武器并不是尽善尽美的,所以他认为应该让鱼雷符合现实情况。他没有让鱼雷在失去动力并爆炸前沿着直线前进,而是在鱼雷的方向和速度中加入了一些随机变量。但是黑客们不但不欣赏这种逼真效果,还公开指责它。他们喜欢可以平稳运行的系统以及可靠的工具,所以如果让他们使用无法正常工作的东西,会让他们发疯的。后来,拉塞尔明白了:“不那么值得信任的武器或工具是不会被珍视的——人们真的希望能够信任他们的工具和武器。在这个游戏中,这是显而易见的事实。”

这当然可以很容易地修复。由计算机程序创造出来的世界比真实世界更具优势的地方就是,对于像有缺陷的鱼雷这样可怕的问题,只要修改几条指令就可以修复了。

这也是那么多人很容易痴迷于黑客技术的首要原因!于是,鱼雷问题被修复了,黑客们花很多时间在外太空决斗,并且会花更多时间尝试着完善这个《太空大战》的世界。

例如,彼得.萨姆森很喜欢《太空大战》的想法,但是无法容忍随机生成的点在天空中自行转移。在现实的太空中,星星都有自己固定的位置。“我们要制造出真实的事物。”萨姆森发誓。他找来一本厚厚的宇宙地图册,并开始将数据输入到他编写的例程中,这个例程可以生成真实的星群,也就是在晴朗的夜空中站在赤道地区可以看到的星群。最暗到5级星的所有星星都可以显示出来。萨姆森通过控制计算机点亮屏幕上代表星星的点的频率来复制它们的相对亮度。他还将程序设置为随着游戏的进行,天空会壮丽地卷动——在任何时间,屏幕均会显示45%的天空。除了增加了逼真效果,这个“昂贵的行星仪”程序还为火箭战斗机提供了可在地图上标识的背景,以便测量位置。用萨姆森的话说,这个游戏可以真正称为“Shootout-at-ElCassiopeia”(仙后座的枪战)了。

另一个程序员丹。爱德兹则对这两艘交战飞船不固定的移动表示不满,这让游戏成为了仅对驾驶技术的测试。他认为应该添加一个重力因素,作为游戏的一个策略。于是他在屏幕的中心编写了一个中心星体——太阳。在环绕太阳飞行时,飞船可以靠太阳的万有引力来加速,但是,如果不小心离太阳太近了,你会被拉向太阳,那么你的飞船将必死无疑。

在这种变化的所有策略被采用之前,“海厄姆学院”三人组中的萨格。盖瑞茨为游戏设计了一种通用的功能。他在多克。史密斯的小说中读到过,太空飞车手如何通过“超空间管”让自己脱离一个星系,然后被扔到“异常神秘的第N维空间”。因此,他在游戏中添加了“超空间”功能,允许玩家按动紧急按钮将自己快速移动到这个超空间,以避免可怕情况的发生。在游戏过程中,你可以进入超空间三次,缺点是你永远不知道会从哪里出来。有时,你会重新出现在太阳旁边,只来得及看到自己的飞船被无望地拉向太阳表面,早早地一命呜呼。盖瑞茨非常欣赏马文.明斯基最初设计的显示功能,因此他以同样的方式编写了超空间功能:进入超空间的飞船会留下“弯曲诱导光子压力排放标志”——也就是遗留下来的光点集,通常是Minskytron显示结果所形成的形状。

变化是无穷无尽的。交换几个参数,就可以将这个游戏转换为“液压太空大战”,即鱼雷连串地射出,而不是一个接一个地发射。或者,在夜越来越深后,人们被困于星际模式,有人可能会喊道:“让我们启动‘太空风云’!”于是可能会有人设计出变形因子,强迫玩家在每次移动时做出调整。尽管黑客们所希望的改进都会受到欢迎,但是未经宣布即对游戏做出奇怪的修改是一种非常不好的行为。黑客道德(鼓励亲自动手改进程序,而不是破坏)不允许这种恶作剧式的行为发生。总之,这些黑客已经参与了对系统难以置信的调整——他们使用昂贵的计算机玩着世界上最荣耀的游戏!

黑客疯狂地玩着《太空大战》。对某些人来说,它就像毒品一样让人上瘾。尽管没人能够正式地预约PDP-1的时间段用于《太空大战》,但是这台机器的每一个空闲时刻似乎都在运行这个游戏的某个版本。黑客们会手里拿着可乐(有时还准备着钱),参加马拉松式的比赛。最终,拉塞尔编写出了可以保留得分的子例程,能以八进制(那时,所有人看一眼就能读出这个八进制的数字系统)显示获胜的比赛总分数。现在暂时的主要缺点似乎是操纵PDP-1控制台上的开关不那么舒服——每个人都肘部酸痛,因为他们要让自己的胳膊保持着某种角度。于是有一天,考托克和桑德斯来到了TMRC娱乐室,在这里找了些零部件(这些零部件后来被做成了世界上第一个计算机操纵杆)。他们完全采用散落在娱乐室各个地方的零部件来制作,共花了一个小时的时间将这些零部件组装在一起,做出了操纵盒。操纵盒由木头制成,盒盖是绝缘纤维板。操纵盒上有用于旋转和推动的开关以及一个进入超空间的按钮。当然,所有的控件都是无声的,这样,如果你愿意,便可以悄无声息地盘旋在敌人身旁或进入第N维空间。

《太空大战》热闹的编程阶段逐渐淡去,一些黑客对其失去了兴趣,而另一些黑客则具备杀手般敏锐的直觉,想要设计策略来摧毁对手。大多数对战在头几秒钟即会分出胜负。瓦格纳逐渐擅长于“静止等待”策略,即保持静止不动,等待引力驱使你围绕着太阳转动,然后直线冲出,开始用鱼雷向你的对手狂轰滥炸。还有一种变化叫做“C B S开局”,你可以选择射击角度然后绕着太阳旋转。这个策略之所以如此命名,是因为当两个太空大战的斗士都试图如此操作时,会在屏幕上留下酷似CBS眼睛徽标(哥伦比亚广播公司的眼睛图标)的图案。桑德斯非常看重他的《太空大战》,他使用了一个修改后的C B S策略在比赛中保持优势地位——有段时间,他是无敌的。但是,在这样一种王者的竞赛中,即使是最好的太空战士,在保护其领地20分钟后视线也会变得有些模糊,并减慢操作速度,而大部分的人会在此时获得机会,以有效的方式进行太空大战。彼得.萨姆森是仅次于桑德斯的太空战士,某个晚上,他在返回位于洛厄尔的家时意识到了他对这个游戏的痴迷。他走出列车,抬头凝视一望无云的清澈天空,一颗流星飞过他的头顶,飞船在哪里?萨姆森这么想着,立即转回头,抬手想要抓住控制箱,却抓了个空。

同类推荐
  • 大话设计模式

    大话设计模式

    本书主要采用JAVA语言介绍设计模式中比较常见的23种设计模式,分29章具体介绍,以现实生活中常见的事情为例来具体分析讲解。
  • 产品经理入门攻略

    产品经理入门攻略

    《产品经理入门攻略》深入浅出地告诉大家什么是产品经理,结合了多位作者的亲身经历,解答了常见的工作问题。《产品经理入门攻略》集合了数十位优秀的作者,作为移动互联网时代一本难得的图书,适合产品经理和运营阅读,大家阅读时可以找到不少实用的工作方法。我们希望本书能成为移动互联网时代中学习产品的经典之作。
  • 体感交互技术

    体感交互技术

    本书提出了体感计算的研究,探讨了基于体验性认知的个性化电子学习方式,并且分析了面向儿童的艺术创造体验,在体感虚拟化身的帮助下,用户可以通过身体运动,促进情感心智的全面发展,
  • 计算机:一部历史

    计算机:一部历史

    《计算机:一部历史》,给大众读者写的计算机科普读物,零门槛入门计算机科学。讲述计算机背后鲜为人知的故事,普及关于计算机和互联网,你不得不了解的知识。在过去数十年里,除非你一直与世隔绝,否则就不可能不受到信息革命的影响。我们身处技术演进史上的计算机时代,无论你是计算机和互联网的拥护者、反对者还是旁观者,无论你是否具备计算机专业背景,只要你使用计算机,这本书就是你的案头必备。
热门推荐
  • 刘胡兰

    刘胡兰

    刘胡兰,山西省文水县云周西村人(现已更名为刘胡兰村)。1945年进中共妇女干部训练班,1946年被分配到云周西村做妇女工作,并成为中共候补党员。1946年12月21日,刘胡兰参与暗杀云周西村村长石佩怀的行动。当时的山西省国民政府主席阎锡山派军于1947年1月12日将刘胡兰逮捕,因为拒绝投降,被铡死在铡刀之下,时年15岁。随后,刘胡兰被中共晋绥分局追认为中共正式党员。毛泽东当年为其题词:“生的伟大,死的光荣。”朱强编著的《刘胡兰:生的伟大,死的光荣》讲述了刘胡兰生平事迹。
  • 重生在漫威里的道君

    重生在漫威里的道君

    这是一个道君重生在漫威世界的故事。一路无敌强推,脚踢神盾局,手撕灭霸吞星,把整个漫威捅出了一个血流成河!无女主,不虐主,不圣母群号954619925
  • 其实我们一直活在春秋战国3

    其实我们一直活在春秋战国3

    公元前770年到公元前221年,在这段被后人称之为春秋战国的550年间,那些空前绝后的伟大人物和传世经典井喷似的涌现:孔子述《论语》、孟子写《孟子》、老子写《道德经》、墨子写《墨子》、孙子写《孙子兵法》、鬼谷子写《鬼谷子》、韩非写《韩非子》……百家争鸣奠定了中华文明的基石,四书五经铸造了后世中国人的价值观,春秋五霸开创了谋略计策的典范,战国七雄构建了现今中国版图的框架。
  • 成本会计实务

    成本会计实务

    本书以理论够用为尺度,突出各种方法的运用,案例丰富,内容翔实。每个模块都列举了大量的例题,并附有思考题和练习题,以便学生课后学习使用。成本会计课程是会计专业和财务管理专业的一门专业课。
  • 以人为本与科学发展观

    以人为本与科学发展观

    本书把“每个人的自由发展”作为以人为本与科学发展观相互联结的理论支撑点,旨在展开以人为本的新实践与科学发展观的新体系及其有机统一。本书是作者长期研究与思考之作,具有把握时代精华、突出体系完整、富于理论创新等显著特点,适合专业理论工作者阅读。本书文字简洁、语言生动、通俗易懂,也适合广大干部群众阅读。
  • 量知篇

    量知篇

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。汇聚授权电子版权。
  • 朝云北郭录

    朝云北郭录

    还没想好写啥呢就乱编点吧啦啦啦啦啦啦啦啦
  • 时光深处(下)

    时光深处(下)

    21岁的韩陌贫穷、骄傲、凉薄、优秀,骨子里有着对命运的不服。那时,江湖传言:T大的韩陌,不论男女,人皆爱之。那时,江湖还有一条传言:S大的苏小冉追男神韩陌追得痴狂。因此,当苏小冉成功追到男神后,T大与S大轰动了!一晃眼,八年过去——他跻身商业新贵,成了高高在上的神祗,而她只能朝拜。她说:“韩陌,如果有一天,你不再爱我了,一定要告诉我。”后来,他果然不爱她了。而她,在那天对自己发誓,她一定要成为钻石一样的女人,让他后悔,让所有人仰视。
  • 爱是永恒

    爱是永恒

    描述一个80后男生曲折、坎坷、悲喜交加的爱情、婚姻生活。
  • 妹妹恋人

    妹妹恋人

    四周的空气顿时炙热了起来,虽然她们早就把少儿不宜的事研究了个彻底,可每每他火热地靠上来的时候,她总是禁不住地颤抖。两颊通红,双腿乏力。郑权儿称此为尚力凡综合症。被誉为花瓶的新人郑权儿坐在从意大利空运买回来的红色真皮沙发上,如水般的荡漾的双眸紧盯着对面的电视墙,小脸上尽是紧张。时尚频道正在转播昨日对天王巨星尚力凡的采访。