當前位置:
首頁 > 知識 > 為了在遊戲中製作一個真實的動物,他們花了整整十一年

為了在遊戲中製作一個真實的動物,他們花了整整十一年

讓我們來聊聊一個大舅。啊,不,一隻大鷲。


這隻大鷲,是《最後的守護者(Last Guardian)》的主角,一隻巨大的、有著貓的身體和鷹的翅膀的巨獸。它可能是遊戲設計歷史上,製作最真實的動物。沒有之一。


雖然名字是大鷲,但它可不是一隻鳥。大鷲是貓、狗和一點點鷹的組合:我甚至可以下一個個人的判斷,這AI裡面六成是狗,四成是貓。不管長得再像也好,名字里有一半是貓也好,大鷲都還是像狗遠遠多過像貓。

因為,貓主子根本不可能那麼聽話啊!



為了在遊戲中製作一個真實的動物,他們花了整整十一年



《最後的守護者》中的「寵物」大鷲。圖片來源:《最後的守護者》

和《最終幻想15》一樣,大鷲也是一款開發長達十一年、公布迄今足有七年的「霧件」,一款傳說級別的遊戲。不過,和FF15待遇不同的是,幾乎沒有任何遊戲媒體和玩家事前覺得大鷲會踩到雷——絕不可能。


因為製作人是上田文人。


反過來說,也幾乎沒有人和遊戲媒體和玩家覺得大鷲會是震動世界人人叫好的商業大作——雖然不是絕不可能,但這可能性也未免太低了一點。


因為製作人是上田文人。



為了在遊戲中製作一個真實的動物,他們花了整整十一年


《最後的守護者》的製作人上田文人,他也是著名獨立遊戲ICO和旺達與巨像的製作人。圖片來源:vgtime


我應該先介紹一下上田文人是誰。他的作品履歷很簡單:包括大鷲在內,他領導開發的只有三款遊戲。前兩款遊戲是「ICO」(2001)和「旺達與巨像」(2005):這兩款遊戲對今天的玩家可能已經有些陌生了,但即便拿到現在,它們也是能夠象徵業界的遊戲名作。這兩款遊戲讓上田文人成為了今日整個獨立遊戲界的精神先驅。


時至今日,用抽象的遊戲過程表達複雜而細膩的情感已經不再陌生,我們每個人手頭都有一打各種方面的獨立遊戲名作,可以用遊戲玩法的語言——而非電影或文字——觸及到我們心底最細膩的角落。而第一個依靠遊戲內的感情表達獲得商業成功,為後來人開拓道路的製作者,就是上田文人。



為了在遊戲中製作一個真實的動物,他們花了整整十一年


《ICO》(左)和《旺達與巨像》(右)。


但是,沒人能預測到,這款作品居然耗費了整整11年時間和整整7年的開發時間。比FF15所消耗的時間還長,遠超我們所知的一切表達感情的獨立遊戲。而最打動我的,是上田文人接受訪談時的那句話:「我們覺得用一個動物角色會比較快」。開發會比較快。多麼吸引人的立意!這無疑就是大鷲的最初設計起點。而大鷲的羽毛和可信的動物AI,最終竟消耗了他們整整10年時間。


「會比較快」。

由於遊戲的技術難度和畫面複雜度,他們遇到了比想像中多得多的問題,遊戲發行日期一拖再拖。在我看來,最後的守護者,或者說大鷲這10年來的工作意義在於:他做出了自從有遊戲以來最真實的一隻寵物,比人們在遊戲中做出過的所有貓或狗都更真實——雖然大鷲並不是貓,也不是狗。


這個遊戲到底為什麼要花費11年的時間?這11年里上田他們除了「羽毛太多幀數太低跑不動」之外,還做了些什麼事情?那麼,首當其衝地,當然要從有史以來最真實的動物AI開始。讓我們剝開「人工智慧」這四個神秘文字的面紗,來看看他們到底是怎麼實現這隻大鷲的。



遊戲史上最真實的動物AI



首先讓我們回到「會比較快」的問題。


大鷲這個遊戲,一切的一切的開始,都從旺達的那匹馬作為原點。上田文人和他的團隊都認為,在新世代的遊戲機上,做一個動物,要比做一個人更加簡單,這樣開發遊戲「會比較快」。


那麼,為什麼他們會認為動物的AI(人工智慧)開發起來會比較快?這個原因也很簡單:對大多數普通的遊戲來說,開發一個「寵物」或「動物」及其AI,比製作一個可信的、有移情作用的人類角色要簡單得多。我們都在各種遊戲里見過不同的「寵物」、「動物」和「怪物」,絕大多數的AI和實現都比同遊戲中的「人類角色」要簡單很多。


遊戲中人類角色的AI,在旺達與巨像的那個時代,已經發展得很複雜了;相對來說,做動物和怪物,乍看之下就顯得容易很多:它們不像人類角色那樣需要複雜的狀態樹、環境互動、動作捕捉、唇型和表情擬合,只要鋪好一張尋路網,然後再加上幾個諸如「跟隨」、「戰鬥」、「飛行」之類的基本行動狀態,似乎就可以搞定了。更何況,由於動物們並沒有智力,感覺上好像AI蠢一點,玩家們也能容忍。


哎呀,聽起來真的是個好點子!如果連旺達與巨像里那匹馬跌下懸崖都能讓玩家們淚流滿面,那我們做個用貓、狗之類更受歡迎的動物為原形的遊戲,一定能實現得更快,比做人類角色更省,更快!——在上田和他的夥伴們決定開發大鷲時,一定是這麼想的。然後,他們發覺:製作一條真實的狗,和製作一條跟著玩家屁股或者追著玩家亂咬的狗,是完全不同的兩個問題。



為了在遊戲中製作一個真實的動物,他們花了整整十一年



大鷲的真實之處,在於它的AI和真實寵物的表現十分相似。圖片來源:《最後的守護者》


如今,我們看到的、歷時11年風雨的大鷲,就是這個問題的答案。它雖然也是基於我們熟悉的這套「狀態機」或「行為樹」的人工智慧開發,但上田們最終選擇的細節方案,和用來表現「人類角色」的主流做法完全不同。可以斷言,這個最終版本的大鷲,其實是無數次返工、推敲、重寫、設計後的結晶。我們看不到那無數個被刪除的中間版本,但他們最終使用的這個版本的大鷲,還是非常有趣的。


可能令你們失望的是,直到今天,遊戲設計師們也幾乎沒有在遊戲設計中實際使用過當代人工智慧理論中那些高大上的神經網路、遺傳演算法或深度學習之類的高級東西——你們可能在AlphaGo之類的理論文章里看到過這些高大上的名字,也可能在《西部世界》中見過對未來遊戲中人工智慧的暢想,但我個人是不知道哪個遊戲實際投入過這些東西用來構成非玩家角色(NPC)的人工智慧,遊戲開發者們目前也還基本不知道在怎樣的遊戲中可以利用人工智慧製作出令人驚喜的內容來。


我在這裡就不再費事介紹目前使用較多的狀態機(State Machine)或行為樹(Behavior Tree)的技術細節,如果各位感興趣的話可以自行搜索學習細節。我介紹一下從設計師的角度如何抽象大鷲的行為樹實現(以下為我自己的推測,並不一定和實際遊戲中的實現手法相符;就我測試的部分而言,這套邏輯應當基本可以實現大鷲的AI)。



大鷲獨特的行為樹



我們先來想像一下遊戲世界的「內部形態」。理所當然地,AI不可能像我們一樣用肉眼去分辨遊戲世界——你們的電腦和主機跑死了也算不出圖像識別演算法。一張遊戲地圖,在AI的眼中一般是由尋路層(Navigation Layer,可能有路點、路格、動態尋路演算法等各種實現形式)、障礙物(Collisions)和可互動物品(Gameplay Objects)們組成。


你可以將尋路層理解為一張「地圖」,它告訴人工智慧應該怎麼行動;障礙物和動態障礙物構成「牆壁」,他們阻止NPC們走到愚蠢的地方去,或者播放愚蠢的BUG動畫;而所有的可互動物品則是「路標」。名為AI的「行為樹」們,指揮NPC角色們行走在這張「地圖」上,躲開各種各樣的「障礙物」,根據「路標」執行合法的行動。


而具體來說,AI的「狀態樹」可以描述為「在某狀態下」執行「某行為」的一整套規則,例如「在攻擊狀態下,有可使用的手榴彈時使用手榴彈進行壓制」或「當接收到進攻特定目標位置的指令時,移動到距離特定目標位置最近的合法掩體使用重機槍進行壓制」之類。這些命令和NPC角色的骨骼動畫表、表情、語音等等組件綁定在一起,告知在什麼情況下,NPC應該播放什麼動畫。如果你使用的是Unreal或者Unity之類中間件很多的商業引擎,你可以直接買到從行為樹到戰術AI在內的各種配置好的插件。



為了在遊戲中製作一個真實的動物,他們花了整整十一年



大鷲的行為樹如果實際畫出來大概就是這樣的東西……各位意會就好,意會。


毫無疑問,大鷲也是基於這樣的基礎技術組件來實現這可愛的動物的。但上田在其中增加了大量俗稱「不聽話」的自主行動AI和特殊狀態,這讓大鷲的行為看起來非常獨特,同時也令習慣了傳統AI的玩家們大呼「坑死侄子」了。


想要理解這種獨特的行為設計,首先你要意識到大鷲在遊戲中的重要性。


你在一般冒險遊戲中所能做的一切行動,在這個遊戲中都非常仰賴於大鷲的AI:他如果不願意借給你肩膀,你連一個檯子都翻不過去。他如果不願意跳,你就不能上到高處。他如果不願意垂下尾巴,你就不能下到低處。他如果不能準時到達拯救點用尾巴撈你,你就會摔死。他無法到達戰場的話,你沒有任何攻擊手段。整個遊戲至少70%的謎題都仰賴於大鷲的AI——這就是它在敘事中的巨大分量。它相當於一般解謎遊戲中的整個道具欄:大鷲就是這麼重要。想想看,如果你的性命取決於你家的貓主子能不能拋下尾巴……


而大鷲的AI可以分成「無操縱」和「有操縱」前後兩個大的部分;而在每個部分之中,大鷲的AI也是逐漸產生狀態變換,可以說為了模擬「動物和人的信賴關係」準備了非常複雜的行為樹。


比如,一開始大鷲不會吃你給他喂的食物,就算把桶丟在它臉上也不會吃,非要你走開一定距離,然後讓大鷲離開你的鏡頭它才會吃;經過一段時間的主線後,逐漸你不需要拉開那麼大距離了,直接丟在它腳下走開兩步就會吃;再經過一段時間的主線之後,你直接把桶投給大鷲,它會跳起來表演凌空吃桶。


這種「用不同動畫來表現行為樹上的同一個行為」的設計手法令人印象深刻:它將會是大鷲可以給我們留下的設計理念之一。



聽不聽話,全看「心情」



具體到遊戲的序盤,玩家是不能訓練大鷲的,大鷲完全依賴自己的AI行動。但它的AI並不是一般遊戲中隊友或寵物的「跟隨」,而更接近於「跟隨」和「自主探索」的混合。你從很早就可以開始按下R1呼喚大鷲;但大鷲過不過來,完全看它高興。


這裡大鷲的行為與其說取決於你的呼叫,不如說取決於地圖上有哪些大鷲可以與之互動的地圖物品:哪裡有它可以跳得高台,哪裡有能夠吸引它注意力打滾的水塘,或者乾脆就是哪裡風景獨好大鷲覺得可以去轉一轉——由於遊戲不含任何開放世界成分,設計師可以很容易地在大鷲進入一個新場景後,給它安排本場景特有的點。如果附近什麼點都沒有,大鷲就會一直盯著你跟隨,間或插入隨機性地、在附近合法點之間閑逛的指令。


而更細緻的行為樹操作,還包括了玩家所在的位置,以及玩家和大鷲的相對位置:很多地圖要推進大鷲的「自主探索」範圍,你自己必須先跑一趟,AI才會將那些深處的點加入到探索序列中去。


這也是大鷲顯得「很不聽話」的重要原因:如果你喊叫的地方沒有什麼互動點,那大鷲一般就是不會過來的。糟糕的是,由於場景設計並不像當代遊戲一樣有明顯的美術指示(美術指示指的是類似神秘海域系列中,可以攀爬的地方特意加上的亮色邊緣),很多時候我們很難分辨一個地方到底是不是「可以互動的點」……這就讓「大鷲不聽話」這個事情顯得更加突出。反過來說,這種不聽話也讓它身上「貓」的成分更多了一些。



為了在遊戲中製作一個真實的動物,他們花了整整十一年



在遊戲初期,就和真實的寵物一樣,大鷲也會有些「不聽話」。圖片來源:《最後的守護者》



可以「訓練」的大鷲



在遊戲中盤,主角和大鷲有了一定感情之後,將會解鎖「訓練」大鷲的一系列指令——我不說「操縱」,是因為這一整套指令實在沒有多少「操縱」大鷲的成分。這一套指令可以分為四個,其中用途明確,一按就靈的大概只有「跳躍」指令(R1+三角)和「執行」指令(R1+圓圈);剩下的方向鍵、推和不滿……我測試再三也沒有搞清楚邏輯,推測可能和好感、中斷大鷲行為或決定執行有效範圍有關。遊戲中幾乎所有的和大鷲相關的謎題,幾乎都只需要使用「跳躍」和「執行」兩個指令就可以了。


在訓練指令解鎖以後,大鷲相對就不再那麼容易出發自主探索,跟隨的部分在它的AI比例中多了起來——我推測,這可能是因為一個場景中「無指令則不加入AI行為庫」的部分也多了起來。有些點是絕對不會加入行為庫的:比如所有需要跳躍才能到達的點,這是我卡關最多的地方,很多時候我跑來跑去就是為了找哪裡才是正確的跳躍點。還有些點的問題是,大鷲並不會每次都執行「訓練指令」:你按下一次「執行」,經常並不能保證大鷲能找到正確的執行對象,而是需要面對著對象按好幾次「執行」、「推拉」和「方向」。


我推測,這裡關卡設計師討了個巧,中期很多點很可能包括一些「曖昧」的範圍設計,以及隨機的指令失靈(或者說需要「訓練學習」,這看你怎麼理解這個設計);而失靈點和一次就能聽令的點混合出現,讓大鷲顯得擁有「真實寵物」一般的學習能力。這些設計是如此精細、複雜,我反向測試都很難測試出它們的真實邏輯,我可以想像製作的時候這些內容到底測試、返工了多少次。


但反過來換種說法,就是這樣的:他們為了體現寵物的真實性,故意設計了經常失靈和不受控制的AI。


如果你不喜歡養貓狗,而且對遊戲的機制有所了解,這實在是很難理解的一種做法。很多時候,我很難分辨一個謎題到底是他們設計出來需要我有一個「AI的學習過程」,還是純粹我找錯了方向?有些時候,場景面臨三岔路口,其中某一岔需要前提條件,這就讓這個迷惑更深了:我非要等到旁白冷靜地說出「提示」,才會意識到並不是我沒有給大鷲下夠命令。當然,對喜愛貓狗的人來說,這都不是問題——現實世界中幾乎沒有能這樣訓練好的貓狗。



為了在遊戲中製作一個真實的動物,他們花了整整十一年



正是這份真實性,讓多少玩家潸然淚下……圖片來源:《最後的守護者》


當然,這個遊戲除了真實的動物AI之外,還有一些設計會讓我們覺得遊戲不再那麼「超凡脫俗」了。比如動畫樹整體的「遲鈍」、沒有「跳躍保護」的設計和無輔助線投擲對遊戲進程的割裂。大鷲里的這些操作設計,仍舊令我不適,感到有些設計手法並沒有為遊戲的目標增添光彩——幸好大鷲本身的設計成就足以令人驚嘆,哪怕有這麼多問題在,它的光彩也仍然足夠奪目。



那個大鷲,它真的好像一條狗啊



那麼,這麼真實的大鷲AI設計,對未來的遊戲有用嗎?


坦白說,我不知道。市場可能也不知道:除去我們這些上田文人的信徒大量預購了遊戲外,大鷲的銷量看起來並不理想,可能還不如ICO和旺達與巨像。除去上田信徒的我們外,這款遊戲無論是在西方還是在日本,都只爬到了排行榜中游的位置。


但至少大鷲是整個遊戲設計史上曾經創造出來的、最接近真實的動物。



為了在遊戲中製作一個真實的動物,他們花了整整十一年



大鷲確實在這個世界的某個地方真實存在——在且僅在「最後的守護者」的世界裡。圖片來源:《最後的守護者》


雖然,我也想不出這麼真實的動物,能夠在其他任何門類的遊戲中得到任何實際用途的可能性。不,哪怕養貓或狗的遊戲也不需要一隻大鷲:這些遊戲的受眾玩家需要的是雲養貓或者雲養狗,他們恐怕也不會喜歡一隻這麼真實的動物。


正如上田文人所說,大鷲確實在這個世界的某個地方真實存在——在且僅在「最後的守護者」的世界裡。雖然它可能賣不好,而且難以上手、難以操作,而且不知道對其他遊戲的設計有什麼用。


但你看那個大鷲,它真的好像一條狗啊。(編輯:S.Mars)


請您繼續閱讀更多來自 果殼網 的精彩文章:

為什麼某些人「屢教不改」?他們就是喜歡犯一樣的錯!
「扭一扭、舔一舔、泡一泡」之前,夾心餅乾都經歷了什麼?
雞年將至,讓我們來扒一扒雞雞的黑歷史

TAG:果殼網 |

您可能感興趣

是時候好好整治一下遊戲中的這些「蛀蟲」了
這三個男人開創了自己的遊戲規則,將影像這場遊戲進行到底
每次一玩遊戲,就有一個粘人的小妖精來搗亂
玩過那麼多遊戲,這其中十款改編成了電影,我只服最後一個!
愛情這個遊戲,你一認真就輸了
在這裡工作,每天都像在打遊戲
愚人節這天,全世界在這個遊戲里戰成一團
我們有錢人不在意!這個遊戲里一砸就是幾百億
摁,還是不摁?這是一個值得單身狗驕傲的遊戲
這裡有一個遊戲
為了噴這個遊戲,我浪費了生命中的十分鐘
我就這樣導演了一整部體重的遊戲——胖與瘦之歌!
這個遊戲能玩一年!
「你猜她幾歲」,這個遊戲實在是太扎心了!
任天堂怎麼了……這可能是遊戲史上最糟糕的一款了
這個一票難求的玩家聚會,不只是一場遊戲展覽
以前的小孩,就是在這些殘忍的遊戲中度過了童年
實拍 朝鮮的遊戲機房,自己開發遊戲,幾乎每天都有上千人來玩
一個邪門的遊戲,在他重複你是誰十次後,他卻不見了