游戲服務器開發與人工智能
游戲服務器開發與人工智能
人工智能(AI)在如今的游戲中非常關鍵——玩家需要精明的、有挑戰性的對手,感覺就像真人一樣。游戲服務器開發者明白真實世界的AI不是說完全模仿人如 何玩和反應,而是為玩家創造這種感覺。多年來,開發者一直在爭論計算機對手“作弊”(計算機對手可以比玩家訪問更多的游戲數據)的優缺點。這種爭論最好用 在別的時間和地方。不過,幾乎所有的開發者都同意,比起AI模擬,AI行為的玩家感知更為重要。
就開發AI判定來說,Lua是一種非常高效的工具。有許多人工智能組件,如路徑尋找,最好留給底層語言來實現。路徑尋找(游戲服務器控制的物體在虛擬世 界中的路徑尋找)是一個數據運算量很大的工作,游戲服務器需要反復測試可能的路徑來尋找最短或者最直接的路徑。(路徑尋找最好整合到上層的LuaGlue函數 中以便控制相關參數,但還是會在后面的章節中介紹一種Lua的實現。)另一個例子是用最大最小值方法實現的移動判定,一般被用在游戲服務器象棋游戲中,預測之 后幾步的移動并嘗試計算出最優的移動步驟。一般來說,“能思考的函數”都需要大量的數學計算,如導航樹或者嘗試錯誤法運算最好都留給底層代碼。依賴有限的 數據集合和參數的人工智能才更適合Lua的特點。Lua的優點是設計師可以編 寫簡單的模型來試錯,并快速驗證和迭代想法而不需要麻煩程序員。想要利用Lua高效率實現AI,需要很仔細地設計函數(C函數),讓Lua腳本可以訪問和 交互游戲數據。使用Lua作為事件管理系統同樣可以讓AI設計師能應對游戲開發中的變更,開發出靈活反應的AI系統。【艾娜】