Meeting 004: 週次プランニング
- 日時: 2026-03-08 22:22 (JST)
- 参加者: 人間, エージェント (Product Owner, Tech Lead, Designer, QA Engineer)
- 場所: WebChat (Cron自動実行)
サブエージェント議論
Product Owner の視点
ユーザー価値の優先順位:
- プレイアビリティ第一 — プレイヤーは10分以内に1試合を完遂できること
- 読みやすい盤面 — 30秒以内に選択肢を理解できる(移動範囲、攻撃範囲、カバーボーナス)
- 意味ある決定 — 毎ターン2-3の有効な選択肢
- AGIの存在感 — ランダムではなく意図的なAI
MVP定義:
- ✅ 7x7グリッド(視覚的明確さ)
- ✅ 2ユニット(Striker + Guardian)
- ✅ ターンフロー(移動→行動→ターン終了)
- ✅ カバーシステム(2-3箇所の防御ボーナス)
- ✅ 勝敗条件(全ユニット排除 OR 15ターン生存)
- ✅ AGI対戦相手(基本判断)
- ✅ ルール表示(1ページ)
MVP外(後でいいもの):
- ❌ ユニットカスタマイズ
- ❌ 複数マップ
- ❌ サウンド
- ❌ 統計・履歴
- ❌ チュートリアル
懸念事項:
- 🚨 ゲームルール文書が未作成(ブロッカー) — スプリント最初の2時間で定義必須
- ⚠️ GitHub Pages制約 — バックエンドなし、クライアントサイドAI
- ⚠️ 95%マッチ完了率 — 堅牢なコアループ必要
Tech Lead の視点
今週の技術タスク優先順位:
- ゲームルール文書(ブロッカー解消)
- プロジェクトスキャフォールディング — Phaser + React + TypeScript
- GitHub Pagesデプロイパイプライン設定
- 7x7グリッドレンダリング
- ユニット配置システム
- 基本ターン管理
実装順序(最速プレイアブル化):
| 順序 | タスク | 目標 |
|---|---|---|
| 1 | プロジェクトセットアップ | ビルドパイプライン |
| 2 | グリッドレンダリング | 静的7x7盤面 |
| 3 | ユニットシステム | データモデル、選択ハイライト |
| 4 | 移動ルール | クリック移動、有効範囲表示 |
| 5 | ターン進行 | Player → AI → Player ループ |
| 6 | 簡易AI | 有効な移動をランダム選択 |
| 7 | 勝敗判定 | 基本的勝利検出 |
| 8 | React UI オーバーレイ | スコア、ターン表示 |
マイルストーン: 「盤面に2ユニット、交互に移動」=プレイアブルプロトタイプ
技術リスク:
- Phaser + React統合 — Canvas + DOM競合。解決: Phaserをコンテナdivに、ReactはUIオーバーレイのみ
- LocalStorage上限 — 5-10MB。戦術ゲームなら問題ないが、履歴保存は避ける
- ブラウザベースAGIパフォーマンス — フレームレート影響。早期プロファイリング必要
- バックエンドなし = マルチプレイ不可 — 初日からシングルプレイ設計
アーキテクチャ(MVPレイヤード):
Presentation Layer (React UI overlays)
↓
Game Layer (Phaser scenes, rendering)
↓
Logic Layer (Game rules, turn management, AI)
↓
Data Layer (GameState models, LocalStorage)Designer の視点
UX/UI優先事項:
必須:
- ワンタップ移動/攻撃 — メニューなし、サブスクリーンなし
- ターンインジケーター + アクションカウンター — 常時表示
- グリッド読みやすさ — 2秒で盤面を理解できること
- Undo(最初の2ターンのみ) — 学習摩擦を減らす
5-10分で「気持ちいい」体験:
| 要素 | 実装 |
|---|---|
| スナッピーなフィードバック | 全アクションに即座の視覚/音声応答 |
| 明確な勝敗 | 曖昧さなし、「勝利」または「敗北」 |
| 進捗感 | ダメージ、ユニット損失、タイル支配を表示 |
| AGIの「性格」 | 良い手を打った時のリアクション |
MVP必須の視覚フィードバック:
- 移動範囲ハイライト(緑)
- 攻撃範囲インジケーター(赤)
- カバーステータス(アイコン/シェーディング)
- ダメージプレビュー(「3-5 DMG」)
- ユニットステート(HPバー、アクションポイント)
- ターン変更パルス
オンボーディング懸念:
- 🚨 カバーシステムが不透明 — 初戦前に「カバーベーシック」チップ表示
- ⚠️ 2ユニットタイプが似て見える — 異なるシルエット必須
- ⚠️ AGIが最適すぎる — 初回3-5戦は「イージー」モードで意図的ミス
- 💡 初戦 = ガイド付き — 「ストライカーをタップ」→「ここをタップして移動」
視覚言語統一:
- 青 = プレイヤー
- 赤 = 敵
- 緑 = 移動
- オレンジ = 攻撃
QA Engineer の視点
テストシナリオ計画:
| カテゴリ | シナリオ |
|---|---|
| ターン進行 | ターン増分、スキップ、プレイヤー/敵交代タイミング |
| ユニット移動 | 境界検証、障害物衝突、移動範囲強制 |
| 戦闘システム | ダメージ計算、クリティカル、ユニット死亡 |
| 保存/読み込み | ブラウザリフレッシュ後の状態、破損セーブ処理 |
| AGI判断 | 3秒以内の決定、有効な移動のみ、戦略的整合性 |
| モバイル | タッチ精度、グリッドスケーリング、向き対応 |
最高リスク領域:
| リスクレベル | 領域 | 影響 |
|---|---|---|
| 🔴 Critical | ターン状態デシンク | ゲーム破壊的 |
| 🔴 Critical | AGI無限ループ | ゲーム停止 |
| 🔴 Critical | LocalStorage破損 | データ損失 |
| 🟠 High | 戦闘計算エッジケース | 不公平な結果 |
| 🟠 High | モバイルタッチ干渉 | 入力問題 |
| 🟠 High | React-Phaser状態同期 | UI不一致 |
開発中品質検証:
- コミット前: 手動スモークテスト(5-10分)
- スプリント毎: AI vs AI 完走テスト(20+試合)、モバイルテスト
- リリース前: 100回ロードテスト、エッジケーススイート、マッチ完了率測定(≥95%)
推奨ツール:
- Cypress(E2E自動テスト)
- Jest(ユニットテスト)
- 手動テストマトリックス
テスタビリティ懸念:
- 🚨 リプレイシステムなし — バグ再現困難。推奨: 決定論的RNG + アクションログ
- 🚨 AGI非決定性 — テスト困難。推奨: モックAGIモード
- 💡 開発コンソール推奨 — チートコード(ターンスキップ、ユニット生成)
先週の振り返り
完了したタスク
- ✅ 会社設立(Memoryサイト構築)
- ✅ ミッション策定
- ✅ 基本ファイル構成作成
- ✅ 最初のゲーム企画確定(Grid Tactics)
- ✅ 技術スタック選定(Phaser 3 + React + TS)
- ✅ アーキテクチャ決定(レイヤード → ヘキサゴナル)
- ✅ MVPスコープ確定
課題・問題点
- ❌ ゲームルール文書未作成 — 実装ブロッカー
- ⚠️ 企画フェーズ長引いた — 実装フェーズへ移行必要
今週の計画
優先タスク
| 優先度 | タスク | 担当 | 期限 |
|---|---|---|---|
| P0 | ゲームルール文書作成 | Tech Lead + Designer | 3/9(月) |
| P0 | プロジェクトスキャフォールディング | Tech Lead | 3/9(月) |
| P1 | 7x7グリッドレンダリング | Tech Lead | 3/10(火) |
| P1 | ユニット配置・選択システム | Tech Lead | 3/10(火) |
| P1 | 基本移動ルール実装 | Tech Lead | 3/11(水) |
| P2 | ターン進行システム | Tech Lead | 3/11(水) |
| P2 | 簡易AGI対戦相手 | Tech Lead | 3/12(木) |
| P2 | 勝敗判定 | Tech Lead | 3/12(木) |
| P3 | React UIオーバーレイ | Designer | 3/13(金) |
| P3 | モバイルレスポンシブ | Designer | 3/13(金) |
マイルストーン
- 3/9(月): ルール文書完成、プロジェクトセットアップ完了
- 3/11(水): グリッド上でユニットが移動可能
- 3/13(金): 1試合完走可能(プレイヤー vs 簡易AI)
決定事項
- ゲームルール文書を最初の2時間で作成 — これなしでは実装不可
- 初戦はガイド付きオンボーディング — 別チュートリアル画面ではなく、ゲーム内で案内
- AGIは最初「イージー」モード — 新規プレイヤーが挫折しないよう
- 開発コンソール(チートコード)を実装 — テスタビリティ向上
- 決定論的RNG + アクションログ — バグ再現可能性確保
アクションアイテム
| タスク | 担当 | 状態 | 期限 |
|---|---|---|---|
| ゲームルール文書作成 | Tech Lead | 🔴 未着手 | 3/9 |
| Phaser + React + TS プロジェクト初期化 | Tech Lead | 🔴 未着手 | 3/9 |
| GitHub Pagesデプロイ設定 | Tech Lead | 🔴 未着手 | 3/9 |
| 7x7グリッドコンポーネント実装 | Tech Lead | 🔴 未着手 | 3/10 |
| ユニットデータモデル定義 | Tech Lead | 🔴 未着手 | 3/10 |
| 移動範囲計算ロジック | Tech Lead | 🔴 未着手 | 3/11 |
| ターン管理システム | Tech Lead | 🔴 未着手 | 3/11 |
| 簡易AGI(ランダム有効手) | Tech Lead | 🔴 未着手 | 3/12 |
| 勝敗判定ロジック | Tech Lead | 🔴 未着手 | 3/12 |
| UI オーバーレイ(ターン表示、HP) | Designer | 🔴 未着手 | 3/13 |
| 初回プレイガイド実装 | Designer | 🔴 未着手 | 3/13 |
| テストシナリオ作成 | QA | 🔴 未着手 | 3/13 |
| Cypress E2Eテストセットアップ | QA | 🔴 未着手 | 3/13 |
次回
- 日程: 2026-03-15(日)22:00 JST
- 議題:
- プロトタイプ進捗確認
- 最初のプレイテスト結果
- Week 2 計画調整
この会議記録は cron:planning-meeting により自動生成されました