現代遊戲AI的鼻祖——聊聊你所不知道的《吃豆人》
文 / 半球
作為「全世界賣得最多的街機遊戲」,「吃豆人」大家再熟悉不過了。但它是「現代遊戲AI鼻祖」這件事,恐怕知道的人不多。前幾天,日本網站「電ファミニコーゲーマー」發布了一篇文章,內容是「吃豆人之父」岩谷徹和日本遊戲AI開發者三宅陽一郎的對談,岩谷徹首次公開了《吃豆人》的設計策劃書,並從設計的角度闡述了遊戲中那些性格各異的怪物是如何被創造出來的。
我們將這篇文章進行了編譯整理,由於這裡說的是街機版的吃豆人,所以和大家玩的最多的紅白機版會有一些差別。
三宅陽一郎(下文簡稱「三宅」):在世界各國的高校或科研機構中,遊戲AI的研究正逐漸興起,其中有不少人認為《吃豆人》是遊戲AI的鼻祖。它可以說是第一款能夠把遊戲中的角色以個性豐富的形態呈現出來的作品。具體來說,能讓角色表現出不同個性的角色AI,和控制遊戲整體難易度的Meta AI功不可沒。
話說回來,《吃豆人》是岩谷老師加入Namco之後製作的第幾款遊戲呢?
(左:三宅陽一郎,右:岩谷徹)
岩谷徹(下文簡稱「岩谷」):應該是第4作吧。前面有三款失敗的遊戲《GeeBee》《BombBee》和《CutieQ》。當時大家都想在遊戲里展示出自己的開發水平,結果把遊戲難度搞得太高了。後來開發《吃豆人》時,大家都時刻注意不要把遊戲做的太難。
(《GeeBee》的改良產品《BombBee》遊戲畫面)
(《CutieQ》遊戲畫面)
另外,我們那會兒也在不斷思考另外兩個問題,一個是「玩家在遊戲中會採取什麼行動」,另一個就是「好玩的遊戲到底是什麼」。最終「吃豆人」里的很多細節設定,都體現出了我們對這兩個問題的答案。
三宅:今天您帶來了一份非常珍貴的資料——《吃豆人》的定版策劃書。
岩谷:這個策劃書里寫了很多細節方面的設定,比如說,遊戲失敗的時候,如果以同樣的難度在死亡地點復生重新開始的話,玩家很可能就玩不下去了。因此,這個時候遊戲會稍微降低下難度。
(這份策劃書寫於1980年6月30日)
在怪物的行動模式方面我們也下了很多功夫。《吃豆人》里一共有4種顏色的怪物。如果這4個怪物都以相同的演算法來追蹤玩家的話,那遊戲里就變成4個怪物排隊追趕玩家。如此一來,玩家只要確保屁股不被咬到就能安全過關。
所以我們把這4隻怪物分散到了玩家的四周,同時採用了包圍並追擊玩家的演算法。這個想法是由當時的程序員提出來的,每隻怪物的運動方式都各不相同。
(描述了4隻怪物不同狀態下行動模式的表格)
(整體地圖及界面設計)
三宅:那這個表格又是什麼東西呢?(下圖)
岩谷:這個表格展示的是怪物和玩家移動速度差的變化。玩家在吞噬路上的豆子的時候行動會變慢,這時很容易被身後的怪物追上。但是,如果吃到了變身豆的話,玩家會瞬間從獵物變成獵人,移動速度也會變快。
三宅:遊戲設計和AI設計是密不可分的。在開發《吃豆人》的時候,是已經提前開發出相關的AI技術,然後再將之植入到遊戲中的嗎?
岩谷:從結果來看的話,並不是這樣的。畢竟,當時我連「人工智慧」或者「AI」這兩個詞都不知道,我只是努力地讓所有人能都從我的遊戲中獲得快樂。除了經常能在遊戲廳看到的青少年之外,小女孩和上了年紀的老人也是我們預設的用戶對象。
三宅:到20世紀90年代後,遊戲逐漸進入3D時代,遊戲AI也產生了巨大的變化。「自主思考型AI」也是在這個時間段出現的。遊戲中的NPC會在遊戲中觀察及分析,並在此基礎上採取必要的行動。在那之前,遊戲AI基本只是整個遊戲程序的一部分。而現代遊戲AI已經發展成角色AI、Meta AI和導航AI三部分組成的複合型程序。
回過頭再來看看《吃豆人》,角色AI是肩負起怪物角色大腦功能的AI、在那之上的Meta AI則是像遊戲中的上帝一樣控制遊戲整體難度的AI、而在遊戲內負責定位玩家位置並給出追蹤路徑的,也正是上面所說的導航AI。所謂現代AI的三要素在《吃豆人》中就已經存在了。
目前,在世界範圍內正在掀起第三次AI發展的大潮,AI的形態已經從程序進化了可以從大量的信息中獲取所需的內容並自主學習。之前谷歌開發的深度學習程序Deep Q-Network通過5款雅達利2600主機的遊戲進行自主學習就是一個比較知名的例子。從這點來說,這些深度學習AI應該可以用來進行Debug的工作。不過,遊戲整體難易度的調整目前還只能由人類來控制。
(這個深度學習AI也嘗試過學習怎麼玩《吃豆人》,但結果卻是失敗的——找不到竅門成績很難提高)
岩谷:沒錯,難易度調整的方法就是先設定一個玩家類型,然後去盡全力扮演這個玩家,以他的角度來審視遊戲。比如說,我是一個在新宿工作的廚師,中午休息的時候去遊戲廳玩玩。我比較喜歡非常爽快的動作遊戲,一個偶然的機會我發現了《吃豆人》,然後上去試了下。那麼,這個人是以什麼樣的心情來玩《吃豆人》的呢?這就需要開發人員在腦袋裡進行模擬了。
在遊戲中,我們有時候會從一些意料之外的事情中感受到愉悅。正如相聲和小品中,觀眾會因為某些和自己所想的完全相反的橋段而發出笑聲。玩家通過不斷地進行遊戲,他們的過關能力會逐步提高。通過這個學習並獲得提升的過程,玩家也能感受到快樂。但是,包括遊戲AI在內,如果總是讓玩家覺得很舒適的話,他們很快就會感到厭倦。因此,適當地讓玩家「失望」是非常必要的。
三宅:這部分應該也是我們遊戲界的一大特徵吧。
岩谷:沒錯,其他產業的AI和人類思維的匹配度有些過高了。
三宅:「就差一點」和「再努力試試沒準就能過了」,我覺得,通過製造這兩種思維矛盾並藉此控制人類的心理活動正是遊戲AI的最大特徵
如果說我們這些人到底是為了什麼而從事遊戲AI開發,應當說最大的理由就是驅動玩家的心理變化。這一點從《吃豆人》誕生至今,從未發生過變化。
岩谷:為了這個,我曾經在酒吧里和各式各樣的人聊過。當了解了一個人為什麼會以某種形態生活之後,在模擬玩家心理的時候我能考慮的範圍就會變得更加寬廣。酒吧里能遇見有著各種不同經歷的形形色色的人,從他們身上能學到很多有用的東西。這也是我個人開發遊戲的小訣竅之一吧。
三宅:接下來聊聊Meta AI。Meta AI屬於遊戲系統控制級別的AI,它負責調監視和遊戲的整體狀態。現在的Meta AI除了調控遊戲之外,還能進行迷宮和支線故事的創造。而《吃豆人》中那種古典AI,則可以從玩家的遊戲記錄中判斷出「這個人水平不行」,然後降低遊戲難度。
岩谷老師您在2005年的GDC演講中說過這樣的話:
「由程序來判斷玩家的遊戲水平,然後以此為基準調整遊戲的難易度——這個被稱為自主控制系統的東西,我在十幾年前的開發工作中就已經在使用了」
您在這裡提到的十幾年前,具體是哪一年呢?
岩谷:這裡說的是1981年4月,當時我提交了一份報告書。提交的背景前面也提到了,因為推出了好幾款難度太高而導致失敗的遊戲。但反過來,如果單方面去配合玩家降低遊戲難度的話,玩家單次遊戲時間會變得很長,這樣的話遊戲廳就賺不到錢了。
遊戲本身很好玩,但僅僅是因為源於幾個數字變化的難易度調整就被罵成渣遊戲的經歷我已經體會了很多次了。所以我非常希望有一個能監視玩家的遊戲狀態,比如說命中率和操控失誤等數據的程序。
當時我們做了一個這樣的實驗:在一個遊戲廳里放兩台《吃豆人》,其中一台的難度設定比較高。當時有玩家來玩了之後很納悶,甚至覺得是不是自己狀態不太好,實際上是他玩的那台機器是高難度版本的。
(自誕生至今,《吃豆人》光在美國地區創造的銷售額就超過了1000億日元)
經過測試之後,這兩台機器每天的收入差大概有2000日元。假設在全日本範圍內有1萬台《吃豆人》,然後按300天來計算的話,每天的收入差是2000日元的話會怎樣呢?
三宅:300天的話就60億日元吧(約合人民幣3.7億元)。
岩谷:差距就是這麼大了。假如在全世界賣出10萬台的話,這個數字就會變成600億日元。僅僅是難度調整的原因就能造成如此巨大的收入差距。對於主機遊戲來說,基於100日元的純利和150日元設定的售價,最終差距也是非常可觀的。
三宅:只是一個難度控制的開關就能製造出如此巨大的收入差距,而且遊戲越受歡迎數字就會越大。
岩谷:正是如此。但是,前面提到的自主控制系統有一個問題,它就是過於相信玩家的表現。隨著玩家水平的進步,系統給玩家提出的新挑戰也越高,這樣一來,玩家就會一直處於一個不停地被迫追趕的狀態。
舉個例子,一個小學生完成了3年級的答題,然後系統說「3年級的問題難不倒你,那來試試4年級的吧?」,然後小朋友只能努力去回答4年級的問題,然後系統繼續說「接下來是5年級的」,小朋友也只能硬著頭皮繼續上。這讀起來就覺得很累,遊戲也是如此。自主控制系統能判斷一個人的水準是否滿足了難度提升的條件,但它無法知道這個人所能承受的極限在哪裡。
從這點來說,AI有時候會把人逼到一個窘境。如果能讓AI在某個難度的前提下保持一段時間不再繼續提升。這樣玩家就獲得一種征服的感覺,並且會覺得自己至少能玩上30分鐘。
三宅:如今的遊戲AI可能也無法完美無缺地做到上面描述那個情景吧。現在的Meta AI也僅僅是勉強能夠做到遊戲的整體難度的控制和調整。
遊戲中的起伏變化和起承轉結也是非常重要的,法國著名社會學家Roger Caillois將遊戲定義為4個類型:偶然、競爭、模仿和眩暈。而我覺得還有第5種:享受隨著時間軸變化的起伏以及起承轉結樂趣的遊戲,也是小說和電影中常見的手法。
(Roger Caillois。除了他之外,英國遊戲研究者Richard Bartle也在在其論文將玩家分為成就者,探索者,社交者和殺手4個類型)
三宅:目前AI已經可以實現隨機地圖的生成,而這些之前都是關卡設計師的工作。這樣以來,即便是小規模的團隊也能設計出大規模的遊戲。那麼,當時《吃豆人》的開發團隊一共有幾個人呢?
岩谷:遊戲設計和策劃是我負責,然後1個程序、1個音效、1個負責PCB(基板)的設計,在加上框體的機械設計和外觀設計,一共七八個人吧。
三宅:如今我正在參加的遊戲開發組就有好幾百人
岩谷:這麼多人的話,設計理念的傳達沒問題吧?
三宅:需要花不少時間,並且現在開發一個能控制整個遊戲的AI實在是太難了。從完成度的角度來看的話,能做出和《吃豆人》同等水準AI的遊戲,即便到現在也沒幾個能算得上。
要說現代Meta AI的原點的話,比較多的共識是《求生之路》這款殭屍FPS遊戲。開發出這款遊戲的團隊之前還製作過著名的《反恐精英》。後者的各個版本最後賣了1000多萬套。他們最開始的時候也不知道為什麼能賣得那麼好。在仔細分析之後才發現,遊戲中由AI實現的良好節奏控制是其中的最大原因。
(《求生之路》中針對玩家緊張度進行怪物刷新的說明,其中比較顯著的是「玩家的緊張感在超過設定目標值之前持續刷新怪物」。嗯,虐的還不夠狠)
然後,藉助《反恐精英》獲得的經驗,他們在《求生之路》中加入了能控制玩家緊張度的Meta AI。
(《反恐精英》中平時玩家看不到的導航路徑)
三宅:最後,我想聊聊現在的遊戲AI的發展前景,在《求生之路》里,遊戲會隨時計算玩家的緊張度,並以此為依據進行調整。這個設計已經是目前遊戲界的標誌規範了。在玩家看不見的地方設置一個怪物,並在玩家的精神鬆懈下來的時候突然出現。AI在判斷出玩家的水平較低的時候就會減少這類怪物的出現數量,反之則會增加。
過去的遊戲有「背版」一說,玩得越多對遊戲中怪物的出現位置和時機就會越熟悉。而現在藉助AI技術的發展,大量的東西都變成隨機生成的了。Meta AI自動生成地圖,同時對其進行解析,並算出對應的導航路徑,然後傳達給同樣自動生成的敵方角色,誘導其前進。除了這些之外,AI還能自動生成過場劇情。如果一個玩家長時間沒有進入戰鬥狀態的話,AI就需要生成一些劇情來讓玩家不會感到厭煩。這些都是AI設計者所必須要考慮的事情。
(在《巫師3》里,遊戲中的AI會根據設定好的動作及場景自動生成過場動畫,其中的鏡頭位置、角色的表演內容和動作等都是由AI自動完成的)
這樣一來,包括地圖、副本和劇情在內的所有東西就都不需要進行過多的人為設計了。如今比較流行的開放世界的遊戲開發成本都不低,如果採用自動生成技術的話可以節省大量金錢和時間。並且其開發的門檻也會大大減低。我認為這對於日本的遊戲開發者來說是一個趕超歐美的捷徑。
岩谷:能讓設備和程序做的事情就交給他們,剩下的就用人的智慧和金錢去實現。而這方面也正是日本遊戲開發者一直以來的強項:仔細考慮人的需求,並以細緻的形式去實現。
三宅:這種Meta AI的應有理想形態,如岩谷老師所說,那正是我們最擅長的。
正如產業革命中工業機器人的出現為人類節省了大量的勞力和金錢那樣,遊戲AI的發展也能起到同樣的效果:一些耗時費力、但又有一定規律可尋的重複性工作讓AI去代替人類來完成。也許在未來的某一天,遊戲開發組裡只需要1個策劃、1個遊戲設計、1個AI設計和若干個美術設計就能滿足需求了。有人要問為什麼沒有音樂?如今的人工智慧都能寫小說了,距離編曲應該也不遠了吧。
關注公眾號「遊戲研究社」後發送以下關鍵詞,可看到更多精彩內容:
神考據 | 科普 | 街機 | 任天堂 | 社長說 | 勵志| FC | 紅白機 | 長鼻君 | 黃油 | 魔獸 | 塞爾達 | 巫師 | VR | 守望先鋒 | 精靈寶可夢 | 陰陽師 | 行業 | 盤點 | 劇場 | 巫師 | 老四強 | 獨翼神龍
推薦閱讀:
※Top Ten系列——遊戲中十大驚魂場面
※FC稱霸世界的時候,任天堂也有一段不成功的街機史
※這家成立了26年的日本遊戲公司,基本不做自己的遊戲
※想請教熱血系列遊戲除了FC上的11部,到現在在各平台又發布了多少遊戲,越詳細越好,謝謝!?
※《泡泡龍》和《彩虹島》的背後,有一段精彩的遊戲人生