概要
pokemon-agentはAI駆動型のポケモンゲームプレイエージェント。ヘッドレスエミュレーション、REST API、ライブダッシュボードを提供し、任意のLLM駆動エージェントがHTTP APIを通じてポケモンゲームを自律的にプレイできる環境を実現する。
主な機能
- ヘッドレスエミュレーション(ディスプレイサーバー不要)
- REST APIによるゲーム制御(
GET /state、POST /action、GET /screenshot) - WebSocketによるリアルタイムイベントストリーミング
- ゲーム状態の構造化解析(パーティ、バッグ、バッジ、マップ、バトル、ダイアログをJSON形式で出力)
- オプションのライブダッシュボード(ウェブGUI)
- マルチゲーム対応(Game Boy版ポケモンRed/BlueをPyBoyで、GBA版FireRedをPyGBAで実行)
- エージェント非依存設計(任意のAIエージェント、RLフレームワーク、カスタムスクリプトに対応)
技術スタック
- Python 3.8以上
- FastAPI(APIサーバー)
- PyBoy/PyGBA(ゲームエミュレーション)
- WebSocket(リアルタイム通信)
- オプション:ウェブダッシュボード用フロントエンド
導入方法
コア機能のインストール:
pip install pokemon-agent pyboy
ダッシュボード付きインストール:
pip install pokemon-agent[dashboard] pyboy
サーバーの起動:
pokemon-agent serve --rom path/to/pokemon_red.gb
基本的な使用例
任意のLLM駆動エージェントからHTTP APIを通じてゲームを制御:
# サーバー起動後、以下のエンドポイントが利用可能
GET /state # 現在のゲーム状態をJSON形式で取得
POST /action # エージェントのアクション送信
GET /screenshot # 現在のゲーム画面をキャプチャ
競合との違い
OpenAI Gym vs pokemon-agent Gymは単一エージェント向けの標準環境インターフェースを提供。pokemon-agentはポケモンゲーム環境に特化した、ヘッドレスで動作するREST API駆動型のエージェント実行基盤。
既存ポケモンエミュレータ vs pokemon-agent 従来のエミュレーターはGUIベース。pokemon-agentはAIエージェントの自律制御を想定し、HTTPインターフェースとヘッドレス実行に最適化。
自作シミュレータ vs pokemon-agent 個別に実装されたポケモン環境は再利用性が低い。pokemon-agentはコミュニティで検証可能なオープンソース実装として、AIエージェント開発の標準基盤を提供。
こんな人におすすめ
- LLMエージェントやAIプレイヤーの開発・検証を進める開発者
- ゲームAIアルゴリズムの実装・学習を目指すエンジニア
- 複雑なゲームロジックを組み込んだエージェント実験を展開したいチーム
- ポケモンゲーム環境で自律エージェントの挙動を評価・検証したい研究者