讀古今文學網 > 創新者:一群技術狂人和鬼才程序員如何改變世界 > 史蒂夫·拉塞爾和《太空大戰》 >

史蒂夫·拉塞爾和《太空大戰》

黑客亞文化以及影響深遠的電子遊戲《太空大戰》都源自麻省理工學院的「鐵路模型技術俱樂部」(Tech Model Railroad Club)。這是一個創建於1946年的學生極客組織,「據點」設在一幢曾作為雷達開發設施的建築物深處。俱樂部的「掩體」幾乎被一個包含幾十條鐵道、開關、有軌電車、燈和城鎮佈景的火車模型沙盤佔滿了,所有模型都做得讓人愛不釋手,在歷史細節上也很精確。俱樂部的多數成員都著迷於製作圖片般完美的零部件陳列在沙盤上。但其中也有一群成員對這個齊胸高的大沙盤內部的東西更感興趣。這些成員屬於「信號和電力小組」,他們更關注信號傳輸、布線、電路,還有沙盤底面那些裝在一起,對許多列火車進行複雜分級控制的縱橫式開關。他們在這張錯綜複雜的網中發現了美。史蒂文·利維(Steven Levy)在《黑客》(Hackers )一書開頭對這個俱樂部做了生動的描寫,他寫道:「開關排列整齊有序,古銅色的繼電器也一排排整齊地排列著,一長捆紅、藍、黃相間的線纏繞在一起,呈現出彩虹般的顏色,就像愛因斯坦的爆炸頭一樣。」2

信號和電力小組的成員驕傲地以「黑客」自居。當時這個詞既暗指技術精湛,又帶有戲謔的意味,但還沒有出現非法入侵網絡這種新用法。麻省理工學院學生搞的那些複雜的惡作劇(把一頭活奶牛放到宿舍屋頂上,在主樓的穹頂上放一頭塑料奶牛,或者在哈佛和耶魯比賽時讓一個巨大的氣球出現在球場正中央)就叫「黑客行動」。該俱樂部宣稱:「我們鐵路模型技術俱樂部只使用『黑客』一詞的本義,即運用創意產生巧妙結果的人。這種巧妙的結果叫『黑客行動』,其本質特點是出手迅速,而且通常不登大雅之堂。」3

一些早期的黑客夢想創造出能夠思考的機器,這其中有很多是麻省理工學院人工智能實驗室的學生。這個實驗室建於1959年,創始人是兩位後來成為傳奇人物的教授:一位是長得很像聖誕老人的約翰·麥卡錫(John McCarthy),「人工智能」這個詞就是他創造的,還有一位是聰明絕頂的馬文·明斯基(Marvin Minsky),他的存在似乎就是要反駁他自己所謂計算機終將超越人類智能的信念。這個實驗室的信條是,只要獲得足夠的處理能力,機器就能複製人腦等神經網絡,並能與使用者進行智能互動。眼睛明亮、愛搞惡作劇的明斯基做過一個旨在模仿人腦的學習機,將其命名為「隨機神經模擬強化計算器」(Stochastic Neural Analog Reinforcement Calculator),暗示他雖然抱有認真的態度,但也帶些玩笑的成分。他有個理論是,智能可以是非智能元素互動的產物,比如被巨型網絡相互連接的小型計算機。

鐵路模型技術俱樂部的黑客們1961年9月迎來了一個影響深遠的時刻,當時,迪吉多捐給麻省理工學院一台PDP–1型計算機的原型機。尺寸與三台冰箱相當的PDP–1是世界上第一台能與使用者直接互動的計算機。它能連接一個鍵盤和一台圖形顯示屏,一個人就可以輕鬆操作。幾個鐵桿黑客開始一窩蜂地圍在這台新計算機周圍,他們還組成了一個小集團,策劃能讓這台計算機做些什麼好玩的東西。許多討論是在劍橋欣厄姆大街一個破舊的公寓裡展開的,所以其成員以「欣厄姆學院」自居。這個名字很氣派,又帶些諷刺意味。他們的目標不是要讓PDP–1實現什麼高大上的用途,而是要做點巧妙的事情。

之前的黑客們也曾為早期的計算機創造過一些簡單的遊戲。麻省理工學院開發的一款遊戲用屏幕上的點代表一隻試圖在迷宮裡找路,以尋找一片奶酪(後來的版本是一杯馬丁尼)的老鼠;還有一個遊戲是長島布魯克海文國家實驗室(Brookhaven National Lab)開發的,該遊戲在一台模擬計算機上使用示波器來模仿網球比賽。但欣厄姆學院的成員們知道,有了PDP–1,他們就有機會創造出第一個真正的計算機電子遊戲。

這群人中編程最出色的當屬史蒂夫·拉塞爾,當時他在幫麥卡錫教授創建用來輔助人工智能研究的LISP語言。拉塞爾是個完美的極客,對蒸汽火車和思維機器等種種東西抱有濃厚興趣,會著迷地鑽研。他是個小個子,容易激動,卷髮,戴著厚厚的眼鏡。他說話語速極快,就像有人在猛按快進鍵一樣。不過,雖然他做事認真、精力充沛,但他喜歡拖拉,於是別人給他取了個綽號,叫「鼻涕蟲」。

和大多數黑客朋友一樣,拉塞爾也是爛片和庸俗科幻小說的忠實粉絲。他最喜歡的作家是E·E·史密斯(E. E. Smith),這是一位無甚建樹的食品工程師(是一位麵粉漂白專家,甜甜圈粉就是他發明的),專寫一種叫「太空歌劇」的低俗科幻小說。這類小說的主要情節是誇張的探險故事,其中充滿討伐惡勢力的戰爭、星際旅行和俗套的羅曼史等情節。曾為鐵路模型技術俱樂部和欣厄姆學院成員的馬丁·格雷茨(Martin Graetz)在講述《太空大戰》製作過程的回憶文章中寫道,史密斯「對風鑽的描寫優美而精細」。格雷茨回憶了一段帶有典型史密斯風格的故事情節:

一開始是一陣忙亂,等每個人都對號入座後,一群肌肉發達的「哈迪男孩」便出發了,他們開始在宇宙中長途跋涉,去懲治最新出現的銀河黑幫,炸幾個星球,除掉所有討厭的物種,再找點樂子。我們的主人公在緊要關頭(他們通常都會遇到緊急狀況)總能拿出一套完整的科學理論,發明相應的技術來應用這一理論,然後製造出武器把壞人消滅,而這一切都是在他們駕著飛船,在人跡罕至的茫茫銀河系四處逃生時完成的。[1]

拉塞爾、格雷茨和他們的朋友都熱衷這種太空歌劇,所以,他們決定為PDP–1做一個太空大戰遊戲是很自然的事情。拉塞爾回憶道:「當時我剛剛讀完史密斯的《透鏡人》(Lensman )系列,他的主人公們往往被反面人物追趕,在銀河系裡到處逃生,他們必須一邊逃生一邊想辦法解決問題。這種行動就是啟發《太空大戰》的線索。」4 這幫揚揚得意的宅男重組了一個「欣厄姆學院太空戰研究小組」,「鼻涕蟲」拉塞爾負責編寫代碼。5

不過,作為名副其實的「鼻涕蟲」,拉塞爾並沒有動手,但他知道應該從哪裡著手做這個遊戲程序。明斯基教授曾偶然找到一種可以在PDP–1上畫圓圈的算法,之後他又對這種算法進行了修改,讓屏幕上顯示出三個點,這三個點能相互作用,形成美麗的小圖案。明斯基稱之為「位式」顯示技術,但他的學生則將其稱為「明斯基電子」。「明斯基電子」為製作一種以飛船互動和導彈為主要內容的遊戲奠定了良好的基礎。有好幾個星期,拉塞爾都沉浸在「明斯基電子」中,感悟它形成圖案的魔力。但到了編寫正餘弦函數程序來決定飛船運行路徑時,他就磨蹭起來了。

拉塞爾向大家解釋了這個障礙之後,俱樂部一位名叫艾倫·科托克(Alan Kotok)的成員想出了一個解決方法。他開車來到迪吉多(PDP–1的製造商)位於波士頓市郊的總部,找到一位好心的工程師,這位工程師手中有運算所需的程序。科托克對拉塞爾說:「好吧,正餘弦函數程序有了。現在你還有什麼借口?」拉塞爾後來承認:「我想了想,找不到借口了,於是我只好靜下心來做些計算。」6

1961年的整個聖誕節假期拉塞爾都在潛心研究,在短短幾周之內,他就找到了一種通過使用控制面板上的鈕子開關來操縱屏幕上圓點的方法,他能讓這些點加速、減速和轉向。然後,他把圓點變成兩艘卡通化的宇宙飛船,其中一艘像雪茄一樣又胖又鼓,另一艘則細細的,像鉛筆一樣直。還有一個子程序能讓每艘飛船從前部發射模仿導彈的圓點。當代表導彈的圓點與飛船位置重合時,後者就會「爆炸」,變成一些隨機移動的點。到1962年2月,這個遊戲已經基本做好了。

這時,《太空大戰》變成了一個開源項目。拉塞爾把他的程序帶放在一個裝有PDP–1其他程序的裝置裡,他的朋友開始動手改進程序。其中有個叫丹·愛德華茲(Dan Edwards)的朋友認為引入引力會比較酷,於是他通過編程做了一個能對飛船產生牽引力的大太陽。如果你不注意的話,太陽就會把你吸進去並毀滅你,但出色的玩家知道怎樣迅速靠近太陽,借助其引力來增強自身力量,從而以更高的速度轉向。

拉塞爾回憶道,還有一個叫彼得·薩姆森(Peter Samson)的朋友「覺得我的星球是隨便畫的,不符合實際」。7 薩姆森認為遊戲應該有「真實性」,也就是要有符合天文學的星圖,而不是一堆亂七八糟的圓點。於是他在程序中添加了一個他稱之為「豪華天文館」的東西。薩姆森根據《美國星歷表和航海天文歷》(American Ephemeris and Nautical Almanac )上的信息編寫了一個程序來顯示夜空中到第五星等為止的所有星體。通過規定顯示器上各點的顯示次數,他甚至模擬出了每顆星的相對亮度。隨著飛船的前進,星空會緩緩向後移動。

在這種開源合作下,開發者還做出了許多其他的絕妙貢獻。馬丁·格雷茨發明了一個他稱之為「終極應急按鈕」的東西,這是一種從亂局中脫身的能力,只要扳動一個開關,就能暫時消失到多維空間的另一個維度裡。他解釋說:「設置這個按鈕的想法是,當其他一切努力都無濟於事時,你還可以跳進第四維空間並消失。」他曾在史密斯的一本小說中讀到過類似的內容,叫作「超空間通道」。不過,應急按鈕也有一些限制:在一次遊戲中,你只有三次機會跳入超空間;消失不見會讓你的對手獲得喘息的機會;而且你根本不知道自己的飛船會在什麼地方再次出現。它也許會出現在太陽上,或者暴露在對手的視線之下。拉塞爾解釋說:「應急按鈕是一個你可以用,但不想動用的東西。」格雷茨還補充了一個向明斯基教授致敬的細節:消失到超空間的飛船會留下一個標誌性的「明斯基電子」圖案。8

有一項影響深遠的貢獻來自鐵路模型技術俱樂部的活躍分子艾倫·科托克和鮑勃·桑德斯(Bob Sanders)。他們意識到,如果玩家擠在一台PDP–1遊戲機前,胳膊肘推來搡去,瘋狂搶奪計算機的開關,實在是又彆扭又危險。於是他們在俱樂部活動室的火車組下面翻找了一圈,卸下一些鈕子開關和繼電器。他們把這些東西拼裝在兩個塑料盒裡,做成遙控器,這個遙控器配有所有必需的功能開關和超空間應急按鈕。

這個遊戲很快就傳到了其他計算機中心,並成為黑客文化的必需品。迪吉多開始出預裝這款遊戲的計算機,程序員們也開發出了適合其他系統的新版本。世界各地的黑客們為其添加了更多功能,比如隱形能力、爆破太空礦,還可以切換為第一人稱,以一名飛行員的視角來玩遊戲。正如個人電腦先驅者之一艾倫·凱(Alan Kay)所言:「在任何有能接電腦的圖形顯示器的地方,《太空大戰》這個遊戲都自然而然地流行開來。」9

《太空大戰》突顯出黑客文化的三方面特點,這些特點後來成為數字時代的主題。首先,它是協作的產物。拉塞爾說:「我們一起製作這個遊戲,進行團隊合作,這是我們喜歡的做事方式。」第二,這是一個免費的開源軟件。拉塞爾表示:「只要有人要源代碼,我們就會給他們一份。」當然了,那是在一個軟件渴望擺脫束縛的時代和地方。第三,它是基於一種計算機應屬於個人而且要能與人互動的信念。拉塞爾說:「它讓我們能夠親手操作電腦,並讓電腦對我們做出實時回應。」10