一些有天賦的駭客不斷湧現出來,他們有強烈的好奇心和很強的動手能力。他們的籃球球技很差,卻在數學課上能第一個求解出關於分數的難題。那些五年級的學生,當老師要求他們解釋原因時,這些孩子會小聲地說他們「喜歡數字」。在初中教室裡,那些坐在後排的孩子,額頭前的頭髮總是很凌亂,他們的學習成績名列前茅,數學老師不用管他們,讓他們跳到課本的下一章自學,後來乾脆讓他們離開教室,到樓下轉轉自己去發現點什麼,就像彼得·薩姆森當年偶然發現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個程式設計師是一個沒有學歷的駭客,約翰請求自己的老闆僱用這個駭客。
老闆跟約翰說,「但是,這個人想拿和那些有學歷的人一樣多的工資。」
約翰說:「我覺得他的工資應該更高些。」老闆聽著他的解釋。當約翰把這個程式設計師叫進來並開始解釋他的系統時,這個駭客看到約翰的程式碼非常激動。他說:「您的程式和我的程式很像,我不敢相信世界上還有這樣程式設計的人!」