当前位置: 移动技术网 > IT编程>开发语言>JavaScript > BWAI学习记录001_星际争霸BWAPI 4.4.0下AI(ualbertabot)配置安装

BWAI学习记录001_星际争霸BWAPI 4.4.0下AI(ualbertabot)配置安装

2020年08月10日  | 移动技术网IT编程  | 我要评论
星际争霸1真的是儿时的回忆,1999年那时候网吧都是个稀奇事物。那时本人小学,放学了偷跑去网吧,看人玩星际1.04就是一个下午。儿时最大梦想是可以有自己的电脑,不限时间玩星际争霸。2005年第一台电脑,装的第一个游戏就是星际争霸。大学毕业的时候接触到bwapi相关的东西,打开了全新的大门。随着GOOGLE对于DL,RL的突破,星际争霸这个RTS游戏界的鼻祖,又有了新的生命。为AI世界提供虚拟环境,演练算法。BWAPI:Brood War Application Programming Interface

星际争霸1真的是儿时的回忆,1999年那时候网吧都是个稀奇事物。那时本人小学,放学了偷跑去网吧,看人玩星际1.04就是一个下午。儿时最大梦想是可以有自己的电脑,不限时间玩星际争霸。2005年第一台电脑,装的第一个游戏就是星际争霸。大学毕业的时候接触到bwapi相关的东西,打开了全新的大门。随着GOOGLE对于DL,RL的突破,星际争霸这个RTS游戏界的鼻祖,又有了新的生命。为AI世界提供虚拟环境,演练算法。

BWAPI:Brood War Application Programming Interface(血巢之战程序通用编程接口)

下面是github的BWAPI解释介绍:

The Brood War Application Programming Interface (BWAPI) is a free and open source C++ framework that is used to interact with the popular Real Time Strategy (RTS) game Starcraft: Broodwar. Using BWAPI, students, researchers, and hobbyists can create Artificial Intelligence (AI) agents that play the game.

在接触BWAPI这几年里面,他的联赛,论坛,资料也是越来越多。联赛2011-2019,,

还是打算好好记录一下,学习总结BWAI。不光为了娱乐,更是为了学好AI。

以前安装过名为ualbertabot的AI,是BWAPI 4.4.0下的。今天再装一次。最后,BWAPI不是专业的程序员,对于github,C++,python不是很熟的话,只能慢慢摸索。千里之行始于足下。

步骤1:配置环境

安装vs2019社区版,最好还是使用C++进行,JAVA版本支持不好。

克隆ualbertabot,github上有。

下载一个纯净的。

下载BWAPI 4.4.0

安装Visual Studio

  1. 从Microsoft网站安装Visual Studio 2019,这可能需要几分钟
  2. 仅需要C ++开发选项

安装星际争霸

  1. 安装StarCraft:Broodwar版本1.16.1(这是唯一可以使用的版本)。
  2. 我强烈建议安装路径短且没有空格,例如 c:\Games\Starcraft
  3. 在此步骤之后连接到Battle.net或运行任何游戏修补程序都会中断安装,您需要从头开始重新安装Starcraft(注意:这是指在BW中连接到bnet,而不是现代的bnet启动器程序)

安装BWAPI

  1. 确保将BWAPI安装到目录中,目录名称中没有任何空格。这是由于在UAB项目中使用了不喜欢空格的Windows环境变量。我强烈建议将其c:\libraries\BWAPI_440作为安装BWAPI 4.4.0的目录
  2. 使用BWAPI exe安装程序,或将.7z文件提取到安装目录
  3. 将文件从BWAPI的StarCraft文件夹复制到您的StarCraft安装目录中
  4. 将文件从BWAPI的Windows文件夹复制到您的c:\Windows目录或StarCraft目录中

Windows环境变量

  1. UAlbertaBot项目利用Windows环境变量来查找BWAPI库文件的位置。这样做是为了使项目可以在任何系统上编译而无需更改项目文件本身。
  2. 打开“开始”菜单,键入,env然后出现编辑环境变量的选项
  3. 创建一个名为的Windows环境变量BWAPI_DIR。这个变量的值应该是BWAPI安装目录的完整路径(例如:c:\libraries\BWAPI_440

步骤2:编译BWAPI和UAlbertaBot

编译BWAPI 4.4.0

  1. BWAPI_DIR/ExampleProjects.sln在VS2019中打开VS解决方案文件
  2. 对于BWAPILIBBWAPIClient项目:在项目上单击鼠标右键,Properties在左侧菜单中选择,然后Platform Toolset在右侧菜单中将更改为Visual Studio 2019 (v142)。请确保对左上角选择的ReleaseDebug配置都执行此操作。由于BWAPI最初是使用VS2017创建的,因此此步骤是必需的。
  3. 右键单击并BuildBWAPILIBBWAPIClient项目。这将生成UAlbertaBot将链接到的必需的LIB文件。请确保同时在ReleaseDebug模式中构建,这是在上方工具栏中选择的。
  4. 如果正确完成,则应在BWAPI安装目录中创建两个文件夹:ReleaseDebug。这些文件夹中的每一个现在都应包含BWAPILIB.libBWAPIClient.lib,它们将由UAlbertaBot项目在下一步中通过环境变量值链接

编译UAlbertaBot

  1. UAlbertaBot/VisualStudio/UAlbertaBot.sln在Visual Studio 2019中打开
  2. 选择ReleaseDebug模式。该Debug版本的运行速度会慢得多,因为它会在调试时跟踪所有变量。如果要尽快运行漫游器,请选择ReleaseDebug模式编译速度更快,建议用于开发。
  3. 右键单击BuildUAlbertaBot项目(将创建所有项目)
  4. 编译后的可执行文件将转到UAlbertaBot/bin目录
  5. 根据是在Release还是Debug模式下编译,生成的exe文件将分别是UAlbertaBot.exeUAlberaBot_d.exe

步骤3:运行UAlbertaBot和Starcraft

为了在Starcraft中使用基于BWAPI的机器人,您必须通过ChaoslauncherBWAPI附带的程序运行Starcraft 。Chaoslauncher将BWAPI .dll文件注入Starcraft,以便它可以与您的机器人通信。Chaoslauncher的可执行文件Chaoslauncher.exe位于,并且位于中BWAPI_DIR/Chaoslauncher/。Chaoslauncher可以在系统上的任何位置运行,因此可以将其保留在BWAPI目录中,但是我建议在任务栏上为其创建快捷方式,因为您将经常使用它。还有一个多实例版本,允许您同时运行多个Starcraft实例。

  1. 确保Chaoslauncher.exeStarcraft.exe设置为以管理员身份运行。右键单击该.exe文件,选择PropertiesCompatibility>检查Run as Administrator
  2. 跑 BWAPI_DIR/Chaoslauncher/Chaoslauncher.exe
  3. 根据自己的喜好编辑UAlbertaBot配置文件。默认情况下,配置文件位于bin/UAlbertaBot_Config.txt。该文件必须与UAlbertaBot.exe。除非您熟悉漫游器及其配置,否则请跳过此步骤。
  4. 确保BWAPI 4.4.0 Injector Release在Chaoslauncher中选中了该选项
  5. 运行UAlbertaBot以下两种方法之一:1)从VS运行(通过单击Local Windows Debugger上方),或2)bin/UAlbertaBot.exe通过双击文件或从控制台运行文件来运行文件
  6. 该机器人现在应该在自己的控制台窗口中运行,Game table mapping not found每秒打印一次。这将一直持续到Starcraft使用BWAPI运行为止,届时机器人将自动连接到Starcraft并运行
  7. Start在Chaoslauncher中单击以运行《星际争霸》,游戏开始时UAlbertaBot将连接
  8. 第一次执行步骤7时,Chaoslauncher可能会抱怨它不知道Starcraft的安装位置。单击Settings窗口顶部的选项卡,然后编辑Installpath目录。
  9. 星际争霸里面使用开始游戏Single PlayerExpansionPlay Custom,选择任何标准的多人地图和使用Melee设置启动。注意:漫游器不能与多个对手一起使用,也不能与单人游戏一起使用。

注意:默认情况下,bot可执行文件UAlbertaBot.exe已编译并放置在binUAlbertaBot项目的目录中。该文件实际上可以从系统上的任何位置运行,但是它必须与bot的配置文件位于同一目录UAlbertaBot_Config.txt中,默认情况下,该文件也位于该bin目录中。

步骤4.开发周期

首次启动并运行所有功能后,建议您使用以下工作流程:

  1. 在开发过程中保持Chaoslauncher打开,没有理由将其关闭
  2. BWAPI.ini文件编辑为AUTO_MENUon,以便您不必在每次运行游戏时都选择Starcraft设置(请参见下文)
  3. 在VS中更改代码后,只需单击Local Windows DebuggerVS中绿色箭头旁边的按钮即可运行漫游器,然后在Chaoslauncher中单击“开始”。这将首先运行UAlbertaBot,然后启动Starcraft
  4. 最后,必须先关闭Starcraft和UAB,然后才能再次编译bot。您只需关闭“星际争霸”窗口即可,该窗口将自动停止该UAlbertaBot.exe过程。

开发者注意:开发机器人并不得不多次运行时,手动导航Starcraft菜单变得非常繁琐。您可以配置BWAPI.ini文件以使用该AUTO_MENU功能,该功能将使用您的输入设置来自动选择要玩的地图和种族。我建议在开始进行bot开发之前,先使其工作。要编辑BWAPI.ini文件,请先BWAPI 4.4.0 Injector [RELEASE]在Chaoslauncher内部选择,然后单击Config右侧的按钮。这将Starcraft/bwapi-data/BWAPI.ini在记事本中打开文件。

有关BWAPI配置文件的完整详细信息,请点击此处

感谢UAlbertaBot原作者写的安装说明。

本文地址:https://blog.csdn.net/ls13552912394/article/details/107876322

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网