本節書摘來自華章出版社《unity 3d人工智能程式設計》一 書中的第1章,第1.2節,作者:(美)基奧(kyaw,a.s.),(美)彼得斯(peters,c.),(美)斯瑞(swe,t.n.),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
遊戲人工智能需要去完善一個遊戲的品質。為此,我們需要了解每個遊戲必須滿足的基本需求。答案應該是顯而易見的,就是讓遊戲好玩。那麼,是什麼決定了一個遊戲是否好玩呢?這其實是遊戲設計的主旨(jesse schell所著的《the art of game design》是一份極佳的參考資料),讓我們試着在不深入讨論遊戲設計的話題的情況下來解決這個問題。你會發現一個具有挑戰性的遊戲一定是好玩的。重申一遍:讓遊戲具有挑戰性。這意味着一個遊戲不應該太過困難讓玩家沒有擊敗對手的可能性,也不應該讓玩家輕而易舉地取得勝利。讓遊戲好玩的關鍵因素是為之找到合适的難度等級。
而這正是人工智能發揮作用的地方。人工智能在遊戲中的作用是通過提供富有挑戰性的競争對象來讓遊戲更好玩,而在遊戲世界中行動逼真的有趣的非玩家角色(npc),也會讓遊戲更好玩。是以,我們的目的不是複制人類或其他動物的整個思維過程,而是通過讓這些npc對遊戲世界裡不斷變化的情形,産生對玩家來說足夠合理、有意義的反應,來讓它們看起來更加智能。
我們不希望遊戲中的人工智能系統花費過多的計算代價,因為人工智能計算所需要的處理器能力,比如圖形渲染和實體學仿真,要同其他的操作共享。另外,别忘了它們都是實時發生的,并且,在整個遊戲中保持穩定的幀率也非常重要。甚至有人試圖制造專門用于人工智能運算的處理器(ai seek公司的intia處理器)。随着處理器的處理能力與日俱增,我們現在擁有了越來越多的人工智能計算的空間。然而,像所有其他的遊戲開發規範一樣,優化人工智能計算仍然是人工智能開發者所面臨的巨大的挑戰。