AI在視訊遊戲中的應用
(原作者:)Written by Laura E.Shummon Maass and Andy Luc
大多數人可能會認為,在過去幾年中釋出的大多數遊戲都給非玩家控制的角色、生物或動物上邊使用了非常複雜的AI技術。然而,許多視訊遊戲開發者對在遊戲中應用先進的AI技術是猶豫不決的,因為他們害怕失去對整體玩家體驗的控制。事實上,在視訊遊戲中使用AI技術的目標,不是要給玩家創造一個無與法擊敗的對手,而是要在很長一段時間內最大限度地提高玩家的參與度和體驗感。
如果你選擇了新遊戲並開始玩,你會享受一次又一次地被完全擊敗,還是更願意與某個略高於你水平的對手戰鬥,這樣你就可以隨著時間的推移學習和提高?絕大多數玩家可能會選擇後者。這並不意味著AI技術在現代遊戲領域沒有用武之地,只是意味著它的目的與我們最初期望的不同。我們想創造的與玩家互動和對戰的AI,不最厲害的,而是最令人愉悅的。
遊戲AI的歷史
AI是一個含義非常廣泛的術語,它只表示能夠從玩家的行為中學習的模型。Wolfenstein 3D早在1992年釋出,甚至那場比賽中的士兵也包含了A.I.的基本形式。有限狀態機(FSM)演算法是一個相對簡單的AI,設計師建立了一個包含所有可能事件的列表,這些都可以有機器人體驗。然後設計師又針對每種場景,設定了機器人的具體反應(Lou,2017)。我們可以想象1992年,Wolfenstein 3D的開發人員考慮了敵方士兵可能遇到的所有可能情況。在他們的視野中可以開啟一扇門,Blazkowicz(Wolfenstein系列劇中的英雄)可以走進視野,他們可以從後面被擊中,他們可能會看不到Blazkowicz等等。開發人員會彙總這個列表,並且對於每種情況,他們會告訴機器人它應該做什麼。下邊是Lou的文章中一個視覺效果圖:
Figure 1(Lou,2017)
這顯然是一個簡單的例子。我們可以想象,我們構建的細節會變得越來越複雜。機器人在最終放棄之前會使用多長時間去搜尋Blazkowicz?如果他們放棄了,他們應該留在原地還是回到重生點(spawning point)?該列表很快就會變得非常長且非常詳細。在FSM中,遊戲的開發人員將為每種情況分配特定操作。
FSM演算法並不適合所有的遊戲。想象一下,如果在策略遊戲中使用FSM。如果機器人被預先程式設計為每次都以相同的方式響應,那麼玩家將很快學會如何擊敗機器人。這會產生重複的遊戲體驗,正如您所料,這對玩家來說是不愉快的。建立蒙特卡羅搜尋樹(MCST)演算法就是為了解決FSM的重複性問題。MCST的工作方式是首先確定機器人針對當前狀況,可用的所有操作。然後,對於每個可能的操作,分析玩家可以響應的方式。之後它會考慮針對玩家所有可能的操作,它可以作出的迴應等。您可以想象這棵樹很增長得非常快。下圖展示了MCST的工作方式:
Figure 2(Lou,2017)
圖2突出顯示了使用MCST的計算機在針對人類元件進行移動之前所經歷的過程。它首先檢視它具有的所有選項,在上面的示例中,這些選項要麼是防禦,要麼是提升技能,要麼是攻擊。然後,它構建了一棵樹,預測了此後每次潛在操作成功的可能性。上面我們可以看到成功可能性最高的選項是“攻擊”(因為暗紅等於更高的獎勵概率),因此計算機選擇攻擊。當玩家進行下一步動作時,計算機將重複重複樹木構建過程。
想象一下像“文明”這樣的遊戲,計算機可以做出大量的選擇。如果為每個可能的選擇和整個遊戲可能的每個場景構建詳細的樹,計算機將花費很長時間。它絕不會採取行動。因此,為了避免這種巨大的計算,MCST演算法將隨機選擇一些可能的選項,並僅為所選擇的樹構建樹。這樣,計算速度更快,計算機可以分析哪個選擇的選項具有最高的獎勵可能性。
AI在《異形:隔離(Alien:Isolation)》
在視訊遊戲中,一種最近比較流行的高階AI形式,是Creative Assembly公司出品的《異形:隔離》的異形。雖然對於AI如何在幕後工作可能帶來一些誤解,但是它以一種很有效的方式,創造了一個玩家很容易獲得參與感和意外感的遊戲環境。
遊戲中的異形角色,使用了兩個AI驅動力來控制它的移動和行為:管理者AI(Director AI)和異形AI(Alien AI)。管理者AI是一個被動的控制器,負責創造一個愉快的玩家體驗。為了實現這一目標,管理者AI需要時刻知道玩家和異形在哪裡。但是,它並沒有與異形分享這些資訊。管理者AI關注所謂的威脅測量儀(Menace Gauge),它基本上只是衡量預期玩家壓力水平的一個指標,這個因素由多種因素決定,例如異形與玩家的距離,異形在玩家附近花費的時間,看到玩家所花費的時間,在運動跟蹤器裝置上可見的時間量等。這個威脅測量儀通知異形的任務系統(Job Systems),這實際上只是異形的任務追蹤器。如果威脅測量儀達到一定水平,任務“搜尋新位置區域”的優先順序將增加,直到異形遠離玩家移動到一個單獨的區域。
行為決策樹:
在深入瞭解異形AI如何工作之前,重要的是先弄清楚通知決策過程的結構。異形AI使用包含100多個節點和30個選擇器節點的廣泛行為決策樹。想象一下下面的簡單示例:
Figure 3(Simpson,2014)
行為樹的工作方式是從左到右提問題,成功的話允許沿樹繼續行進,而失敗將回到序列節點。過程如下:序列(sequence)->我餓了嗎?(成功)->序列(執行)->我有食物嗎?(成功)->序列(執行)->沒有敵人(成功)->序列(執行))->吃食物(成功)->序列(成功)->父節點(Simpson,2014)。在任何節點,如果其中一個節點返回(失敗),則整個序列將失敗。例如,如果“我有食物嗎?”問題得到的回答是失敗了,它就不會檢查周圍是否有任何敵人,它不會吃掉食物。取而代之的是,序列將失敗,該序列會結束。
序列顯然可以變得更加複雜,並且變得多層次。這是一個更深層的例子:
Figure 4(Simpson,2014)
請記住,序列無論成功或失敗,它都會將結果返回給它的父節點。在上面的示例中,我們假設我們已經成功接近門,但由於門被鎖而且我們沒有鑰匙,未能開啟門。序列節點被標記為失敗。結果,行為樹路徑恢復到該序列的父節點。以下是此父節點可能的樣子:
Figure 5(Simpson,2014)
所以,我們沒有開啟門,但我們還沒有放棄。我們的父節點將會以另一個序列供我們嘗試。這次它可能會通過視窗進入。異形AI有30個不同的選擇器節點和100個總節點,所以它會比這個例子指數級地更加複雜,但我希望這能讓你瞭解異形AI的工作模式。
(未完待續)
下文:人工智慧(AI)在遊戲中的應用(下)
作者:張鑫
來源:UWA
原地址:https://zhuanlan.zhihu.com/p/83007037
相關文章
- 視訊在H5遊戲中的應用H5遊戲
- 人工智慧(AI)在遊戲中的應用(下)人工智慧AI遊戲
- 因果推斷在騰訊遊戲中的應用遊戲
- AI 演算法在視訊可分級編碼中的應用AI演算法
- 在遊戲中播放cg視訊遇到的問題遊戲
- VoIP Push 在海外音視訊業務中的應用
- 微分方程在遊戲經濟建模中的應用遊戲
- 網易伏羲GDC分享:在回合製紙牌遊戲中應用 AlphaZero 開發 AI遊戲AI
- AI 在愛奇藝視訊廣告中的探索AI
- 短視訊商城在ios短視訊開發上的應用效果iOS
- 深度強化學習的人工智慧在遊戲中的運用:遊戲AI入門及AI優化指南強化學習人工智慧遊戲AI優化
- Azure OpenAI在遊戲NPC和製作場景中的應用OpenAI遊戲
- 開發者談音效在遊戲中的8種基本應用遊戲
- 線性蒙皮分解演算法及其在遊戲中的應用演算法遊戲
- 全景光照在遊戲中的應用遊戲
- 多智慧體強化學習及其在遊戲AI上的應用與展望智慧體強化學習遊戲AI
- AdConlony:遊戲應用內獎勵性視訊廣告報告遊戲
- AI在汽車中的應用:實用深度學習AI深度學習
- 為電子遊戲添“彩” ——色彩原理在電子遊戲中的應用與發展遊戲
- 機器學習將在遊戲開發中的6種應用機器學習遊戲開發
- 遊戲伺服器中JAVA的應用遊戲伺服器Java
- 使用 AI 在醫療影像分析中的應用探索AI
- AI+RPA技術在反洗錢中的應用AI
- AI在春運搶票中是如何應用的?AI
- 【AI in 美團】深度學習在OCR中的應用AI深度學習
- 騰訊互娛Kevin Wang:動捕在遊戲中的開發與應用流程丨TGDC2020遊戲
- 託管在GitHub上的流行/超讚視訊遊戲列表Github遊戲
- 視覺化技術在 Nebula Graph 中的應用視覺化
- 遊戲案例|Service Mesh 在歡樂遊戲的應用演變和實踐遊戲
- 如何基於 Agora Android SDK 在應用中實現視訊通話?GoAndroid
- 前沿探索|AI 在 API 開發測試中的應用AIAPI
- AI 演算法在大資料治理中的應用AI演算法大資料
- GPU在AI業務中的核心技術與應用GPUAI
- AI技術在智慧海報設計中的應用AI
- 視訊遊戲和棋牌比賽並不能很好地衡量 AI 的智力遊戲AI
- 遊戲AI:AI的遊戲還是遊戲的未來遊戲AI
- Bilibili資深運維工程師:DCDN在遊戲應用加速中的實踐運維工程師遊戲
- DFMEA在通訊產品設計中的應用