李惠芳
摘要:隨著手持式終端的快速推廣與發(fā)展,人們開始逐漸習慣于在手持設備上交互體驗,加之一系列物理引擎對手持設備的支持,移動終端模擬現(xiàn)實不再是遙不可及的事情。本文通過對移動終端寵物類游戲角色智能化行為設計的分析,來解析移動終端數(shù)碼角色交互行為設計的構(gòu)思思路,從而總結(jié)出提升數(shù)碼角色互動體驗的經(jīng)驗和理論。
關鍵詞:動畫角色;交互行為;人工智能
隨著移動終端手持設備的普及,娛樂應用中虛擬角色越來越表現(xiàn)出高智能水平,他們可以根據(jù)場景環(huán)境自主決策、采取行動,提高游戲難度的同時,也提升了玩家游戲的體驗。可以說虛擬角色的智能水平已經(jīng)成為決定著游戲的驚險性、刺激性、趣味性的重要因素。通常這種運用計算機技術模擬出能像人或動物一樣“感知”“思考”和“行動”的智能稱為“人工智能”(Artificial Intelligent,簡稱AI),即由人工制造出來的,通過計算機運算系統(tǒng)控制所模擬出來的高智能的活動。我們將游戲中添加了“感知”“思考”和“行動”功能的角色稱之為“AI角色”。AI角色作為娛樂互動的紐帶,其實并不需要具備如同機器人一樣的高智能,只需要配合手持移動端的應用情境,實現(xiàn)與受眾親密的互動即可。因此基于移動終端的智能角色的設計需要有其特定的故事情境和行為架構(gòu),依據(jù)需求設定其AI功能。我們以移動終端中數(shù)碼寵物類角色的AI功能為例來進行剖析,以此來分析數(shù)碼角色如何通過功能策劃、架構(gòu)模型、感知系統(tǒng)和行為決策等方面的操控來構(gòu)建角色的AI功能。
一、角色行動的意義描述
與人工生命實驗追求人造物高智能行為能力的目標不同,數(shù)碼寵物類應用程序的設定上側(cè)重于人機互動趣味性,即角色是否可以作為用戶身份代理實現(xiàn)社會化交流與傳播的功能,或者角色滑稽的戲劇化行為是否能夠引起參與者情感上的共鳴。在創(chuàng)建數(shù)碼角色的AI功能之前需要為角色進行定位,并賦予其一個生動的故事情境來建立與游戲用戶之間的情感連接。
移動終端娛樂應用中的數(shù)碼角色前身可以追溯到 1966年美國麻省理工計算機科學教授約瑟芬.文森鮑姆創(chuàng)造的計算機程序“伊萊扎(Elias)”。這種具有人類的性格特質(zhì),可以模仿人的行為與他人進行交流的智能程序也被稱為“人格蟲”(PersonBots)或“聊天蟲”,其主要的功能就是通過模擬人類的思維模式實現(xiàn)與人的溝通和互動。對于應用程序而言“人格”的塑造才是重點,人們需要怎樣性格、身份、愛好的朋友與之溝通,那么程序就會模擬這類人群的行為模式進行編碼,為了使模擬的效果更加真實,用戶更能夠沉浸其中,配合角色的性格再為其身份建立合理的故事情境。如移動APP《會說話的Ben》中,Ben是一位退休的化學教授,喜歡舒適的生活和飲食,愛看報紙,偶爾會到實驗室里做些奇怪的實驗;而《Clumsy Ninja》中,塑造的是一個呆傻可愛的見習忍者,Ninja為了救回女朋友他每天笨拙的訓練升級成為優(yōu)秀的一流忍者。
二、角色實施操控的架構(gòu)模型
從技術角度來看,游戲中的AI角色實際上可以被視為一直處于感知(Sense)->思考(Think)->行動(Act)循環(huán)中的目標物,在等待事件的激發(fā)而實施行為。我們采用的AI架構(gòu)模型來闡釋應用程序如何控制AI角色的行動,如圖所示(圖1),控制角色行為的算法分為三個層級,即運動層、決策層和戰(zhàn)略層。其中,運動層與決策層中包含的算法是針對個體角色的,而戰(zhàn)略層則是針對群體的。這是基本的AI架構(gòu)模型,就寵物類游戲中的智能角色而言,AI架構(gòu)模型也僅涉及到運動層和決策層的算法,甚至決策層都很少涉及,只有需要角色進行條件判斷的情況下才會應用到?jīng)Q策層的算法。例如,《會說話的湯姆貓》中,操控屬于純反應型的,只需要角色做出簡單的反饋,依照指令行動應用到的僅是運動層算法與動畫系統(tǒng)的配合;《Clumsy Ninja》中,當用戶長時間控制Ninja的身體時,他會做出掙扎的動作或差異的表情,這需要運用到?jīng)Q策層對環(huán)境的判斷。除此之外,還需要應用到AI結(jié)構(gòu)之外其他技術的支持。針對移動終端智能角色的交互行為架構(gòu),我們進行自上而下的剖析:
(一)決策層的行為判斷
決策層是AI角色具備判斷能力的運算系統(tǒng),決策系統(tǒng)會根據(jù)AI 角色的每個時間幀的情況進行判斷,并選擇最合適的行為予以執(zhí)行,當決策系統(tǒng)做出決策后,交由運動層和動畫系統(tǒng)來執(zhí)行決策。AI角色這種可以根據(jù)現(xiàn)實情況選擇相應簡單或復雜的執(zhí)行準則來實施行為的思維方式,更像是具備了像人一樣的思考功能。與玩家互動起來會更加生動有趣。如 《Clumsy Ninja》中,Ninja會根據(jù)周邊的環(huán)境和玩家的動作不斷學習而做出不同的反應,同樣是從空中掉下來,有竹竿忍者會先抓住竹竿再滑下來,遇到屋頂則會先跳到屋頂,根據(jù)周圍的環(huán)境而改變動作,而且掉落的高度、強度、動作不同舉止表現(xiàn)也會有差異。
(二)運動層的行為執(zhí)行
運動層包含的算法能夠把上層做出的決策轉(zhuǎn)化為運動。是AI角色實現(xiàn)交互行為的反饋系統(tǒng),通常需要動畫層的配合才能完成,如《會說話的圣誕老人》中,戳打或猛擊圣誕老人的頭、肚子和腳后,他會生氣地把送你的禮物砸掉;點擊屏幕,巨大的雪球滾過來壓倒圣誕老人。針對不同復雜程度的交互行為,運動層還需要動畫系統(tǒng)和物理系統(tǒng)的配合才能完成AI角色的行動。
(三)輔助系統(tǒng)的捕捉與實施
塑造出好的AI角色只有運動層、決策層和戰(zhàn)略層是遠遠不夠的。在實際應用中,還需要許多其他相關技術的支持,如“動畫系統(tǒng)”和“物理仿真系統(tǒng)”。在游戲中,使角色看起來生動有趣、反應機敏都有賴于這兩個系統(tǒng)的參與。例如《Clumsy Ninja》中,點擊地面Ninja會走向點擊點,拉著他的手移動,Ninja會按拉的方向移動,拉得快點他就會摔倒甚至被直接被拖著走;如果往高處拉就會飄到空中,手指一放就會掉下來。Ninja的一系列趕快動作都是運動層執(zhí)行決策層指令時向“動畫系統(tǒng)”和“物理仿真”系統(tǒng)發(fā)出請求,再經(jīng)由兩個系統(tǒng)轉(zhuǎn)換為具體行動的。
三、角色捕捉信息的智能感知
為了讓AI角色看上去更真實有趣,在設計他們的行為時還應思考一個重要的問題,就是角色如何感知周圍的游戲世界。AI角色必須能夠以正常的感知方式知曉周圍發(fā)生的情況,并且能夠?qū)Πl(fā)生的事情做出適當?shù)姆磻?。這樣,AI角色才會具備類似人類的思維方式。因此,在設計AI角色的應用程序時,除了具備基本的決策與執(zhí)行能力,還需要AI角色與游戲世界里的信息系統(tǒng)建立起聯(lián)系,根據(jù)周圍環(huán)境情況判斷行為,來做出合理的決策,這個信息獲取系統(tǒng)被稱之為“感知系統(tǒng)”。它不僅僅包含每個角色可以看到、聽到和觸碰到的內(nèi)容,還包括游戲世界與AI的所有接口。因此,感知系統(tǒng)也可以稱之為是AI角色與“游戲世界的接口”,負責在游戲運行過程中不斷感知周圍環(huán)境、讀取游戲狀態(tài)和數(shù)據(jù),為角色的思考和決策搜集信息。感知系統(tǒng)雖然不算是AI基礎結(jié)構(gòu)的一部分,但是它的實現(xiàn)質(zhì)量直接關系到智能角色AI系統(tǒng)的好壞??梢哉f幾乎所有3D游戲中的AI角色都具有某種程度的感知系統(tǒng)。
游戲中最常用的感知類型是視覺、聽覺和觸覺。針對角色的視覺感知,需要程序匹配對應的視覺觸發(fā)器和視覺感知器;實現(xiàn)角色的聽覺效果,則需要配對相應的聲音觸發(fā)器和聲音感知器;觸覺感知的實現(xiàn),實質(zhì)上是物理引擎的處理任務。通過為游戲物體添加碰撞體,便可成為開啟AI角色某段行為的觸發(fā)器。總之,AI角色感知系統(tǒng)的構(gòu)建需要與多個觸發(fā)器和感知器做出關聯(lián),并通過事件管理中心統(tǒng)一進行管理。另外,針對一些具有記憶功能的AI角色,需要建立一個記憶感知系統(tǒng),通過建立記憶列表存儲每個最近感知到的對象、感知類型、最后感知到該對象的時間以及還能再記憶中保留的時間,便于程序調(diào)用這個記憶數(shù)據(jù),當沒有感知到這個對象的時間超出了記憶時長時,這個對象就會從記憶列表中刪除,不會再出現(xiàn)。如《Clumsy Ninja》中,當玩家點按地面的某個地點,Ninja便會看向該地點,并選擇直線路徑快速地到達;當玩家反復撫摸Ninja的身體時,他會怕癢的倒地大笑,并且會快速地起身跑開躲起來。這兩項功能的實現(xiàn)分別是為角色添加了視覺和觸覺感知。另外,玩家可以將Ninja拋向空中讓其落下,開始Ninja會笨拙的趴倒在地上,但經(jīng)歷幾次反復掉落,Ninja可以逐漸地站立在地面上,不再摔到,表現(xiàn)出在訓練中不斷進步和成長的過程。這項功能的實現(xiàn)則是為角色添加了記憶感知。
四、角色指令執(zhí)行的行為決策
創(chuàng)建一個基于AI角色的寵物類游戲,需要龐大的行為邏輯系統(tǒng)對角色的行為進行控制。要讓游戲里的AI角色能依照程序執(zhí)行預設的邏輯,便要運用到模擬角色行為的邏輯的行為樹實現(xiàn)對AI角色行為邏輯的編輯。行為樹模擬人類大腦執(zhí)行任務的思維模式,通過判斷條件、篩選選項,然后執(zhí)行行為的邏輯執(zhí)行程序。如《Clumsy Ninja》中,用戶進入應用程序后Ninja的行為邏輯:如果用戶實施操作,Ninja則會依據(jù)指令采取行動;如果用戶不采取行動,過一段時間Ninja會在一旁打拳;如果用戶依然不采取行動,Ninja會跑向屏幕敲打屏幕引起用戶的注意。
在AI角色行為樹的實際應用時,可以由策劃人員首先設計好行為樹的結(jié)構(gòu),然后由程序員實現(xiàn)條件節(jié)點和行為節(jié)點所定義的具體行為進行編輯,也可以由編程人員預先寫好各種不同的條件節(jié)點和行為節(jié)點的相應代碼,然后,策劃人員可以嘗試將這些條件和行為進行不同的組合,畫出不同的行為樹,從而實現(xiàn)不同的AI邏輯。但無論哪種執(zhí)行方案,都需要角色“人格”與行為邏輯編輯的統(tǒng)一,策劃與程序編輯人員共同控制著AI角色的塑造結(jié)果。
五、結(jié)語
智能角色的塑造需要其具備思考和行動的能力,即利用感知的結(jié)果選擇行為,由行為執(zhí)行指令。這是一個需要運用到運動系統(tǒng)、動畫系統(tǒng)和物理系統(tǒng)和游戲引擎的復雜創(chuàng)作過程。在整個應用程序的架構(gòu)中,數(shù)字技術構(gòu)建AI角色的行為邏輯,藝術構(gòu)思AI角色的“人格”塑造,這不僅是完成一個應用程序,也是藝術與技術的跨領域合作融合的過程。
參考文獻:
[1]王洪源,陳慕羿,華宇寧,石征錦.Unity3D 人工智能編程精粹[M].北京:清華大學出版社,2014.
[2] Jeremy Gibson[美]著.游戲設計、原型與開發(fā)—基于Unity與C#從構(gòu)思到實現(xiàn)[M].劉曉晗,劉思嘉,文靜,張一淼,譯.北京:電子工業(yè)出版社,2018.
[3]黃鳴奮.新媒體藝術與西方數(shù)碼藝術理論[M].上海: 學林出版社,2009.
[4]黃鳴奮.數(shù)碼戲劇學:影視、電玩與智能偶戲研究[M].廈門: 廈門大學出版社,2003.
[5]關萍萍.互動媒介論:電子游戲多重互動與敘事模式[M].杭州: 浙江大學出版社,2012.