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