分页: 1 / 1

史上最困難的電腦遊戲

帖子发表于 : 周三 5月 20, 2015 2:01 pm
admin
http://buzzorange.com/techorange/2015/0 ... uter-game/
遊戲的名字叫「Robot Odyssey」,我花了 13 年的時間才通關,而且它還讓我開啟了工程師的職業生涯。

我的第一台電腦是 Apple IIe,它有 128K 的內存,沒有硬碟,只有一個 5.25 英寸的軟驅。當時最流行的益智遊戲之一是「Rocky’s Boots」,一個教孩子們基本的邏輯知識的發明類游戲。在我 6 歲的時候,我非常喜歡這款遊戲。2 年後,我得到了「Robot Odyssey」這款遊戲,它宣稱擴展了「Rocky’s Boots」的基本玩法,把簡單的邏輯變為真實的編程。

這款遊戲徹底蹂躪了我,我根本無法理解如何去破解遊戲中的難題。我在沒有任何幫助下,直到 13 年之後才終於通關了。

讓我來說明一下:任何小孩,只要能夠通關這款遊戲,當然前提是通關時他還是個小孩(據我所知,唯一一個還是我所認識的最聰明的工程師),就可以保證能夠成為一名軟體工程師。順帶提一句,任何成年人,誰能夠通關這款遊戲就可以去當一名工程師了。「Robot Odyssey」是有史以來最他媽難的益智遊戲。同時它也是一個令人驚豔的技術成就,也是 Apple IIe 上最具創新性的遊戲之一。

漸漸的,這樣荒謬的遊戲難度吸引了一大批追隨者。這個是我童年記憶最清晰的遊戲。它也是我最喜歡(也最絕望)的遊戲,因為它是如此的困難,複雜,充滿挑戰。它展現出來的世界就好像是在面對柏拉圖形式理論一樣,是一個秘密,是非物質的純粹邏輯和思想。這個遊戲的挑戰,同時也是一個最大的困難,在於去理解那個遊戲裡的世界。

工程師 Thomas Foote 在他剛上大學的時候開始玩這款遊戲:「我真想殺了自己」,他告訴我,「我對上帝發誓,我一定要在大學畢業之前通關這個遊戲。最後我辦到了,但是非常懸。」

在「Robot Odyssey」裡,你扮演一個角色進入了夢境裡的神秘城市 Robotropolis。在城市裡有 5 個難度遞增的等級供選擇,通關後你才可以回到家。這裡是對這 5 個等級的難度的一個粗略估計:

1、下水道:中等
2、地鐵:挑戰
3、城鎮:非常難
4、主控制中心:不可能
5、天空:不可能

Robotropolis as rendered by Gil Morales.

在我年輕的時候,我完成了前三個難度,但是我以及我的小伙伴們都在第四個難度被卡住了,跟它比起來,前面三個難度簡直就好像是算術跟代數的區別。(就像 Thomas Foote 說的那樣,「我被這一個等級卡了整整一個大學。」)

第五個等級就像傳說一樣,通過根本就是做夢。在那個年代,還沒有因特網,如果你不是在矽谷的話,想找到別的玩過這個遊戲的人都非常困難。這個遊戲成為了我的「復仇者」,一段我內心糾纏不下的記憶。給你描述一下你就懂了,在我用 BASIC 和 Pascal 編程很多年之後,我還是不能通關第四個難度。

這個遊戲給那些玩過的人帶來了深刻的影響。我的小弟弟,跟我的妹妹和我一樣,都被這個遊戲給難住了,他告訴我,「這個遊戲就是他走上工程師道路的開始」。即使有那麼多人被卡住了(事實上所有人都被卡住了),這個遊戲帶給玩家的新思想和新概念是其他遊戲所不能比的。

「One Girl, One Laptop」公司的遊戲開發者以及硬體駭客 Quinn Dunki 寫了著名的遊戲「Gate」,而它繼承了「Robot Odyssey」的許多思想並用了很多相同的概念。科技法學教授 James Grimmelmann 告訴我,「Robot Odyssey」這款遊戲是他遊戲生涯中「陰鬱的十年」,在完成任何一個難題時都產生一種巨大的成就感——「這也是我喜歡編程的最大原因。」

在 2004 年,程序員 / 音樂家 / 駭客 Joan Touzet 用這款遊戲來教中學生如何編程。Thomas Foote 是如此的執著於這個遊戲,他在一個小但是專業的俱樂部的支持下,花了好多年,用 Java 重新實現了這款遊戲。(他是成功通關,並取得 Learning 公司認證的第 34 個玩家。)Foote 把它的 Java 版本叫做「DroidQuest」,並且這也是今天能夠玩到這款遊戲的最簡單的方法。

It's an accomplishment.

軟體工程師 Micah Elizabeth Scott,把這個遊戲移植到 NDS 上,他告訴我,「Robot Odyssey」這個遊戲對於塑造他後來的人生扮演了一個重要的角色,並且強調這款遊戲是一件多麼獨特的作品, 「通過這款遊戲,你能夠看到這個人,或者是這個製作團隊的風格,他們通過合作的方法,用高度的抽象來使得遊戲中的一切井井有條。」

在那個早期的消費軟體時代,這個遊戲的誕生絕對是一次自由意志的嘗試。Learning 公司除了做出「Robot Odyssey」之外,還製作了一系列經典遊戲,像「Rocky’s Boots」、「Reader Rabbit」、「Gertrude’s Puzzles」,這家公司是由 4 名美國國家科學基金會資助的,對軟體感興趣的教育家成立於 1980 年,他們分別是:Leslie Grimm,Ann McCormick,和 Teri Perl,以及 Warren Robinett(他是世界上第一個創造復活節彩蛋的人,他在遊戲「Atari’s Adventure」的一個秘密房間中隱藏了他的名字)。

這家公司是一家非典型的公司,它關注益智類游戲,同時還由女性領導。Grimm 和 Robinett 設計了 1982 年的「Rocky’s Boots」遊戲,遊戲教孩子們學習與非邏輯門,並且抓住了我 6 歲時的心,Grimm 同時也是「Robot Odyssey」的作者之一。後者是一名 22 歲的史丹佛大學本科生 Michael Wallace 的心血結晶。

The game taunts you.

Wallace 告訴我,寫這個遊戲是他一生中最美好的時光。他原本只是 Learning 公司的一個客服,通過看 Robinett 寫的「Rocky’s Boots」的代碼,他自學了在 Apple 6502 上用彙編編程。在 Robinett 離開公司之後,Wallace 擴展了 Robinett 的代碼,構成了「Robot Odyssey」底層架構,包括遊戲中令人眩暈的,把電路嵌入電路的能力的開發。完成這些並不是一件容易的事;Wallace 認為這是創造藝術的過程。那時他每週工作 100 小時,當 Teri Perl 向傳奇計算機科學家 Alan Kay 介紹這個項目的時候,Alan 說,「你這是在浪費你的時間。這不可能被完成」。他這話的意思是,在一台蘋果家用機上運行這麼複雜的程序是不可能的。當「Robot Odyssey」橫空出世後,公司給了 Wallace 一塊牌匾,上面寫著,

「這不可能被完成。——Alan Kay」。

在得到史丹佛的生物學博士學位後,Leslie Grimm 在她女兒的學校做志願者的時候,開始對計算機潛在的教育用途產生了極大的興趣。除了掌管整個項目外,她還負責「Robot Odyssey」的一部分工作:Robotropolis 的 5 個等級以及 3 個教程(在 1.1 版本中被擴展到 5 個教程,為了讓遊戲對玩家來說更容易一點)。這 5 個不同的遊戲等級是由 5 個不同的個人單獨創作的。我必須要指出,16 歲的高中生 Shaun Gordon 設計了惡毒的第四個等級,「主控制中心」是我和許多玩家的滑鐵盧。

Wallace 在開發這款遊戲的時候一直都非常忙,以至於直到遊戲完成,他都從來沒有玩過。我問過他,是否某天他會試試,他告訴我說,「這也許會花掉他好幾年的時間」。他不確定在 Learning 公司裡是否有人能夠單獨通關這款遊戲!

為了解決遊戲中的難題,你會獲得 3 個(最終將是 4 個)機器人夥伴幫助你連線或者編程。從下面這張圖中可以看到,從左到右,它們分別是 Sparky,Scanner 和 Checkers。它們能夠移動,探測牆壁,拿起或是放下物品,以及和別人對話。

Sparky,Scanner,and Checkers:they are yours to command(and scream at).

我上面提到的編程的意思,是比敲電腦代碼更加原始的東西,甚至比彙編相對計算機運行來說更加底層的東西。我的意思是構成芯片內在的邏輯門(與,或,非)。與其說「Robot Odyssey」在玩編程,不如說它是在玩電子工程。你用來編程的東西是最基礎的東西。你有的是電流通過導線和邏輯門的電路。這些邏輯門構成了布爾邏輯的基礎操作。

Simple,right?

布爾邏輯其實十分簡單。它就是兩個相對的值,通常稱為「是」或者「否」(如果用作邏輯判斷的話),但是因為我們這裡討論的是電路,所以它們被稱為「正」和「負」比較好一點。遊戲裡的機器人擁有推進器幫助它們移動。舉個例子,如果你通過一根標記為「正」的導線向機器人推進器輸入電流,那麼推進器將會被打開並使機器人移動。除此之外,還有一類邏輯門來使電性相反。一個非門擁有一根進導線和一根出導線,它的作用就是顛倒輸入導線的電性。如果輸入的導線標記為正,那麼在輸出端就不會有電流。如果輸入的導線標記為負,那麼它就會在輸出端就會輸出電流。



通過使用這些以及另外的一些邏輯門,你必須動用機器人完成一些簡單的任務,但是隨著遊戲的推進,任務將會變得越來越複雜。



當任務變成需要你用一個機器人通過一根只能發送正負信號的天線,向另一個機器人發送信號來使它移動的時候,這些邏輯門有限的功能就不夠看了。可笑的是,這些邏輯門並非是功能不強,只要有足夠的組合,這些小小的邏輯門能夠做到任何事情。但是這需要大量的思考。

讓這些簡單的邏輯門來完成複雜的編程讓我的大腦都快燒掉了。為了解決遊戲中的難題,我兒時的腦袋,還不足以完成從這些簡單的邏輯門到復雜的控制系統的思維跳躍。為了讓你實現控制系統,遊戲提供了把電路製成芯片的能力。下圖就是一塊芯片,用到了大量的或門,這是為了……,好吧,我不會再多看它們一眼了。

Inside a chip:Fun for the whole family!

關鍵在於,這些簡單的邏輯門通過足夠的組合和設計,可以實現異常複雜的東西。這就是所謂的計算機編程了,使用原始的操作來實現非常複雜的架構。對於 Foote 來說,這個遊戲的基本訴求和數學以及計算機科學的基本訴求是相同的:「這個世界是邏輯的,並且是由簡單的規則搭建起來的。通過如此簡單的規則可以實現如此復雜的世界。」

儘管遊戲的續集從來沒有出現(原來的包裝盒上印著這個遊戲是「Robot Odyssey I」),但是它還是贏得了各種獎項並且在《Scientific American》雜誌上有一篇專門報導。這款遊戲帶給了 Wallace 在蘋果粉絲團中極高的知名度,並且讓他得到一次在帕羅奧多研究中心做演講的機會,他隨後又繼續設計了一些電子玩具,包括「Nintendo Power Glove」 ,現在他擁有自己的公司「Pure Imagination」。Grimm 一直待在 Learning 公司並開發了許多遊戲,包括非常成功的「Reader Rabbit」,最近她正在開發供耳聾兒童使用的教育軟體。