有人在《模擬樂園2》裡做了個6.6*10^19758年才能走完的迷宮

進入正文之前,讓我們先闡明標題裡的兩個概念。首先,6.6*10^19758年是多長的一段時間呢?

如果你把它的0拆開,打進WORD,這個數字可以堆滿6頁紙。

以宇宙大爆炸理論為根據,NASA估算的宇宙年齡為(1.373 ± 0.012) * 10^10年,把0拆開來約等於13,730,000,000——連6.6*10^19758的零頭都抵不上。

然後是第二個問題——《模擬樂園2》(RollerCoaster Tycoon 2,RCT2)是怎樣的一款遊戲呢?

該作正式發行於2002年,玩法以高自由度的遊樂園建設為主。後來有老玩家在其源代碼的基礎上進行開源,為其添加了諸多更適應現代玩家的新功能(比如最最基本的支援任意解析度)。

正因如此,《模擬樂園2》不僅沒有被時代所拋棄,反而一直擁有一小撮「極盡鑽研之事」的擁躉。

2017年,曾有人在遊戲中設計出一個極複雜的迷宮,第一個走出該迷宮的遊客花了263遊戲年。

(迷宮俯視圖,建議放大欣賞)

2019年,一位名為馬塞爾·沃斯(Marcel Vos)的玩家設計出一條雲霄飛車軌道,遊客坐完全程需要440456個遊戲年,轉換成現實時間有45年之久。

而我們今天的主角,這個需要遊客花費6.6*10^19758現實年才能走出的迷宮,正出自馬賽爾之手——與這個龐大到已經令人喪失具體概念的數字相比,他製作該迷宮所耗費的時間,其實不過6個小時。

不用疑惑,只要看到這個迷宮的總體樣式,你就能明白為什麼「只需6小時」。

考慮到全景圖難以看清,下面還有局部圖。

因為實際上這個迷宮不僅完全不複雜,反而簡單到了幾乎稱不上是迷宮的地步,它純粹就是無數個「王」字結構的疊加。

而遊戲中的遊客之所以會被這樣一個迷宮困住,主要是因為《模擬樂園2》的角色尋路機制。

讓我們把迷宮的一小節取出來為例。在這款遊戲中,角色每移動到一個交叉點,就會隨機選取前後左右中的某個方向進行移動。

下面這張圖裡,假設角色隨機選取到的方向是右邊,因為撞牆無法通行,於是開始第二次判定。

第二次判定的方向是第一次的順時針90度,也就是向後,但這是角色剛來的方向,所以也不行(判定過一圈沒有其他路才能回頭)。

順時針再轉90度,這次即沒有撞牆又不是「回頭路」,所以成功,角色向左移動。

根據這個「順時針90度再判定」的算法設計,不難發現除了第一次就選對「前」的方向外,一旦選中「左」、「右」、「後」這三個方向,都將導致角色最終向左移動。

而一旦走進左邊的死路,再回到交叉點,角色又會重新面臨一半一半的選擇——隨機到前和右,則返回最初原點,隨機到後和左,則正常前進。

這樣一來,角色路過每個交叉點開始往回走的機率則是37.5%。

接下來倒個方向。如果角色在前進一段距離後中了37.5%的機率開始往回走,依舊用順時針進行判定,那麼他只有在第一次隨機到「右」的方向時才會進入死路,否則就會繼續往回走。

而在進入死路之後,角色依舊只有50%的機率回到前進方向。

也就是說,一旦走了回頭路,在接下來的每個交叉口,角色只有12.5%的機率能夠重回正軌。

總結下來,《模擬樂園2》中的遊客在這個毫無設計含量的迷宮中闖關時,每過一個交叉口就有37.5%的機率回頭,一旦回頭,每個路口又只有12.5%的機率糾正錯誤。

馬賽爾分別用5、6、7、8、9、10塊遊戲方格做了6個迷你迷宮,並在此基礎上進行對照實驗。

結果顯示,現實世界的2000小時內,共有14178位遊客攻略了5格迷宮,只有13位遊客攻略了10格迷宮。

這13位遊客平均花費了遊戲中的1540年,現實世界中的1382.99小時,大約57天。

好了,接下來已知《模擬樂園2》的最大面積為256×256方格,結合素質教育學過的「指數爆炸」理論,再複習一次下面這張全景圖,你大概就能理解6.6*10^ 19758這個誇張的數字到底是怎麼來的了。

另外還值得一提的是,馬賽爾的迷宮發布不到兩天,OpenRCT2的開發人員就注意到了這個不算問題的問題。

如今遊戲角色的行動機制已經更改,他們不再遵循順時針依序判定,而是以相等的機率選擇前進方向。

也就是說,根據新的角色移動算法,一位遊客走出該迷宮所需的時間一下銳減到了8.1*10^2833年。

太好了,有希望了呢(並沒有)

參考來源