利用AI的基本邏輯、基本能力、基本屬性設計好游戲中的AI

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統


  GameRes游資網授權發布 文 / 江岸棲

  游戲中的AI可以簡單的理解為計算機控制的智能角色,這些智能角色能夠通過周遭環境或者事件的變化進行邏輯判斷,從而同玩家進行產生特定的行為交互。

  組成AI的三個基本元素: AI的基本邏輯,AI的基本能力,AI的基本屬性。

  1、AI的基本邏輯

  a、感知(Perception)

  感知是指AI在所處環境或世界中,偵測周遭環境或者事件變化的能力,這種能力是由游戲設計者決定的并且賦予的。比如潛行游戲中,敵人的視野只有他前面90度角的扇形范圍,如果游戲設定這個AI只具有視野這唯一的感知能力,也就是說玩家只有進入敵人視野才會被發現,那么,玩家不管是在AI的周圍大聲的開槍,還是用槍去頂AI的菊花,甚至開槍打傷它,AI都不會感知玩家就近在咫尺。當然作為游戲設計者需要全面的考慮游戲中AI的應該偵測哪些,賦予AI完美生動的感知能力。

  b、行動(Action)

  行動是指AI自己決定去做一系列行為, 游戲設計者通過一系列的規則和邏輯次序的設定來控制這些AI的行動。例如,WOW中有個NPC,白天時守著一個熄滅的火堆面前,來回的巡邏,而夜晚降臨時則會去點燃火堆,靜靜的坐著不動。如果游戲設計者想制作一個熱鬧的城市,可以制作很多不同的AI角色,有的沿著街道從一個地方跑到另外一個地方,有的小販站在原地不動吆喝,甚至可以讓兩個NPC在走路的過程中相遇然后聊上一會天。我想一個有著豐富的AI角色的世界,一定會讓玩家很容易的融入這個游戲世界。

  c、反應(Reaction)

  反應是指AI在感知到玩家的行為所引發的刺激信息時所觸發的行為。比如,Left 4 dead(生存之旅)里面的Hunter,在探測到玩家的位置之后hunter會伺機從遠距離撲到玩家,如果玩家朝hunter開槍的話,hunter會嘗試在遠處使用天花板跳、三級跳等技能躲避玩家的射擊,如果玩家并不射擊hunter,他則會直接從遠距離撲過來。這種反應又可以稱之為怪物攻擊策略,有趣而生動的AI反應會讓玩家覺得挑戰的樂趣。

  大多數游戲AI主要能做到上面三點,就算是能滿足游戲設計者的基本需要了。

  d、學習(Learning)

  比較復雜的游戲AI會記錄玩家的行為變化,比如策略游戲的AI可能會根據玩家的策略變化,不停的分析玩家的行為,從而做出更為復雜的行為,是同玩家結盟,還是聯合其他國家來攻擊玩家;例如很多國外RPG游戲中的NPC會根據玩家在游戲中的善惡變化,而對玩家表現完全不同的態度;例如射擊游戲中玩家開的是坦克,AI用的是步槍,當兩者遭遇時,AI一開始還拿著步槍攻擊了一陣,發現步槍完全沒有用,于是就去尋找反坦克導彈來摧毀坦克。

  高級AI的學習,需要隨時記錄玩家的行為變化,并把這些信息放到一個專門的分析系統中逐一分析,從而得到最有利于自己的反應。會學習的AI相當的聰明,但是更聰明的游戲設計者則需要設計一個完善的分析系統,這樣的系統通常會用來控制一個游戲的難度,當玩家嘗試很多次失敗之后,我們的高級AI則會分析得到玩家的優缺點,比如玩家的射擊能力實在太差了,于是便略微的降低自己的移動反應速度,讓玩家更容易擊中自己。

  搞清楚了基本邏輯,我們就可以構建邏輯流程,從而設計出不一樣的邏輯類型。例如,WOW里面,石像鬼和亡靈的HP和攻擊力完全一樣,但是在AI邏輯上僅僅只有兩處不同。

  石像鬼:原地石化->偵查->進攻->逃跑->死

  亡靈:四處巡邏->偵查->進攻->逃跑->死

  2、AI的基本能力

  作為游戲AI設計者首先要分析并且歸納出自己這款游戲AI的基本能力,定義好這些基本能幫助游戲設計者很方便的制作更多更有趣的AI。

  大多數游戲中AI能力大致上可以有以下幾種:

  檢測潛在威脅 確認對方身份(敵人還是朋友)

  確認威脅級別(專注于威脅最大的目標)

  與敵對者交戰(戰斗技能)

  特殊行為(根據游戲需要特意設計的AI行為)

  而我們可以在這些基本能力作為可調整的嵌入參數來獲得更多類型的AI, 例如,10級的石像鬼和5級的精英石像鬼的HP和攻擊力完全一樣,但是在AI能力上卻有兩處不同。

  石像鬼:偵查->進攻->逃跑->死

  精英石像鬼:偵查->橫掃技能->進攻->逃跑->死

  也就是說,我們可以保證基本邏輯流程的一致,也就是寫一套基本的AI邏輯:偵查->進攻->逃跑->死,在其中嵌入多樣化的能力,從而達到AI類型的多樣化。

  3、AI的基本屬性

  設計好AI的基本屬性極其重要,大多數游戲中AI基本屬性大致可以分為:

  身份(陣營)

  戰斗參數(生命值,攻擊力,防御力)

  交互范圍(追擊距離,仇恨偵測距離,攻擊交互距離)

  侵略性(攻擊技能使用頻率)

  仇恨(主要攻擊目標查找)

  游戲設計者可以通過調整基本屬性設計出“個性”不一的AI,例如,WOW里面,我想要塑造一個兇猛的獸兵,那最先想到的屬性可能是:血厚,攻擊力高,防御力低,速度快。 而我想要塑造一個堅毅的人兵,屬性則可能是:血中等,攻擊力中等,防御力高,速度緩慢。 兩者不同點僅僅是外形、動畫、HP、攻擊力。但兩者的AI邏輯卻是完全一樣的,只是簡單的偵查->進攻->逃跑->死亡。

  如何利用以上的基本元素設計游戲中的AI?

  第一步,定義游戲中AI的基本挑戰。單個的AI挑戰往往需要結合關卡設計的挑戰組成一個基本的挑戰模式(Challenge Pattern )。在游戲設計者拿到怪物詳細概念設計之前,首先必須清楚本款游戲中最重要的游戲挑戰在哪里(Where is the main GamePlay in my game?),也就是玩家玩游戲的樂趣是什么,以及我們所設計的游戲AI會出現在游戲的哪個部分,扮演著什么樣的角色。例如,超級瑪麗中,玩家需要利用跳躍來躲避怪物的直接接觸(一碰即死),或者準確的跳到怪物頭上從而消滅怪物,游戲中最簡單的怪物AI表現為在兩個點之間保持勻速的來回巡邏,這個就可以成為一個基本的挑戰模式(Challenge Pattern)。越往后的關卡中的怪物AI則略微復雜,比如有的怪物會使用技能主動攻擊玩家,則需要玩家即要躲避怪物的直接接觸,又要躲避怪物不斷發出的攻擊子彈,這個就又是難度更高的挑戰模式了。

  第二步,設計挑戰中的AI基本能力和基本屬性。同樣以超級瑪麗為例,怪物的基本能力、基本屬性和挑戰模式如下表。從標上我們可以看出通過多樣化的能力和屬性的組合,我們可以得到更多樣化的挑戰。


  第三步,設計AI的邏輯圖。這一步往往是由游戲設計師和游戲程序員共同商討來完成,如果游戲設計師能提供一個結構清晰的游戲AI運行流程,那將幫助程序員能夠更好的理解游戲中怪物的行為,而且有的時候可能會需要設計者自己動手去制作AI(比如我。。。) 如下圖是一個簡單的RPG游戲中怪物的AI運行流程,也可以叫AI邏輯轉換結構圖。


  AI的狀態

  也可以理解為程序員經常說的狀態機。AI會在一個狀態里面完成一個指定的行為,當指定的條件達成時,AI會從一個狀態轉到另外一個狀態。如上圖綠色方框,出生、待命、戰斗判定、技能、追擊....

  AI的邏輯 AI的邏輯也就是AI狀態之間來回轉換的條件。如上圖灰色菱形,出生狀態是否完成,是否巡邏,玩家是否在仇恨范圍內...

  第四步,測試游戲中的AI。沒人能保證自己的設計從一開始就是完美的,作為游戲設計者更要常常抱著玩家的心態去不斷的測試體驗自己的設計。


GameRes游資網 2015-08-23 08:57:17

[新一篇] 太陽到底是什么顏色?又一次讓你長知識了!

[舊一篇] 什么是ASO?如何做好APP的ASO優化?
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表