星际争霸2十周年成就图文(星际争霸2AI环境与库大阅兵)
上一期介绍了星际争霸2 AI环境的基础安装,本期我们对星际争霸2 AI环境与第三方库与平台进行个整体大阅兵,生态丰富活跃。
星际争霸2安装不打战役,只为联网对战、进行AI训练,不需要安装安装整个近30G的安装包,安装到“最佳体验”(Optimal)时就可以暂停安装,此时只占下载安装了8G空间;或者在之前的“可运行”(playable)就暂时,此时只下载安装5G空间,但画质贴图没那么高清。
Blizzard/s2client-proto
https://github.com/Blizzard/s2client-proto
暴雪官方开发的的StarCraft II API是提供对StarCraft II完全外部控制的接口。
通过该API连接星际争霸客户端,可以实现如下功能:
- 脚本化机器人(bot)。
- 基于机器学习的机器人。
- 重播(Replay)分析。
- 工具辅助的人类玩游戏模式。
该API在Windows和Mac客户端中可用。 同时也提供Linux Headless(无头模式,即没有游戏贴图GUI,只有简单的像素)客户端的API。
该API提供Python与C 语言的接口。
deepmind/pysc2https://github.com/deepmind/pysc2
PySC2是星际争霸2的机器学习环境(SC2LE)。
PySC2是由DeepMind开发的星际争霸2机器学习环境(SC2LE)的Python组件。 它公开了暴雪娱乐公司的StarCraft II机器学习API作为Python RL(强化学习)环境。 这是DeepMind与暴雪之间的合作,旨在将《星际争霸2》开发成丰富的RL研究环境。 PySC2为RL代理提供了与StarCraft 2进行交互的界面,以获取观察结果并发送动作。
先来看一段训练后的AI如何可以正常采矿(右侧)。
机器的操作
机器看到的视图
BurnySc2/python-sc2https://github.com/BurnySc2/python-sc2
适用于Python 3的StarCraft II机器人API客户端库。
该库提供用Python 3编写适用于StarCraft II的AI Bots,是一个易于使用的库。其最终目标是简单易用,同时仍保留所有功能。 其提倡,一个真正简单的rush机器人应该不超过二十行代码,而不是两百行代码。 同时,该库旨在提供高级和低级抽象。
示例bot代码:
import sc2
from sc2 import run_game, maps, Race, Difficulty
from sc2.player import Bot, Computer
class WorkerRushBot(sc2.BotAI):
async def on_step(self, iteration: int):
if iteration == 0:
for worker in self.workers:
self.do(worker.attack(self.enemy_start_locations[0]))
run_game(maps.get("Abyssal Reef LE"), [
Bot(Race.Zerg, WorkerRushBot()),
Computer(Race.Protoss, Difficulty.Medium)
], realtime=True)
https://github.com/Cryptyc/Sc2LadderServer
适用于SC2 API的开源C 编写的天梯服务器。
sc2ai.nethttp://sc2ai.net/
星际争霸2的AI天梯。可以上传自己的AI bot进行比赛。
其wiki给出了如何进行训练、上传、代码库的说明 http://wiki.sc2ai.net/Main_Page。
ai-arena.net
https://ai-arena.net/
星际争霸2 AI 竞技场,另一个AI天梯。
星际争霸1的 AI 比赛与环境
星际争霸1的 AI 环境,提供C 接口,https://github.com/bwapi/bwapi。
星际争霸1的 AI 比赛排名网站:https://sscaitournament.com/
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com