太空大战！

《**太空戰爭！**》（英語：Spacewar!，中國大陸譯作「**太空大戰！**」，中國大陸又譯作「**空間大戰！**」）是史帝芬・羅素與馬丁・格雷茨、韋恩・維塔寧、鮑勃・桑德斯、彼得・參孫等人於 1962 年合作開發的太空戰爭電子遊戲。初時，他們以麻省理工學院新安設的數位裝置公司 PDP-1 迷你電腦作遊戲平台，並以 PDP-1 的組合語言編寫代碼。後來，遊戲被學院其他學生和員工進一步擴展改良，當中包括丹・愛德華茲和彼得・參孫。程式設計師還把遊戲散佈至其他 PDP-1 電腦上，使它成為首款在單一機構以外可以接觸得到的遊戲。

遊戲以星空為背景，兩名玩家須各自操作太空載具「楔形船」或「針形船」，在恆星重力穴中移動並射擊對方船隻。每艘太空載具都有有限的武器和燃料，即使玩家不加速，太空載具仍會保持移動。玩家也可以在恆星附近航行以獲取重力助推。太空載具只會在被魚雷擊中、兩船相撞或墜入恆星的情況下被摧毀。遊戲設有超空間跳躍功能，玩家可在任何時候使用，藉此隨機移動至螢幕上任一位置。但在某些版本中，每次使用這項功能都會增加太空載具爆炸的風險。初時玩家須使用 PDP-1 迷你電腦前面板測試開關來遊玩，後來桑德斯製作了分離式控制裝置（即早期的遊戲手把）來降低遊玩時的控制難度和尷尬情況。

在早期電子遊戲史中，《太空戰爭！》是款重要且具影響力的作品。20 世紀 60 年代，它在小型程式設計社團中十分流行，人們把處於公有領域的遊戲代碼廣泛移植至其他電腦系統上，又或者以自己的代碼重新建立。1967 年以後，連接至顯示器或終端且能夠運行遊戲的電腦如雨後春筍般湧現，令它接觸到更廣泛的受眾。到了現代，新式遊戲版本陸續出現，甚至可以在 PDP-1 模擬器上運行。遊戲亦直接啟發了諸多電子遊戲，例如首批大型電玩遊戲《電腦太空戰》和《銀河遊戲》，以及《爆破彗星》等。2007 年，遊戲獲列入有史以來最重要的十款電子遊戲，成為美國國會圖書館保存遊戲經典的開端。2018 年，遊戲入選世界電子遊戲名人堂。

## 背景

20 世紀 50 年代，在學術電腦和程式設計研究的背景下，同時也為了展示運算能力，各種電腦遊戲應運而生，而此情況在同一年代後期更小更快的電腦面世後變得更為活躍，因為程式可以在電腦上實時建立和運行，而不再是按批次處理。然而，一些程式既是為了展示電腦的強大功能，也是作為娛樂產品而出現。這些程式通常由本科生、研究生、大學員工建立，例如麻省理工學院的學生和員工有時會被允許實驗電腦 TX-0 編製程式。這些互動式圖形遊戲由程式設計師社團建立，當中大部分是隸屬鐵路模型技術俱樂部的學生和員工，該俱樂部由艾倫・科托克、彼得・參孫、鮑勃・桑德斯（Bob Saunders）領導。遊戲包括井字棋和老鼠迷宮，前者使用光筆與電腦進行簡單的井字遊戲，後者則以光筆為虛擬老鼠設定牆壁迷宮。

1961 年 9 月，麻省理工學院電機工程學系所在的 26 號大樓 2 樓的「拙集室」內，安裝了一台數位裝置公司出產的 PDP-1 迷你電腦。該電腦是舊式 TX-0 的補充品，附設 TX-0 也有的打孔帶讀寫器，另外還接受開關面板的輸入，並可以輸出至陰極射線管顯示器。在 PDP-1 抵埗前的夏季，電機工程學系學生和大學員工一直思考什麼程式才能夠以令人信服的方式展示新電腦的能力。當中，哈佛大學僱員、同時是麻省理工學院前研究助理的史帝芬・羅素，麻省理工學院研究助理兼畢業生的馬丁・格雷茨（Martin Graetz），以及哈佛大學研究助理、也是麻省理工學院前員工和學生的韋恩・維塔寧（Wayne Wiitanen），提出了太空戰爭的想法。他們將這項合作稱為「興罕研究所」，得名於格雷茨和維塔寧當時的居住地 —— 麻薩諸塞劍橋興罕街。1972 年，羅素在接受《滾石雜誌》訪問時曾提及：「我們擁有這款全新的 PDP-1…… 有人（馬文・閔斯基）建立了一些小的模式生成程式，可以製作如同萬花筒般的有趣圖案。但是，這並非很好的示範。這是一台可以做各種好事的顯示器！所以我們開始討論，探討什麼才算是有趣的展示。然後，我們決定做個二維操縱的東西，而要做的自然是太空載具。」

## 玩法

《太空戰爭！》以星空為背景，兩名玩家須各自操作太空載具，在恆星重力穴的二維平面上移動，同時射擊對方船隻。其中，外型較胖的太空載具被稱為「楔形船」（Wedge），較細長的則是「針形船」（Needle）。太空載具的魚雷和燃料有限，每次矯正船體都會用掉部分燃料。玩家可透過撥動電腦上的撥動開關或按下控制板上的按鈕來發射魚雷，魚雷不會受到恆星引力所影響，但一次只能發射一枚，且設有冷卻時間。即使玩家不加速，太空載具仍會保持移動。另外，旋轉船隻不會改變它們的移動方向，不過它可以在沒有慣性的情況下以穩定速率旋轉。

遊玩期間玩家須嘗試擊落對方的太空載具，同時避免接觸畫面中央的恆星，或者碰撞對方船隻。玩家可以在恆星附近航行以獲取重力助推，但也有誤判軌跡而墜入恆星的風險。如果太空載具移動至螢幕邊緣位置，它則會在另一側以環繞效果重新出現。超空間跳躍，或稱「緊急按鈕」，是玩家的最後手段，可以令太空載具在螢幕上消失數秒，再隨機出現在任一位置，藉此躲避敵方魚雷。但在某些版本中，每次使用這項功能都會增加太空載具爆炸的風險。

總括而言，玩家須控制的包括太空載具的順時針和逆時針旋轉、向前推進、發射魚雷、啟用超空間跳躍。起初，上述功能都是利用 PDP-1 迷你電腦前面板測試開關來控制，每位玩家有四個開關，但事實證明這些開關使用起來很笨拙，在正常遊戲過程中很快就會磨損，而且還會導致玩家意外翻動電腦的控制和電源開關。由於電腦前面的空間有限，開關位置也使一名玩家只能看到陰極射線管顯示器的部分畫面，使其處於劣勢。為了緩解這些問題，桑德斯製作了分離式控制裝置，本質上便是早期的遊戲手把。手把設有一個用於左轉或右轉的開關，一個用於向前推推或啟用超空間跳躍的開關，以及一個魚雷發射按鈕。該按鈕是無聲的，因此對手不會收到有玩家在冷卻期間試圖發射魚雷的警告。

## 開發

1961 年夏天，羅素、格雷茨、維塔寧構想了《太空戰爭！》的基本概念，並計劃以 PDP-1 作為遊戲平台。當時，羅素拜讀了科幻作家愛德華・艾默・史密斯的《銀河戰士》系列小說，並認定這些故事將為該計劃奠定良好基礎。羅素向《滾石雜誌》宣稱：「他筆下的英雄們很容易被整個銀河系的惡棍追擊，過程中又不得不創造解決問題的方法。這些行動便是《太空戰爭！》的靈感來源。而且他對於太空載具遭遇戰和太空艦隊操縱有著強烈且鮮明的描繪。」格雷茨則認為史密斯的雲雀系列小說和日本低俗特攝電影均有影響遊戲概念創作。

在 PDP-1 安裝後的頭幾個月，麻省理工學院的 PDP-1 程式設計社團專注於更簡單的程式，以研究如何為電腦建立軟體。期間，羅素經常拜訪社團的老友，並向他們闡述《太空戰爭！》的概念。羅素希望有人會製成這款遊戲，而他自己卻沒有打算參與開發。但是，社團其他成員認為他是製作這款遊戲的合理人選，並開始向他施壓，要求他參與。作為回應，羅素提出一堆藉口來解釋自己為什麼不能開發，其中之一是缺乏計算太空載具軌跡所需的三角函式例行程式。這番話促使鐵路模型技術俱樂部的艾倫・科托克致電數位裝置公司，該公司則宣稱他們已經編寫了這項例行程式。隨後，科托克開車往數位裝置公司拿了一盤包含代碼的磁帶，把它摔在羅素面前，並問他還有什麼藉口。羅素後來解釋說：「我環顧四周，且找不到任何藉口，於是我只能靜下心來做一些計算。」大約在 1961 年 12 月末，PDP-1 顯示器安裝完畢，羅素亦在此時開始編寫代碼。《太空戰爭！》是為了滿足羅素、格雷茨、維塔寧曾制定的準則而開發。他們認為，假如想把程式當作玩家的娛樂體驗，又想把它向觀眾演示，就必須符合三個前提：儘可能展現電腦的能力，甚至發揮至極限；在固定架構中，每次執行結果都應該不相同，從而保持有趣；以生動方式使觀眾感到有趣，簡單而言它應該是款遊戲。羅素在鮑勃・桑德斯和史帝芬・皮納（Steve Piner）等程式設計師的幫助下（當時維塔寧被美國陸軍預備役徵召而未能參與），花了大約 200 個小時編寫了首個遊戲版本，或者大約 6 個星期來開發基本遊戲。遊戲以 PDP-1 的組合語言來編寫的。

羅素在 1962 年 1 月完結前製成了帶有可移動圓點的程式，又在 2 月完成了帶有可旋轉太空載具的早期操作遊戲。兩艘太空載具的設計令人聯想起《地球保衛戰》的彎曲太空載具，以及 PGM-11 紅石飛彈。遊戲早期版本還包含隨機生成的星空，原因在於羅素認為空白背景令玩家難以分辨兩艘太空載具在低速時的相對運動。該區的程式設計社團（包括興罕研究所和鐵路模型技術俱樂部）制定了後來被稱為「駭客倫理」的原則，即所有程式都可以在協作環境中由其他程式設計師自由分享和修改，毋須擔心所有權或著作權，這促使團隊合力精心製作羅素最初的《太空戰爭！》。正因如此，原本為星空精準度不足和缺乏真實感而感到煩惱的鐵路模型技術俱樂部成員彼得・參孫，決定根據在夜空中緩慢滾動的真實星圖來編寫程式，包括北緯 22.5 度和南緯 22.5 度之間最低星等為 5 的星星，並以它們的相對亮度顯示。該程式被稱作「昂貴天象儀」，指的是 PDP-1 電腦與類比天象儀相比，前者售價更高，而如同皮納的「昂貴打字機」程式一樣，它也成為「昂貴程式」一員。3 月，身為遊戲主要版本整理者的羅素迅速把程式納入遊戲。

遊戲最初版本沒有包含中央恆星重力穴和超空間功能。後來，麻省理工學院研究生、鐵路模型技術俱樂部成員的丹・愛德華茲（Dan Edwards）和格雷茨分別增加了這兩項功能，為最初的純反射式射擊遊戲增添戰略元素。初期版本的超空間功能只有三次跳躍機會，但除了太空載具在重新進入星空後可能會出現於危險位置之外，基本上沒有任何風險可言。後來的版本則取消了次數限制，但增加了船隻爆炸的風險，而非在它移動方面著手。此外，桑德斯在 1962 年 3 月為遊戲製作了手把，以應對玩家因坐在電腦前、手肘以彎曲姿勢控制開關面板而出現的「太空戰爭肘」。《太空戰爭！》屬於多人遊戲，主要因為電腦沒有剩餘資源來控制另一艘船。同樣地，因為電腦沒有足夠資源處理並同時流暢地運行遊戲，只好放棄其他程式設計師提出的建議，例如更精細地顯示太空載具爆炸時的畫面，以及讓魚雷同受重力影響。隨著新增功能和修改準備妥當，羅素和其他程式設計師將重點從遊戲開發轉移至準備展示，並考慮在 1962 年 4 月底麻省理工學院舉辦的科學開放日作演示。演示時，小組在遊戲中添加了時間限制和超空間跳躍功能，又設立了供觀眾收看的大型螢幕。5 月，格雷茨在數位裝置電腦使用者協會首次會議上，提交了關於遊戲的論文，題為《太空戰爭！PDP-1 實時能力》。這次演示一蹴而就，而且遊戲也在學院甚受歡迎。不久，放置 PDP-1 的實驗室便明令學生和員工只能在午飯時間以及工作時間之後前來遊玩。科幻雜誌《銀河系科幻小說》編輯菲德里克・波爾也曾參觀該次演示，他說自己喜歡玩「這款可愛的遊戲」，又指學院是「從科幻雜誌借來靈感」，玩家可以藉此偽裝成《雲雀》內的角色。

自 1962 年中期起，麻省理工學院 PDP-1 程式設計社團（包括羅素和興罕研究所其他成員）把遊戲散布至其他擁有 PDP-1 的學校和機構，例如史丹佛大學和數位裝置公司。因此，《太空戰爭！》可能是首款在單一機構以外可以接觸得到的遊戲。在接下來的十年裏，各機構程式設計師開始編寫獨屬於自家的遊戲變體，包括同時允許多位玩家操縱太空載具，以隱形取代超空間跳躍，增設空雷，甚至在兩個螢幕上顯示第一人稱視角版本以類比太空載具駕駛員的艙外視野。部分遊戲也複製了桑德斯的遊戲手把。數位裝置公司在遊戲誕生後不久便徹底研究了它，並以公司的 PDP-1 作演示，又在 1963 年出版了關於遊戲和電腦的小冊子。根據羅素在該公司聽到的二手資料，據聞公司技術人員會利用遊戲為即將出貨的全新 PDP-1 作冒煙測試，因為它是唯一可以測試硬體各個方面的程式。雖然遊戲在當時廣為流傳，但它的直達範圍非常有限，原因在於相比大型電腦便宜的 PDP-1 其售價仍需 12 萬美元（相當於 2021 年約 107 萬美元），售出的 53 台電腦大多不連顯示器，餘下的則多數設於守衛森嚴的軍事設施或研究室，每分每秒都在工作，這導致初版遊戲沒法擴大受眾、只能停留在狹窄的學術範圍。儘管後來數位裝置公司推出的一些機型預載了遊戲（如 PDP-6），但礙於銷量低迷（PDP-6 僅售出 23 台），遊戲受眾依然有限。

## 發行與影響

20 世紀 60 年代，《太空戰爭！》在小型程式設計社團中十分流行，也在其他迷你電腦和大型電腦上被大規模重建，而在 70 年代它更開始遷移至早期微型電腦上。遊戲處於公有領域，任何能夠接觸到它的人或有與羅素聯繫的人都可以獲得代碼。由於當時的程式設計社團規模較小，無法提供商業支援，因此沒有嘗試將它化作商品銷售。遊戲散佈形式初時分為兩類，一是人們把代碼副本帶到其他裝置上，一是程式設計師以自己的代碼重新建立。BBN Technologies 屬首批安裝遊戲的公司，它還重新製作了遊戲手把。1963 年，羅素在史丹佛大學人工智慧實驗室的 PDP-1 上安裝遊戲。麻省理工學院畢業生阿爾伯特・庫菲爾德（Albert Kuhfield）則在 1967 至 1968 年為明尼蘇達大學的 CDC 3100 電腦重建遊戲，並於 1971 年向科幻雜誌《類比科幻小說與事實》提交敘述。在史丹佛大學，安裝了遊戲的電腦廣受歡迎，以至於 1966 年研究人員在他們的 PDP-6 上開發特殊的「太空戰爭模式」來共享電腦資源，以便在運行研究程式的同時遊玩遊戲。早期電腦科學家艾倫・凱在 1972 年曾指「只要電腦有連接至圖形顯示器，《太空戰爭！》便會自行綻放」，1981 年格雷茨回想起當時的情形亦表示，隨著遊戲的早期傳播，「幾乎所有具備程控陰極射線管的研究電腦都能找到它的蹤影」。

《太空戰爭！》在早期開發後幾年才得以廣泛散佈。起初，麻省理工學院和史丹佛大學附近數個地方流傳著玩家和遊戲變體的軼事；直至 1967 年以後，連接至顯示器或終端且能夠運行遊戲的電腦如雨後春筍般湧現，令它接觸到更廣泛的受眾，並影響後來的電子遊戲設計師。到了 1971 年，據估計市面上已有逾千台帶顯示器的電腦，遠超當年只有幾十台的數字。大概同一時候也出現了多款適用於各類電腦系統的遊戲變體，當中包括 PDP 後續機種。1972 年，遊戲在程式設計界廣為人知，《滾石雜誌》甚至贊助舉辦「泛銀河系太空戰爭奧運會」。10 月 19 日，活動在史丹佛大學人工智慧實驗室舉行，設有單人賽、團隊對抗（二對二）、五人自由混戰，玩家使用的是裝有遊戲變體的 PDP-6／PDP-10 組合。這場活動是有史以來首場電子遊戲錦標賽，相關報道刊登於同年 12 月 7 日出版的《滾石雜誌》上。

70 年代初，《太空戰爭！》成為兩個投幣式電子遊戲機的基礎，因而從大型電腦系統遷移至商業環境。1966 年至 1969 年期間，大學生休・塔克（Hugh Tuck）在史丹佛大學玩此遊戲時曾表示其投幣版本將會非常成功。雖然迷你電腦的高昂價格使這類遊戲在當時不可行，但 1971 年塔克和比爾・皮茨（Bill Pitts）用價值 2 萬美元（相當於 2021 年約 13.4 萬美元）的 PDP-11 創作了投幣式電腦遊戲原型《銀河遊戲》；然而，他們在史丹福展出的原型並未多於兩個。大約同一時間，諾蘭・布希內爾和泰德・達布尼以《太空戰爭！》為基礎，開發了第二款投幣式電腦遊戲原型《電腦太空戰》，後來成為首款商品化的大型電玩遊戲，也是首款廣泛銷售的電子遊戲。儘管塔克認為《銀河遊戲》是優秀改編作品，《電腦太空戰》則是前者的拙劣模仿品，但許多玩家認為這兩款大型電玩遊戲都是《太空戰爭！》的變種升級版。

1977 年，《位元雜誌》發佈了《太空戰爭！》的組合語言版本，可在 Altair 8800 或其他基於 Intel 8080 的迷你電腦上運行，以示波器顯示圖形，還使用尋找表來類比軌道計算。1979 年，該雜誌又推出了以 Tiny BASIC 編寫的三維版本。後來，多個新式遊戲版本陸續出現，而且可以在不同電子裝置上運行。2012 年，格雷茨在網際網路公開原始遊戲的類比版本，可於 JavaScriptPDP-1 模擬器上運行。2022 年，Analogue 公司推出的掌上遊戲機「Analogue Pocket」也支援在 PDP-1 模擬器上運行此遊戲。目前已知唯一仍能正常運作的 PDP-1 收藏於加利福尼亞州山景城電腦歷史博物館內，作機器演示之用，訪客也可透過它來遊玩《太空戰爭！》。

除了《銀河遊戲》和《電腦太空戰》外，《太空戰爭！》還長久地影響激發諸多遊戲創作，例如《軌道戰爭》（1974 年，柏拉圖系統電腦）、《太空大戰》（1977 年，大型電玩）、《太空戰爭》（1978 年，雅達利 2600）。此外，電子遊戲設計師艾德・羅格在大型電玩遊戲《爆破彗星》（1979 年）中，參照並使用了如超空間按鈕和玩家飛船形狀等《太空戰爭！》元素。甚至，1990 年發行的《行星控制》也從《太空戰爭！》直接汲取靈感。羅素曾經表示，他對這個遊戲最滿意的地方是它激發了許多程式設計師編寫屬於自己的版本，而不受限於使用他的代碼或設計。

2007 年 3 月 12 日，《紐約時報》稱《太空戰爭！》獲列入有史以來最重要的十款電子遊戲，即所謂的遊戲經典，選出這些遊戲的委員會同時建議國會圖書館能考慮它們的文化和歷史意義而予以保存。其後，國會圖書館接受提案，並由此展開電子遊戲保存工作。2018 年，教育機構斯特朗旗下的斯特朗國家遊戲博物館宣佈把《太空戰爭！》列入世界電子遊戲名人堂。同年，互動藝術與科學學會向仍然在世的遊戲開發者（丹・愛德華茲、馬丁・格雷茨、史帝芬・皮納、史帝芬・羅素、彼得・參孫、羅伯特・桑德斯、韋恩・維塔寧）頒發先鋒獎，以表揚他們「職業生涯有助塑造和定義互動娛樂產業」。

## 參考資料

**文獻**

## 外部連結

* 電腦歷史博物館的太空戰爭網頁（頁面存檔備份，存於網際網路檔案館）
* 以 Java（頁面存檔備份，存於網際網路檔案館）與 JavaScript（頁面存檔備份，存於網際網路檔案館）於 PDP-1 模擬器執行的太空戰爭
* Spacewar! for the PDP-1 (網際網路檔案館)