安装 Python3.7(虚拟环境可自选)
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
-
test.py 单线程训练的入口,具体传参数见main函数注解
-
test_paralell.py 多线程训练入口,比上面的多加入了“线程数”和“是否为“联盟学习”,联盟学习的参数为一连串AI名,使用“,”分隔
-
evaluate.py 用于测试训练结果的程序,计算对句后的胜负平百分率
-
microrts/algo ,paper算法相关实现
-
microrts/algo/agents, 智能体做决策的统一接口(数据->决策)
-
microrts/algo/model, 模型的定义相关
-
microrts/rts_wrapper ,java相关内容的对接(包括地图、使用gym对java环境的包装等)
-
microrts/rts_wrapper/player,gym机制的底层实现
-
microrts/settings.py, 项目目录设置等
-
microrts/rts_wrapper/microrts-java.jar 由java引擎生成的jar包
- 在每次修改java程序后(比如python与java的通信机制),需要编译并生成对应的jar文件,替换- microrts/rts_wrapper/microrts-java.jar
运行java游戏引擎,通过地图编辑器编辑地图,保存文件到 microrts/rts_wrapper/maps,然后在microrts/rts_wrapper/__init__.py
中添加相应的项
位于microrts/algo均可根据效果自行调整
包含不同智能体网络的输出动作类型与其他元数据类型(例如通信的message等)
- 修改microrts/rts_wrapper/envs/datatypes.py
microrts/rts_wrapper/envs/multi_envs.py,可参考openai的实现
需要同时修改java文件中gym部分 与microrts/rts_wrapper/player模块,其他相关部分可能也会涉及,记不清了
https://link.springer.com/chapter/10.1007/978-981-15-7670-6_36