# War3AI / OpenWar3 > AI Agent のための Warcraft III 1.27 オープン API。注入型ランタイムが 50 ms ごとにマップ全体の完全な状態とイベントストリームをプッシュし、外部プログラムは約 1 フレームでセマンティックコマンドを発行できます。すべてのコマンドにレシートと理由コードが返ります。Python SDK(openwar3)は、ゲーム内の呼び方(4 文字コード、スキルのオーダー名)ですべてを記述します。 Bot を書く最短ルート:「15 のルール」と api.json の API を読み、openwar3.Bot を継承して on_start(g) / on_tick(g) / on_event(g, ev) を実装します。api.json に存在するメソッドだけを使ってください。 すべてのドキュメントを 1 ファイルにまとめたもの:https://war3ai.com/ja/llms-full.txt ## はじめに - [ドキュメント概要](https://war3ai.com/ja/docs/index.md): OpenWar3 とは何か、何ができるか。クイックスタート、最初の Bot、LLM で Bot を書く、API・プロトコル、ゲートウェイ・MCP への入口。 - [クイックスタート](https://war3ai.com/ja/docs/quickstart.md): start.bat をダブルクリックすればすべて自動でインストールされます。Farsight でゲームのディレクトリを設定し、試合を始めてサンプル Bot に操作を任せます。所要時間は約 15 分です。 - [最初の Bot](https://war3ai.com/ja/docs/first-bot.md): 10 行の最小 Bot から始めて、農民の生産、人口の確保、兵の生産、ヒーロー、出撃を加え、最後にレシートの読み方を理解します。 ## AI に Bot を書かせる - [LLM で Bot を書く](https://war3ai.com/ja/docs/ai-bot.md): プログラミングができなくても作れます。あなたはどう戦ってほしいかをはっきり伝え、コードは LLM が書きます。プロンプトテンプレートをコピーして戦い方を説明し、動かして、また直してもらいましょう。 - [Agent による自律反復](https://war3ai.com/ja/docs/agent-loop.md): Coding Agent に自分で試合を回し、結果を読み、コードを直し、また回させます。そのために必要なのは、無人で実行できるコマンド、構造化された対局レポート、そして明確な目標です。 - [LLM を戦略コーチにする](https://war3ai.com/ja/docs/llm-coach.md): 「何を貯めるか、どこに人を回すか、この 1 分は攻めるか待つか」を LLM に任せ、ルール層は実行と拒否だけを担当します。リファレンスブレインはすでにこの方式で動いています。このページではそのパターンと落とし穴を説明します。 - [LLM がツールを直接呼び出す(MCP)](https://war3ai.com/ja/docs/mcp.md): tools/war3_mcp.py は MCP サーバーです。Claude Code、Claude Desktop、または MCP に対応した任意のクライアントに登録すれば、LLM がコードを書かずに、局面を見る、コマンドを出す、画面上でプレイヤーに話しかける、カードを出してプレイヤーに尋ねる、スクリーンショットで画面を見る、といったことを直接行えます。 ## コアコンセプト - [メンタルモデル](https://war3ai.com/ja/docs/concepts.md): スナップショット、コマンド、レシート、イベント、ティック、バッチ。この 6 つの概念を理解すれば、API がなぜこの形なのか、どう書けば速くなるのかが分かります。 - [15 のルール](https://war3ai.com/ja/docs/rules.md): どれも実際の対戦で痛い目を見て得たものです。Bot を書くときに照らし合わせれば、原因調査の手間の大半を省けます。 - [フェアモード](https://war3ai.com/ja/docs/fair-mode.md): ゲームに注入したクライアントはマップ全体を読めます。フェアモードでは、Bot に見えるのは視界内のものだけになります。人間のプレイヤーと同じで、アリーナのルールとも一致します。 ## ガイド - [プロの戦術レシピ集](https://war3ai.com/ja/docs/cookbook.md): 上級者の強さの大半は、数十個の「小さな習慣」から生まれます。このページでは、よくあるプロの立ち回りを 1 つずつ SDK のコードに落とし込みます。どれもそのまま on_tick に貼り付けられます。 - [サンプル Bot](https://war3ai.com/ja/docs/examples.md): シンプルなものから複雑なものまで 4 つのサンプル。どれもそのまま動き、各ロジックが SDK の機能に対応しています。完全なリファレンスブレインもあります。 - [デバッグとパフォーマンス](https://war3ai.com/ja/docs/debugging.md): ティックが遅い、コマンドが効かない、ゲームが動かない。現象から原因を絞り込み、付属の実機検証スクリプトで確認します。 ## ゲームプレイ拡張 - [RPG コンパニオン](https://war3ai.com/ja/docs/companion.md): RPG / カスタムマップで、プレイヤーに AI の相棒をつけます。あなたについて歩き、敵との戦いを手伝い、HP が減れば回復し、話し相手にもなります。4 つのモードがあり、クラスを 1 つ継承していくつかの属性を変えるだけで、あなただけのコンパニオンになります。 - [キャンバス](https://war3ai.com/ja/docs/canvas.md): ゲーム画面にテキストボックス、パネル、プログレスバー、画像、地面に沿った円、矢印付きのルートを描きます。ランタイムが毎フレーム自前で描画し、ゲームの状態は変えないので、マルチプレイでも安全です。Python、HTTP、共有メモリへの直接書き込みのどれでも使えます。 - [UI と入力](https://war3ai.com/ja/docs/ui-input.md): キャンバス上のボタンや選択カードをクリック可能にし、ホバーで自動的にハイライトします。ホットキーの登録、地面のクリックによる位置指定、マウスが指している場所の取得、ローカルプレイヤーが何を選択しているかの把握ができます。クリック、ホットキー、スキル使用、チャット全文、プレイヤーの退出は、すべてイベントストリームに入ります。 - [JASS チャネル](https://war3ai.com/ja/docs/jass.md): マップ作者が使える 1291 個の JASS 関数を、ゲームの外から名前で直接呼び出せるようになりました。ユニット作成、属性変更、エフェクト、パネル、ダイアログ、サウンド、カメラ、霧……Farsight コンソール、コマンドライン、HTTP、Python の 4 通りの使い方があります。 - [ゲームプレイ MOD](https://war3ai.com/ja/docs/mods.md): スキームは、あなたの代わりに戦う AI だけではありません。ルール一式にもなれます。あなた自身がゲームウィンドウでプレイし、MOD が序盤の配置、敵の出現、報酬、画面上のボタンや選択カード、勝敗判定を担当します。openwar3.Mod を継承すれば、ファイル 1 つで遊び方が 1 つできあがります。 ## ツール - [Farsight コンソール](https://war3ai.com/ja/docs/console.md): ローカルの Web コンソールで、唯一の入口でもあります。ゲームディレクトリの設定、各サービスの起動と停止、ゲームインスタンスの起動と停止、次のゲームの設定、AI の思考の確認、手動命令、ディレクター、対戦記録。 - [AI スキーム](https://war3ai.com/ja/docs/schemes.md): 1 つのスキームは 1 つの完全な AI です。Farsight でワンクリックで切り替えられ、対戦中のゲームでもすぐに別の AI が引き継げます。zip でエクスポートして共有し、他の人のスキームをインポートしてテストでき、スキームごとの戦績は自動で集計されます。 - [頭上の吹き出しとローカルモデル](https://war3ai.com/ja/docs/speech.md): ゲーム内の任意のユニットの頭上に、任意の役柄で吹き出しを表示します。ローカル LLM につなげば、1 文を入力すると 1 文の返答がユニットの頭上に表示されます。 - [ゲートウェイ](https://war3ai.com/ja/docs/gateway.md): WebSocket / JSON ゲートウェイ:Python SDK で呼べる公開 API を、JS、C#、Go、Rust、ブラウザのページ、別のマシン上のプログラムからも呼べます。3 つのロールがあり、JS クライアントとブラウザ用デモページが付属します。レイテンシはファストレーンに約 1 ms 加わるだけです。 ## リファレンス - [W3P プロトコル](https://war3ai.com/ja/docs/protocol.md): ランタイムと外部プログラムの間の契約のすべて。8 つの共有メモリ、ワールド状態の読み取り、イベントの読み取り、コマンドの送信、レシート、レーンのロール、キャンバス、UI と入力を扱います。Python 以外の言語から接続する場合はこのページを読んでください。 - [レシートと理由コード](https://war3ai.com/ja/docs/reason-codes.md): 各コマンドのレシートにはステータスコードと理由コードが含まれます。これは Bot と Agent が自己修正するための根拠で、「なぜうまくいかなかったか」を機械可読な数値に変えます。 - [データの出どころ](https://war3ai.com/ja/docs/data-sources.md): データの種類ごとの取得元と精度。「何かおかしい」と思ったら、まずこのページを確認してください。 ## その他 - [よくある質問](https://war3ai.com/ja/docs/faq.md): これはチートツールですか?どのバージョンに対応していますか?AI は何を見て、何ができますか?プログラミングができなくても使えますか?…… - [利用範囲](https://war3ai.com/ja/docs/legal.md): できること、できないこと、本サイトのアクセス解析、そして商標とサードパーティのライセンスについて。本プロジェクトを使用することで、これらの範囲を守ることに同意したものとみなされます。 ## API - [api.json](https://war3ai.com/ja/api.json): 全 103 個の Game メソッド(name / category / status / latency / mechanism / signature / doc)。コードから生成 - [API カタログ(Web)](https://war3ai.com/ja/api/): 同じデータの検索可能なバージョン ## オプション - [llms-full.txt](https://war3ai.com/ja/llms-full.txt): 全ドキュメント + API カタログを一度に読めます - [利用範囲](https://war3ai.com/ja/docs/legal.md): 自分が正規に所有するクライアントでのみ使用。Battle.net やアンチチートを備えたサーバーでは使用不可