一些有天赋的黑客不断涌现出来,他们有强烈的好奇心和很强的动手能力。他们的篮球球技很差,却在数学课上能第一个求解出关于分数的难题。那些五年级的学生,当老师要求他们解释原因时,这些孩子会小声地说他们“喜欢数字”。在初中教室里,那些坐在后排的孩子,额头前的头发总是很凌乱,他们的学习成绩名列前茅,数学老师不用管他们,让他们跳到课本的下一章自学,后来干脆让他们离开教室,到楼下转转自己去发现点什么,就像彼得·萨姆森当年偶然发现mit的eam机房——一个连接其他大学的分时计算机的终端一样。在这个乡村学校的地下室里,有一台灰色的电传打字机终端,可以运行游戏,这太神奇了。用户可以在上面打游戏,但是,一个天生的黑客就不止满足于这些,他就会问:“为什么游戏没有这个功能?”“为什么它没有那个特征?”因为这是一台电脑,所以我们人类第一次有机会实现自己的想法。有人会给你提供一些basic代码,你就可以按照自己的意愿使用这个系统了。
约翰·哈里斯的情况和彼得·萨姆森很像。他很高,比较讨人喜欢,长着浅黄色的头发,笑起来傻乎乎的,非常可爱。他有什么话总是喜欢一口气说完,激动的时候甚至顾不上停顿一下。他是一个被社会排斥的人,后来,他乐呵呵地说:“在上学的时候,我的英语和体育都是班上最差的。”他在小学时读的是圣地亚哥的尖子班。他的父亲是一位银行职员。他有一个弟弟和两个双胞胎姐姐,他们对技术问题不感兴趣。“我是一个彻头彻尾、百分之百的技术人员,”约翰后来非常兴奋地重复着这句话。那台连接学校分时终端的远程计算机似乎和他一样,没有多少亲密的伙伴——他甚至都不知道它的位置。
约翰·哈里斯和那些在科学博览会上令人赞叹的天才不同,他们做事古板,令人乏味。约翰·哈里斯的优势不在于让人过目不忘,而是他的激情四射,其他人很容易受到这种热情的感染。他的这种非凡的能力主要来自于科幻小说(电影和漫画——而不是书籍,因为约翰很少看书)。游戏,还有黑客精神的影响。
以前,对于像约翰·哈里斯这样的人来说,事业的高峰就是找到像mitai实验室这样的电脑研发中心,在那里消磨时间,学习知识,最后获得最高荣誉。那样的生活就像在天堂里一样,14岁的大卫·塞维亚一开始就是这样想的。那个时候,一位住在9楼的黑客推荐他使用pdp-6。但是,altair发起产业革命后,哈里斯到了该上高中的年纪。约翰·哈里斯这代人是第一代自由使用电脑的用户,他们不用求别人,借别人的电脑,或者从连接电传打字机的远程大型机上盗取时间。1980年,在风光优美的圣地亚哥郊外,对于一个高中的孩子,甜言蜜语地哄骗自己的家长给自己零花钱,甚至做兼职赚取足够的钱购买大件商品,这种事情并不常见。大多数孩子想要汽车,但是早期的电脑专卖店老板非常清楚,很多孩子都想要一台电脑。
当约翰·哈里斯在11年级的时候,他认识的一位高年级学生借给他一台commodorepet电脑。约翰后来回忆说:“我在他的电脑上玩《星际旅行》游戏,开始进行程序设计,利用我以前学过的basic语言,还完成了一些其他工作,它比分时系统的电脑要好玩多了。它的运行速度更快,交互性更强,还有图形和声音……电传打字机已经很不错了,我以前不知道还有更出色的电脑,现在我知道了,‘天啊,这个电脑太棒了……’”
约翰·哈里斯属于第三代黑客,他们是具有开拓精神的大型机黑客,第二代硬件黑客将电脑从指令中解放出来,使人们更方便地访问电脑。人们可以自己购买电脑,或者使用朋友的电脑。这些电脑的功能不像政府机构的电脑那样强大,而且没有咨询团队、格林布莱特或者高斯珀,可以帮助用户消除挫败感,完成一些合适的工作,最后大获成功。但是第三代黑客并没有因为这些现实而烦恼。他们现在可以自由使用电脑。甚至在自己的卧室中也可以使用它。他们通过自己的黑客行为,可以学到很多知识,从而了解黑客行为和黑客道德的主旨。
约翰·哈里斯对pet非常着迷。使用个人电脑完成工作,要容易得多。约翰尤其喜欢它的全屏幕编辑功能,以前使用电传打字机的时候,一次只能编辑一行,使用pet以后,编辑文字就方便多了。但是,pet和其他个人电脑最大的亮点还是游戏部分。
“我喜欢所有类型的游戏,”约翰·哈里斯后来回忆说:“我觉得,这才是真正的我!”这也是理所当然的,因为他在初中时就是一个电子迷,所以对20世纪70年代后期的电玩游戏空间大战非常着迷。哈里斯并不知道游戏的灵感来自于斯拉格·拉塞尔设计的《太空大战》。过了一段时间,约翰又迷上了一款叫做《疯狂攀登者》(crazyclimber)的游戏,在游戏中,你试图将一个人送到楼顶,但要躲开掉下来的花盆,有人会在你手所在的位置关上窗户,还有一个大猩猩想把你赶下来。《疯狂攀登者》吸引他的地方在于它极富创造力,故事情节新颖独特。它实现了很多前人没有实现的功能。
约翰·哈里斯力求使自己的程序达到那种创新性。他对游戏的态度和对计算机语言的态度,或者对某种电脑的偏爱是类似的:个性特征突出,非常讨厌效率低、效果差的做事方法。约翰觉得游戏要在某种程度上具有创新性,要有五彩缤纷的画面,要有一些挑战性。他的“可玩性”的标准非常严格。如果一个程序员很明显(对于约翰·哈里斯)能把游戏设计更精彩一些,但是却没有这样做,不管是因为不懂技术,还是理解有偏差,或者(最糟糕的情况)由于懒惰,他都觉得无法忍受。细节部分可以使游戏更精彩,约翰深信游戏的作者应该把所有可能的修饰都加进来,使游戏变得更吸引人。当然,也不要忘记完善游戏的基本结构,确保游戏本身没有错误。
为了实现自己严格的标准,约翰需要有自己的电脑。他开始省钱。甚至削减自己在电玩游戏上的开销。那个时候,约翰已经高中毕业,在当地的一所大学就读,主修电气工程,并在一家银行的数据处理中心工作。他的一个朋友有一台最热门的黑客家用电脑——苹果电脑,但是,约翰却不喜欢它,这台电脑的文字编辑功能很差,里面的图形很难看。
他带着钱来到电脑专卖店,打算买一台pet。那些店员调侃他说:“那些买pet电脑的人,只会花光自己所有的钱,”他们告诉他:“这些人根本买不起apple2电脑”。但是,约翰·哈里斯对沃兹尼亚克开发的苹果电脑真的不感兴趣,他见过太多朋友的苹果电脑,越发觉得苹果电脑是非常荒谬的。他对苹果电脑的蔑视与日俱增。“一看见那台电脑,我就觉得非常恼火,”他后来回忆时这样说。每次一提到苹果电脑,他就开始退缩,并用手比划着十字,好像要挡住一个吸血鬼一样。最后,他向我们认真解释了这种反应的原因——苹果电脑没有全屏幕编辑器,机器启动以后,需要很多硬件的支持它才能真正运行,键盘的个数比较少……但是,他对苹果电脑的厌恶还不止这些原因,哈里斯觉得苹果电脑阻碍用户操作。然而,其他黑客却把苹果电脑的这种局限性看做一种具有挑战性的跨栏比赛,或者是一种诱人的耳语,他们觉得苹果电脑可以“让用户走得更远”,哈里斯觉得他们非常可笑。因此,他去别的电脑专卖店买了另一种电脑——atari电脑。
atari800(同时发行的还有低功率的atari400)是atari公司刚刚发行的产品,它的竞争对手是苹果电脑。乍一看,它很像一台新颖的带键盘的游戏机。实际上,它有一个插槽,可以把盒式磁带放进去,这是电脑上的一种标志,至少在某种程度上可以帮助那些不太懂的新手,他们甚至不知道怎么把盒式磁带放进去,更不要说软盘了。
当时甚至都没有一份规范的使用手册。约翰·哈里斯在专卖店操作一台atari800,他发现这台电脑和苹果电脑不同,却和pet电脑很像,同样具有全屏编辑功能。但是,他想了解一下电脑的内部原理,于是他来到另外一家电脑专卖店,店员塞给他一张纸,上面是这台新电脑的一些指令。这些指令看上去就像电影《法国保卫战》中的密码一样。没有一个破译者能像约翰·哈里斯这样,他如饥似渴地读着这些代码。他发现atari计算机有一组按键图形符号,一种高分辨率模式和一个提供音效的独立芯片。简而言之,这些新特性与哈里斯喜欢的pet电脑的特性都很像,甚至还包括一些苹果电脑的功能。于是,他买了一台atari800。
他开始用basic语言编程,但是,他很快意识到必须要学习汇编语言,这样才能开发游戏。他辞了银行的工作,在gammascientific公司找了一份工作,这家公司要求程序员在自己的系统上用汇编语言设计程序,而且经常对程序员进行培训。
约翰想把新学的汇编语言的方法移植到atari电脑上,但是,他发现这样做非常困难。atari电脑是一台“封闭的”电脑,也就是说它与微型处理器的汇编语言命令得到的结果是隔离的。atari电脑好像不想让程序员利用它编写代码,这有悖于黑客道德。于是,约翰给atari公司的人写信,甚至给他们打电话反映这个问题,接电话的工作人员很冷淡,没有给他提供任何帮助。约翰觉得atari公司这样做,是为了限制其他软件和自己的软件进行竞争。但是,这根本不是封闭电脑的充足理由。(而苹果电脑就是“开放的”,它的秘密对所有人都是公开的。)因此,约翰开始仔细研究atari电脑的奥秘,他想知道为什么atari公司的工作人员告诉他,atari800的绘图模式只提供了4种颜色,但是,在他们发布的《篮球》和《超级打砖王》等游戏中,很明显就包含8种以上颜色。他决定要解开这个谜团,探索系统的奥秘,最好能扩展电脑的功能,并控制它。
为了探索atari电脑的奥秘,他找来一位熟悉汇编语言的朋友,他们用basic语言编写了一个盒式磁带的反汇编程序,它将程序分解为目标代码,逐行分解atari公司销售的软件。然后,他们发现了一些奇怪的指令,这些指令可以访问atari电脑的6502芯片上所有特殊的存储单元,他们把这些指令输入电脑,看一下会出现什么情况。他们发现,“显示列表中断”指令表示显示器上可以显示更多颜色;最有用的是“用户自定义特征”指令,后来被称为"player-missilegraphics",它用汇编语言的方法访问一块特殊的atari芯片"antic",这块芯片可以独立处理图形,从而方便用户在主芯片上运行其他的程序。开发游戏比较困难的地方在于如何分配声音、图形和游戏逻辑在主芯片上运行的时间,"player-missilegraphics"为程序员提供了很多便利。一家公司怎么会把自己的电脑内部精巧的设计公之于众呢?他们让用户了解的内容非常有限。
哈里斯和他的朋友破解了atari电脑的秘密。他们想用学到的知识来解放这台电脑,将技术数据传播出去,扩大atari电脑的市场。但是,那个时候市场上出现了一些盗版的硬件手册。有些人就像是atari电脑内部的海盗一样,窃取了电脑内部硬件和参考手册的副本,并把它们以高价卖给相关人员。但是,这些手册只有那些与atari设计师水平相当的人才能看得懂。哈里斯后来这样说:“手册是用atari语言写的,而不是用英语写的。”因此,盗版手册的作用并不大,只能对那些使用atari800进行编程的人有帮助,比如像约翰·哈里斯这样的人。
18岁的约翰·哈里斯开始利用学到的知识进行游戏开发。他开发了一些自己喜欢玩的游戏,他想把游戏设计得非常华丽,非常有趣,使作为玩家的他感到兴奋激动,而且可以激励自己更多地了解atari系统。作为一个科幻小说迷,他经常参加"cons"——科幻小说迷组织的会议,在这里,人们可以尽情沉浸在科技幻想当中——他从小就很迷恋太空大战的游戏。他会构想宇宙飞船、太空站、小行星等外星球的物体的形状,然后利用自己的想象力,在显示器上把这些形状显示出来,然后再对它们进行控制。把这些形状放到屏幕上方并进行操作,比最终完成作品要重要得多:约翰·哈里斯很粗心,他经常把文件保存在盒式磁带的反面,或者盲目扩充代码导致程序最终崩溃——只有这时候,他才发现自己忘了制作一个备份磁带。他会感到非常懊恼,但是仍然继续设计程序。
设计程序是他的生活当中最美好的事情。他开始在gammascientific公司全职工作,以维持生活。一年的工资不到一万美元。他很喜欢这份工作,因为可以使用电脑。他家里有一台atari800计算机,现在装了一个磁盘驱动器,可以运行汇编程序。但是,没有一个像mit的黑客那样的严密组织,他发现只当一名黑客是不够的。他渴望发展更多的社会关系。他与自己的家人的关系不太好,后来他说他与自己的家庭断绝了关系,因为他辜负了父亲的期望。父亲不喜欢他从事atari800电脑的游戏开发工作。因此,哈里斯从家里搬了出来,与几个科幻小说迷住在一起。他们一起参加cons,他们可以通宵野战,带着塑料标枪在宾馆大厅来回穿梭。但是,约翰发现他的朋友总是计划一些短途旅行,但是并没有邀请自己。约翰·哈里斯是一个脾气好,性格很温和的年轻人,他对他们明显的排斥行为非常敏感。
他想交个女朋友。他和那些非常优秀但是让人琢磨不透的女孩出去约会,最后都会让他感到失望。他的室友经常设计一些浪漫情节——他们将寝室戏称为“太空的冷暖人间”——但是,约翰很少参与进来。他和一个女孩接触了几周,而且还相约共度除夕。但是,女孩在新年前给他打电话:“我不知道怎么跟你说”,她说,“但是我见了一个男孩,我要跟他结婚了。”这次失恋令他终生难忘。
于是,他继续钻研游戏设计。就像mit的黑客或者家酿俱乐部成员一样,他从中体会到了无穷的乐趣。他加入了当地的一家atari用户俱乐部,从他们的图书馆里借出一些程序,进行重新编辑,使它们的速度更快,功能更完善。例如,他把一个电玩游戏《导弹任务》进行了改进,加快了游戏的运行速度,当icbm的一个成员阻止敌人的核武器毁灭整个城市时,他把爆炸场景设计得更生动。他把改进的游戏交给一些玩家,他们都非常喜欢。他开发的所有程序都会自动成为公共财产,他从来没有想过所有权这个概念。有一次,一个用户告诉约翰·哈里斯,自己有一个销售电脑游戏的小公司,他希望在市场上出售约翰的游戏,哈里斯跟他说:“当然可以了,为什么不行呢?”他觉得这就像卖了一张游戏盘一样。
他给了这个人一款名为《保卫家园》的游戏,这款游戏很像以前mit开发的《空间大战》,约翰后来说:“这款游戏有两个角色,他们坐着飞船飞来飞去,互相攻击。”哈里斯靠这款《保卫家园》小游戏赚了200美元,他开始考虑如何扩大游戏的传播范围,而不只限于这些玩家。
1981年3月,哈里斯来到旧金山的计算机展览会,参加一个由atari公司的最佳程序员克里斯·克劳福德主办的研讨会。约翰对克劳福德的印象非常深刻,他是一个内向的人,说话时总是表现得很兴奋,表达能力很强。会后,约翰·哈里斯热血沸腾,他在布鲁克斯大厅密闭的走廊中转来转去,看着这些热门的新电脑,那一年有几十家新的软件公司开设了自己的展台。
这个时候,约翰鼓起勇气找到一些公司,询问他们是否需要atari电脑上的程序。很多人都说不需要。他来到on-line公司租用的展台前,工作人员将他介绍给了肯·威廉姆斯,肯·威廉姆斯看起来非常和善,约翰告诉肯·威廉姆斯,他是一个用汇编语言进行程序设计的程序员,但是,现在他对这份工作已经厌倦了。
那个时候,肯·威廉姆斯觉得用汇编语言编写优秀的游戏的人很少。他很想把这些汇编语言的程序员都召集到加州的科斯戈尔德。on-linesystems公司正在飞速发展——尤其是在计算机展览会上,肯·威廉姆斯正在对《神秘屋》游戏进行市场测试。一年以后,他在市场上确立了自己的游戏发行商地位,公司的产品供不应求。他在《softalk》杂志上登了一则广告,标题为“招聘游戏创作者”,在广告中,公司承诺“将支付本行业最高的版税……工作时间可以灵活安排,不必和其他人一样。”另外,广告中还提到了另外一个优惠条件:可以有机会与苹果电脑大师肯·威廉姆斯一起工作,“可以随时与肯·威廉姆斯单独讨论技术问题,肯·威廉姆斯可以帮助他调试程序,提供独创性意见……”肯·威廉姆斯非常明智,他意识到开发产品的程序员不一定必须是经验丰富的电脑高手。也需要一些像约翰·哈里斯这样的不太成熟的青少年。
肯·威廉姆斯对约翰·哈里斯说:“好吧,”然后马上问他,“你喜欢针对哪些领域进行程序设计?”
肯·威廉姆斯的话表示对自己产生了兴趣,这就表示可以为on-linesystems公司工作,约翰·哈里斯对这个公司有一些了解,他知道该公司主要销售苹果电脑的软件。他说:“我不了解苹果系统。”当然他并没有提到,基于他对苹果系统的了解,他只想直接把它扔到马桶里。
肯·威廉姆斯却奇怪地说,“我们想要把游戏移植到atari系统上,现在还没有找到合适的编程人员。”
约翰惊讶得说不出话来。
肯·威廉姆斯问他:“你能编程实现这一功能吗?”
在一个月内,肯·威廉姆斯为约翰·哈里斯买了一张去弗雷斯诺的机票,他开车到机场接了他,然后沿着41号公路到达奥克赫斯特。肯·威廉姆斯先给哈里斯安排好了住的地方,然后开始讨论薪水的问题。因为约翰刚刚在gammascientific公司涨了工资,所以肯·威廉姆斯给他开出的一个月1000美元的工资实际上比原来的工资要低。约翰鼓起勇气说,他觉得自己的工资应该更多一些。肯·威廉姆斯能不能一个月支付1.2万美元,并且免费提供住宿?肯·威廉姆斯看了看罗伯塔(那个时候,在on-line公司的小办公室中,工作人员能随时看到其他的工作人员),她告诉他,他们无法提供那么高的待遇。
威廉姆斯对他说:“要不这样吧,我付给你30%的版税,但是你不必在公司工作,怎么样?你从那所房子里搬走,我们约定两个月或三个月的时间,我每月给你700美元的生活费,直到你完成第一款游戏。但是,如果你到约定时间没有完成游戏,我们的协议就终止。”
约翰觉得这个建议不错。但是,等他回到家,他父亲跟他说他被骗了。父亲责怪他,为什么不多要点薪水少要点提成呢?这样有什么安全保障呢?约翰被威严的肯·威廉姆斯震慑了,他不想失去这个可以从事黑客游戏的机会。他想离开圣地亚哥,进行游戏开发,这样他就很满足了。尽管挣得钱比较少,但是他仍然坚持只拿30%的版税。
这是他最赚钱的决定。
肯·威廉姆斯在奥克赫斯特附近购买了几栋房子,供公司的程序员居住。约翰·哈里斯搬进了一座名为“六角楼”(hexagonhouse)的房子,这所房子是以顶层的形状命名的,这是唯一一座从路上可以看到的房子:它像一个凉亭一样耸立于其他房子之上。一进门口,是客厅和厨房,卧室在楼下。与约翰同住的是肯·威廉姆斯的哥哥约翰·威廉姆斯,他今年20岁,主要负责online公司的广告业务和市场营销。尽管约翰·威廉姆斯很喜欢哈里斯,但是,他仍然觉得哈里斯是一个怪人。
约翰·哈里斯向肯·威廉姆斯提及的第一款游戏是受电玩游戏《吃豆人》的启发,这是1981年最热门的一款投币游戏,很快受到广大玩家的欢迎。约翰·哈里斯也去游乐场玩这款游戏,了解了游戏的输入和输出,便开始编写该游戏在atari800计算机上运行的版本,他并没有想到这有什么不妥的。对于一个黑客,将一个有用的或者有趣的程序从一种机器上移植到另一种机器上是一件好事。哈里斯根本没有考虑《吃豆人》(一些幽灵追逐一些嘴巴一张一合的黄色小精灵)的所有权问题。他所考虑的只是这个“吃豆人”游戏看起来非常符合atari计算机的特性。因此,即使他本人非常喜欢宇宙大战和射击类游戏,但是,约翰仍然向肯·威廉姆斯建议说他要开发一款在atari800计算机上运行的《吃豆人》游戏。
当时,肯·威廉姆斯已经在市场上销售一款和《吃豆人》很像的游戏,叫做《贪食者》,它运行在苹果电脑上。这是一位名叫奥拉夫·吕贝克的专业程序员开发的,他看到“招聘游戏创作者”的广告后,主动向威廉姆斯寄去了自己的游戏。这款游戏一个月大约销售800份,肯·威廉姆斯已经交代给吕贝克,让他把这款游戏移植到atari家用电脑上。
但是,约翰·哈里斯对苹果电脑上的游戏非常抵触。“这款游戏没有壮观的场面,没有动画效果,”他后来这样说:“而且,碰撞检测的设计拙劣得令人无法原谅。”苹果电脑和atari电脑使用的都是6502芯片,哈里斯不想看到奥拉夫·吕贝克把苹果电脑游戏一个字节一个字节地移植到自己心爱的atari电脑上。如果这样移植,约翰所钟爱的atari电脑的高级特性(大部分都位于单独的芯片上)就一个也用不上了,这是绝对无法容忍的。
约翰声称他可以在一个月内开发一个更吸引人的游戏,于是,肯·威廉姆斯命令奥拉夫·吕贝克停止开发这个项目,把项目交给了约翰。约翰·哈里斯开始抓紧时间开发游戏,经常通宵工作。约翰是一个随心所欲的人,他经常即兴开发创新性的程序。“我一想到新的点子,就会想办法去实现它……所以,我开发的程序非常具有创新性,”他后来这样说。有时,约翰非常敏感,尤其是当一个更传统的程序员按照流程图、标准结构和清晰的文档,检查他的代码时,他对此非常敏感。例如,约翰离开gammascientific公司,加入科斯戈尔德后,他很担心有人舍弃他那些优秀的代码,而采用一些结构化、很简洁但是效果更差的代码。后来,gammascientific公司准备招聘6个程序员,“其中的5个程序员学历都非常高,”约翰后来这样说。而第6个程序员是一个没有学历的黑客,约翰请求自己的老板雇用这个黑客。
老板跟约翰说,“但是,这个人想拿和那些有学历的人一样多的工资。”
约翰说:“我觉得他的工资应该更高些。”老板听着他的解释。当约翰把这个程序员叫进来并开始解释他的系统时,这个黑客看到约翰的代码非常激动。他说:“您的程序和我的程序很像,我不敢相信世界上还有这样编程的人!”