星際旅行 (1969年遊戲)
《星際旅行》[註 1](英語:Space Travel,又譯作「太空旅行」[1]),是UNIX開發者肯·湯普遜於1969年編寫的電子遊戲。玩家可以模擬操作太空船在代表太陽系的二維畫面內進行飛行,或者在不同的行星或衛星表面着陸。太空船會受到萬有引力影響。
星際旅行 | |
---|---|
| |
類型 | 模擬 |
平台 | Multics、GECOS、PDP-7 |
開發商 | 肯·湯普遜 |
設計師 | 肯·湯普遜 |
模式 | 單人 |
發行日 | 1969年 |
遊戲在貝爾實驗室開發。肯·湯普遜把遊戲從Multics操作系統移植到了GE 635大型機的GECOS操作系統上面,後來又移植到了PDP-7小型機上面。在移植過程中,肯·湯普遜逐步開發出了自己的操作系統,這個系統後來被稱為UNIX。《星際旅行》從未離開貝爾實驗室,因此未對未來的電子遊戲產業造成影響,只成為UNIX歷史上的一段傳奇。
《星際旅行》常被視為第一個UNIX應用程序。
玩法
《星際旅行》是一款太空飛行模擬遊戲。遊戲畫面為二維畫面,由黑色背景和白色線條組成。玩家需要控制太空船在代表太陽系的畫面中飛行。遊戲除了嘗試在不同行星和衛星之間着陸,沒有特定的目標。遊戲使用不同的大小和距離來代表太陽系內的各個行星與衛星,而各星球的軌道被簡化為圓形。當玩家打算着陸的時候,玩家的太空船必須以足夠低的速度穿過代表星球表面的線條。玩家可以控制太空船前進、後退或轉向。太空船在屏幕上面移動的距離保持不變,而實際速度與整個畫面的縮放比例有關:把縮放比例調得足夠小,便可以在幾秒之內橫穿整個太陽系,雖然這樣做會導致容易失去方位,再也無法回到太陽系;把比例放到足夠大,玩家便可以低速着陸。太空船始終位於屏幕中間,朝向屏幕頂部。旋轉時,太空船保持不動,而整個太陽系會被旋轉。[3]
每個行星或衛星都有質量,這導致在移動過程中會產生萬有引力,雖然這些星球之間不會互相影響,而且只有一個引力最強的星球會影響到玩家的太空船。有時這會導致一些奇怪的行為,例如火星的引力效應要遠遠強於火衛一,這意味者如果玩家試圖在火衛一着陸的話,需要先讓太空船移動到火衛一的內部,直到太空船足夠接近火衛一的中心點,火衛一的引力才會起作用,然後太空船才能成功停在地面上。在飛行過程中,引力最強的星球名稱會顯示在屏幕上面。此外,玩家可以通過修改程序來改變一些條件,例如加大重力加速度,或者調整顯示系統使得太空船不再位於屏幕中央,而是把待着陸的星球置於屏幕底部並保持不動,然後令太空船相對它來進行移動。[3]
開發
1969年,肯·湯普遜作為程序員在貝爾實驗室的Multics操作系統項目中工作。在工作期間,他在一台GE 635大型機上編寫了《星際旅行》。當貝爾實驗室放棄Multics項目之後,他把遊戲代碼轉換成了Fortran語言,使得自己能夠在GECOS系統上面繼續玩遊戲。[3][4]湯普遜和一些員工,例如拉維·塞西和丹尼斯·里奇都是《星際旅行》的玩家。但是實驗室內多個終端都被連接到同一個中央電腦,每個終端需要處理任務時都需要提交到隊列中,一旦運行遊戲,其他正在運行的工作就不得不暫停很長時間。[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]
備註
參考文獻
- ^ 黃石作. 数字游戏设计史. 北京: 北京理工大學出版社. 2021: 20. ISBN 978-7-5682-9404-1 (中文(中國大陸)).
1969年由肯·湯普森(Ken Thompson)編寫的《太空旅行》(Space Travel)。
- ^ 潘銀松; 顏燁; 高瑜. 计算机导论. 重慶: 重慶大學出版社. 2020: 19. ISBN 978-7-5689-2468-9 (中文(中國大陸)).
曾參與Multics開發的貝爾實驗室的程序員肖·湯普森(Ken Thompson)因為需要新的操作系統來運行他的《星際旅行》遊戲,在申請機器經費無果的情況下,他找到一台廢棄的PDP-7小型機器,開發了簡化版的Multics,就是第一版的UNIX操作系統。
- ^ 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.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.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.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.
- ^ Raymond, Eric S. Unix编程艺术. 艾迪生韋斯利. 2003-09-23: 30–31. ISBN 978-0-13-246588-5.
- ^ 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).