跳到內容

使用 XNA/AI 建立遊戲/簡介

來自華夏公益教科書

遊戲始終為開發人工智慧提供了環境。因此,在過去的幾十年中,它成為遊戲最重要的組成部分之一。如今,擁有複雜 AI 的遊戲是頂尖技術。您在許多遊戲中會需要一些更簡單的演算法,也需要一些更復雜的演算法。它被用於許多情況,例如

  • 控制 NPC
  • 尋路
  • 動態遊戲難度平衡
  • 戰鬥 / 戰鬥

早在 20 世紀 70 年代的遊戲開發初期,程式設計師和開發人員就與遊戲人工智慧領域面對面地接觸。但當時的 AI 很簡單,可以說是比較謙遜,這種狀態直到幾年前才改變。

"AI 已悄然從遊戲界的紅髮繼子女轉變為該行業閃耀的明星" - Steve Rabin,AI 遊戲程式設計智慧,2002 年,第 3 頁

第一款以單人模式為特色,因此在初期就擁有 AI 的遊戲,例如 Atari 遊戲“Qwak!”,並沒有像我們今天所描述的那樣擁有 AI。敵人的移動大多是預先定義的,並作為模式儲存。只有當硬體改進,例如微處理器的加入,允許進行更多計算,才能實現更多隨機元素。由此產生的遊戲包括太空侵略者、銀河戰機和吃豆人。這些遊戲展示了例如不斷提高的難度級別、複雜多樣的敵人移動、取決於玩家輸入的事件,甚至每個敵人的不同個性。隨著 20 世紀 90 年代新遊戲型別的出現,新的 AI 工具被開發和使用。這些工具中包括有限狀態機。在更新的遊戲中,AI 成為遊戲的核心方面。AI 的改進不僅取決於給定的硬體元件。實際上,這無疑是一個非常重要的方面。有一些問題無法在沒有大量處理器資源的情況下解決。但應該補充的是,在遊戲開發初期,程式設計師並沒有認真對待 AI。大多數情況下,AI 是在完成所有高優先順序任務後才完成的。[1]

如今,AI 已登上游戲階梯,成為最高優先順序任務。

AI 必須即時計算(在遊戲過程中),因此(良好)效能非常重要,以便讓遊戲順利執行。為了確保這一點,在演算法中有很多簡化、變通方法和作弊行為,這些行為近似於玩家的理想行為。因此,它們既快又智慧。當效能是一個重要問題時,很明顯,對所有可能的決策進行暴力破解並不是處理遊戲 AI 中此類情況的最佳方法。

另一個重要的事實是,即使計算機玩家可以玩得完美,也不應該這樣做。在這個主題中,“作弊”是一個很大的詞,因為計算機知道所有事實,並且擁有關於遊戲世界的各種資訊,因此可以讓 AI 玩家瞭解一些他們在現實中不可能知道的事情。玩家必須認為自己是在與真正的敵人對戰,而不是與計算機對戰,這就是為什麼首先 AI 必須是可以被擊敗的(不是無敵的),而且它必須表現得像人類(犯錯,在某些情況下隨機行動等)。如果 AI 沒有以這種方式行事,那麼遊戲很快就會讓玩家感到厭倦,或者如果玩家沒有獲勝的機會,就會感到沮喪。一些遊戲使用近似演算法而不是完美的解決方案,並在它們的演算法中實施“錯誤”(或更差)的決策。

幾個經驗法則和啟發式方法,足以提供良好的遊戲體驗

參考文獻

[編輯 | 編輯原始碼]
  1. Steve Rabin (2002). AI 遊戲程式設計智慧. Cengage Learning.
  • iSteffi
  • LWAGNER
華夏公益教科書