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

  • 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開發樣例

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