StarCraft Ⅱ 人工智能教程
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.u
3.主要是这个Bot zip,基本的代码架构还是要固定的
具体可以看下sc2-api-simple-bot这里,记得把它打包即可
4.成功之后,即可从profile里看到自己的机器人
5.此时,bot是不会进行比赛,需要参赛,点击Competitions,然后选择赛季
6.比赛是随机的放到队列里的,可能需要排队进行比赛,也可能主动申请和具体的机器人进行比赛,点击Request Match,进行申请比赛。
7.慢慢等待,比赛结束之前都看不到结果的,也没有实时流进行查看的,结束之后就可以看到结果以及下载replay。其中arena会随机的进行一些比赛,也有可能是别人随机选的,一个bot一天大概能有50场比赛,arena也会提供统计,胜率、ELO(分数)等
Bot开发样例
https://github.com/Zephery/sc2-api-simple-bot.git
https://community.eschamp.com/t/simple-starcraft-2-bot-template-to-get-started/155