人工智慧-星際爭霸2教程

ZepheryWen發表於2021-12-20

StarCraft Ⅱ 人工智慧教程

非深度學習人士,僅僅是興趣驅動,可能有很多不對的地方,也歡迎大家指正。這裡主要講解如何將AI執行起來、機器人對戰、人機對戰、天梯上分等等,希望能對大家的人工智慧工程道路上有所幫助。

一、其他的太抽象了,先講人機對戰吧

sc2的wiki資料很全,可以從這裡下載並執行,目前人機對戰只能在win下執行,這邊特別強調一下的就是,需要以管理員身份執行,下面詳細過程,翻譯自 ProBots 2021 Season 1 - Human vs Bot

1.安裝星際爭霸2,地址,至於要不要下載國際服,似乎沒有必要
2.下載ProBots vs Humans.Zip
3.解壓,附帶了地圖,主要是sc2aiapp

4.可選,下載相關地圖,可以從競技場裡下,需要放到星際爭霸2的目錄下,mac的是/Applications/StarCraft II/Maps
5.開啟步驟2的目錄
6.開啟sc2aiapp,開啟的時候有可能報錯:

右鍵sc2aiapp,以管理員身份執行即可,現在不讓註冊了,直接continue without login

7.全屏快捷鍵,Alt + Enter,進行對戰

我這錄製了個我對戰的視訊,bilibili,感覺AI在對戰裡很容易只有一樣打法,據說是強化訓練後的最優選導致的,這個也不知怎麼整,個人感覺MicroMachine這個AI打法稍微多樣,可以多和它對戰下。

二、AI天梯

目前沒有看到什麼辦法讓暴雪允許AI在實際的天梯上進行執行,但社群搞了個專門的AI天梯,sc2ai,可以將程式碼上傳到裡面進行對戰,實時流我沒看到,對戰完後可以下載replay覆盤。下面講下如何上傳程式碼進行對戰。
1.第一步肯定是先要註冊登入
2.upload new bot

3.主要是這個Bot zip,基本的程式碼架構還是要固定的

具體可以看下sc2-api-simple-bot這裡,記得把它打包即可
4.成功之後,即可從profile裡看到自己的機器人

5.此時,bot是不會進行比賽,需要參賽,點選Competitions,然後選擇賽季

6.比賽是隨機的放到佇列裡的,可能需要排隊進行比賽,也可能主動申請和具體的機器人進行比賽,點選Request Match,進行申請比賽。

7.慢慢等待,比賽結束之前都看不到結果的,也沒有實時流進行檢視的,結束之後就可以看到結果以及下載replay。其中arena會隨機的進行一些比賽,也有可能是別人隨機選的,一個bot一天大概能有50場比賽,arena也會提供統計,勝率、ELO(分數)等
{{uploading-image-898657.png(uploading...)}}

Bot開發樣例

https://github.com/Zephery/sc2-api-simple-bot.git
https://community.eschamp.com/t/simple-starcraft-2-bot-template-to-get-started/155

相關文章