組成AI的基本元素是什麼,滿足遊戲設計者,需要滿足哪幾點?

組成AI的基本元素是什麼,滿足遊戲設計者,需要滿足哪幾點?

遊戲中的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運行流程,那將幫助程序員能夠更好的理解遊戲中怪物的行為,而且有的時候可能會需要設計者自己動手去製作AI(比如我。。。) 如下圖是一個簡單的RPG遊戲中怪物的AI運行流程,也可以叫AI邏輯轉換結構圖。

組成AI的基本元素是什麼,滿足遊戲設計者,需要滿足哪幾點?

AI的狀態

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

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

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

在不久的將來,多智時代一定會徹底走入我們的生活,有興趣入行未來前沿產業的朋友,可以收藏多智時代,及時獲取人工智能、大數據、雲計算和物聯網的前沿資訊和基礎知識,讓我們一起攜手,引領人工智能的未來!


分享到:


相關文章: