このプロジェクトについて
Stable Retroは、OpenAIのgym-retroをコミュニティがメンテナンスするフォークであり、クラシックビデオゲームを強化学習用のGymnasium環境に変換する。元のプロジェクトはメンテナンスモードにあるため、新しいゲームや機能はこちらで受け付けられる。
エミュレートされるシステム
このプロジェクトは複数のエミュレータコアを同梱し、Linux、Windows、Apple向けのプラットフォームサポートを文書化している。対応システムには、Atari 2600、NES、SNES、Nintendo 64、Nintendo DS、Game Boy/Color、Game Boy Advance、Sega Genesis、Master System、Sega CD、32X、Saturn、Dreamcast、PC Engine、アーケードマシンが含まれる。一部のコアには注意点がある。Nintendo 64はBUILD_N64=ONとOpenGLヘッダーが必要。Sega Dreamcastはハードウェアレンダリング(ENABLE_HW_RENDER=ON)が必要で、現在はLinuxのみ対応。Gambatte(Game Boy)はApple Silicon arm64ではデフォルトでスキップされる。
ゲームと環境
1000以上のゲームが統合されており、プラットフォーマー(Super Mario World、Sonic 2、Mega Man 2、Castlevania IV)、格闘ゲーム(Mortal Kombat Trilogy、Street Fighter II、Fatal Fury、King of Fighters '98)、スポーツ、パズル、シューティング、ベルトスクロールアクション、レース、実験的RPGなどのカテゴリにわたる。各統合には、ゲーム内変数のメモリ位置、報酬関数、エピソード終了条件、レベル開始時のセーブステート、ROMハッシュが含まれる。ROMと一部のBIOSファイルは同梱されておらず、ユーザーが入手する必要がある。retro.importコマンドがハッシュを確認し、一致するROMをインポートする。非商用のSega Genesis ROMであるAirstrikerがテスト用に同梱されている。
インストールと使用方法
Stable RetroはPython 3.10から3.14をサポートし、PyPIまたはGitリポジトリから直接インストールできる。新しいROM、ステート、エミュレータコアを統合する場合は、編集可能インストールが推奨される。プラットフォーム固有のドキュメントでは、Linux(Ubuntu/Debian、WSL2、N64およびDreamcastコアのセットアップ)とmacOS(Apple Silicon、Homebrew)を扱っている。例として、Stable Baselines3を使用してAirstriker-Genesis環境でNature CNNとPPOを訓練するものが示されており、より高度なスクリプトは外部リンクで参照できる。
ツールとドキュメント
新しいゲームを追加するための統合ツールがあり、その使い方を説明する動画プレイリストも用意されている。ドキュメントはstable-retro.farama.orgでホストされており、現在作成中と説明されている。チュートリアルでは、WSL2を使用したWindows 11や、訓練済みモデルがプレイヤー入力を上書きできるカスタムRetroArchビルドの実行を扱っている。対応スペックには、Windows 10/11(WSL2経由)、macOS 10.13/10.14、Linux(manylinux1、Ubuntu 24.04推奨)、SSE3以上のCPUが記載されている。
コミュニティと研究
貢献はCONTRIBUTING.md、GitHub Issues、Farama Foundation Discordを通じて行われる。READMEには、stable-retroに言及する学術論文がいくつか掲載されており、強化学習環境、生成的ワールドモデル、LLMエージェントのベンチマーク、ゲームAI研究にわたる。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.