##EasyReadMore##

2009年12月21日 星期一

某ai編輯器教程



文章網址:http://bbs.wow8.org/thread-112964-1-8.html

開始一個簡單的人工智能

其實這東西本來是隨便看看的。。。
。。。但是沒想到人家把1大段翻譯出那麼多拉。。。所以就全部中文上來吧
MB下 u9翻譯組的米小粒姐姐55
由於很多都是自己翻+猜譯的所以完全不保證準確率。
不過也沒啥技術含量。。。用來做ai編輯器的入門吧

By moyack

來源:http://www.wc3c.net/showthread.php?t=92915

導言

由於被人要求,我決定開始AI編輯器的教程。我會盡我所能,使之盡可能容易,反正如果您有任何問題,我會在這裡回答。

本文將參考此教程:http://www.wc3c.net/showthread.php?t=89199


開始吧。


進入AI編輯器

要啟動AI編輯器,你需要打開WE並且按F8或點上方的AI編輯器按鈕。這個編輯器並不像觸發或物體編輯器需要一個編輯中的地圖,相反,你用AI編輯器創建,編輯的AI是獨立於地圖的。但是,如果你正在編輯一個地圖,你可以注入地圖的信息,使AI可以使用你的自定義單位。此選項將隨後解釋。

當你打開AI編輯器以後你會看到界面:

AI編輯器-普通標籤


此界面顯示了普通標籤的內容,我們將用它來設置基本的智能和全局條件。當然我們希望盡快開始我們的AI,恩。。。我們先要建立的基本框架。

首先,我們需要確定要做什麼樣的AI。如果我們要作出自定義地圖AI,我們應該選擇在對戰中各自的種族組合,或自定義。如果我們選擇普通的對戰,我們將無法使用其他地圖的單位。在另一方面,自定義AI輸入使我們能夠選擇有任何單位設置的物體編輯器。


開始一個新AI


學習的過程中,模仿典例是個很好的開端,所以我們來倣傚一個著名的人類戰術:女巫流。這個戰術靠的是快速升2本生產女巫,接著升3本訓練大師級,然後這個戰術就無敵了()。那麼我們需要什麼呢?除了女巫,還需要一些兵營出的單位:1.主要是一本時期的步兵,三本的時候可以換成騎士 2.迫擊炮小隊,作為攻城的主力 3.一些特殊的兵種比如牧師 4.一個對部隊有用的英雄,在這種情況下就是有水元素以及輝煌光環的大法了。我見過幾次這種戰術第二英雄出血法的(因為能提供傷害和減速),所以我會加到這個戰術裡。

我們的第一次~


現在已經確定戰術了,在普通標籤裡我選了人族,然後給AI起名為「綿羊控」。這些設置好了,我們直接來到建築標籤。

我們看到了什麼?主要由兩個相似的界面組成,左邊是用來定義建築列表的,右邊用來定義採集資源列表。

建築標籤


為什麼被稱作建築列表?那是什麼東西?

AI會按照列表的順序來依次建造單位,但是如果之前的單位或者建築被KO了,AI會根據列表順序重新補上那個被KO的單位。

既然知道了列表這個概念是怎樣運作的,我們開始往表裡加一些單位。如你所見,列表裡預先給出了主基地和5個農民,這幾個單位是遊戲開始就有的,有了他們我們就能造建築了。首先,我們要造兵營,農場和國王祭壇。於是我們選擇列表裡最後一個單位,鼠標右擊,出現了一個有很多選項的菜單。我們選添加設置,然後彈出一個單位類型的對話框

增加新建造單位
單位類型對話框


這裡有兩個部分:


城鎮:在這裡選擇在哪個主基地造建築或單位。選項分別是:任何(默認的,建議這個),主基地(出生點的那個),分基地#(有基地的礦點),金礦#(指的是那個礦,不一定要有基地)


建造:在這裡選要訓練(建造)什麼單位。選項分別是:第一英雄,第二英雄,第三英雄(這個稍後解釋),分基地,指定的單位和指定升級


在例子裡,我們要讓AI造一個兵營,然後一個農場,然後國王祭壇,然後我們就必須讓AI再造幾個農民,讓他們伐木。於是我們選擇城鎮為任何,選擇建造為指定單位,然後選擇兵營,點確定。用同樣的方式設置好其它的建築和單位。

我們的第一個建築


如你所見,我們想造個單位或者升級就必須把這些做一遍。問題是,有沒有更快的方式?答案當然是有。以農民為例,我只選最後一個農民,然後按CTRL+C(或者右擊選複製),然後按CTRL+V複製。做十遍就有10個農民了。

現在我看看你做的對不對。如果你加了10個農民,你會看見一樣的顯示,但是如果你粘貼了十次(或者更多,比如18個~牙哈哈哈 ),你就會顯示那樣

加入農民直到10個


生產農民超過了人口上限


如你所見,最後一個農民顯示為紅色,為什麼?因為界面指示說現在的食物上限不夠生產這個單位了,如果你讓這個列表在這個單位之前去造提供食物的建築,他就會重新被標記為黑色。

因為我們在這個時期不需要那麼多農民,我們刪掉一些,10個就夠了。之後我們擴張的時候會增加更多的農民。


OK,我想是時候給AI增加攻擊性單位了,讓我們增加3個步兵和第一英雄吧。首先增加一個農場,然後右擊列表裡最後一個單位,選擇添加設置,在單位設置對話框裡選擇建造為第一英雄,然後點進去。在那之後增加步兵,我建議三個就夠了。做完了以後,全列表應該看上去像那樣。

AI的第一個戰鬥單位


我們的第一次測試

有了這個小的進展,我們可以測試這個AI了。你可以按CTRL + F9或測試按鈕。在人工智能的編輯對話框。此命令默認用我們的AI運行掠奪島地圖。當AI啟動時,你會看到序列的建設進程:

首先將開始兵營,然後一個農場,然後再國王祭壇。好。

基地不會訓練任何農民,直到它已開始之前的所有建築物(按優先次序),一旦國王祭壇開始建造,AI就會造農民。這種情況可能不利於AI,因為是時間浪費很大,AI可以在這時可以訓練軍隊。我們稍後會討論如何解決這個問題。

國王祭壇完成後,AI開始訓練一個隨機英雄。

當英雄的培訓時,它會嘗試開新的基地。如果AI不能戰勝敵人,它會撤退,並等待戰鬥力恢復,之後它將再試一次,再次,再次,再次,直到打敗這一目標(然後去打下一個 )。

現在,我們必須解決幾個問題:我們應該如何控制隨機選擇一個英雄,並控制英雄學習技能? ?如何消除這些「時間死區」 ,使AI更快的培訓單位/建築? ?如何控制AI的進攻? ?正如Spellbreaker所說:觀賞和學習。


英雄設置

眾所周知,在WC3的英雄是一個非常重要的組成部分,一張地圖,他們的技能和屬性使它們獨一無二,影響了整個遊戲是好還是壞。英雄在遊戲中的效果取決於以下因素:


英雄的選擇和次序(英雄的培訓有三個)


所有英雄的技能選擇


對於AI而言,英雄有其他的作用:他們是攻擊隊伍的首領。如果沒有AI英雄,有很多時候AI不會攻擊而是保持不動,直到它被攻擊(不包括相關的反應)。


現在,我們瞭解英雄的AI設置是如何重要了,我們要檢查英雄的界面。選擇英雄標籤,你會看到這個 :

英雄標籤


列舉下這些選項的作用:


「使用英雄」選項,在這裡選到的英雄可以被AI培訓。


「訓練命令」部分,我們有不同的英雄組合,我們可以設置每種組合在遊戲中出現的概率大小。


最終在「技能選擇」一節,我們確定其中英雄技能的學習順序。如你所見,每個英雄的技能,可以根據不同的等級學習,一目瞭然。


現在,我們如何才能配置出我們想要的例子?你記得,我們只需要2個英雄。我們可以將指定的使用英雄一節的第三英雄設置成無。當你這麼做,編輯器會自動禁用某些選項(很方便 )。在那之後,選擇在第一英雄大法師,第二英雄血法師。然後設定100 %機會讓AI先訓練大法師,然後血法師。你會發現第二個選項(第一血法第二大法的順序 )自動設置為0 %了。現在的界面看起來應該 :

-設置英雄的例子第1步


最後我們確定每個英雄的技能學習順序。選擇英雄:選擇框的英雄(大法),我們要修改的技能順序,使用選擇和修改其位置的上移和下移按鈕。例如對我們的AI例子,我將修改大法師的技能順序,如:

設置英雄的例子第2步


在這種情況下,我認為血法師的技能順序還不錯,但如果你想改變它們也可以繼續


現在,我們知道如何為我們的AI設置英雄了,我們還要處理其他重要的AI編輯功能:條件句。


條件

條件句是AI編輯器中最重要的功能之一。它們可以用來幫助人工智能採取正確的決定,根據情況在某些時候,更「聰明」 。

在哪裡可以套用條件?它們可用於:

普通選項卡:
條件
建築標籤:
建造列表
採集列表
攻擊標籤:
當前單位組
目標設置

如何在句子中添加條件?"只要選擇所需的項目,並用鼠標右鍵單擊它,你會看到修改條件... 選項。當你點擊它,你會看到對話框。

有條件的菜單


條件對話框


設置條件對話框,默認情況下,此對話框中設置為無。要創建一個新的條件,我們必須單擊列表框,並選擇自定義,這將使設置條件按鈕變得可點擊。現在,你可以按下它,一個新的對話框出現。在這你可能覺得有點熟悉,它的類似於觸發編輯器的條件選擇,唯一的區別是什麼樣的數據比較,你可以選擇它。比較分為:

設置條件對話框


布爾值比較
整數比較
And 和
Or 或

最後二種比較And和Or,可以連接兩個比較,所以用他們組合你能夠製作出比較複雜的條件。完整的條件類別可以參考Av3n的AI編輯教程。

我認為這是時候為我們的例子增加條件了。以前,系統直到已建立10個農民和一個農場後才會製造第一英雄,如你所見,把AI等到這是浪費時間,如果一旦祭壇國王建立,我們的英雄就開始訓練會更好。因此,我們必須改變英雄在列表的位置在第六個農民以前。但是如果我們就這樣完了,其他5農民將無法訓練,直到英雄開始在國王祭壇上訓練。所以我們要設置AI一旦國王祭壇建設完成後就訓練第一英雄,如果還沒,它將跳過英雄先建造其他單位和建築物。

首先,我們必須把第一英雄的順序放在祭壇之後,然後我們選中它,用鼠標右鍵單擊這個選項並修改條件...


在選擇條件以後,我們改變條件列表框到自定義。我們會看到,按鈕設置條件已啟用。


在「設置條件」的彈出窗口上在這一點,我們選擇整數 ,我們會看到一個文本鏈接顯示0 等於 0 。我們點擊第一個0 。


用點開整數對話框時,我們瀏覽下整數的選擇項目,選擇單位-已完成單位總數然後按確定。


現在我們已經選擇了判斷的項目,我們必須確定用來判斷的單位類型。在這種情況下,我們要檢查國王祭壇的個數。我們點鏈接文字,這將打開此窗口。


好了,我們選定了單位類型,我們將看到填充後的對話框。在這之後按確定。就有了這個我們所要的第一個比較元素。


現在讓我們來確定比較操作符。選擇操作符的連接。打開此對話框。再選擇適當的比較操作符(在此情況下選大於),確定~


因為我們需要做的比較大於0 就可以了,所以我們沒有修改第二個對比對象的價值。但是,如果你需要更改該值,只需按一下並改變他的值就好。設定完了條件按確定。


恭喜!你的第一個條件完成了!現在是時候將它保存了,所以請條件對話框按下確定吧。
.
.

沒有留言:

張貼留言

※怎麼下載?Xuite硬碟MediaFireBadongoSendSpace
※文章可以轉貼嗎?可以,不過要註明出處、標示本站連結。
※載點可以轉貼嗎?不可以,不能盜連。
※建議瀏覽器:Chrome 或 Firefox 或 Opera 或 IE7以上
!請按+1來支持本站!