Fork me on GitHub

人工智能-星际争霸2教程

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

posted @ 2021-12-20 22:35  ZepheryWen  阅读(1208)  评论(0编辑  收藏  举报