未提供项目描述
项目描述
Stable-Retro
gym-retro('让您将经典视频游戏转换为强化学习Gymnasium环境')的分支,增加了额外的游戏、模拟器和支持的平台。由于gym-retro目前处于维护状态,不接受新的游戏、平台或错误修复,您可以将带有新游戏或功能的PR提交到stable-retro。
在gym-retro基础上增加的游戏
- 超级马里奥兄弟2日本版(失落层) - NES
- Hang On - SMS
- Punch Out - NES
- WWF摔跤狂热街机游戏 - Genesis
- NHL 94 - Genesis
- NHL 94(1对1修改版)- Genesis
- 超级悬挂 - Genesis
- 俄罗斯方块 - GameBoy
- 虚拟斗士 - 32x
- 虚拟斗士2 - Genesis
- 虚拟斗士2 - Saturn
- 街头霸王1 - Sega CD
支持两个模型相互战斗的PvP游戏
- 剑客对决 - Genesis
- WWF摔跤狂热街机游戏 - Genesis
- 街头霸王2 - Genesis
- NHL 94 - Genesis
以及已经集成游戏上的额外状态。
仿真系统
- 雅达利
- 雅达利2600(通过Stella)
- NEC
- TurboGrafx-16/PC Engine(通过Mednafen/Beetle PCE Fast)
- 任天堂
- Game Boy/Game Boy Color(通过gambatte)
- Game Boy Advance(通过mGBA)
- 任天堂娱乐系统(通过FCEUmm)
- 超级任天堂娱乐系统(通过Snes9x)
- 世嘉
- GameGear(通过Genesis Plus GX)
- Genesis/Mega Drive(通过Genesis Plus GX)
- Master System(通过Genesis Plus GX)
- 32x(通过Picodrive)
- Saturn(通过Beetle Saturn)
- Sega CD(通过Genesis Plus GX)
实验性(在fbneo分支中可访问)
- 街机
- Neo Geo(MVS硬件:1990-2004)
- 世嘉系统1(1983-1987)
- 世嘉系统16(及类似。1985-1994)
- 世嘉系统18(1989-1992)
- 世嘉系统24(1988-1994)
- Capcom CPS1(1988-1995)
- Capcom CPS2(1993-2003)
- Capcom CPS3(1996-1999)
安装
pip3 install git+https://github.com/Farama-Foundation/stable-retro.git
Apple Silicon安装(在python3.10上测试过)
- 注意:Game Boy(gambatte)仿真器在Apple Silicon上不受支持
从源码构建
pip install cmake wheel
brew install pkg-config lua@5.1 libzip qt5 capnp
echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.zshrc
export SDKROOT=$(xcrun --sdk macosx --show-sdk-path)
pip install -e .
构建集成UI
- 从源码构建包
cmake . -DCMAKE_PREFIX_PATH=/usr/local/opt/qt -DBUILD_UI=ON -UPYLIB_DIRECTORY
make -j$(sysctl hw.ncpu | cut -d: -f2)
打开 "Gym Retro Integration.app"
如何在Ubuntu和Windows上设置的教程视频: https://youtu.be/LRgGSQGNZeE
M1 Mac的Docker镜像: https://github.com/arvganesh/stable-retro-docker
示例
使用PPO在Airstriker-Genesis环境(rom已包含在存储库中)训练的'Nature CNN'模型
在Ubuntu 20.04和Windows 11 WSL2(Ubuntu 20.04虚拟机)上测试过
sudo apt-get update
sudo apt-get install python3 python3-pip git zlib1g-dev libopenmpi-dev ffmpeg
您需要安装一个支持gymnasium的稳定baselines 3版本
pip3 install git+https://github.com/Farama-Foundation/stable-retro.git
pip3 install stable_baselines3[extra]
开始训练
cd retro/examples
python3 ppo.py --game='Airstriker-Genesis'
引用
@misc{stable-retro,
author = {Mathieu and Poliquin},
title = {Stable Retro, a fork of OpenAI's gym-retro},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/Farama-Foundation/stable-retro}},
}
教程
游戏集成工具: https://www.youtube.com/playlist?list=PLmwlWbdWpZVvWqzOxu0jVBy-CaRpYha0t
Discord频道
加入这里: https://discord.gg/dXuBSg3B4D
贡献
有一个将此项目达到Farama基金会项目标准的努力。这些开发工作正在Farama基金会Discord的stable-retro
频道中进行协调。点击这里获取邀请
支持的规格
平台
- Windows 10,11(通过WSL2)
- macOS 10.13(High Sierra),10.14(Mojave)
- Linux(manylinux1)
CPU具有SSSE3
或更好
支持的Python版本:3.7到3.10
文档
文档可在https://stable-retro.farama.org/(工作正在进行中)找到
有关各个核心许可的信息,请参阅LICENSES.md
ROMs
每个游戏集成都包含列出游戏变量内存位置的文件,基于这些变量的奖励函数,游戏回合结束条件,关卡开始时的存档状态,以及包含与这些文件兼容的ROM哈希值的文件。
请注意,ROM文件不包括在内,您必须自行获取。大多数ROM哈希值来自各自的无Intro SHA-1总和。
以下非商业ROM包含在Stable Retro中用于测试目的
- 128正弦点,由Anthrox制作
- Sega Tween,由Ben Ryves制作
- Happy 10!,由Blind IO制作
- 512-Color 测试演示,由Chris Covell制作
- Dekadrive,由Dekadence制作
- Automaton,由Derek Ledbetter制作
- Fire,由dox制作
- FamiCON intro,由dr88制作
- Airstriker,由Electrokinesis制作
- Lost Marbles,由Vantage制作
stable-retro-0.9.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 240861fc4088fef00f0cee97c8d16d0ec1965827111429c4660d2405620a40f0 |
|
MD5 | 3d72264c789b0f9905646d8d97defcd1 |
|
BLAKE2b-256 | 39b3befcc36eca41c11b9491b8eb2ed22fa0a4b47810f053858455186ac530a0 |
stable_retro-0.9.2-cp310-cp310-manylinux_2_28_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 20ec47c45130e6eab28d0ee70a1823ca385ec1743b332759f688aed84129d391 |
|
MD5 | 40bc2fe9a8c57dde605a164b6e21cf67 |
|
BLAKE2b-256 | ae94072b7776cf61dc92e45f220d5980687f7a3bfb36c71ae156d7a56de32d5a |
哈希值 用于 stable_retro-0.9.2-cp39-cp39-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f7af1655f145c5b13559739950f4a2160e69a22bb8f326dbfeb2a4f1939ec0b4 |
|
MD5 | 5036787dc58e5d9e781a30a771aedd2a |
|
BLAKE2b-256 | 3ea3798679c85f320cbfbcb018b1fd93d4eee456e9f95d8e039e77b81c5a9262 |
哈希值 用于 stable_retro-0.9.2-cp38-cp38-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e17facd0484b7db527518165a0c396b7bbd5bdd68d40f5dffc05bc59d36ac39f |
|
MD5 | b27a91abe9036e88a630894070c3c76b |
|
BLAKE2b-256 | b2f0b478739d00cf68a7faf59818b903ecf5b1bb92968eb301a0b875b612daea |