Brood War API {#BWAPI}
[TOC]
项目信息{#project}
概述{#OverView}
Brood War应用程序编程接口(BWAPI)是一个免费的开源C ++框架,用于与流行的实时策略(RTS)游戏星际争霸:Broodwar。使用BWAPI,学生,研究人员和业余爱好者可以创建玩游戏的人工智能(AI)代理商。
默认情况下,BWAPI仅显示游戏状态的可见部分。 AI拒绝了回到战争雾的单位的信息。这使程序员能够编写必须在部分信息条件下计划和操作的竞争性非作战的AI。 BWAPI还默认拒绝用户输入,确保用户在AI播放时无法控制游戏单元。除非由锦标赛模块执行(AI锦标赛的游戏裁判),否则可以更改这些默认设置以提高灵活性。比赛开始时将广告更改默认值。
功能{#apapiality}
- 通过控制各个单位来为星际争霸:育雏仪编写竞争性AIS。
- 阅读游戏状态的所有相关方面。
- 分析重播逐框,提取趋势,建立订单和共同策略。
- 获取有关单元类型,升级,技术,武器等的全面信息。
- 在强大的商业RTS环境中研究和研究实时AI算法。
入门{#启动}
- 在C ++中开发机器人?然后下载最新版本。
- 如果您想在Java开发一个机器人,请遵循本教程。
- 想帮助改善BWAPI吗?分叉
develop分支。
快速启动{#快速启动}
- 安装
- 安装Visual Studio 2017
- 安装星际争霸:育雏战争
- 更新星际争霸:育雏战争至
1.16.1 - 安装BWAPI
- 编译
- 在BWAPI安装目录中打开
ExampleProjects.sln - 在发行模式下构建extepleaimodule项目
- 复制
ExampleAIModule.dll到Starcraft安装文件夹中的bwapi-data/AI
- 通过Chaoslauncher运行星际争霸
- 运行
Chaoslauncher.exe作为管理员- Chaoslauncher在BWAPI的Chaoslauncher目录中找到
- 检查BWAPI注射器XXX [释放]
- 单击“开始”
- 确保将版本设置为Starcraft 1.16.1,而不是ICCUP 1.16.1
- 与暴雪的AI进行比赛
- 转到单人- >扩展
- 选择任何用户,然后单击确定
- 单击“播放自定义” ,选择一张地图,然后开始游戏
- 对着自己进行比赛
- 运行
Chaoslauncher - MultiInstance.exe作为管理员 - 开始
- 转到多人游戏- >扩展- >本地PC
- 选择任何用户,然后单击确定
- 单击创建游戏,选择地图,然后单击确定
- 开始 - 取消选中bwapi注射器xxx [释放]让人类游戏,独自留下来使AI播放本身
- 转到多人游戏- >扩展- >本地PC
- 选择任何用户,然后单击确定
- 加入其他客户创建的现有游戏
重要链接和联系信息{#contact}
- 文档: http://bwapi.github.io/
- 存储库: https://github.com/bwapi/bwapi
- 问题跟踪器: https://github.com/bwapi/bwapi/issues
- 发行: https://github.com/bwapi/bwapi/releases
- sscait Discord: https://discord.gg/dqvhsq9
- IRC频道: http://webchat.freenode.net/?channels=bwapi
- Facebook: https://www.facebook.com/groups/bwapi/
- 链接到比赛,机器人等
竞赛{#competition}
各个场所举办了远程竞争性AI竞赛,使来自世界各地的开发人员能够参加。这些场所通常每年举行,有时会为获奖者提供奖品。这也是测试机器人功能的好方法。
- AAAI人工智能和互动数字娱乐会议(AIIDE)
- IEEE游戏会议(COG)
- 学生星际争霸AI(SSCAI)锦标赛
- BWAPI机器人梯子
问题{#issues}
与BWAPI合作时,您可能会遇到问题。以下是您可能要遵循的一些步骤以解决它们。
- 检查在
Starcraft/Errors/中找到的日志文件。 - 在IRC频道中询问以前是否有人经历过您的问题。
- 检查问题跟踪器,以查看您的问题是否已报告。
- 向问题跟踪器提交问题。一些要考虑提交的信息是
- 日志文件
- 屏幕截图
- 版本或修订号码
- 操作系统
- 复制问题的步骤
转到问题跟踪器
法律{#legal}
星际争霸和星际争霸:育雏是暴雪娱乐的商标。 BWAPI是违反最终用户许可协议(EULA)的第三方“黑客”。强烈建议在使用BWAPI之前从暴雪娱乐中购买合法的Starcraft:Broodwar。