AI,讓遊戲再次偉大

在這個AI橫行的時代下,「非得用AI讓自家遊戲角色更像真人」似乎成了每個遊戲廠商的執念。

這不,最近索尼用AI驅動旗下遊戲《地平線:西之絕境》的主角Aloy一事,慘遭匿名網民爆料。

根據流出的消息,玩家可以通過語音與Aloy互動,後者不僅可以針對玩家的問題對答如流,還能搭配做出相應的面部表情以貼近現實。

這種玩法的確不乏創新性,但恐怖穀效應似乎成了AI版Aloy無法踰越的鴻溝。有人甚至發影片「抽水」她語調死板、表情滲人,玩家的注意力根本放不到對話上,光看著這張動換起來十分不自然的臉就已足夠令人SAN值狂掉了。

就在國外網民還在對著Aloy大喊creepy的時候,米赫洛域遊創始人蔡浩宇的AI創業公司Anuttacon也公佈了旗下手遊《Whispers from the Star》的預告片。

女主Stella受困於外星星球,需要依靠玩家的實時語音、文字在太空存活下來。遊戲中,女主的反應以及劇情是完全由AI驅動的,可以說,玩家的每一句話、每一個選擇都會像蝴蝶效應一樣,真實影響故事的發展。

這回,「抽水」女主外貌的倒是少了,畢竟Stella真的挺可愛的,但這種不經意間就會四目相對的「純聊式」玩法多少有點置社恐玩家於不顧。

拋開遊戲廠商們的執念不提,面對層出不窮的AI驅動NPC,我不禁有個疑問:遊戲中的NPC是如何一步步發展到現在的模樣的?它又將何去何從?

01:想當年,NPC還是人工「智障」

幾乎所有遊戲里都有帶AI屬性的內容,最常見的就是和你相愛相殺的NPC。

NPC的智商高低與心機段位,直接與玩家的爽感掛鉤。

曾幾何時,遊戲中的NPC還都是「三無」產品:無情、無腦、無存在感。

當你對著《超級馬利歐》里的蘑菇頭深情表白時,它只會擺出如同甲方爸爸一般僵硬的表情,按照早已設定好的動作指令來回遊走,直到被你一腳踩癟,結束自己短暫的一生。

如此智障的NPC一般只存在於小遊戲中,待玩家摸清底細之日,便是對遊戲的下頭之時。

因此,變得更心機、更套路,就成為了NPC的必然進化方向。

時間來到上個世紀80年代,一款名為《吃豆人》(Pac-Man)的街機遊戲在美國爆紅,不久便在全球範圍引發熱潮。這款只有24kb的遊戲看似簡單,實則包含了許多精妙的邏輯設計。

在《吃豆人》中,玩家需要通過走位來躲避幽靈們的圍追堵截,但四個幽靈總能依靠巧妙的配合將玩家左右包抄。而這,就是遊戲歷史上首次出現的遊戲AI。

那麼問題來了,《吃豆人》的作者岩穀徹是如何在這麼小的街機遊戲中,使NPC進行複雜的行為配合的呢?

其實,岩穀徹是給四個幽靈分別設計了僅屬於自己的行動路徑。

紅色幽靈(Blinky)是第一個出場的幽靈,它的行動最簡單,始終以玩家的位置為目標緊追不捨。

粉色幽靈(Pinky)會在玩家吃掉五分之一的豆子後走出房間,它會以玩家前方四個身位的位置為目標,進行堵截任務。

藍色幽靈(Inky)會在玩家吃掉五分之二的豆子時出場,它會先將玩家正前方一個身位的位置定為A點,紅色幽靈的位置定為B點,連接AB形成線段,並將反向延長一倍的端點定為目標移動。在玩家眼裡,它的行進路線最難預測,總是能在各種奇怪的位置衝出堵住玩家去路。

橙色幽靈(Clyde)會在吃掉五分之三的豆子時出場,它的性格比較社恐,只有當距離玩家半徑超過8個格子時才會追擊玩家,一旦近身,便會臨陣脫逃,向地圖的左下或右下移動。

這樣的AI設計,就能四隻幽靈在移動時,給人營造出了一種詭計多端、相互配合的假象。

以上是《吃豆人》中幽靈最基本的「追逐模式」,而它與剩下的兩個模式(「散開模式」和「驚嚇模式」)組合在一起,形成了一種叫做有限狀態機的數學模型。

簡單來說,就是四個幽靈會在觸發某些條件時,轉換自己的行為模式。

舉個例子,每一局中,幽靈們會觸發四次「散開模式」,即不約而同地遠離玩家,朝著地圖的四角移動,讓玩家得以休整片刻。時間一到,就又會轉為「追逐模式」對玩家進行追擊。

除此之外,還有一個「受驚模式」。

在每張地圖上,除了普通的小豆子以外,還會出現四個大豆子。當玩家吃下後,就會變守為攻,對四隻幽靈發起追擊,而幽靈則會抱頭鼠竄。

三種模式來回切換,精準拿捏玩家的「不服」心理,讓人欲罷不能,即使這局惜敗,也總覺得下一場能逆風反勝。

02:當AI開始帶著NPC內卷,人類玩家慌了

隨著遊戲情景越來越複雜,有限狀態機開始顯得力不從心,於是,行為樹出現了。

行為樹,顧名思義,是一個樹狀的結構。每當NPC問起目前要做什麼時,程序就會從「樹根」出發,根據當前的狀態和條件一步一步向下搜索,直到NPC執行最終節點的行為。

這是一個基於有限狀態機,卻更加複雜的模式。雖然看上去厲害不少,但卻有個致命的弱點。

行為樹的本質其實都是遊戲作者在設計初期替NPC想好的一系列可執行的行為,但總會有一些詭異的場景沒有被考慮進來。

結果就是,輕則BOSS無法應對非常規戰術,顯得很蠢。重則卡出BUG,成了玩家無傷通關的墊腳石。

比如,《魔獸爭霸3》速攻戰術之一,Tower Rush。即在遊戲早期時,將防禦建築(箭塔、通靈塔等)建在對手家門附近,幾乎不講武德地限制其發展空間,最終實現猥瑣速通。

這種因缺少隨機性而喪失的分支廣度和深度,曾在一段時間內激發了廣大玩家的抖M屬性,「求老天賜個遊戲狠狠地虐我一把吧!」

於是老天大發慈悲,朝玩家臉上甩出了蒙地卡羅樹搜索與深度神經網絡兩張大牌。

蒙地卡羅樹搜索是一種在決策過程中進行最優選擇的算法。AI會通過模擬大量的隨機行為來評估每種產生的結果,隨著模擬次數的增加,就會構建出一棵搜索樹,並從中找到最優解。

很多棋牌類回合製遊戲中的AI,就是使用蒙地卡羅樹搜索來對付你的。在這種算法的加持下,一旦AI的征服欲上來了,會直接祭出窮舉大法給你打趴下,末了還會甩你一句「年青人,你對力量一無所知」。

但如此逆天的AI也有弊端,當算力不夠時,蒙地卡羅樹搜索就會墜入搜索黑洞,久久找不到最優解,放在遊戲中,就是你的電腦對手舉棋不定,陷入無限沉思。

但是與深度神經網絡結合後,就算是世界高玩,也會被打得撓頭懷疑人生。

最著名的例子就是2016年的AlphaGo,以4:1的成績戰勝了南韓傳奇棋手李世石。

那麼,AlphaGo是如何做到的呢?

AlphaGo在搜索時,會使用兩個神經網絡,策略網絡(policy network)和價值網絡(value network)。

策略網絡會根據輸入的棋盤狀態,判斷出每個走法的概率分佈,幫助AI決定下一步的落子點,避免盲目搜索全部的可能性。

而價值網絡則會輸出當前棋盤狀態的優劣值,幫助AI決定是否繼續探索該狀態,如果處於劣勢就懸崖勒馬、另尋生路。

AlphaGo一戰成名後,遊戲AI便在「暴打人類」的道路上一路狂飆。

2017年,卡內基梅隆大學開發的Libratus AI在與4名頂尖德州撲克選手的對決中獲勝,標誌著AI在不完全信息博弈領域的勝利。

2019年,在《星際爭霸2》人機大戰中,對戰型遊戲AI AlphaStar以10:1的戰績碾壓人類職業高手。

同年,OpenAI Five在《Dota 2》5v5模式中以2:0擊敗了世界冠軍戰隊OG。

可見,遊戲公司設計出一款能夠在任何一場遊戲中戰勝人類的AI並非難事,但對於大眾玩家來說,這樣的遠勝於人類的遊戲AI可謂一文不值。

畢竟,誰都不願意在被工作狂虐後,還要被預判如開掛、走位似瞬移的AI掛逼按在地上摩擦。

03:一個遊戲AI的自我修養:

不是「我比你強」,而是「我懂你菜」

一個會在殘局時慌到亂扔煙霧彈、被爆頭後高呼「這不可能」的AI,遠比槍槍致命的冷酷機器更讓人覺得親切可愛。

於是遊戲開發者悟了:讓AI當好「人類模仿怪」才是王道。

例如《中土世界》系列遊戲使用的Nemesis系統。Nemesis,原是希臘神話中冷酷無情的復仇女神,而這個系統的機制正如其名。

敵人會根據與主角的互動動態生成性格、記憶和復仇行為,形成複雜的敘事。

當敵人被主角擊敗時,很可能會引發同陣營敵人的仇恨,對主角進行復仇。同時,一旦被擊殺的敵人觸發了小概率的死亡欺騙,重生後的便會向主角復仇,且對話的字裡行間都是對主角的極盡嘲諷。

而當主角被敵人反殺後,敵人可以從勝利中得到經驗,從而在族群中獲得晉陞,變得更加強大難搞。等到再次見到主角時,直接化身「賽博噴子」在公屏上叫囂:「感謝老鐵送的遊戲經驗。」

遊戲AI還可以啟動「關愛手殘黨」模式,為玩家提供自適應難度的動態體驗。

比如《生化危機4》中的動態難度機制。當玩家在遊戲中反復死亡時,遊戲AI會認為對面的玩家是個新秀,就此手下留情,暗中降低敵人數量、增加彈藥掉落,讓玩家不至於被虐到懷疑人生。

這類NPC的終極奧義是要為玩家提供日常生活中難得的情緒價值:你強,我開掛。你菜,我放水。

這種微妙的平衡,就像火鍋的辣度:太淡,索然無味,太辣,涕泗橫流,唯有辣得嘶哈嘶哈卻又停不下筷子的,才是人間正道。

不過隨著近些年來大幅進步的AI技術,遊戲AI更升一級,開始致力於打破次元壁、走進你的內心。

比如開頭提到的對話式AI遊戲《Whispers from the Star》中的女主Stella,她之所以能夠與你共情、有求必應,依靠的不是開發階段預設的固定腳本,而是由生成式語言模型、情感識別模型、多模態AI系統組合完成的實時編排。

在遊戲中,每當玩家發起一次對話,語言模型會先將語音轉為文字,再通過情感識別模型分析玩家語音的頻譜特徵,判斷情緒並調整劇情權重,最後一次性生成符合當下語境情節的台詞、面部表情以及肢體動作。

Demo影片中,Stella的表現堪稱驚豔,讓人覺得似乎真的在與真人互動。但細看之下,《Whispers from the Star》所展現的AI技術,也有一定的上升空間。

比如想要生成如此動態且複雜的表現,當前技術水平下的AI難免會產生一定的「思考」時間。

既然思考時間無法避免,Anuttacon設計團隊便使用了「障眼法」,利用遊戲「太空通訊」的背景,將AI的運算時間合理化為星際通訊的延遲,降低了玩家等待的焦躁感。

除此之外,如此大的對話量,對AI的「記性」是個不小的考驗,正如目前大多數對話式AI的通病——因健忘而顯得絕情。

雖然在Demo中看不出Stella的記憶能力如何,但在Anuttacon的招聘啟事中,為AI角色的大語言模型設計內存系統,是開發人員的核心職責。

《Whispers from the Star》雖不成熟,但它更像是一個實驗作品,在闖入AI荒野的同時,向世人展示了AI更加人類化的可能性。

所以,在未來的某天,遊戲里的NPC比你女朋友還懂你時,你不得不承認,它從「人工智障」階級躍遷成了「傑出戰友」。最終,你在被AI拉滿的情緒價值中甜蜜翻滾,邊笑邊充錢。

你看,這波AI在大氣層。

(PS:珍愛生命,適度遊戲,畢竟AI已經比你更懂「如何讓你戒不掉遊戲」)

本文來自微信公眾號「酷玩實驗室」,作者:酷玩實驗室,36氪經授權發佈。