在游戲里上演《西部世界》?用AI實現NPC們的喜怒哀樂
電子游戲和人工智能,似乎有著說不清道不明的緣分。
讓人工智能玩游戲、在游戲環境中訓練智能體,已經成為了人工智能研發中的常用手段。而這些方式之外,其實還有不少人工智能學家用游戲來實現一些更加天馬行空的想法。
比如說,前幾天筆者在非常嚴肅認真刻苦執著的思考人工智能的未來,于是乎我登上了Steam創意工坊,準備找幾個新的《上古卷軸5》mod(不管你信不信反正我信了!)別說,還真讓我發現了人工智能的蛛絲馬跡。
我注意到了一款由北卡羅來納大學計算機科學團隊研發的游戲mod,其效果在于提升游戲中NPC的智能程度,讓NPC也有鄰里關系,也會勾心斗角
提到游戲中NPC的智能,大部分玩家可能首先想到的是戰斗智能。比如友方NPC跟玩家的配合、敵方NPC對玩家意圖的針對性破解和整體戰略布置等等。
對于這些這款mod一概不管。它提升的是NPC之間(包括NPC與玩家之間)對話、社交和情景反應的能力,比如NPC會相互調情、恭維,甚至辱罵對方(罵急了也不排除直接動手)。
是不是感覺有點像《西部世界》里機器人的覺醒?在進入人工智能與NPC的討論之前,我們先要弄明白,傳統意義上的對話型NPC是如何工作的。
游戲中NPC如何工作
所謂對話型NPC,是角色扮演類游戲中一個不可缺少的部分。他們大部分時候都只是跟玩家進行對話,庫卡機器人驅動器維修,承擔著發放任務和推動劇情的作用。
當然,隨著開放世界模式的沙盒游戲盛行,NPC也變得越來越復雜。比如玩家可以和某些NPC成為朋友,一起冒險,甚至結婚生孩子;也可以殺掉一些自己不喜歡的NPC,從而改寫劇情走向。
雖然看起來越來越聰明,KUKA機器人示教器維修,NPC們的工作原理卻十數年來都沒有改變過。
一般NPC的互動都由兩個開關來操控。其行為大多由游戲規劃器來控制。在行為規劃器中,開發者詳細規定了NPC面對什么情形做什么反應。比如挨打了要還手、有人給錢要表示感謝等等。
而NPC與玩家的對話,基本由游戲決策樹來確定。在沙盒游戲中,決策樹雖然復雜,但還是用暴力窮舉來構建所有對話的結構對應關系。說白了,無論玩家怎么選擇對話,后邊都有算好的結果在等著你。
這兩種機制構成的共同工作原理,是讓NPC的一切行為語言都在數據庫里找對應關系。所謂的游戲AI,并不是貨真價實的AI。
那么,有沒有可能讓NPC更加獨立自主一點呢?
一款名叫CiF-CK的《上古卷軸5》MOD
史詩感極強、自由度超高的《上古卷軸5:天際》很多年來都被稱為歐美角色扮演游戲的代表作。這款游戲的一大特征是NPC非常多,有名字能對話的NPC就有3千個以上,而且他們各自有游戲世界中的職業和地位,對應著錯綜復雜的故事。并且這款游戲的另一個特點,是游戲環境的開源性很好,第三方很容易借助相關工具開發出獨立的游戲mod。
二者結合,就有了前文提到的專門提高NPC社會意識的mod。這款名叫CiF-CK的mod是由北卡羅來納大學和里斯本大學相關研究團隊共同打造的,主要目的在于通過人工智能算法來提升游戲NPC之間的互動性,從而給游戲帶來更加靈活的玩法和現實代入感。
這款mod可以在steam下載到,在今年的IEEE上,研究團隊提交了名為《CiF-CK:一種在商業游戲中構建的NPC社會性模型》的論文,詳盡闡釋了這個mod是如何進行工作的。
舉個簡單的例子來解釋一下CiF-CK的作用:假如玩家進行兩次游戲,分別扮演一個獸人男性和一個精靈女性,在游戲中跟同一位女獸人NPC對話。從邏輯上講,NPC面對玩家應該是完全不同的態度。但事實上玩家得到的回饋是一樣的,而CiF-CK的作用是改變這種體驗,讓NPC根據自己的社會屬性來跟玩家交流。
CiF-CK建立在2012年加州大學圣克魯茲分校研究者提出的Commeil-Faut(CiF)模型之上。CiF的作用是通過相關機器學習算法和社會學中對社會關系的提煉,來構建智能體之間的社會結構。比如A和B是仇敵,A和C關系要好,那么通過算法推導,B和C也會相互反感(假設沒有更狗血劇情出現的情況下)。
而CiF-CK模型則進一步完善和激進了CiF下NPC的社會網絡,利用社會行為模型,增加了NPC的適應性和自主性。
具體說來CiF-CK在兩個方面達成了突破:
(左為《上古卷軸5》NPC對話機制;右為CiF-CK改寫后的NPC對話模型)
其一,CiF-CK不再讓每個NPC都知道整個游戲的社會關系,而是僅僅認識自己應該認識的人。比如一個小商販,可能不會認識另一座遙遠城市里的某個法師,但是知道國王是誰、朋友是誰、妻子是誰、隔壁老王是誰總之,CiF-CK讓NPC的社交關系趨近于真實化,每個人只會因為自己的社交網絡產生變化而進行相應反饋。
其二,在原有模型中,NPC可以推算出對某人的好惡,但無法推測這種關系下的相應行為。通過AI構建行為模型,CiF-CK下NPC會因為社會關系改變產生進一步的動作。比如嘲諷、辱罵、相愛甚至仇殺。
NPC的社會關系網絡能夠自行發展,帶給玩家的一方面是更真實的交互體驗,另一方面也讓玩家有更多的對話和行為選項,甚至能夠影響游戲里社會網絡的細節。
NPC越真實,玩家就越有快感,這句話是不是很熟?沒錯,很像《西部世界》的設定。
《西部世界》要來了?AI+NPC=?
NPC和人工智能模型的結合,可能帶來什么影響呢?
游戲領域應用人工智能,從針對目標上來說可以分為三種:環境AI、競技AI和角色AI。其中環境AI比如針對玩家數據打造獨特的游戲感官,競技AI比如敵人更有規劃性和判斷力,角色AI就像我們今天說的給NPC加入社會關系。
在這三者之中,環境AI的利用幾率較小;競技AI被提的最多,但事實上這個領域有個問題,就是過分智能的戰斗玩家可能不喜歡玩游戲又不是找虐的。這個領域雖然可能誕生最受關注的人工智能案例,但真正投入商業的可能性或許有限。
就像《西部世界》所展示的人類本能那樣,NPC的智能化可能是AI技術在游戲中最快產生商業價值的一個。
舉例來說,NPC+AI很有可能從以下幾個方面改寫目前角色扮演、沙盒、生存類游戲的基本設定:
1、讓開放式沙盒成為可能:今天所謂的開放結局游戲,其實都不是真的開放,而是在若干結局里選擇一種觸發。通過NPC的自主學習和互動,可能讓游戲走向真正的開放結局,甚至設計者自己都沒有想過的結局。
2、提升代入感:所謂角色扮演游戲的精髓就在于帶入,而與更加真實可信的NPC互動意味著更多互動方式、敘事線索和人物關系成為可能。游戲發展到今天,在畫面上提升代入感已經很困難了,通過NPC的擬人程度來達成這個目的說不定會是接下來的發展方向。