史前時代——早期的十年(1947-1958)
某一天,你有沒有想過,你手機里、電腦里,你身處何地都能見到的那些遊戲,是從哪裡來的?
這不是廢話嗎?當然是用代碼編出來的啊!
沒錯,遊戲當然是不停地畫畫,寫寫,一點一點拼裝出來的,可是你想過沒有,有些人為什麼要組合出一堆奇怪的代碼,讓另一些人樂此不疲地沉溺於其中?
再者,如果讓你隨便說出幾款經典的遊戲之作,你也許會脫口而出道魔獸爭霸、反恐精英、塞爾達傳說等等很多遊戲,如果你玩遊戲比較晚的話,你也許會說什麼上古捲軸、巫師、刺客信條等等許多亂七八糟的3A大作。你也許知道那些經典遊戲的歷史,知道魔獸世界是在2004年開始公測的,比魔獸世界更早的紅色警戒2,比紅警更早的極品飛車系列,比極品飛車更早的魂斗羅,比魂斗羅更早的超級馬里奧兄弟,比超級馬里奧更早的德軍總部……
那麼,在這之前呢?
年代的久遠讓記憶變得越來越模糊。究竟有多少人曾經認真地探索過,我們所熱愛的「電子海洛因」,到底是從哪裡起源的呢?
故事還是要以「很久很久以前」作為開頭。
1947年,美國,兩位正在研究陰極射線管相關技術的物理學家,托馬斯·T·戈德史密斯和艾斯托·雷·曼恩,在前不久的二戰中新興的雷達顯示技術的啟發下,萌生出了一個激動人心的想法——利用這種技術來研發出一種新的娛樂形式,並期望將這作為一款產品出售到市場上去。
想法很美好,於是兩人一拍即合,立即著手實施。他們設計出了一款遊戲,通過一台示波器的屏幕,玩家操控上面的一個光點,使用示波器上的旋鈕來調整其軌道和角度,從而擊中目標,以模擬導彈的發射。因為該遊戲採用了陰極射線管技術,所以他們將此遊戲命名為「陰極射線管娛樂裝置」。
然而,遊戲並沒有被真正地開發出來。兩人僅僅製作出了該裝置的手工原型,該項目便由於經費不足等多種因素而夭折了。不過,戈德史密斯和曼恩在1947年初便提出了這個項目的專利申請,並於次年12月份通過申請,該遊戲還是作為一款概念被保留了下來。
對了,你還記得課本里說過的,第一台電子計算機ENIAC誕生在1946年嗎?它和陰極射線管的概念出現時間非常接近,不過,這款遊戲並沒有採用類似的技術,可以說和「計算機」這個詞語沒有半毛錢的關係。從嚴格意義上來講,它只能算是電子遊戲的一個雛形。
雖然對後來的遊戲幾乎沒有產生什麼實質性的影響,但是陰極射線管娛樂裝置還是幫我們推開了一扇新的大門——通往電子遊戲的世界。
與此同時,在大西洋的另一端——英格蘭島上,時任曼徹斯特大學高級講師的艾倫·圖靈和他的同事大衛·錢伯努恩共同寫出了一份國際象棋程序的代碼,名為「Turochamp」,其實是兩人名字的結合(Turing和Champernowne),可以說是AI的鼻祖了。這款遊戲經常被譽為「世界上第一款書面遊戲」。為什麼會是「書面遊戲」?因為這款遊戲並沒有在電腦上真正運行過。
當時圖靈試圖利用曼徹斯特大學的一台Ferranti Mark Ⅰ型號計算機(後面還會提到它)來執行這款程序。我們如果能夠親眼看一看那台「整個費城西區都為之黯然失色」的ENIAC,就會知道,當時的計算機可以說是龐然大物,造價昂貴,雖然計算機技術有所改進,然而性能還是十分吃緊,因此Turochamp這款程序太過「複雜」而無法弄到計算機上運行,所以圖靈只得暫時放棄,為了測試這份代碼,圖靈只得親自動手執行。據推測,Turochamp應該是兩人在1947年開始研發,在1948年完成。然而圖靈本人卻在這一年的八月份宣稱他並沒有實際寫完Turochamp的代碼,很可能是在完工之前唐突地來了這麼一段話。
據說,Turochamp曾經在這一年與錢伯努恩的夫人進行了一場人機比賽(可能是錢伯努恩在家裡沒事拿出來和夫人一起測試的),最後Turochamp獲勝。不知道為什麼隔了四年,也就是在1952年的夏天,圖靈把Turochamp拿了出來,與他的同事兼好友阿里克·格蘭尼展開了一場人機大戰。雖然已經過去了幾年,但是Turochamp依然不能夠在計算機上運行,所以圖靈代表Truochamp親自人工執行代碼。據說,圖靈每執行一步都要平均花上一個半小時的時間,那麼照此算來,這盤象棋一共下了29步,應該足足花了有兩三天的功夫。然而,最終格蘭尼在第29步打敗了Turochamp,人工智慧並沒有證明它現在能比人腦厲害,不過間接證明了錢伯努恩的夫人棋藝並不精湛(這很正常,換我我也照輸不誤)。
如果你對國際象棋比較感興趣的話,可以點擊這裡來觀看當時的這場對決。
不過,實際上Turochamp並不是第一份「書面遊戲」。就在Turochamp完成的前幾個月,他們的同事唐納德·米歇爾和肖恩·偉利已經率先完成了一款書面的象棋程序「Machiavelli」(也是兩個人名字的拼合,兩款程序可能是各有借鑒)。不過米歇爾後來也提到了他們的Machiavelli還是得益於Turochamp的啟發。同Turochamp一樣,Machiavelli同樣也沒能在計算機上運行。
就在圖靈的人機大戰前一年,同在曼徹斯特大學工作的迪特里希·普林茨也設計出了一款國際象棋的程序。普林茨也嘗試著使用那台Ferranti Mark Ⅰ來運行這款程序,然而舟大水淺,他也遭受了同圖靈相同的困境。但是普林茨不甘心放棄,他將程序進行了閹割,使它僅僅能夠計算出殘局最後兩步的最優解,於是程序總算能夠勉強在計算機上運行。程序每執行一步都要花費15-20分鐘的運算時間,而且對殘局局面的要求有著各種各樣的限制,所以根本沒什麼娛樂性可言。
等等,娛樂?是的,就是為了娛樂,遊戲為娛樂而生。然而就在半個多世紀以前,沒有人能夠意識到,這句話的背後潛藏著一份多麼巨大的威力。
在同一時期,各個地方還有一些學者陸續研發出了不同的象棋程序,這裡就不一一描述了。
讓我們跳回大西洋彼岸,再把時鐘往前撥一撥,去往1950年的加拿大。在這一年的加拿大國家展覽會上,一個放有一台大型機器的展位格外引人注目。這台機器將近4米高,有一個發光的鍵盤,用來輸入屏幕上對應的位置信息,旁邊還有一個小屏幕,分別寫著「Electronic Brain」和「Human Brain」,用以顯示哪一方獲勝。沒錯,這是一台遊戲機,上面運行著被譽為「世界上第一款電子遊戲」的「Bertie the Brain」。這個遊戲的發明者是約瑟夫·凱特斯,一位加拿大籍奧地利猶太人。這個遊戲的起由還要從兩年前講起。
在1948年,多倫多大學發起了一個項目,準備開發建造一台大型計算機,名UTEC(University of Toronto Electronic Computer),並於1950年建造完成了該計算機的原型。就在項目需要學校提供資金來繼續開發進度的時候,學校突然發現,與其花那麼多錢造電腦,不如直接去買一台,於是他們看上了另一款計算機——Ferranti Mark Ⅰ,並最終決定購入一台,於是UTEC項目被迫中斷。
而在這個項目中的一位核心成員就是凱特斯。凱特斯同時又正在一個名為「Rogers Majestic」的電子管製造公司工作。在公司的一位同事的幫助下,他為這個UTEC項目設計出了一款新型電子管,名為「Additron」。Additron同當時的電子管相比具有結構簡單、體積小、能耗低的優勢。但是因為UTEC項目的擱淺,導致凱特斯不得不另尋出路,來推廣他的這項電子管技術。但是這時Additron技術的專利申請還沒有通過,所以暫時無法出售。而Rogers公司比較看好這款產品,於是資助了凱特斯,希望他能夠在專利申請尚未通過時先宣傳一下這項技術,凱特斯就利用Additron設計製造了一台能夠運行井字棋遊戲的機器,命名為「Bertie the Brain」。這台機器隨後便在1950年8月份的國家展覽會上亮相,用以推廣Additron技術。
Bertie the Brain在國展會上取得了很好的成績,吸引了不少人前來圍觀遊玩。為此,凱特斯空閑的時候便守在一旁,根據玩家的年齡(或智力)不斷調整遊戲難度。這款遊戲甚至吸引了當時著名的美國藝人丹尼·凱(此人在我國比較冷門)前來試玩,並最終戰勝了低難度的「Electronic Brain」,其遊玩的照片還被刊登在了美國《生活》雜誌上。
儘管反響不錯,但不幸的是,凱特斯在繁忙的工作之外已經沒有足夠精力去保留這台機器,隨著為期兩周的國展會的結束,Bertie the Brain被拆除,而後逐漸被人們遺忘。雖然有多家公司向他的Additron拋出橄欖枝,但是還是因為專利的問題不了了之。Additron的專利申請經歷了漫長而又艱難的過程,直到1956年,申請才終於通過。在這個時候,電子計算機已經基本上邁入了它的第二個階段——晶體管計算機。Additron電子管已經不再適應時代的需要,便被淘汰。凱特斯並沒有達到預期目標。而他在隨後也轉向了電子交通控制系統領域中去,不再從事之前的工作。
Bertie the Brain的事到這裡便告一段落了,現在讓我們再一次躍過大西洋(大西洋:有病?),回到英國,去看看下一個故事。這次故事的主人公是一位來自英國哈羅公學的數學和物理學教師。在1950年8月,也就是Bertie the Brain亮相國展會的前兩個月,這位教師偶然讀到了一篇關於「象棋和跳棋理論」的文章,因為平時對計算機方面比較感興趣,於是他有了一個靈感:為何不去做一款可以下棋的計算機程序呢?
又是下棋!我們前面已經提到過,在此之前已經有一些學者開發出了象棋軟體,但大都只是偶有小成,不過這次可有點不一樣了(ps:這次開發的是跳棋)。這位教師就利用空餘時間沒完沒了地鑽研著這麼一款跳棋程序。而在2月份時候,恰好有一個朋友給他介紹了一份在英國國家物理實驗室(簡稱NPL)的工作。剛在前不久,實驗室已經成功製造出了一台由圖靈先前設計的計算機:自動計算引擎,即Pilot ACE(圖靈已經在此前離開了實驗室)。這台計算機給了他一個運行程序的機會。在5月份,他完成了這款跳棋程序的最初版本,足足有20多頁之長,並將它寫到了那台ACE計算機上,又給昔日的同窗兼好友艾倫·圖靈(兩人都曾就讀於英國倫敦國王學院)寫了一封信,彙報了他的成果。兩個月之後,當他滿懷激動地打開這款程序準備檢測一下努力成果的時候,嗶——內存溢出……
我們先不要過多地考慮失敗者的心情,先把視角挪到下一個地方。不過不用擔心,這次我們不跳了,地點還是在英國。
就在這個5月份,為紀念1851年英國世博會100周年,不列顛節隆重召開。在這次的節日展覽上,另外一台大型遊戲機——Nimrod首次登場。這台機器由澳大利亞工程師約翰·班尼特設計,萊蒙德·斯圖爾特·威廉姆斯製造,Ferranti公司出品。
你想起了什麼?沒錯,前文多次提到的那台Ferranti Mark Ⅰ,就是由這家公司製造的。現在我們可以來簡單地介紹一下它了。
1882年,一位來自西門子公司的工程師佛蘭提決定另起爐灶,創建了一家以他名字為名的Ferranti公司,意圖打入新生的發電機市場。到了20世紀早期,Ferranti已經發展為英國最重要的幾家能源公司之一,並且參與構建了英國國家能源系統。在二戰中,Ferranti成為了英國最主要的電能供應方,並且逐步向軍事電子領域擴展,尤其是在雷達技術方面,Ferranti取得了很大的進步。隨後公司又開始了計算機技術領域的探索。到了1951年,Ferranti成功研發出了第一台Ferranti Mark Ⅰ型號計算機,並於該年年初將其出售給了曼徹斯特大學(也就是前面我們所提到的那台),Ferranti Mark Ⅰ成為世界上首款商業電腦。
在1950的時候,Ferranti遭遇到了一個困境:公司本來答應要在即將到來的不列顛節上展出一台新型計算機,但是奈何Ferranti Mark Ⅰ在當時還沒有製造完工,眼看到了年末,之前的承諾無法兌現。這個時候,一個名為約翰·班尼特的工程師提議,可以先弄出一台可以玩「尼姆」遊戲的計算機,用以在節日上展出,也好順便給大家展示一下公司生產的電腦數學運算處理能力是有多麼強大。對於「尼姆」這個詞,大多數人聽起來也許很陌生。它是一種起源於歐洲的古老遊戲(也有人說起源於中國的「撿石子」,但是這兩個遊戲之間好像沒有多少相似之處),玩法是兩人輪流從一堆硬幣中取出若干枚硬幣,最後取走硬幣的那一方獲勝尼姆遊戲還衍生出了一些相關的數學理論,如「尼姆博弈論」,這裡我們不加深究。還是先回到遊戲機身上。總之,從1950年末開工,到1951年4月,Nimrod建造完成。在5月份的不列顛節日展覽會上,Nimrod打著「快過你想像!」和「電子大腦」的宣傳口號,首次向大眾公開。
這台機器高1.5米,長2.7米,在前面的那些龐然大物中也不算是很大。因為缺少顯示屏,所以Nimrod採用了7*4個燈泡來表示總共的硬幣。機器前面有幾排會發光的按鈕,分別對應屏幕上的每個燈光,玩家可以通過按下相應的按鈕來選擇拿走哪些「硬幣」。
在不列顛節結束以後,Nimrod又被放入十月份召開的柏林工業展上,進行了為期三周的展覽。在展會上,Nimrod吸引了大批人群,其中甚至就包括時任西德經濟部長的路德維希·艾哈德。(如果放到現在,沒有人會在乎這些遊戲,但是在那個時代,它們可謂是驚世之作)。同凱特斯一樣,Ferranti也是醉翁之意不在酒,無心於發展電子遊戲。這也無可厚非,電腦才剛誕生幾年,更別提打遊戲了。展覽結束以後,Nimrod也被塵封在了歷史的角落。
Nimrod的故事也告一段落。不過,我們前文所提到的那位教師,他的努力還沒有結束。
這位教師名叫克里斯托弗·斯特雷奇。雖然遊戲運行失敗了,但是斯特雷奇並沒有喪失信心。他聽說在曼徹斯特大學有一台Ferranti Mark Ⅰ,那台計算機有著更大的內存,應該能夠跑動他的程序。於是就在那個月,斯特雷奇啟程前去訪問了 公里之外的曼徹斯特大學。在那裡,斯特雷奇同圖靈進行了交流。也許是出於對自己之前的Turochamp的一種寄託,圖靈對斯特雷奇表示鼓勵並且為他提供了Ferranti
Mark Ⅰ的操作手冊。圖靈的支持極大振奮了斯特雷奇。回去後不久,斯特雷奇開始著手於程序的移植。終於在次年的7月,斯特雷奇的遊戲成功地運行在了Ferranti Mark Ⅰ上。這位教師名叫克里斯托弗·斯特雷奇。雖然遊戲運行失敗了,但是斯特雷奇並沒有喪失信心。他聽說在曼徹斯特大學有一台Ferranti Mark Ⅰ,那台計算機有著更大的內存,應該能夠跑動他的程序。於是就在那個月,斯特雷奇啟程前去訪問了 公里之外的曼徹斯特大學。在那裡,斯特雷奇同圖靈進行了交流。也許是出於對自己之前的Turochamp的一種寄託,圖靈對斯特雷奇表示鼓勵並且為他提供了FerrantiMark Ⅰ的操作手冊。圖靈的支持極大振奮了斯特雷奇。回去後不久,斯特雷奇開始著手於程序的移植。終於在次年的7月,斯特雷奇的遊戲成功地運行在了Ferranti Mark Ⅰ上。隨後,斯特雷奇前往加拿大多倫多大學參加了一場國際計算機學會的會議。在會議上,斯特雷奇用多倫多大學的那台Ferranti Mark Ⅰ展示了這款跳棋程序(國內一般譯作「西洋跳棋」)。我們先前所講過的遊戲,可以大致分為這麼兩類:一種是以程序形式運行在計算機上的遊戲,另一種是運行在特定的機器上,後人稱之為「遊戲機」的遊戲,這有點類似於今天的PC遊戲和主機遊戲。兩類遊戲都有一個統稱,叫做「電子遊戲」。如果你足夠細心,你就會發現,它們都有一個共同特點,就是沒有「屏幕」,即使有,所謂的「屏幕」也不過是幾個燈泡拼湊起來的而已,這些遊戲都是非視覺性遊戲。試想一下,今天的你能夠容忍得了一個連畫面都沒有的遊戲嗎?更別提什麼畫質了。然而,斯特雷奇的西洋跳棋不一樣,它有著實實在在的屏幕,它的畫面是計算機實時渲染的。
同樣在1952年,在英國劍橋大學誕生了另一款遊戲,OXO。
看到這個名字,你也許就能猜出來了,沒錯,和Bertie the Brain一樣,這是一款井字棋遊戲,所以我們就無需再過多介紹了。總之這款遊戲是由劍橋大學一位數學博士研究生亞歷山大·道格拉斯為了配合他的研究而設計製造出的。與Bertie the Brain不同的是,遊戲是通過老式電話機上的轉盤來進行控制的,每一個號碼對應棋盤上的一個位置。它運行在EDSAC上,EDSAC是由劍橋大學的團隊根據馮·諾依曼的構想研發的一台計算機。值得一提的是,它也是一款可視化遊戲。但是,OXO具體是在哪個月被研發完成的,暫時無法求證。所以西洋跳棋和OXO究竟哪一個是第一款「Video Game」,也就不得而知了。
至此,電子遊戲的雛形已經基本形成,「玩法」和「畫面」這些要素都已具備。在這之後還有很長的路要走。
還是免不了,西洋跳棋和OXO也被拿去放在角落裡積灰了。什麼都沒有改變。不過,在多倫多大學的這次展示中,西洋跳棋著實觸動了另外一個人,亞瑟·薩繆爾,對此同樣有著濃厚的興趣。
薩繆爾畢業於麻省理工學院,是美國一位重要的AI領域先驅。1946年,薩繆爾在他所執教的伊利諾伊大學參加了一個計算機研發團隊,也就是在那個時候,薩繆爾萌生出了做一款跳棋遊戲的想法。但是當時的硬體條件無法為他一個可行的遊戲平台。在1949年,薩繆爾加入了IBM公司,並參與設計了一款在計算機史上留有一筆濃墨重彩的IBM 701型號電腦。這給他提供了一個很好的機會。
斯特雷奇的西洋跳棋點燃了薩繆爾心中的熱情。也正是在這一年的4月份,IBM 701 正式發布。薩繆爾以IBM 701作為遊戲平台,於年底火速完成了跳棋遊戲的最初版本。薩繆爾的遊戲程序採用了Alpha Beta剪枝演算法,這種演算法在今天常常被用在棋類遊戲的AI上面,不過在那個時候還沒有人這麼叫它。據說,這是在美國的第一款AI程序,不過同時它也是本文章中第一款來自美國的電子遊戲(不知道你留意過沒有,前面所講的遊戲幾乎都是來自加拿大或英國,陰極射線管娛樂裝置不算)。
在此之後,薩繆爾一直致力於遊戲的完善,在1955年,他做出了一個更強的版本。此時的遊戲AI甚至已經具備了初步的學習能力,可以分析自己的錯誤,並在此基礎上進行改進。在1956年2月份,該遊戲首次被投放到電視上,一經展示便引起了轟動,IBM公司的股票甚至為此一度上漲了15點。
遊戲取得的成績使薩繆爾更加躍躍欲試。在1961年,一本有關AI領域研究的選集準備載錄薩繆爾的事迹,為了給文章提供更翔實有力的素材,編輯建議薩繆爾為他的跳棋程序提供最佳的比賽成績。於是薩繆爾找了一位專業盲人(也可能不是盲人)跳棋選手羅伯特·尼萊同程序進行了一場比賽。比賽在1962年進行,這個時候跳棋程序的平台已經轉移到了新型的IBM 7094上,最終AI擊敗了尼萊。薩繆爾宣稱他所挑戰的選手是「世界盲人跳棋冠軍」,然而實際上這個名號是子虛烏有的,尼萊不過是伊利諾伊州一個地區的盲人錦標賽冠軍。不過,在下一年,AI的處境就沒這麼好了,它和尼萊又進行了一場比賽,這次尼萊打敗了它。薩繆爾並不甘心,在1966年的一場世界比賽中,薩繆爾攜他的程序再次捲土重來,一連同兩個世界級選手進行了八場比賽,最終以八場皆負的戰績慘淡收場。儘管如此,它仍然算得上一款出色的AI程序,畢竟,不是什麼程序都能隨隨便便走向世界級賽場上的,在那個時代,我們沒辦法要求太多。
如果你能看到這裡,首先十分感謝,不過估計也很累了吧?史前時代也並不是想像中的那麼荒涼它也有五彩繽紛的一面,我們所介紹到的遊戲,也不過是其中的滄海一粟。好了,廢話不多說,史前時代尚未結束,我們再來看下一款遊戲。接下來要出場是一款撞球遊戲(pool game),具體名字不詳。它也是一款名副其實的「視頻遊戲」,採用雙人對戰的方式,通過旋鈕調整屏幕上球杆的角度,然後按下旁邊的按鈕即可擊球。由於計算機性能的限制,遊戲並沒有提供球桌邊緣和球洞的畫面,而是以簡單的貼畫代替。它還有一個很大的特點,就是遊戲畫面是實時無縫更新的,玩家所看到的是一幅不斷運動著的畫面,而不是之前那些走一步才更新一次畫面的棋類遊戲,這已經很接近於現在大部分遊戲的顯示方式了。
至於本款遊戲的來歷,自然還是老套路。為了在1954年的一場展會上更好地展示最新出品的MIDSAC型號計算機,威廉姆·布朗和同事泰德·萊維斯在德特爾克的提議下,決定做出一款遊戲,他們便選取了平時喜好的撞球作為遊戲藍本,耗時半年製作,成功在1954年亮相。
1955年,美國軍方研發出了一款名為Hutspiel的戰略遊戲,用以模擬西歐與蘇聯的政治對抗。遊戲採用的也是雙人對戰的方式,一名玩家扮演蘇聯,另一名玩家則可以在西歐陣營中選取法國、比利時和西德來進行扮演,抵抗蘇聯的入侵。玩家通過進行國家資源調配、制定策略、調用部隊、提供補給以及動用核武器等行動來進行遊戲對抗。Hutspiel在十年間歷經數次更新,不斷完善。在1964年一個更為複雜的名為「Theaterspiel」的遊戲繼承了前者,它運行在IBM 7094計算機上。可以說,Hutspiel算得上是戰略遊戲的鼻祖了。
史前的故事就告一段落了。綜上所述,我們可以發現,最早期的一批遊戲多誕生於科研單位和軍事機構,其作用不是為了搞科研,就是為了商業宣傳,亦或是模擬學習,只不過是一個個不起眼的附庸品,其中大部分都是曇花一現,很快便湮沒在歷史的遺迹中。遊戲業尚在黑暗混沌中孕育,它還沒有真正地面向平民大眾,這之後還有很長的路要走。
References:
1.wikipedia,Early history of video games
2.Cohen, D. S. "Cathode-Ray Tube Amusement Device". About.com. IAC. Archived from the original on 2015-09-06. Retrieved 2012-05-29.
3.Smith, Alexander (2014-01-22). "The Priesthood At Play: Computer Games in the 1950s". They Create Worlds. Archived from the original on 2015-12-22. Retrieved 2015-12-18.
4."Opening Moves: Origins of Computer Chess - First Tests". Computer History Museum. Archived from the original on 2015-12-22. Retrieved 2013-04-04.
5.Bateman, Chris (2014-08-13). "Meet Bertie the Brain, the worlds first arcade game, built in Toronto". Spacing Magazine. Archived from the original on 2015-12-22. Retrieved 2014-11-16.
推薦閱讀:
※C語言和C++的應用領域?
※如何解釋Haskell中的單子?
※windows7設置印表機共享
※電腦分期付款是什麼?
※什麼是美國的妨礙聯邦計算機罪?