すべてのフェーズに、実機での検収
「書き終えた」ことを完了とはせず、「実際の対戦で測定し、確認した」ことを完了とします。以下の各項目の根拠は、すべて 1.27 のテストインスタンスでの実機テストによるものです。
- P0
ファストレーン + SDK ファサード
完了各クライアントが専用のレーンを持ち、ロックなしで、ゲームスレッドのイベントディスパッチ内でまとめて実行。公開ファサード Game + Bot。新しいディレクトリ構成。
検収 旧チャネルと項目ごとに比較して結果が一致。並行時のレイテンシとスループット。サンプル Bot がエンドツーエンドで動作。
検証 30/30 一致6 プロセス並行で中央値 67 ms → 0.06 msスループット 88 → 3000 回/秒 - P1
セマンティックコマンド + レシート
完了移動、攻撃、採集、建設、訓練、スペル使用、スキル習得、蘇生、アイテム使用、購入……各コマンドにレシートと理由コード。SDK ファサードはこれだけを使う。
検収 実機検証スクリプトがすべて合格:すべての種類のコマンドを実際の対戦で発行し、効果を読み戻した。
実機検証 41/41(後に 73/73 に拡張)15 個のオペコード + レシート - P2
リアルタイム情報層
完了プッシュ型のワールドステート + 樹木 + イベントストリーム。マナ、クールダウン、インベントリ、バフ、攻撃中の相手がすべてスナップショットに入り、アイテムはログを経由しなくなった。
検収 これらの情報の読み取りでゲームスレッド呼び出し 0 回。旧スナップショットとユニットごとに照合。試合全体でイベントの取りこぼしなし。
ユニットごとの照合 112/112試合全体でイベント取りこぼし 01 回の収集 11.8 → 0.58 ms - P3
リファレンスブレインの移行
完了リファレンスブレイン、リフレックス層、コンソール、吹き出し、ディレクターをすべて W3P に移行。マップブロック、エンジンレベルのダメージ / キルイベント、カメラと HUD のセマンティックコマンド。
検収 実機検証がすべて合格。リファレンスブレインは試合全体でタスクエラー 0、4 つのリフレックス層モジュールもエラー 0。
実機検証 72/721 回の判断 0.15~0.56 s → 0.02~0.07 s⏳ 50 試合以上の勝率比較は未実施 - P5
権限と視点
完了レーンのロール player / observer。ユニットごとの可視性マスク。SDK のフェアモードと敵の記憶。
検収 observer の命令は拒否され、player は他人のユニットを指揮できない。フェアモードでは自分の視界しか見えない。
ロール分離を実機で確認フェアモード 4/4 - P5+
プロ向け機能の補完
完了生産表と進捗、昼夜、戦闘ステータスと相性、地上経路探索、Shift キュー / 経路 / 連続建設 / キャンセル / 地面攻撃、バッチ命令、各コマンドの実行時間。Bot マニュアル、プロ戦術クックブック、4 つのサンプル。
検収 すべての項目にオフラインテスト + 実機検証あり。
生産 12/12キュー付き命令 7/7戦闘ステータス 4/4経路探索 4/4micro_bot 5 分間で 3023 コマンド・エラー 0 - EX
ゲームプレイ拡張
完了キャンバス(ランタイムが自前で描くテキストボックス、パネル、プログレスバー、画像、地面に沿った円とルート。マルチプレイで安全)。JASS チャネル(1291 個の関数を名前で呼び出し:Farsight コンソール、コマンドライン、HTTP、Python)。RPG コンパニオンのフレームワーク(4 つのモード、追従 / 援護 / 回復、チャットコマンド、ポートレート会話、ローカル LLM のセリフ)。カスタムマップのユニット名の読み取り。AI スキーム(切り替え、エクスポート、インポート、信頼、戦績)。
検収 テストインスタンスの RPG マップで実機動作を確認:キャンバスの 1 フレームあたりのコストとユニット追従。JASS 関数を 1 つずつ効果確認。コンパニオンが試合全体を通して追従・援護・撤退し、蘇生後も追従を続ける。スキームを試合途中で切り替え、そのゲームを引き継ぐ。
キャンバス要素 9 個で 1 フレーム 0.27~0.34 msJASS チャネル 18/1894 個の関数を 1 つずつ効果確認RPG マップ 38 枚中 37 枚でユニット名を読み取り - EX+
UI と入力 · MOD · ゲートウェイ · MCP
完了UI と入力(描いたボタンや選択カードのクリック、ホットキー、地面のクリック、マウスが指している地面の地点、ローカルの選択。マウスカーソルの下に描画)。イベントの補完(スキル使用、プレイヤーの退出、選択の変化、画面メッセージとチャット全文、試合からの退出)。ゲームプレイ MOD(スキームの種類 mod、ヒーローローグライクとエンドレスディフェンスの 2 つのサンプル)。ゲートウェイ(WebSocket / JSON、開発者 / 選手 / 観戦者の 3 つのロール、JS クライアントとブラウザ用デモページ)。MCP サーバー(10 個のツール)。
検収 実際の試合で 1 項目ずつ検証:描いたボタンのクリック、ホットキー、地面のクリック、スキル使用、チャット、コンピューターの敗北判定、試合からの退出。ゲートウェイと MCP を試合につないで 1 つずつ呼び出し。2 つの MOD の主要な流れを実機で確認。Claude Code に MCP を実際に登録。
UI と入力 16/16ゲートウェイ + MCP 16/16Claude Code に 10 個のツールを実際に登録ボタンはマウスカーソルの下に描画 - v1
一般公開
近日公開ランタイム(1.27)+ Python SDK + プロトコル仕様 + リファレンスブレイン + 4 つのサンプル + 2 つのゲームプレイ MOD + ゲートウェイと MCP サーバー + Farsight コンソール、ディレクター、吹き出し + 全ドキュメントをまとめて公開。
検収 すべてのテストに合格。実機検証がすべて合格。公開前のセルフチェックリストをすべて確認。
- P4
複数バージョン対応
計画中ゲームバージョンに応じて profile(シンボル表)を選択 → シグネチャによるフォールバック → 起動時セルフチェック → 機能一覧。2 つ目のバージョンで検証。
検収 2 つ目のバージョンで機能マトリクスを自動生成し、検証済みの機能は通常どおり動作。
- P6
アリーナ
計画中レフェリープロセス + 2 つのスロット。視界フィルタリング、所有権チェック、ゲーム時間に合わせたティック、リプレイ可能な記録。WebSocket / JSON ゲートウェイはすでに完成しており、足りないのは誰もが信頼できるレフェリーです。
検収 2 つの外部 Bot が同じゲームで勝敗がつくまで対戦。
既知の未実装項目
- リファレンスブレイン移行前後の勝率比較(50 試合以上、同一バージョン)
- 機能のサーキットブレーカー:ある機能が連続して故障 → 使用不可としてマークしてイベントを発行、他の機能は通常どおり
- ランタイムログをインスタンスごとのファイルに分けてローテーション
- プログラムによる勝敗判定(アリーナ基礎実験 4)
- スキームサイト:Farsight からワンクリックでアップロード、サイトからダウンロードしてインストール、バージョンごとに勝率を集計
- コンパニオンをチャット全文につなぎ(プレイヤーが打った文字はランタイムがすでに読み取れる)、本当の意味で自由に会話できるようにする
- マルチプレイ用の同期チャネル:現在、ワールドを変える遊び方(ユニットの生成、属性の変更、ゲームプレイ MOD)はシングルプレイ専用