AI 对抗 AI - 街霸III
描述
DIAMBRA Arena 是一个软件包,包含了一系列高质量的环境,用于强化学习研究和实验。它提供了一个标准接口,用于流行的街机模拟器视频游戏,并提供了一个完全符合 OpenAI Gym/Gymnasium 格式的 Python API,使得其采用变得平滑且直接。
它支持所有主要操作系统(Linux、Windows 和 MacOS),并且可以通过 Python PIP 轻松安装,如下所述的安装部分。它是完全免费的,用户只需要在官方网站注册即可使用。
此外,它的 GitHub 仓库 提供了一系列示例,涵盖了主要的使用案例,只需几个步骤即可运行。
主要特性
所有环境都是基于剧集的强化学习任务,具有离散动作(游戏手柄按钮)和由屏幕像素加上额外的数值数据(如角色健康条或角色舞台侧面的 RAM 值)组成的观测。
它们都支持单人(1P)和双人(2P)模式,使它们成为探索以下所有强化学习子领域的完美资源:
可用游戏
接口化的游戏是从最受欢迎的格斗复古游戏中精选出来的。它们虽然共享相同的基本机制,但提供了略有不同的挑战,具有特定功能,如不同类型的角色和数量、如何执行连击、健康条重新充电等。
只要可能,游戏都会发布所有隐藏/奖励角色解锁的版本。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|
Dead Or Alive ++ |
Street Fighter III 3rd Strike |
Tekken Tag Tournament |
Ultimate Mortal Kombat 3 |
Samurai Showdown 5 Special |
The King of Fighers '98 Ultimate Match Hero |
![]() |
![]() |
![]() |
---|---|---|
Marvel VS Capcom |
X-Men VS Street Fighter |
Soul Calibur |
竞赛平台
我们的竞赛平台允许您提交您的代理,并在全球范围内与其他编码者在史诗级视频游戏锦标赛中竞争!
它特色一个公共的全球排行榜,用户根据其代理在我们不同环境中取得的最佳成绩进行排名。
它还为您提供了根据您代理的表现解锁酷成就的可能性。
安装
第一步
- 在 diambra.ai 注册,创建并登录您自己的账户:diambra.ai
第二步
- 安装 Docker Desktop
1. Linux: 安装指南
2. Windows: 安装指南
3. MacOS: 安装指南
确保您有权限运行 Docker。查看这里。 在 Linux 上,通常只需运行以下命令:
sudo usermod -aG docker $USER
然后注销并重新登录。
第三步
- 创建虚拟环境并激活它。
sudo apt update
sudo apt upgrade -y
sudo apt -y install virtualenv
virtualenv -p python3 venv
cd venv/
source bin/activate
- 安装DIAMBRA 命令行接口 执行下面的命令前请确认已经激活了你虚拟环境。
pip install diambra
第四步
- 安装DIAMBRA竞技场
pip install diambra-arena
第五步
- 从GitHub下载democode
- 通过
make install
或者pip install -r requirements.txt
命令安装依赖包,请参考下面的命令:
cd venv/
git clone https://github.com/OpenGenerativeAI/llm-colosseum
cd llm-colosseum/
pip install -r requirements.txt
第六步
- 创建 ROM 目录并且下载游戏ROM 并将游戏的ROM文件放到
~/.diambra/roms
目录. - 街霸III ROM 压缩包文件下载:
mkdir -pv ~/.diambra/roms
cd ~/.diambra/roms/
wget http://mgy-slm-private.chinanorth3.cloudapp.chinacloudapi.cn/sfiii3n.zip
第七步
-
下载ROM(s)并检查有效性
-
查看可用的游戏:
diambra arena list-roms
输出解压信息:
[...]
Title: Dead Or Alive ++ - GameId: doapp
Difficulty levels: Min 1 - Max 4
SHA256 sum: d95855c7d8596a90f0b8ca15725686567d767a9a3f93a8896b489a160e705c
4e
Original ROM name: doapp.zip
Search keywords: ['DEAD OR ALIVE ++ [JAPAN]', 'dead-or-alive-japan', '8078
1', 'wowroms']
Characters list: ['Kasumi', 'Zack', 'Hayabusa', 'Bayman', 'Lei-Fang', 'Rai
dou', 'Gen-Fu', 'Tina', 'Bass', 'Jann-Lee', 'Ayane']
[...]
使用游戏列表命令提供的搜索关键词在网页上搜索ROM。请注意,遵循那里报告的游戏特定说明,并将所有ROM存储在同一个文件夹中,其绝对路径将在下文中被引用为 your/roms/local/path
。
需要特定的游戏ROM文件,检查下载的ROM的有效性:
diambra arena check-roms your/roms/local/path/romFileName.zip
有效的ROM文件输出示例如下:
正确的Dead Or Alive ++ ROM文件,sha256 = d95855c7d8596a90f0b8ca157256865676d767a9a3f93a8896b489a160e705c4e
请务必查看我们的 使用条款,特别是第7节。通过使用软件,您需要完全接受它们。
第八步
- 创建一个.env文件,并用.env.example文件中的内容覆盖这个文件。
cd llm-colosseum/
cp .env.example .env
- .env文件将如下所示:
MISTRAL_API_KEY=""
OPENAI_API_KEY=""
GROK_API_KEY=""
DISABLE_LLM="False"
第九步
-
使用Ollama运行带有本地模型的竞技场。
-
确保你已经安装了Ollama,并且正在运行,同时已经下载了一个模型。 例如,运行
ollama run phi3
。 -
运行
make local
来开始战斗,或者执行以下命令:
cd colosseum/
diambra run python3 demo.py
- 如果ROM文件不在
~/.diambra/roms/
位置, 要执行脚本,运行:
diambra run -r your/roms/local/path python script.py
如果你把ROM文件放在了其他位置,用实际的路径替换 your/roms/local/path
。
如果你已经将ROM文件放在了 ~/.diambra/roms/
文件夹中,忽略 -r
选项。
示例
examples/
文件夹包含了代表最重要用例的现成脚本,特别是:
- 单人游戏环境
- 多人游戏环境
- 包装器选项
- 剧集录制
- 剧集数据加载器
这些示例展示了如何利用单人和双人模式,如何设置环境包装器并指定所有选项,如何记录人类专家演示以及如何加载它们以应用模仿学习。它们可以作为模板和起点,用于探索软件包的所有功能。
{: width="100%"}
强化学习库兼容性
DIAMBRA Arena 旨在与所有主要的强化学习库实现最大的兼容性。它原生提供了与两个最重要的包的接口:Stable Baselines 3 和 Ray RLlib,而 Stable Baselines 也可用但已弃用。它们的使用在文档和DIAMBRA Agents 仓库中有详细说明。它可以轻松地以类似的方式与其他任何包进行接口。
原生接口,安装了下面列出的特定选项,已经与以下版本进行了测试:
DIAMBRA Arena 旨在实现与所有主要的强化学习库的最大兼容性。它原生提供了与两个最重要的包:Stable Baselines 3 和 Ray RLlib 的接口,同时 Stable Baselines 也是可用的但已弃用。它们的使用在文档和DIAMBRA Agents 仓库中有详细说明。它可以很容易地以类似的方式与其他任何包进行接口。
原生接口,安装时需要列出以下特定选项,并已在以下版本中进行了测试:
- Stable Baselines 3 |
pip install diambra-arena[stable-baselines3]
(文档 - GitHub - Pypi): 2.1.* - Ray RLlib |
pip install diambra-arena[ray-rllib]
(文档 - GitHub - Pypi): 2.7.* - Stable Baselines |
pip install diambra-arena[stable-baselines]
(文档 - GitHub - Pypi): 2.10.2
参考资料
- Documentation: https://do cs.diambra.ai
- Paper: https://a rxiv.org/abs/2210.10595
- Website: https://diambra.ai</a
- Discord: https://diamb ra.ai/discord
- Linkedin: https://www.linkedin.com/company/diambra
- Twitch: https:// www.twitch.tv/diambra_ai
- YouTube: htt ps://www.youtube.com/c/diambra_ai
- Twitter: https://t witter.com/diambra_ai
使用条款
DIAMBRA Arena 软件包受我们的使用条款约束。使用它,即表示您完全接受这些条款。