交互式游戲中智能非玩家角色的人工情感驅動方法
【專利摘要】交互式游戲中智能非玩家角色的人工情感驅動方法,涉及交互式游戲中的虛擬人物自動控制技術。啟動知識庫,加載初始行為規則,初始化人工情感系統參數;運行多智能體,連接知識庫進入等待狀態;加載世界接口,一端接游戲服務器,另一端接多智能體;多智能體進入主循環開始工作,分別并發處理非玩家角色感知到的虛擬環境信息,更新虛擬人物的內建需求水平、相應的動機強度、系統參數,計算虛擬人物的人工情感強度并選擇當前主要情感,選擇當前主導動機,并在人工情感的指導下制定動作策略,最后將動作通過世界接口作用于游戲虛擬環境中;世界接口轉發游戲玩家退出游戲的狀態信息,多智能體將相關狀態信息寫入全局知識庫,關閉知識庫,退出接口。
【專利說明】交互式游戲中智能非玩家角色的人工情感驅動方法
【技術領域】
[0001] 本發明涉及交互式游戲中的虛擬人物自動控制技術,特別是涉及一種依據非玩家 角色的內建需求及當前虛擬環境信息推導出人工情感,并運用人工情感自動控制智能非玩 家角色行為的交互式游戲中智能非玩家角色的人工情感驅動方法。
【背景技術】
[0002] 游戲引擎是游戲開發的核心。早期的游戲引擎主要是為游戲提供光影效果、動畫 渲染、物理機制及輸入輸出的支持,并沒有包含太多人工智能的考慮。游戲中非玩家角色 (Non-Player Character, NPC)的行為都是由程序員在游戲開發過程中事先編制好的,其行 為模式十分機械、固定,表現得不夠聰明,常常讓游戲玩家感到索然無味。
[0003] 自上世紀90年代中后期以來,提升游戲中虛擬人物的智能性成為各大游戲公司 競相追逐的目標,他們在游戲引擎的設計中,越來越多地引入人工智能的技術。Quake[l] 和Unreal [2]是支持第一人稱射擊(First Person Shooting, FPS)游戲的兩大最著名引 擎。其中Quake是一款完全開源的引擎,Unreal雖然沒有完全開源,但它具有良好的客戶 端一服務器(Client-Server, C/S)架構,同時還為Client提供了面向對象的腳本語言 UnrealScript[3]。美國Michigan大學的Soar/Games項目在開源Quake II引擎的基礎 上引入了推理式 Agent 結構 Soar[4], [5]。美國 Southern California 大學和 Carnegie Mellon大學開發了基于Unreal的GameBot [6]引擎。
[0004] 相比第一人稱射擊游戲,即時戰略(Real-Time Strategy, RTS)游戲對NPC的智能 性提出了更高的要求,因為它不但要考慮單獨一個NPC的智能表現,還要更多地考慮多個 NPC在戰術、戰略、決策方法的智能行為。為此,加拿大Alberta Edmonton大學開發了基于 C/S架構的免費RTS游戲引擎0RTS[7]。
[0005] 這些引入了人工智能技術的游戲引擎,在一定程度上增強了虛擬人物的智能表 現,但仍存在許多不足之處。一方面,這些游戲引擎需要開發人員事先編制好行為規則,不 但開發任務繁重,而且非玩家角色的行為模式也十分有限,玩家容易在游戲中預測其行為, 使游戲很快就喪失了趣味性與新穎性;另一方面,這些游戲引擎沒能有效地讓虛擬人物呈 現與游戲交互情境相一致的情感表現,破壞了游戲玩家游戲時的沉浸感。因此,將人工情感 融入到虛擬人物中,一方面讓非玩家角色根據虛擬環境的信息展現出適合的情感,另一方 面用人工情感控制非玩家角色的行為,使其"表里如一",是游戲設計以及游戲引擎開發中 亟需攻克的關鍵技術。
[0006] 參考文獻:
[0007] [1]M. Abrash, ^Quake's game engine:The big picture, Dr. Dobb's Journal, 1997.
[0008] [2]J. Busby, Z. Parrish, and J. Van Eenwyk, Mastering Unreal Technology:The Art of Level Design. Sams Pub. , 2005.
[0009] [3]T. Sweeney and M. Hendriks, "UnrealScript language reference",Viewed online at http://udn. epicgames. com/Two/UnrealScriptReference,1998.
[0010] [4] J. E. Laird,A. Newell,and P. S. Rosenbloom,"Soar:An architecture for general intelligence",Artificial intelligence, vol. 33, no. 1, pp. 1 - 64, 1987.
[0011] [5] J. E. Laird,"Extending the Soar cognitive architecture",in Proceeding of the 2008 conference on Artificial General Intelligence 2008:Proceedings of the First AGI Conference, 2008, pp. 224 - 235.
[0012] [6]R. Adobbati, A. N. Marshal 1, A. Scholer, S. Tejada, G. A. Kaminka, S. Schaffer,and C. Sollitto,"Gamebots:A 3d virtual world test-bed for multi-agent research",in Proceedings of the second international workshop on Infrastructure for Agents, MAS, and Scalable MAS, 2001, pp. 47 - 52.
[0013] [7]M. Buro,"0RTS: A hack-free RTS game environment",Computers and Games,pp. 280 - 291,2003.
【發明內容】
[0014] 本發明的目的是針對現有交互式游戲引擎沒有較完善的人工情感系統的不足,提 供一種交互式游戲中智能非玩家角色的人工情感驅動方法。
[0015] 本發明包括以下步驟:
[0016] 1)啟動全局知識庫,加載初始行為規則,初始化人工情感系統參數;
[0017] 2)運行多智能體,連接全局知識庫,并進入等待狀態;
[0018] 3)加載世界接口,接口 一端連接游戲服務器,同游戲虛擬環境交互,接口另一端連 接多智能體,向其發送虛擬環境信息或轉發多智能體的控制指令到游戲虛擬環境中;
[0019] 4)多智能體進入主循環開始工作,分別并發處理非玩家角色感知到的虛擬環境信 息,更新虛擬人物的內建需求水平,相應的動機強度,系統參數,計算虛擬人物的人工情感 強度并選擇當前主要情感,選擇當前主導動機,并在人工情感的指導下制定動作策略,最后 將動作通過世界接口作用于游戲虛擬環境中;
[0020] 5)世界接口轉發游戲玩家退出游戲的狀態信息,多智能體將相關狀態信息寫入全 局知識庫,然后關閉全局知識庫,退出世界接口。
[0021] 本發明解決游戲開發中設計非玩家角色行為工作繁重,角色行為過于機械,缺乏 適合的情感表現的問題,同時提升游戲玩家游戲時的沉浸感。本發明采用松耦合的多智能 體設計模式,并使用一個全局知識庫存儲虛擬人物的感知、記憶、動作等信息,將非玩家角 色的內建需求、虛擬環境信息、系統參數、人工情感、行為控制有效地整合成一個復雜、動態 控制系統,實現對智能非玩家角色的自動控制。
【專利附圖】
【附圖說明】
[0022] 圖1為本發明的全局知識庫的部署及其與后臺數據庫和多智能體的連接示意圖;
[0023] 圖2為本發明的整體系統架構及各大組件的結構示意圖;
[0024] 圖3為本發明步驟4)基于多智能體協同工作的人工情感系統的原理圖。
【具體實施方式】
[0025] 為了使本【技術領域】的技術人員更好地理解本發明方案,下面結合附圖對本發明作 進一步的描述。
[0026] 1.啟動全局知識庫,加載初始行為規則及系統參數
[0027] 1):讀取配置文件,獲取知識庫服務端口,后臺數據庫服務端口;
[0028] 2):啟動后臺數據庫,加載初始行為規則及人工情感系統參數;
[0029] 3):通過知識庫服務端口向智能體提供數據服務。
[0030] 全局知識庫采用超圖作為統一的知識表示方法。超圖是對一般圖的擴展,其顯著 特點是每條邊可以連接任意多條邊和頂點。其基本的存儲單元稱為"原子"(Atom)。每一 個原子(Atom)攜帶的值(Value)的結構為(STI,LTI,TruthValue,Confidence,Content)。 STI (Short Term Importance)和 LTI (Long Term Importance)可以用來模擬短期記憶 (Short Term Memory)和長期記憶(Long Term Memory)。TruthValue 和 Confidence 分別為 該原子(Atom)的真值和可信度。Content則是原子(Atom)具體攜帶的信息。
[0031] 知識庫與情感系統各組件采用Client/Server的方式進行連接(參見圖1)。每一 個單獨的組件(如智能體)都具有各自的客戶端,負責與服務端通信。客戶端的主要功能 包括,向服務端發送存取指令,以及從服務端獲得知識庫中的數據。而服務端則負責驅動后 臺數據庫具體的讀寫操作。這種Client/Server架構具有分布式存儲、易于實現并發與并 行、跨平臺及語言無關性、便于實現通用算法的優點。
[0032] 知識庫本身并不負責對數據(超圖)的直接存取操作,而是將這些操作轉化為后 臺數據庫的基本操作,即直接的數據存取操作是由后臺數據庫來完成的。這種設計的優 點是,充分利用現有的、成熟的數據庫技術,避免"重復制造車輪";將相對抽象的知識存取 操作與具體的數據存取操作剝離,提高了系統的可移值性。后臺數據庫可以采用任何現有 的數據庫技術,針對這里超圖的知識表示方法,選擇一些開源的、高效的NoSQL數據庫,如 MongoDB, Redis是較為合適的。
[0033] 在步驟1第2)部分中,知識庫中的每條行為規則,形如Context&Action - Goal, 其表達的意義為:在條件Context滿足時,執行某一動作Action,將能達成目標Goal。
[0034] 在步驟1第2)部分中,人工情感的系統參數主要包括:每一個調節子(具體實施 第4部分詳細介紹)的初始值;每一個內建需求D的初始水平U,期望取值范圍的下限min_ 1,上限 max_l〇
[0035] 2.運行多智能體,并連接全局知識庫
[0036] 1)讀取配置文件,獲取知識庫服務端口,多智能體通信端口,世界接口通信端口;
[0037] 2)運行多智能體,讀取知識庫中的系統參數初始值,初始化相應變量;
[0038] 3)偵聽世界接口通信端口,等待處理信息。
[0039] 圖2展示了多智能體與游戲虛擬環境的消息通信(具體實施第3部分詳細介紹); 圖3展示了多智能體之間的消息通信(具體實施第4部分詳細介紹)。
[0040] 3.加載世界接口,在虛擬游戲環境和多智能體之間轉發數據
[0041] 1)讀取配置文件,獲取世界接口通信端口,多智能體通信端口;
[0042] 2)處理用戶指令消息隊列;
[0043] 3)處理虛擬環境信息消息隊列;
[0044] 4)處理多智能體動作消息隊列。
[0045] 世界接口(參見圖2)是溝通多智能體與虛擬游戲環境的橋梁。它的內部保持有 3個消息隊列,分別用于處理用戶指令、虛擬環境信息及非玩家角色動作。
[0046] 在步驟3第2)部分中,用戶指令消息隊列存放來自游戲玩家的各種操作指令,對 于非玩家角色而言,由于玩家不需要直接操縱它們,因而這里的用戶指令消息事實上只有 一個,即"退出游戲"。
[0047] 在步驟3第3)部分中,虛擬環境信息消息隊列采用XML格式存放虛擬人物所觀察 到的虛擬環境中的信息,對每一個觀察到的物體,包含有以下信息:物體ID,位置,顏色,大 小,是否可移動,是否可交互。另外,為了減少消息通信的頻度,提高通信效率,我們將某一 時刻所觀察到的所有物體打包成一個消息,一次性發送給多智能體。同時,還要在消息中附 上觀察到的時間(即當前系統時間),便于多智能體進行取舍。
[0048] 在步驟3第4)部分中,多智能體動作消息隊列存放非玩家角色需要在虛擬環境中 執行的動作及其相應的參數。下面是一些常用的基本動作、參數及其說明。
[0049] goto (dir, V,step):向某個方向dir,以速度V,移動step步的距離;
[0050] jump (dir, step):向某個方向dir,跳躍step步距離;
[0051] eat (obj_id):吃編號為 obj_id 的物體;
[0052] drink(obj_id):喝編號為 obj_id 的物體;
[0053] pick_up (obj_id):撿起編號為 obj_id 的物體;
[0054] throw(obj_id):丟棄編號為 obj_id 的物體;
[0055] play (obj_id):玩耍編號為 obj_id 的物體;
[0056] follow(obj_id):跟隨編號為 obj_id 的物體。
[0057] 4.多智能體進入主循環,生成人工情感并驅動非玩家角色人物行動(圖3)
[0058] 1)感知智能體,負責接收虛擬環境信息,計算空間位置關系,并將相關信息寫入到 全局知識庫中;
[0059] 2)需求智能體,負責更新非玩家角色的內建需求水平以及相應的動機強度,并將 相關信息寫入到全局知識庫中;
[0060] 3)參數智能體,負責更新人工情感系統參數;
[0061] 4)情感智能體,負責更新非玩家角色的人工情感強度,并選擇當前主要情感;
[0062] 5)動作智能體,負責發送動作序列中的第一個動作,若該序列為空,則先選擇系統 主導動機,然后運行動作規劃器生成新的動作序列
[0063] 在步驟4第1)部分中,感知智能體,需要首先解析以XML格式封裝的虛擬環境信 息,然后計算相應的空間位置關系。空間位置關系分為二元位置關系和三元位置關系兩 種。二元位置位置主要包括前(front),后(back),左(left),右(right),上(above),下 (beneath);三元位置關系主要是指介于兩者之間(between)。由于二元位置關系具有對稱 性,因此只需要計算出一半的二元位置關系便可以推算出與之對稱的二元位置關系;三元 位置關系則是二位置關的基礎上,依據一些判斷準則得到的。
[0064] 在步驟4第2)部分中,首先需要為非玩家控制角色設定一些內建的需求,較為通 用的需求主要包括能量、水、完整性、確定性、自信度、親和性。其中,完整性指的是虛擬人物 具有保護自身不受傷害,即保持完整性的需求;確定性主要反映的是虛擬人物對當前所處 環境的熟悉和了解程度;自信度的需求與虛擬人物成功達成目標的經歷有關;親和性是需 要其它虛擬人物共同參與才能被滿足的需求,它是對人類社會需求的模擬和仿真。
[0065] 在步驟4第2)部分中,每一個需求都有一定的偏好范圍或目標范圍。當需求水平 落在相應的目標范圍時,稱作該需求被滿足,否則需求不被滿足。我們可以將人工情感系統 視為一個目標驅動的系統,其主要任務就是盡可能讓所有這些需求都被滿足。而當某一需 求不被滿足時,虛擬人物會有一種試圖將該需求水平恢復到偏好范圍內的愿望,這種愿望 便構成了動機。動機的強度與相應需求的滿足度呈負相關的關系。因此,我們用需求的滿足 度來間接表征相應的動機水平。而虛擬人物某一需求的滿足度則根據該需求的當前水平、 目標范圍,通過一個非線性模糊函數計算得到。
[0066] 在步驟4第3)部分中,人工情感系統參數也稱為調節子,它們一方面影響虛擬人 物的行為,另一方面構成了虛擬人物情感空間的基本維度。主要有以下4個系統參數:
[0067] (1)激活度,它表征感知和反應的激活程度。其作用是調節快速、激烈的活動與反 射性的、同認知相關的活動之間的平衡。當激活度較高時,虛擬人物傾向于快速響應外部刺 激,反之將則對外部刺激反應較慢,同時把更多的系統資源用于自身的認知活動。
[0068] (2)解析度,它決定了各種認知活動(如感知、動作規劃)的精細程度。例如,當解 析度較高時,虛擬人物對環境的感知將更加注重細節,但缺乏整體性的觀念,反之則通過犧 牲局部細節,把握全局性的觀念。此外,解析度與激活度呈負相關的關系。例如,當激活度 較高時,虛擬人物往往選擇降低解析度以提高響應速度。
[0069] (3)保護閥值,它控制智能體執行保護行為的頻繁程度。保護行為可以是一系列 周期性執行的動作,其主要功能是檢測外部環境的異常變化。保護閥值與當前主要動機的 強度呈正相關的關系,即在虛擬人物在面對緊急情況時(主要動機強烈),伴隨著較高的保 護閥值,相應地減少保護動作的執行,將更多地資源用于處理當前的緊急事務(如自我保 護)。此外,保護閥值還與虛擬人物對當前環境的了解和熟悉程度有關(即確定性需求)。 不確定的、高度動態的環境往往需要更加頻繁地執行保護動作,即對應較低的保護閥值。
[0070] (4)選擇閥值,它通過引入偏好信息,幫助虛擬人物在幾個相互沖突的動機之間作 出選擇。由于目標驅動的系統中通常存在多個需求,系統往往會出現同時存在多個動機的 情況,而虛擬人物一次只能考慮一個動機,這就需要從中選擇一個動機作為主導動機。選擇 閥值通過調節當前選中的主導動機的權重,避免系統在幾個相互沖突的動機之間振蕩。選 擇閥值隨著激活度的增大而增大。例如,當虛擬人物面對危險的時候(伴隨較高的的激活 度),它往往高度集中于當前選中的動機(對應較高的選擇閥值),即確保自身安全的需求 (或完整性需求)。
[0071] 在步驟4第3)部分中,參數智能體,通過一組非線性方程來更新調節子的水平。更 新方程的構造方式可以靈活多樣,但通常應滿足以下一些基本原則:
[0072] (1)激活度同能量及自信度的需求有關。例如,當智能體具備足夠的能量并能對自 身的能力充滿信心時,往往意味著智能體已經做好了反應的準備。
[0073] (2)解析度與激活度呈負相關的關系。例如,當智能體準備做出快速響應的時候, 它往往無暇顧及其它的認知活動,譬如感知、探測環境中異常的變化,動作規劃等。
[0074] (3)保護閥值則取決于智能體對環境的熟悉程度以及智能體的安全性。例如,當智 能體對環境比較熟悉的時候,或者正處于安全的環境中的時候,智能體傾向于減少保護性 的行為。
[0075] (4)選擇閥值同智能體的自信程度呈正相關的關系。當智能體對自身能力充滿信 心時,它放棄當前計劃或中止當前動作的可能就較小。
[0076] 在步驟4第4)部分中,非玩家角色的情感用4個調節子及滿足度構成的五維連續 空間來表達。例如高興、悲傷、生氣和恐懼這四種常用情感的可以如表1的方式定義。
[0077] 表 1
[0078]
【權利要求】
1. 交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在于包括以下步驟: (1) 啟動全局知識庫,加載初始行為規則,初始化人工情感系統參數; (2) 運行多智能體,連接全局知識庫,并進入等待狀態; (3) 加載世界接口,接口一端連接游戲服務器,同游戲虛擬環境交互,接口另一端連接 多智能體,向其發送虛擬環境信息或轉發多智能體的控制指令到游戲虛擬環境中; (4) 多智能體進入主循環開始工作,分別并發處理非玩家角色感知到的虛擬環境信息, 更新虛擬人物的內建需求水平,相應的動機強度,系統參數,計算虛擬人物的人工情感強度 并選擇當前主要情感,選擇當前主導動機,并在人工情感的指導下制定動作策略,最后將動 作通過世界接口作用于游戲虛擬環境中; (5) 世界接口轉發游戲玩家退出游戲的狀態信息,多智能體將相關狀態信息寫入全局 知識庫,然后關閉全局知識庫,退出世界接口。
2. 如權利要求1所述交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在于 在步驟(1)中,所述啟動全局知識庫,加載初始行為規則,初始化人工情感系統參數的具體 方法如下: 1) 讀取配置文件,獲取知識庫服務端口,后臺數據庫服務端口; 2) 啟動后臺數據庫,加載初始行為規則及人工情感系統參數; 3) 通過知識庫服務端口向智能體提供數據服務。
3. 如權利要求2所述交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在于 在步驟(1)第2)部分中,知識庫中的每條行為規則,形如Context&Action - Goal,其表達 的意義為:在條件Context滿足時,執行某一動作Action,將能達成目標Goal ; 在步驟(1)第2)部分中,人工情感的系統參數主要包括:每一個調節子的初始值;每 一個內建需求D的初始水平L,期望取值范圍的下限min_l,上限max_l。
4. 如權利要求1所述交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在于 在步驟(2)中,所述運行多智能體,連接全局知識庫的具體方法如下: 1) 讀取配置文件,獲取知識庫服務端口,多智能體通信端口,世界接口通信端口; 2) 運行多智能體,讀取知識庫中的系統參數初始值,初始化相應變量; 3) 偵聽世界接口通信端口,等待處理信息。
5. 如權利要求1所述交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在于 在步驟(3)中,所述加載世界接口,接口一端連接游戲服務器,同游戲虛擬環境交互,接口 另一端連接多智能體,向其發送虛擬環境信息或轉發多智能體的控制指令到游戲虛擬環境 中的具體方法如下: 1) 讀取配置文件,獲取世界接口通信端口,多智能體通信端口; 2) 處理用戶指令消息隊列; 3) 處理虛擬環境信息消息隊列; 4) 處理多智能體動作消息隊列。
6. 如權利要求5所述交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在于 在步驟⑶第2)部分中,用戶指令消息隊列存放來自游戲玩家的各種操作指令,對于非玩 家角色而言,由于玩家不需要直接操縱它們,因而這里的用戶指令消息事實上只有一個,即 "退出游戲"; 在步驟(3)第3)部分中,虛擬環境信息消息隊列采用XML格式存放虛擬人物所觀察 到的虛擬環境中的信息,對每一個觀察到的物體,包含有以下信息:物體ID,位置,顏色,大 小,是否可移動,是否可交互; 在步驟(3)第4)部分中,多智能體動作消息隊列存放非玩家角色需要在虛擬環境中執 行的動作及其相應的參數。
7. 如權利要求1所述交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在于 在步驟(4)中,所述多智能體進入主循環開始工作,分別并發處理非玩家角色感知到的虛 擬環境信息,更新虛擬人物的內建需求水平,相應的動機強度,系統參數,計算虛擬人物的 人工情感強度并選擇當前主要情感,選擇當前主導動機,并在人工情感的指導下制定動作 策略,最后將動作通過世界接口作用于游戲虛擬環境中的方法如下: 1) 感知智能體,負責接收虛擬環境信息,計算空間位置關系,并將相關信息寫入到全局 知識庫中; 2) 需求智能體,負責更新非玩家角色的內建需求水平以及相應的動機強度,并將相關 信息寫入到全局知識庫中; 3) 參數智能體,負責更新人工情感系統參數; 4) 情感智能體,負責更新非玩家角色的人工情感強度,并選擇當前主要情感; 5) 動作智能體,負責發送動作序列中的第一個動作,若該序列為空,則先選擇系統主導 動機,然后運行動作規劃器生成新的動作序列。
8. 如權利要求7所述交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在于 在步驟(4)第1)部分中,感知智能體,需要首先解析以XML格式封裝的虛擬環境信息,然后 計算相應的空間位置關系,空間位置關系分為二元位置關系和三元位置關系兩種,二元位 置位置主要包括前,后,左,右,上,下;三元位置關系主要是指介于兩者之間,由于二元位置 關系具有對稱性,因此只需要計算出一半的二元位置關系便可以推算出與之對稱的二元位 置關系;三元位置關系則是二位置關的基礎上,依據一些判斷準則得到的; 在步驟(4)第2)部分中,首先為非玩家控制角色設定一些內建的需求,較為通用的需 求主要包括能量、水、完整性、確定性、自信度、親和性; 在步驟(4)第2)部分中,每一個需求都有一定的偏好范圍或目標范圍,當需求水平落 在相應的目標范圍時,稱作該需求被滿足,否則需求不被滿足。
9. 如權利要求7所述交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在于 在步驟(4)第3)部分中,人工情感系統參數也稱為調節子,人工情感系統參數包括: a. 激活度,它表征感知和反應的激活程度; b. 解析度,它決定各種認知活動如感知、動作規劃的精細程度; c. 保護閥值,它控制智能體執行保護行為的頻繁程度; d. 選擇閥值,它通過引入偏好信息,幫助虛擬人物在幾個相互沖突的動機之間作出選 擇; 在步驟(4)第3)部分中,參數智能體,通過一組非線性方程來更新調節子的水平,更新 方程的構造方式滿足以下基本原則: a. 激活度同能量及自信度的需求有關; b. 解析度與激活度呈負相關的關系; C.保護閥值則取決于智能體對環境的熟悉程度以及智能體的安全性; d.選擇閥值同智能體的自信程度呈正相關的關系; 在步驟(4)第4)部分中,非玩家角色的情感用4個調節子及滿足度構成的五維連續空 間表達; 對每一種情感,其強度的計算方式為:首先根據4個調節子及滿足度的當前水平以及 上表定義的隸屬范圍,通過一個隸屬度函數,計算每一情感維度的隸屬度;然后,將所有情 感維度的隸屬度的加權平均作為該情感的強度; 當所有情感的強度計算完畢后,當前強度最大的情感被挑選出來,作為當前系統的主 要情感(f),然后在游戲中呈現出來; 在步驟(4)第5)部分中,采用以下的方法選擇系統的主導動機: 若random(0, 1)〈選擇閥值,則選擇滿足度最低的需求所對應的動機作為系統的主導 動機;否則,隨機選擇一個動機作為系統的主導動機; 其中,random(0, 1)輸出一個[0, 1]范圍內的隨機數,其分布為均勻分布; 挑選出系統主導動機之后,智能體通過運行一個動作規劃器,從當前主導動機出發,根 據知識庫中的規則信息:條件&動作一目標,生成相應的動作序列。
10.如權利要求1所述交互式游戲中智能非玩家角色的人工情感驅動方法,其特征在 于在步驟(5)中,所述世界接口轉發游戲玩家退出游戲的狀態信息,多智能體將相關狀態 信息寫入全局知識庫,然后關閉全局知識庫,退出世界接口的具體方法如下: 1) 世界接口將用戶退出游戲的指令轉發給多智能體; 2) 多智能體將當前狀態信息及相關數據寫入到全局知識庫中,向世界接口發送退出狀 態信息,然后退出主循環; 3) 全局知識庫等待多智能體服務請求超時,關閉后臺數據庫,關閉知識庫服務端口; 4) 世界接口接收到所有多智能體退出狀態信息,或等待退出狀態信息超時,嘗試強行 關閉多智能體,向游戲虛擬環境發送退出狀態信息,然后退出主循環。
【文檔編號】G06F9/445GK104102522SQ201410369468
【公開日】2014年10月15日 申請日期:2014年7月30日 優先權日:2014年7月30日
【發明者】蔡振華, 周昌樂, 黃德恒 申請人:廈門大學