MicroRTS-Py 开发者指南
1. 项目介绍
MicroRTS-Py 是一个基于 Python 的开源项目,它提供了一个实时战略游戏(RTS)风格的强化学习环境。这个环境最初是作为 Gym-MicroRTS 的一个包装器,现在由 Farama Foundation 维护,并计划符合其项目标准。MicroRTS-Py 可以用于开发强化学习算法,特别适合于游戏 AI 的研究和开发。
2. 项目快速启动
在开始之前,请确保您已经安装了以下依赖:
- Python 3.8 或更高版本
- Poetry
- Java 8.0 或更高版本
- FFmpeg(用于视频录制)
以下是快速启动项目的步骤:
# 克隆项目并安装依赖
git clone --recursive https://github.com/Farama-Foundation/MicroRTS-Py.git
cd MicroRTS-Py
poetry install
# 进入项目虚拟环境
poetry shell
# 运行示例
python hello_world.py
如果您的 NVIDIA GPU 较新,可能需要安装特定版本的 CUDA。例如,使用以下命令安装与 CUDA 11.3 兼容的 PyTorch:
poetry run pip install "torch==1.12.1" --upgrade --extra-index-url https://download.pytorch.org/whl/cu113
3. 应用案例和最佳实践
训练一个强化学习代理
以下是使用 Proximal Policy Optimization (PPO) 算法训练一个代理的示例:
cd experiments
python ppo_gridnet.py \
--total-timesteps 100000000 \
--capture-video \
--seed 1
如果您想运行一个部分可观测的例子,您可以调整 partial-obs
参数:
cd experiments
python ppo_gridnet.py \
--partial-obs \
--capture-video \
--seed 1
评估训练好的代理
您可以评估训练好的代理,将其与内置的机器人进行对抗:
cd experiments
python ppo_gridnet_eval.py \
--agent-model-path gym-microrts-static-files/agent_sota.pt \
--ai coacAI
4. 典型生态项目
MicroRTS-Py 作为强化学习环境,可以集成到更广泛的项目中。以下是一些可能的生态项目:
- 开发新的强化学习算法。
- 创建自定义的机器人或智能体,与 MicroRTS-Py 环境交互。
- 构建可视化工具,帮助研究人员更好地理解强化学习代理的行为。
MicroRTS-Py 为实时战略游戏中的强化学习研究提供了一个强大的平台,期待社区的开发者和研究人员能够在此基础上构建更多有趣和实用的项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考