Retro Gamer 翻譯系列 - The Big Bang: Steve Russell and the Creation of Spacewar
在本期具里程碑意義的 Retro Gamer 中,我們回到一切的起點,與那位編寫了史上第一款「真正」電子遊戲的傳奇人物進行對談。

《Spacewar!》早在 1962 年於 PDP-1 電腦上發布,通常被譽為第一款真正的電子遊戲。當然,在《Spacewar!》誕生前,電腦上已有遊戲可玩——早在 40 年代,大型主機上就存在如井字遊戲和西洋跳棋等傳統遊戲的版本,而 Willy Higinbotham 於 1958 年創作的著名技術展示《Tennis For Two》,也預示了未來遊戲的樣貌。然而,Steve Russell 的《Spacewar!》是全新的事物,一種只能以數位形式存在的創作,其「深太空死鬥」的主題,在它催生了整個產業超過半世紀後的今天,依然是業界的中流砥柱。
在 Retro Gamer 第 100 期中,我們採訪了 Magnavox Odyssey 的創造者 Ralph Baer,並稱他為「電子遊戲之父」。這樣說來,您算是「電子遊戲的祖父」嗎?
這個說法我欣然接受(笑)。我所做的主要是在那個電腦還非常昂貴的年代,展示了在電腦上玩一款有趣遊戲的可能性,當時絕不可能有人會只為了玩遊戲而買一台電腦。當電腦變得足夠便宜時,一些製作早期大型機台遊戲的人想起了《Spacewar!》,並試圖做出類似……甚至更好的東西!
您在 1958 年 9 月進入著名的麻省理工學院(MIT),與電腦科學家 John McCarthy 教授共事。
我在那之前一個夏天,曾在達特茅斯學院與他共事過,畢業後他便給了我一份工作,從事 AI 相關的研究,那是他不久前才創造的詞。我當時 21 歲,那是一個絕佳的機會。我能接觸到當時最快、最強大的電腦——IBM 704,它既古怪又惱人,但寫起程式來也很有成就感。
1961 年秋天,當一台 PDP-1 電腦運抵 MIT 時,您是否立刻就看到了編寫遊戲的潛力?
並不是馬上。Marvin Minsky 教授寫了一個展示程式,大家都叫它 Minskytron,能在螢幕上產生萬花筒般的效果。你可以用開關改變圖案,玩一下還算有趣,但並不是很吸引人。這是一台具備新功能的新電腦,它的打字機也相對好用,所以我寫《Spacewar!》的動力是為了累積 PDP-1 的使用經驗、做一個更好的展示程式,以及打造一個「太空船訓練器」。
等等,您說的「太空船訓練器」是什麼意思?
當時太空競賽是熱門新聞,所以做一個可以控制的太空船,似乎是個很切合時事的展示程式,而且或許還能教人們一些(關於天體物理學的)東西。把它做成遊戲,或許能增加他們的學習動機。我們都熱愛科幻小說。「Doc」Smith 筆下的太空戰鬥激發了我們的想像力,所以我們決定給太空船裝上魚雷。你可以炸毀另一艘船,這樣就成了一個雙人遊戲。我們稱它為「Spacewar」已經有一段時間了,當它運作得足以展示時,我在結尾加上了驚嘆號!
您在 1961 年底開始編寫這款遊戲。這成了您的主要工作嗎?
哦,這完全是個「業餘」專案,絕非官方性質。要知道,在當時軟體被認為是沒有價值的,直到 80 年代都還是如此。我說真的!你無法為它申請版權,沒人販售它,也沒人看到它的價值。MIT 會向「真正的」專案收取 PDP-1 的使用費,所以我們的協議是,如果沒有別人要用,我們就可以使用電腦。不會有授權使用者在晚上 11 點跑來,所以那通常就是我開發《Spacewar!》的時間。
太空船的圖像相當有型。您是先在方格紙上畫出來的嗎?
完全正確,我甚至能告訴你原型是什麼!那艘長長的太空船「Needle (針)」,是我對 Redstone 火箭的卡通畫,那是美國第一款送上太空的火箭。它們基本上就是帶有尾翼的管子,這很好,因為很容易畫!另一艘我們稱為「Wedge (楔)」的船,是基於 30 年代 Buck Rogers 漫畫的設計。

據說您想讓射出的飛彈變得不可靠,這是真的嗎
我不只想要,我還真的做進去了!我只是在魚雷的 X 和 Y 軸速度上加了一個小小的隨機數,這樣有時它們就會射偏,尤其是在遠距離時。那是在《Spacewar!》差不多完成,但還沒有重力的時候做的,天啊,我收到的反饋可真不少!沒有人喜歡打不直的武器(笑)在眾人的要求下,我取消了這個設計。
您提到重力是後來才加入的…
我一直想實現重力,但還沒想出辦法。問題是重力計算涉及幾個平方根,所以相對耗時。要記得,這個程式是以一個大迴圈構成的。你會遍歷所有可顯示的物件,顯示它們和背景,然後再重複一次。重複的頻率取決於完成這個迴圈需要多長時間,而這又決定了你一次能顯示多少魚雷——當然,還有記憶體的限制。在 1961 年底,我們有一個沒有太陽、沒有重力的版本,當畫面上出現一堆魚雷時,顯示就幾乎跟不上了。
您是怎麼加快速度的?
Dan Edwards 想出了一個方法,可以讓我的顯示程式碼快上許多。我們認為他所做的,是我們現在所稱的「Just-In-Time (即時編譯)」編譯器的首例,他的程式碼運作速度之快,讓我們有時間去計算處理重力所需的平方根。這讓遊戲變得有趣多了!Pete Samson 則想出了一個方法來顯示一個系統所耗資源極低的星空背景,並用它取代了我隨機產生的星星。它能顯示夜空中星星的實際位置和大致亮度,這讓人更容易想像自己是一名真正的太空飛行員,對於我們這些科幻迷來說,這真是太棒了。
《Spacewar!》會記錄你的分數。加入這個功能是為了防止人們玩太久嗎?
(笑)當我們在 1962 年春天優化帶有「重力」的版本時,我加入了計分功能,因為我們意識到一個問題:人們會一直玩下去,不給別人機會。那個版本的分數是顯示在 PDP-1 主機面板的燈號上,而不是螢幕上,這對我們來說沒問題,因為我們會做二進位轉十進位的換算,但這對使用者來說不太友善!螢幕計分是後來才加上的,我想大概是 1963 年。
您甚至還加入了「超空間跳躍 (hyperspace)」的選項。
我們發現,如果一方有幾場遊戲的經驗而另一方沒有,有經驗的玩家會很快獲勝,這很無聊。我們想,如果加入超空間跳躍這個科幻作品中的標準功能,就能讓沒經驗的玩家在被魚雷包圍時逃脫,從而有機會多學一點。我們加入了這個功能,它……算是有用吧。我們看到很多沒經驗的玩家不停地按超空間跳躍,結果什麼也沒學到。所以我們讓超空間跳躍變得不可靠。沒有一艘船能在七次超空間跳躍後存活下來!
專用控制器的加入,想必也讓玩家操作起來更容易了吧。
那還用說! 用主機面板上的開關來控制你的船非常不舒服,因為你的手肘得靠在主機桌上,手很快就痛了,而且你還得轉頭看螢幕。另外,《Spacewar!》的玩家們老是把 PDP-1 上的開關弄壞,這讓維修人員很火大,那些開關換起來真是要人命。這些都是不該用開關來玩遊戲的好理由。我們發現可以在 PDP-1 的後方接上更多開關,Bob Saunders 和 Alan Kotok 就把它們接到一個木盒子上,那樣就好多了。它們幾乎用了一年!
您剛才提到了好幾位參與《Spacewar!》創作的人…
很多人都做了改進。這是一次團隊合作,雖然人不多。我們在 2018 年辦了一場同學會,所有做出重大貢獻的人都來了,現場有八個人——可惜 Alan 已經過世了。
您有出席在 MIT 科學開放日上《Spacewar!》的「正式」發表會嗎?
沒有,我當時被一些陸軍預備役的訓練纏住了。開發團隊的 Martin ‘Shag’ Graetz 為「數位設備使用者群組 (Digital Equipment User Group)」寫了一份簡短的報告,那是一個由 PDP 使用者組成的鬆散協會,他把遊戲放進了他們的資料庫,這樣所有想要《Spacewar!》拷貝的人都能拿到。那算是我們最接近「發行」的一次了。就像我之前說的,軟體是沒有價值的。
您當時有感覺到自己創造的東西,將會發展成一個價值數十億美元的電子遊戲產業嗎?
完全沒有! 那時我已經在這個行業待了四年,我學到了一件事,那就是預測未來幾乎是不可能的。我只對我的下一個專案感興趣。我的意思是,會有人雇我去做更華麗版本的《Spacewar!》嗎?不可能!記住,又過了十年,東西才變得夠便宜,才出現了專門用來玩遊戲的機器。
當 70 年代這種情況發生時,出現了一些早期的機台遊戲,如《Computer Space》和《Space Wars》,都大量借鑒了《Spacewar!》。您是否會因為自己的作品未經許可被這樣使用而感到不滿?
有什麼好不滿的?《Spacewar!》是開源的。東西就在這裡。你喜歡的話可以註明我的貢獻。玩得開心就好!
您是否曾經後悔沒有為《Spacewar!》中的創新申請專利?
我說過了,我沒辦法! 我要說幾次?軟體是沒有價值的!為軟體申請版權那時根本是天方夜譚…
不過,對於您和您的同事當時所取得的成就,一定會感到很自豪吧?
是的,我很自豪,而且我要吹噓一下。你現在可以在 Norbert Landsteiner 的網站 (masswerk.at/spacewar) 上玩的模擬器版本,或者我們在加州電腦歷史博物館的 PDP-1 上展示的版本,用的都是 1962 年的原始程式碼,據我所知,它在 50 多年裡一次都沒當機過!

四款深受《Spacewar!》影響的早期機台遊戲
《Computer Space》(1971)
Nolan Bushnell 一向承認《Spacewar!》是第一款商業大型機台遊戲的靈感來源。同年發行的,由 Bill Pitts 和 Hugh Tuck 製作的《Galaxy Game》,更是幾乎一模一樣的複製品。
《Space Wars》(1977)
作者 Larry Rosenthal 是 MIT 的畢業生,也是《Spacewar!》的忠實粉絲。這款由 Cinematronics 發行的遊戲使用了向量螢幕,並允許船艦在不被摧毀的情況下承受傷害。
《Orbit》(1978)
Owen Rubin 的版本允許在遊戲中選擇大量選項,從增加黑洞到提供太空站進行補給,全都透過機台上的 22 個按鈕來實現——我們相信這是一個紀錄。
《Asteroids》(1979)
Ed Logg 擷取了《Spacewar!》的一些關鍵特色,如船艦的旋轉和超空間跳躍,並加入了大量的太空岩石,創造出 Atari 最暢銷的投幣式遊戲。