Poké-Battle について
Poké-Battle は FastAPI と Python による Pokémon ゲームです。ターン制バトルに加え、Anthropic Claude が戦闘解説、技の提案、ポケモンの個性を生成します。捕獲や対戦に AI 生成要素を取り入れたいプレイヤー向けです。
主な機能
- 01ランダムな Pokémon の捕獲
- 02ターン制バトル
- 03AI による戦闘解説の生成
- 04AI による技の提案
- 05Pokémon の個性の作成
- 06WebSocket によるゲーム状態の更新
活用シーン
- 01Pokémon を捕まえてチームを編成
- 02ランダムな相手との対戦
- 03バトル中の技の提案取得
- 04捕まえた Pokémon の生成ストーリーを確認
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ポケモンバトル
FastAPI と Python で構築されたポケモンゲームです。Anthropic の Claude AI を活用して、創造的なバトル描写や攻撃のおすすめを提供し、捕まえたポケモンに個性的な性格を付与します。
技術スタック
- バックエンド: FastAPI、Uvicorn(ASGI サーバー)
- AI 統合: Anthropic の Claude API、カスタム AI サーバー(
ai_server.py)およびクライアント(ai_client.py) - 外部 API: PokeAPI
- フロントエンド: HTML、CSS、JavaScript(FastAPI によって配信)
- 依存関係: python-dotenv、httpx、websockets、Jinja2
セットアップ手順
-
リポジトリをクローンします:
git clone <repository_url> cd <repository_directory> -
仮想環境を作成します:
python -m venv .venv -
仮想環境を有効化します:
- Windows の場合:
.venv\Scripts\activate - macOS および Linux の場合:
source .venv/bin/activate
- Windows の場合:
-
依存関係をインストールします:
pip install -r requirements.txt -
Anthropic API キーを設定します:
- ルートディレクトリに
.envという名前のファイルを作成します。 - 次の形式で Anthropic API キーを追加します:
ANTHROPIC_API_KEY=your_api_key_here
注: セキュリティのため、特に本番環境では、
.envファイルに保存するのではなく、ホスティング環境が提供する環境変数を使って API キーを管理することをおすすめします。 - ルートディレクトリに
-
AI サーバーを起動します: プロジェクトのルートディレクトリでターミナルを開き、次のコマンドを実行します:
uvicorn ai_server:app --reload --port 8000 -
メインゲームサーバーを起動します: プロジェクトのルートディレクトリで新しいターミナルを開き(必要に応じて仮想環境を有効化し)、次のコマンドを実行します:
uvicorn server:app --reload --port 8080 -
ブラウザーでゲームを開きます:
http://localhost:8080にアクセスします。
プロジェクト構成
server.py: ゲームロジックを処理し、フロントエンドを配信するメインの FastAPI アプリケーションです。ai_server.py: Anthropic API との通信を処理する FastAPI アプリケーションです。ai_client.py:server.pyがai_server.pyと通信するために使用する Python クライアントライブラリです。index.html: メインのフロントエンド HTML ファイルです。static/: 静的アセット(CSS、JavaScript、画像)用のディレクトリです(現在はディレクトリのみ存在します)。requirements.txt: Python の依存関係を記載しています。api.env: API キーを読み込む環境ファイルです(.gitignoreに追加してください)。.gitignore: Git が無視する、意図的に追跡対象外とするファイルを指定します。
機能
- ポケモン捕獲: ランダムなポケモンを捕まえてチームを編成します。
- ポケモンバトル: ランダムな相手ポケモンとのターン制バトルです。
- AI バトル描写: Anthropic の Claude が生成する、バトル中のアクションに対する創造的な実況です。
- AI 攻撃のおすすめ: バトルで使う最適な技について、AI の提案を得られます。
- AI ポケモンの性格: 捕まえたポケモンには、それぞれ AI が生成した個性的な性格や背景設定が付与されます。
- リアルタイム更新: WebSocket 経由でゲームの状態やメッセージが更新されます。
- レスポンシブ UI: 捕まえたポケモンをより見やすく表示するための基本的な UI 調整が含まれています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。