太空戰爭！

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

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

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

## 背景

<image>

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……有人（馬文·閔斯基）建立了一些小的模式生成程序，可以製作如同萬花筒般的有趣圖案。但是，這並非很好的示範。這是一台可以做各種好事的顯示器！所以我們開始討論，探討什麼才算是有趣的展示。然後，我們決定做個二維操縱的東西，而要做的自然是太空船。」

## 玩法

<image>

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

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

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

## 開發

<image>

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月，身為遊戲主要版本整理者的羅素迅速把程序納入遊戲。

<image>

遊戲最初版本沒有包含中央恆星重力穴和超空間功能。後來，麻省理工學院研究生、鐵路模型技術俱樂部成員的丹·愛德華茲（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萬美元US），售出的53台電腦大多不連顯示器，餘下的則多數設於守衛森嚴的軍事設施或研究室，每分每秒都在工作，這導致初版遊戲沒法擴大受眾、只能停留在狹窄的學術範圍。儘管後來數位設備公司推出的一些機型預載了遊戲（如PDP-6），但礙於銷量低迷（PDP-6僅售出23台），遊戲受眾依然有限。

## 發行與影響

<image>

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萬美元US）的PDP-11創作了投幣式電腦遊戲原型《銀河遊戲》；然而，他們在史丹福展出的原型並未多於兩個。大約同一時間，諾蘭·布希內爾和泰德·達布尼以《太空戰爭！》為基礎，開發了第二款投幣式電腦遊戲原型《電腦太空戰》，後來成為首款商品化的街機遊戲，也是首款廣泛銷售的電子遊戲。儘管塔克認為《銀河遊戲》是優秀改編作品，《電腦太空戰》則是前者的拙劣模仿品，但許多玩家認為這兩款街機遊戲都是《太空戰爭！》的變種升級版。

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

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

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

## 外部連結

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

## 基本資料

- 頭銜：太空戰爭!
- 英文名稱：Spacewar!
- 常用譯名：cn:太空大戰！
- 設計師：史帝芬·羅素
- 程序：史帝芬·羅素
- 發行日期：1962年
- 類型：太空戰爭模擬遊戲
- 模式：多人
- 月台：PDP-1