遊戲AI 人工智慧

2021-05-24 06:24:37 字數 1446 閱讀 6274

一說到電腦ai(人工智慧),就會有人認為它是高深莫測東西。其實並沒那麼複雜,電腦ai其實是一組if語句。各型別遊戲有各型別的ai,rpg(冒險類)遊戲的ai最簡單,只要用函式產生隨機數在對攻擊物件取餘即可,稍微複雜點的也只增加了道具、魔法攻擊,其ai性質都是一樣的。例如:

attack(((unsigned)biostime*rand())%3);/*電腦攻擊函式*/

這是乙個虛擬的函式,**省略了。我們關心的只是它的入口,我們定義它的入口為要攻擊的物件。選擇物件使用了隨機數與時間共同工作,這樣敵人就在3個攻擊物件中隨機地選擇攻擊物件了。

在這個語句中,沒有使用if選擇語句。在這個語句中,我方3個物件受攻擊的概率是均等的,其實我們還可以將電腦ai提高一下,讓電腦選擇我方最弱的物件攻擊的機率提高一下。程式改為:

int i,leastblood=20000,weakest;/*leastblood儲存最弱物件的血量(初始化為乙個比所有物件的可能血量都大的值),weakest儲存最弱物件的代號*/

for(i=0;i<3;i++)

{ if(blood[i]這樣,最弱物件受攻擊的機率就提高到了1/2,哈,電腦變聰明了。電腦ai設計是不是很簡單?其實電腦ai有深有淺,這只是乙個最簡單的而已。要深奧,只不過是把制約的條件增多罷了。

相對來說,rpg遊戲ai是最容易設計的。其次是slg遊戲,slg遊戲電腦ai一般遵循的規則有:最弱物件攻擊原則、就近攻擊原則、最大攻擊力原則。在這三個原則中,排在最先的是就近攻擊原則,即電腦物件要攻擊,則向距離該物件最近(最省mp)的物件靠近攻擊。排在第二的是最弱物件攻擊原則,在可以攻擊到的物件中,選擇最弱的物件進行攻擊。排在第三的是最大攻擊力原則,如果電腦選中了乙個攻擊目標,則會使用電腦物件能使用的最大攻擊力的方式去攻擊。你可能會問,知道電腦如何行動了,那玩遊戲對電腦行動不是瞭如指掌了?不,我不是說過ai的深度與制約條件有關嗎?制約電腦行動的條件遠不止這些。如電腦遊戲就有一種攻擊指定目標的玩法。在這種模式下,電腦優先攻擊的就是你指定保護的目標了。而且,如果加入魔法機制,電腦的行動就不光是攻擊了,而且要定義使用魔法的條件,程式將更為複雜。

再談談影響電腦ai的狀態的遊戲指令碼,遊戲指令碼就跟樂器演奏的樂譜一樣,影響著整個遊戲程序:在什麼時候、什麼條件下執行什麼動作,地圖上出現什麼,消失什麼,誰的狀態(如攻擊力、防禦力等)的改變。都要在遊戲指令碼中詳細說明,只不過是使用符號化的語言而已。可以說遊戲指令碼就是一種解釋類的ai。遊戲指令碼是非常重要的,rpg遊戲不用說,因為rpg遊戲幾乎是單線式的,絕對需要指令碼的支援。而在slg遊戲中,也是非常的重要。比如說,在一關設計時我布置了大量的強大的敵人。如果不用指令碼加以控制的話,那麼敵人將蜂湧而上,玩家絕對吃不消。而使用指令碼控制後,每隔一定時間後有一部分敵人進入搜尋並攻擊狀態,其它的敵人仍然在待機狀態。玩家將敵人一部分一部分吃掉,即不費多大力,又有一種一對n的成就感,娛樂的目的就達到了。act(動作類遊戲)中,也要使用指令碼控制遊戲程序,不過這種指令碼非常簡單,只要寫明什麼地方出現什麼敵人,什麼機關工作就可以了。即時戰略遊戲的指令碼相對複雜和抽象,既然是**,這裡就不用說了。

人工智慧 AI

編者按 羅布 史密斯 robsmith 是 pecabu 首席執行官 編者按 羅布 史密斯 robsmith 是 pecabu 首席執行官。人工智慧 ai 近來成為 報道的熱點話題。它擁有像 大資料 雲 等毫無意義的流行詞語的地位,也只是時間問題。通常情況下,我是人工智慧的堅定支持者。在人工智慧領域...

人工智慧(AI)

人工智慧是乙個很大的圈子,但人工智慧的基礎是機器學習。機器學習是什麼?其實就是人告訴機器想做什麼事情,並且給它一堆資料讓它模仿著去做。機器學習需要什麼?演算法 資料 程式 評估 應用。機器學習能做什麼?機器學習在資料探勘 影象識別 語音和自然語言處理中有著廣泛應用。機器學習流程?乙個機器學習的常規套...

關於人工智慧(AI)

前言 雖然已經幹了快10年軟體了,不過剛剛才在csdn上註冊。其實以前也註冊過乙個賬戶,但是嫌 速度太慢,所以就荒廢了。現在突然發現不覺得網速太慢了 雖然現在其實也很慢 我想可能是因為我有了越來越多的能用於思考的時間了,呵呵。談談人工智慧吧。人工智慧這個學科就和數學中的數論一樣 其立論極其簡單,任何...