最近研究了一下如何跟 BWAPI 的 AI 对战,现把大致操作方式写一下。
首先 BWAPI 用的是某种 DLL 注入的方式运行星际争霸,比如你开了一局单人人机对战,然后你什么都不操控,配置好的 AI 会自动操控你的单位进行设定的行为——和暴雪的官方电脑进行对战。
所以目前来说 BWAPI 不能替换掉星际争霸的暴雪官方 AI;如果你需要和 BWAPI 的 AI 对战的话,就必须运行两个星际争霸程序,可以在本地双开;可以在本地开一个,在本地的虚拟机里开一个;也可以两台电脑通过局域网联机。只要在你想运行 AI 的客户端注入 DLL 启动,而在你想手动操控的客户端不注入启动,即可。
然后是简单的说明:第零步是安装星际争霸 1.16.1,这是 BWAPI 目前唯一支持的版本。
第一步是下载 BWAPI 并安装,装好以后会有两个 ChaosLauncher,一个用于单客户端,另一个用于单机双开,它们都需要管理员权限;第二步是去 [SSCAIT] 下载你想要的 AI 脚本,需要同时下载 AI 的二进制文件和相应的 bwapi.dll 文件,然后复制到星际安装目录里的 bwapi-data 下,然后在 Release 版本的 Injector 下点 config 配置,在 [ai] 下输入 ai = bwapi-data/AA.dll(其中 AA.dll 替换为你下载的 dll 文件名).
至此你在勾上注入启动星际的情形下,已经可以开一局人机检验 AI 有没有正常工作了。
如果要和 AI 对战,本地双开的情形下选择 Local PC,用两台电脑通过 LAN 联机则还需要一个叫 ipxwrapper 的工具来提供 IPX 支持,否则 win10 是不支持 ipx 协议的。下载解压好 ipxwrapper 之后,将四个 dll 文件复制到星际安装目录,然后运行 ipxconfig 选择联机所用的网卡(比如虽然你的台式机有无线网卡,但是上网方式是有线,那么台式机上就要选择有线网卡,两台电脑上都要按各自的上网方式设置),apply 应用后点 ok 关闭,根据系统是 32 位还是 64 位,双击相应的注册表文件。现在你的星际争霸就已经能通过 IPX 进行局域网联网了。
首先 BWAPI 用的是某种 DLL 注入的方式运行星际争霸,比如你开了一局单人人机对战,然后你什么都不操控,配置好的 AI 会自动操控你的单位进行设定的行为——和暴雪的官方电脑进行对战。
所以目前来说 BWAPI 不能替换掉星际争霸的暴雪官方 AI;如果你需要和 BWAPI 的 AI 对战的话,就必须运行两个星际争霸程序,可以在本地双开;可以在本地开一个,在本地的虚拟机里开一个;也可以两台电脑通过局域网联机。只要在你想运行 AI 的客户端注入 DLL 启动,而在你想手动操控的客户端不注入启动,即可。
然后是简单的说明:第零步是安装星际争霸 1.16.1,这是 BWAPI 目前唯一支持的版本。
第一步是下载 BWAPI 并安装,装好以后会有两个 ChaosLauncher,一个用于单客户端,另一个用于单机双开,它们都需要管理员权限;第二步是去 [SSCAIT] 下载你想要的 AI 脚本,需要同时下载 AI 的二进制文件和相应的 bwapi.dll 文件,然后复制到星际安装目录里的 bwapi-data 下,然后在 Release 版本的 Injector 下点 config 配置,在 [ai] 下输入 ai = bwapi-data/AA.dll(其中 AA.dll 替换为你下载的 dll 文件名).
至此你在勾上注入启动星际的情形下,已经可以开一局人机检验 AI 有没有正常工作了。
如果要和 AI 对战,本地双开的情形下选择 Local PC,用两台电脑通过 LAN 联机则还需要一个叫 ipxwrapper 的工具来提供 IPX 支持,否则 win10 是不支持 ipx 协议的。下载解压好 ipxwrapper 之后,将四个 dll 文件复制到星际安装目录,然后运行 ipxconfig 选择联机所用的网卡(比如虽然你的台式机有无线网卡,但是上网方式是有线,那么台式机上就要选择有线网卡,两台电脑上都要按各自的上网方式设置),apply 应用后点 ok 关闭,根据系统是 32 位还是 64 位,双击相应的注册表文件。现在你的星际争霸就已经能通过 IPX 进行局域网联网了。