唐李順
摘 要:在電子游戲設計與開發中,人工智能(AI)作為提升與改善游戲質量核心技術,其發展需求越來越高。尋路算法是人工智能系統中最基本也是最重要的部分,目前應用最為廣泛的AI尋路算法為A*算法,該算法在一定程度上實現了游戲人工智能系統的優化?;诖?,本文有相關概念出發,對A*算法在電子游戲中的應用進行了分析。
關鍵詞:人工智能;電子游戲;尋路算法
1 人工智能尋路算法的相關概述
1.1 人工智能
人工智能(Artificial Intelligence簡稱“AI”),是基于計算機與機器人技術研發的基礎上形成的用于模擬、擴展以及延伸人智能行為與邏輯的技術、方法、理論以及應用系統的新興知識學科[1]。人工智能涉及范圍廣泛,包括計算機科學、語言學、哲學、數學、自然科學、心理學以及社會科學等等。在電子游戲產業發展中,運用人工智能為游戲的虛擬環境以及游戲各種人物角色整填靈動性與真實性,進一步提升了游戲的可玩性,有利于游戲產業的優化發展。
1.2 最短路徑算法
最短路徑算法是游戲AI尋路算法中應用最為廣泛的路徑搜索算法。在數學、運籌學、數據算法分析中具有普遍分析與介紹。非啟發式最短路徑算法(Dijkstra算法)和啟發式最短路徑算法(A*算法)是最短路徑算法中的典型代表。其中非啟發式Dijkstra算法是在基于某點的基礎上,由起點(中心點)向外逐漸拓展至終點,從而找到最短路徑的算法。該算法由于計算的節點相對較多,在運算構成中其速度以及效率不高。啟發式A*算法是在基于優先搜索的基礎上進行啟發式搜索的一種算法,即,在游戲路網圖的一個起點位置,線進行廣度搜索,用以確定搜索區域,在利用函數估價方法對路圖網進行評估式啟發式搜索,通過確定最佳路徑,在搜索確定,從而逐漸發現搜索目標,A*算法是游戲設計與開發中較為常用的一種路徑搜索法。
2 人工智能尋路算法在電子游戲中的應用
2.1 電子小游戲中簡單尋路算法的應用
在電子小游戲中,人們對于游戲效果的要求并不高,尤其是簡單的動作型電子小游戲,在設計構成中注重游戲人物角色側重于尋路、閃避以及跟蹤行為的編程設計。例如,對于小游戲中的非玩家控制角色(Non-Player Character簡稱“NPC”),常常處于既定的區域范圍中行走,當玩家操作角色進入到其范圍內時,NPG將進行一定的攻擊或躲避行為。在這一構成中所應用的尋路算法主要有隨機尋路算法、追蹤算法以及閃避算法。
2.2 大型電子游戲中AI啟發式A*算法的應用
在大型電子游戲中,對游戲音效、視覺效果以及人物角色的要求更高也更為嚴格。游戲玩家操作角色以及非玩家操作角色的人性化需求,是保證游戲質量的關鍵所在。目前,在大型電子游戲中應用最為廣泛的尋路算法為A*算法,對包括攻擊、躲避、尋路、阻擊、轉向、跳躍等行為以及虛擬空間的感知進行了設定與編程。因此,在大型電子游戲人工智能尋路算法的應用通常由5個基本框架構成,包括Behavior(角色行為)、Brain(腦思維)、Agent(非玩家操作角色代理)、Perception(非玩家操作角色感知)、Physical(RPG Model)(NPC物理模型)。
游戲AI控制系統的運轉由非玩家操作角色(NPC)開始,非玩家操作角色通過大腦(Brain)的思考,基于A*算法,針對玩家操作角色的物理模型(RPG Model)信息數據搜索游戲場景,并從命令列表中(Command Que)選用所要執行的行為(Behavior),并將信息傳遞給非玩家操作角色代理(Agent),人工智能控制系統對RPG Model進行行為操作,在此過程中其尋路算法流程如下圖。
2.3 對游戲人工智能A*算法優化思考
在游戲設計過程中,需對人工智能A*算法進行一定的測試與調試,從而提升AI尋路系統的優化性。在測試過程中,往往會遇到諸多問題,對此游戲設計人員需進行及時而有效的處理,用以保證游戲的可玩性。例如,在大型電子游戲AI尋路系統中,由于游戲內容復雜,游戲中的點數量相對較多,因此NPC在盡心尋路搜索時,所達到的具體位置會出現集中與密集的現象。但是如果,路點數量過多,在一定程度上降低了NPC尋路速度;路點數量較少,又會在一定程度上使得NPC尋路尋路速度過快,并在一定程度上降低游戲的真實性。因此,在游戲設計與測試過程中需運用尋路算法進行反復而全面的測試與考慮。
3 結論
基于人工智能系統在游戲軟件開發與設計中的應用與完善,電子游戲AI尋路算法的優化與改進成為人們關注的重點,對電子游戲質量的提升與創新發展具有重要意義。
參考文獻
[1]何文雅.3D游戲場景中虛擬角色的智能尋徑應用研究[D].華中師范大學,2009.
(作者單位:成都理工大學)