作為今年最出色的新遊戲之一,《洞穴探險2》(Spelunky 2)難度極大。你只要在遊玩時稍不留神,就有可能被打回起點。這是一款充滿了隨機性的遊戲:關卡根據一些預設規則即時生成,但整體佈局可能會發生巨大變化。如果你想手動測試可能出現的所有關卡,就不得不耗費大量時間。因此,開發團隊製作了一個AI,來處理這項繁重任務。
《洞穴探險2》的關卡看似完全隨機,但其設計背後仍有邏輯。關鍵規則之一是:在不使用炸彈和繩索的情況下,玩家應該能通過遊戲裏的任意關卡。
在《洞穴探險2》開發期間,設計師Derek Yu與Blitworks進行了合作。Blitworks是遊戲行業著名的移植外包公司之一,曾為《神界:原罪2》製作Switch版本,但《洞穴探險2》還是他們以合作開發團隊參與的首個項目。對這樣一家擅長移植的公司來説,測試是他們重點關注的工作內容。
Javier Moya Nájera是《洞穴探險2》的玩法和AI程序員,在與Polygon的一次郵件採訪中,他講述了團隊使用AI來確保遊戲內所有關卡都能被玩家通過的過程。
“我認為這一切都是從主程序員Micky Pascual的測試系統開始的。那套系統不斷創造關卡,釋放幀速度,目的是嘗試發現任何潛在的關卡生成問題。”
但測試系統本身並不能完全模擬玩玩家通過關卡的體驗。Blitworks編寫了一個AI來控制“被僱來的幫手”(Hired Hands)——你可以在做任務的過程中救出他們。開發團隊無意將這些幫手設計成為天才,但他們確實對怎樣才能順利通過一個關卡有所瞭解。
有一天,Moya Nájera和同事們突發奇想:“如果我們讓AI來測試關卡,那會怎麼樣?經過一些更改後,我們進行了一次初步測試,讓AI努力抵達出口,不考慮任何其他因素。”
遺憾的是在剛開始的時候,AI的表現令人非常尷尬。
“我記得那個AI角色粗心地試圖穿過所有怪物和陷阱,所以在大部分時間裏,它沒有到達出口就會被殺死。隨着AI的發展(我們添加了戰鬥AI、更復雜的尋路方式、教它怎樣應對陷阱),水平不斷提高,最後它終於變得能夠攻擊怪物,進行非常複雜的跳躍並抵達出口了。”
當然,編寫一個能夠適應《洞穴探險2》裏所有不同變量的AI本身就很困難。
“遊戲裏有很多物品、增強道具、怪物等等,並且每種怪物都有自己的行為和特點,AI必須對它們有非常全面的瞭解才能做決定。例如,如果你面對一隻飛行蝙蝠和雪人,戰鬥方式是不同的。你可以踩踏或鞭打蝙蝠,雪人不能鞭打,但你可以朝雪人射擊。”
Moya Nájera承認,在《洞穴探險2》中,那個被用來測試關卡的AI仍然會犯很多愚蠢的錯誤……雖然AI的水平與玩家還有距離,但Moya Nájera覺得,觀看AI嘗試打通遊戲非常有趣。
“我花了很多時間盯着屏幕,看AI能不能抵達出口。它完成了一些令人難以置信的動作,還在幾乎不可能的情況下輕鬆擊殺了很多怪物。”他説,“我感覺簡直就像觀看一段直播。”
《洞穴探險2》的玩家們無法看到AI挑戰關卡,不過,遊戲裏的那些AI幫手也能完成一些流暢、華麗的動作。請記住,它們玩《洞穴探險2》的次數很可能比你多得多。