星際旅行 (1969年遊戲)

1969年電子遊戲

星際旅行[註 1](英語:Space Travel,又譯作「太空旅行[1],是UNIX開發者肯·湯普遜於1969年編寫的電子遊戲。玩家可以模擬操作太空船在代表太陽系的二維畫面內進行飛行,或者在不同的行星衛星表面着陸。太空船會受到萬有引力影響。

星際旅行
  • Space Travel
《星際旅行》遊戲畫面
類型模擬
平台MulticsGECOS英語General Comprehensive Operating SystemPDP-7
開發商肯·湯普遜 編輯維基數據
設計師肯·湯普遜
模式單人
發行日1969年

遊戲在貝爾實驗室開發。肯·湯普遜把遊戲從Multics作業系統移植到了GE 635大型電腦的GECOS英語General Comprehensive Operating System作業系統上面,後來又移植到了PDP-7小型機上面。在移植過程中,肯·湯普遜逐步開發出了自己的作業系統,這個系統後來被稱為UNIX。《星際旅行》從未離開貝爾實驗室,因此未對未來的電子遊戲產業造成影響,只成為UNIX歷史上的一段傳奇。

《星際旅行》常被視為第一個UNIX應用程式。

玩法

《星際旅行》是一款太空飛行模擬遊戲。遊戲畫面為二維畫面,由黑色背景和白色線條組成。玩家需要控制太空船在代表太陽系的畫面中飛行。遊戲除了嘗試在不同行星和衛星之間着陸,沒有特定的目標。遊戲使用不同的大小和距離來代表太陽系內的各個行星與衛星,而各星球的軌道被簡化為圓形。當玩家打算着陸的時候,玩家的太空船必須以足夠低的速度穿過代表星球表面的線條。玩家可以控制太空船前進、後退或轉向。太空船在熒幕上面移動的距離保持不變,而實際速度與整個畫面的縮放比例有關:把縮放比例調得足夠小,便可以在幾秒之內橫穿整個太陽系,雖然這樣做會導致容易失去方位,再也無法回到太陽系;把比例放到足夠大,玩家便可以低速着陸。太空船始終位於熒幕中間,朝向熒幕頂部。旋轉時,太空船保持不動,而整個太陽系會被旋轉。[3]

每個行星或衛星都有質量,這導致在移動過程中會產生萬有引力,雖然這些星球之間不會互相影響,而且只有一個引力最強的星球會影響到玩家的太空船。有時這會導致一些奇怪的行為,例如火星的引力效應要遠遠強於火衛一,這意味者如果玩家試圖在火衛一着陸的話,需要先讓太空船移動到火衛一的內部,直到太空船足夠接近火衛一的中心點,火衛一的引力才會起作用,然後太空船才能成功停在地面上。在飛行過程中,引力最強的星球名稱會顯示在熒幕上面。此外,玩家可以通過修改程式來改變一些條件,例如加大重力加速度,或者調整顯示系統使得太空船不再位於熒幕中央,而是把待着陸的星球置於熒幕底部並保持不動,然後令太空船相對它來進行移動。[3]

開發

 
肯·湯普遜丹尼斯·里奇
 
DEC PDP-7

1969年,肯·湯普遜作為程式設計師在貝爾實驗室Multics作業系統專案中工作。在工作期間,他在一台GE 635大型電腦上編寫了《星際旅行》。當貝爾實驗室放棄Multics專案之後,他把遊戲程式碼轉換成了Fortran語言,使得自己能夠在GECOS英語General Comprehensive Operating System系統上面繼續玩遊戲。[3][4]湯普遜和一些員工,例如拉維·塞西英語Ravi Sethi丹尼斯·里奇都是《星際旅行》的玩家。但是實驗室內多個終端都被連接到同一個中央電腦,每個終端需要處理任務時都需要提交到佇列中,一旦執行遊戲,其他正在執行的工作就不得不暫停很長時間。[3]公司採用一個計費系統來統計電腦的使用情況,這意味着玩遊戲的成本大約是一次50至75美元。[3][5]遊戲在GECOS系統上的表現還不如Multics系統。[6]此外,系統要求玩家輸入命令而不是按按鈕,導致玩家難以控制太空船。[5]湯普遜想要找到一個更好的解決方案,於是向貝爾實驗室請求購買一台DEC-10大型電腦,以從事新作業系統的開發,這大約需要120,000美元。湯普遜的請求被駁回,因為貝爾實驗室剛剛放棄一個作業系統專案,不會再對花錢研製作業系統感興趣。[6]但是湯普遜發現周圍的部門有一台老舊且很少被使用的PDP-7小型機,同樣可以達到目的。[3]

當湯普遜開始將遊戲移植到新系統上面的時候,他決定不利用任何現成的程式碼,而是重新寫一個新程式。於是他實現了自己的基礎程式碼庫,包括代數計算和圖形子系統等。一開始,那些程式碼被儲存在GECOS系統裏面,採用匯編語言編寫,然後湯普遜需要自己把輸出結果反映到紙帶上面,再將紙帶插入到PDP-7機器裏面。為了減輕繁重的體力勞動,湯普遜為PDP-7編寫了一個組譯器[5]湯普遜發現遊戲在新機器上執行得非常慢,於是又吸取了丹尼斯·里奇和Rudd Cassaway在開發Multics檔案系統時的經驗,在他們工作的基礎上設計了自己的檔案系統[5][6][7]

軼事

在《星際旅行》被完全移植到PDP-7之後,因為湯普遜無法再參與Multics和GE 635的專案,所以他把自己的開發工具擴充成了一個完備的作業系統。他所設計的作業系統在公司內部廣泛傳播,在1970年被命名為UNIX[4][5]《星際旅行》是電子遊戲產業發展之前的一款早期電子遊戲,但之後並未進行商業化,導致它對未來電子遊戲的發展沒有產生任何影響。不過人們在講述UNIX歷史的時候仍然會提到《星際旅行》。[4][8]

備註

  1. ^ 譯名取自《電腦導論》(2020年)[2]

參考文獻

  1. ^ 黃石作. 数字游戏设计史. 北京: 北京理工大學出版社. 2021: 20. ISBN 978-7-5682-9404-1 (中文(中國大陸)). 1969年由肯·湯普森(Ken Thompson)編寫的《太空旅行》(Space Travel)。 
  2. ^ 潘銀松; 顏燁; 高瑜. 计算机导论. 重慶: 重慶大學出版社. 2020: 19. ISBN 978-7-5689-2468-9 (中文(中國大陸)). 曾參與Multics開發的貝爾實驗室的程式設計師肖·湯普森(Ken Thompson)因為需要新的作業系統來執行他的《星際旅行》遊戲,在申請機器經費無果的情況下,他找到一台廢棄的PDP-7小型機器,開發了簡化版的Multics,就是第一版的UNIX作業系統。 
  3. ^ 3.0 3.1 3.2 3.3 3.4 3.5 Ritchie, Dennis M. Space Travel: Exploring the solar system and the PDP-7. 貝爾實驗室. 2001 [2016-02-04]. (原始內容存檔於2015-12-26). 
  4. ^ 4.0 4.1 4.2 Fiedler, David. The History of Unix. Byte 8 (8) (McGraw-Hill). August 1983: 188 [2016-02-04]. ISSN 0360-5280. 
  5. ^ 5.0 5.1 5.2 5.3 5.4 Ritchie, Dennis M. Yes, A video game contributed to Unix Development. 哈佛大學. [2016-02-04]. (原始內容存檔於2015-12-10). 
  6. ^ 6.0 6.1 6.2 Abzug, Charles. Bidgoli, Hossein , 編. The Internet Encyclopedia, Volume 3. 約翰威立. 2003-12-26: 495–496. ISBN 978-0-471-22203-3. 
  7. ^ Raymond, Eric S. Unix编程艺术. 艾迪生韋斯利. 2003-09-23: 30–31. ISBN 978-0-13-246588-5. 
  8. ^ Milian, Mark; Chan, Marcus. 'Pong' Turns 40, But It's Not the Oldest Video Game. Bloomberg. 2012-11-15 [2016-02-04]. (原始內容存檔於2015-02-16).