1.microRTS(java)
microRTS是java写的跨平台的小型即时战略模拟器。
Farama-Foundation/MicroRTS: A simple and highly efficient RTS-game-inspired environment for reinforcement learning (github.com)https://github.com/Farama-Foundation/MicroRTS
部署和使用很简单
1)配置java环境
java环境变量的配置_java环境变量配置-CSDN博客
microRTS要求java8,也就是java1.8及以上版本。
2)命令行编译
先在根目录上新建一个bin文件夹
然后执行命令行编译:
javac -cp "lib/*;src" -d bin src/rts/MicroRTS.java
(我就列出windows的方法,linux的命令可以在官网上找到)
带中文翻译的项目:
GitCode -MicroRTSGitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。https://gitcode.com/gh_mirrors/mi/MicroRTS
碎碎念……至于那个说明中的jar文件——那里面的jar文件,合并之类的,我不会java结果还以为打包是必要过程……最后也没成功,原来打jar包和执行java是并行的,都可以达到目的
3)命令行执行
java -cp "lib/*;bin" rts.MicroRTS
这样就能看到两个ai在跑对战,直到结束。
或者,一般跑图形界面带编辑器的是用这个命令:
java -cp "lib/*;bin" gui.frontend.FrontEnd
2.MicroRTS-Py(python)
MicroRTS-Py是基于microRTS编写的python接口的项目,但是项目介绍上没找到说windows上是否可以编译,主要是依赖的Poetry(java转python)上没写是否在windows上能搞。
MicroRTS-Pyhttps://github.com/Farama-Foundation/MicroRTS-Py
配置包的坑是真多,尤其是版本不匹配,我留下一条可行的版本路给大家。
Prerequisites:
- Python 3.8+ (建议3.9,因为poetry要求3.7.1<= <3.10,正好剩下3.8和3.9)
- Poetry
- git(给poetry创建版本库用)
- Java 8.0+ (运行microRTS用)
- FFmpeg (for video recording utilities)
这个项目属于python利用poetry虚拟环境对java的 MicroRTS 原项目套壳。
1)安装Poetry
Poetry 是 Python 中的依赖项管理和打包工具。它允许您声明项目所依赖的库,并将为您管理(安装/更新)它们。Poetry 提供了一个锁定文件来确保可重复安装,并且可以构建您的项目以进行分发。
简介 |文档 |Poetry https://python-poetry.org/docs/官方文档有推荐用 pipx 来安装poetry,但是我发现 pipx 的安装还需要 Scoop ……我还是自己装吧。
由于我装好了python,于是我使用如下命令行
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
装完了记得配置环境变量(跟那个java一样,按照这句标亮的提示来做)
2)使用poetry
MicroRTS-Py介绍是这么说的
$ git clone --recursive https://github.com/Farama-Foundation/MicroRTS-Py.git && \
cd MicroRTS-Py
poetry install
# The `poetry install` command above creates a virtual environment for us, in which all the dependencies are installed.
# We can use `poetry shell` to create a new shell in which this environment is activated. Once we are done working with
# MicroRTS, we can leave it again using `exit`.
poetry shell
# By default, the torch wheel is built with CUDA 10.2. If you are using newer NVIDIA GPUs (e.g., 3060 TI), you may need to specifically install CUDA 11.3 wheels by overriding the torch dependency with pip:
# poetry run pip install "torch==1.12.1" --upgrade --extra-index-url https://download.pytorch.org/whl/cu113
python hello_world.py
以下不特殊说明,都是在 MicroRTS-Py 目录下执行(解压后的根目录)
0-将microRTS(java编译好的原版)放到指定位置
将标题1中编译好的microRTS放到这个位置(原版microRTS-py的这里的文件夹里是空的)
看pyproject.toml的一部分可以看出端倪
exclude = ["gym_microrts/microrts/build/*","gym_microrts/microrts/resources","gym_microrts/microrts/src","gym_microrts/microrts/data","gym_microrts/microrts/lib/*.jar",
]
1-执行 poetry install
坑: Unable to detect version control system
这个问 Copilot 解决了,需要在当前文件夹路径有git版本库
git init
然后就可以成功执行这句话了
poetry install 实际上是读取根目录下的pyproject.toml文件来装配虚拟环境的
2-执行 poetry shell
坑: ModuleNotFoundError: No module named 'tomli'
简单,pip安装之 pip install tomli 。
我依次安装了tomli、webencodings、 pexpect。最后终于运行成功
后来除了又缺包pip安装上了后……
python hello_world.py
removing E:\1projects\_GitHub\RL\RTS\MicroRTS-Py\gym_microrts\microrts/microrts.jar...
building E:\1projects\_GitHub\RL\RTS\MicroRTS-Py\gym_microrts\microrts/microrts.jar...
E:\1projects\_GitHub\RL\RTS\MicroRTS-Py
此应用程序需要适用于 Linux 的 Windows 子系统可选组件。
通过运行安装它: wsl.exe --install --no-distribution
可能需要重新启动系统才能使更改生效。
Error code: Bash/WSL_E_WSL_OPTIONAL_COMPONENT_REQUIRED
Traceback (most recent call last):
这玩意又要WSL???我为了虚拟机删除了WSL(这东西曾经把我系统区搞废了一次!吓死我了!)这东西竟然又要!
未完持续……