Files
TheTree_mock/docs/DEVELOPMENT_PLAN.md
T

153 lines
22 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# The Tree 全体制作計画
作成日: 2026-09-09
基準: The Tower SPを参考にしたドット絵の断面経営ゲーム。ローカル制作版を正本とする。
状態: 2026-09-09 ユーザー承認済み。P0の基準点整備を完了し、P1の通常営業の最小ループを実装・単日確認済み。有料仕入れ・厨房・実配送を通常UIへ接続し、部品・UI・配送途中保存の検証は合格。通常予算からの供給込み3営業日も45項目合格。価格・営業Policy、性能と初見試遊は継続課題。
## 1. 目指す体験と計画の前提
プレイヤーが施設と動線を設計し、自律的な客・従業員の営みを観察し、混雑や経営上の問題を改善する。世界樹の地上/地下と、客用FRONT/業務用BACKが、その判断に意味を持つ。小さな人物が動く断面を主画面とし、管理画面は判断に必要なときに開く。
直近の目標を「初見で30分遊べる宿」、次を「14ゲーム日を遊び切れるMVP」、その後を「製品版」とする。既存仕様の本編20~30時間、全要素50時間以上は製品版の設計目標であり、現状の達成実績ではない。序盤の試遊で実際の面白さと進行速度を確かめてから、後半の制作量を見積もる。
仕様の正本は [GAME_SPECIFICATION.md](GAME_SPECIFICATION.md)、状態・保存の規約は [SYSTEM_SPECIFICATION.md](SYSTEM_SPECIFICATION.md)。仕様との相違を修正する際は [DESIGN_DECISIONS.md](DESIGN_DECISIONS.md) に根拠を残す。計画に書いた案を、既存ルールの変更確定として扱わない。
締切・制作人数・専用素材の発注範囲は未指定のため、現時点では暦日の納期を約束しない。P1の通常運営確認とP2の縦移動試作を終えた時点で、実績に基づく作業量・日程を更新する。進捗はファイル数やテスト数だけでなく、各段階の完成条件で判定する。
## 2. 現在地
| 領域 | 確認できていること | 次に埋める差 |
|---|---|---|
| 外観・操作 | ドット断面、家具、Kenney人物の簡易歩行、状態表示、コンパクトUI、ズーム・パン | 専用動作、施設ごとの視認性、混雑・稼働の見せ方、実描画性能 |
| シミュレーション | 時間、建設、在庫・物流、経済、客AI、従業員、イベント、監査、保存の基盤 | 自律厨房生産・補充・配送と通常操作の接続。各Serviceの存在と日常運営の完成を区別 |
| 縦移動 | Path側にConnector・Queue等の部品が存在 | 階間の通常隣接経路抑制、建設との接続、昇降・乗降、保存復元の統合 |
| 見学版 | 実施設7件と通路、従業員4人、自然来客が動く | 見学は食材32個を用意した保存なしの再現場面。通常ゲームの完成とは区別 |
| 運営UI | 建設・掘削・雇用候補・継続配属/勤務変更・施設情報・開業の手引き・日次帳簿・イベント選択・手動保存。通常初期予算で最小宿の単日成立と保存復元を確認 | 実通勤・到着後の稼働、仕入れ・在庫、価格・営業方針、保存枠、3営業日の継続運営 |
| 長期検証 | 24時間の統合検証、14日の運営境界比較等は実装記録あり | 全AIを含む20,160分の実Tick、各A/B比較、実描画を伴う負荷確認 |
| 制作管理 | P0完了。ローカル正本を基準コミット `423fd6d` と完全履歴bundleへ保存。別ディレクトリ復元、Godot読込、Pixel回帰238項目を確認し、復旧手順と課題台帳を整備 | 今後の統合ごとに検証済み基準点とバックアップを更新する。元Drive版との全内容照合は未完了のため復旧候補として保持 |
直前の外観改修では起動確認とUI・カメラの359項目が通過した。この計画作成時に全システムテストを再実行したわけではなく、359項目の結果も14日MVPやWindows性能の合格を意味しない。
[IMPLEMENTATION_STATUS.md](IMPLEMENTATION_STATUS.md)、[PLAYTEST_GUIDE.md](PLAYTEST_GUIDE.md)、[UI_OPERATION_SPECIFICATION.md](UI_OPERATION_SPECIFICATION.md) はP0で現在のドット断面と開閉式UIへ同期した。現在の外観・操作は [PIXEL_TOWER_VISUALS.md](PIXEL_TOWER_VISUALS.md)、復旧方法は [RECOVERY_GUIDE.md](RECOVERY_GUIDE.md)、実装・未接続・仕様差・検証残は [DEVELOPMENT_BACKLOG.md](DEVELOPMENT_BACKLOG.md) に記録する。P1の最小営業は単日受入・専用保存復元を確認した。初期Gold 5,000/資材50から受付1・客室2・通路7・アカネ1人で、自然来客の宿泊売上320G、翌06:00の給与120G、未払0、帳簿照合一致。受付売上6,020G・全体利益6,040Gは価格・会計仕様の調整対象であり、バランス合格や補給・厨房・配送込みの3営業日完成ではない。最終の既存全自動テスト構成ターゲットも成功終了。詳細は [P1単日検証記録](qa/P1_FIRST_OPERATING_DAY.md) を参照。
追加進捗: 商品の3タブ、有料原料購入、厨房の自主生産、porterの実歩行による搬入・搬出、期限/容量/障害時の貨物保全を接続した。Runtime v7で厨房計画と配送途中の保存を扱い、旧v6も移行する。仕様差と検証範囲は [供給検証記録](qa/P1_SUPPLY_CHAIN.md) を参照。
## 3. 段階別の制作計画
| 段階 | 目的・主な成果 | 依存 | 完成条件 |
|---|---|---|---|
| P0 制作の基準点 | ローカル正本、Git基準コミット、再現手順、仕様と現状の差分一覧 | なし | 同じ版を復元して起動・試遊でき、優先課題に根拠と確認方法がある |
| P1 最初の宿を経営 | 通常開始、建設、雇用と配属、厨房・仕入れ・配送、価格、日次収支、保存 | P0。単一階部分はP2と並行可 | デバッグ操作や見学用在庫に頼らず、画面操作だけで3営業日を運営・保存再開できる |
| P2 上下移動と混雑 | 客用・業務用の基本昇降機、階間経路、乗降と行列、混雑の可視化 | P0 | 3階以上で実乗降し、設備・動線の改善で待ち時間と離脱が減る |
| P3 暮らしと導入体験 | 歩行・接客・食事・清掃・運搬等の動作、施設美術、音、序盤ガイド、使いやすさ | 素材調査はP0から。完成判定はP1・P2後 | 初見30分で建設・雇用・営業・動線改善を一巡し、人物の行動と問題の理由を理解できる |
| P4 The Tree固有の判断 | 地下掘削と営業、FRONT/BACK改善、昼夜シフト、Heatと監査、人物関係 | P1・P2。P3と反復 | 合法/地下、表/裏、人物配置の選択に観測できる利点と代償がある |
| P5 14日MVP | ランク1~3、16施設、人物・客データ、14日シナリオ、調整と受入 | P1~P4 | 既存MVP合格条件とS14実Tick・A/B比較・保存復元・描画性能を満たす |
| P6 製品版への拡張 | ランク4~7、拡張施設、研究・投資・探索等、物語と結末、正式素材 | P5と試遊評価 | 既存製品仕様の必要機能と本編が通しで遊べ、後半にも新しい判断がある |
| P7 配布・発売準備 | Windows配布物、設定、セーブ枠、互換性、長期QA、製品情報・素材整理 | 配布試験はP1から。出荷判定はP6後 | クリーンな対象PCで導入・起動・継続でき、出荷を妨げる不具合がない |
最短の依存経路は P0 → P1+P2 → P3の序盤合格 → P4 → P5 → P6 → P7。アート・音・検証シナリオの準備は、依存するルールが固まったものから並行する。
## 4. 優先タスクと実装単位
### P0:基準点を残す
- **BASE-01** 現行ローカル版の変更一覧・生成物・外部素材ライセンスを確認し、Git初期コミットとバックアップ復旧手順を用意する。元Drive版は照合が終わるまで復旧候補として残す。
- **BASE-02** 通常開始・見学・テスト・Windows書き出しのコマンドを整理し、現状記録と試遊ガイドをドット版へ更新する。
- **BASE-03** 「実装済み」「画面へ未接続」「仕様との相違」「未検証」を分けた課題台帳を作る。UIの準備中項目を製品機能の完成として数えない。
### P1:通常プレイで運営を完結させる
- **PLAY-01** 初期資金・資材で成立する序盤手順を検証する。受入用の初期施設一式と通常初期予算の整合を確認し、配置済み施設・初期支給・建設費の扱いを明記する。受付、客室、食堂、厨房、必要な通路と従業員を、通常の建設・雇用コマンドで整える。
- **PLAY-02** 雇用後の施設配属、再配属、日勤/夜勤、休憩、人員不足の確認を画面から操作できるようにする。
- **PLAY-03** 仕入れ→倉庫→厨房→接客施設→消費の一巡を確立する。発注費、欠品、容量超過、期限切れ、配送失敗を同じ経営ループで扱う。
- **PLAY-04** 食堂の消費物と厨房の生産物を仕様・データ・実装で揃える。客の注文を前提としない厨房生産の実行経路を接続する。現状の食材消費と、仕様の料理ポイント/食器の差を調べ、採用方式と移行を設計判断に残す。
- **PLAY-05** 価格、営業/休業、施設別売上・費用、給与、未払、前日差を操作・比較できるようにする。受付の直接収入の有無、宿泊の入金時点、各施設の価格・所要時間、維持費等の支出・分類も正本と揃える。「お金が減った理由」を確認できるUIを作る。
- **PLAY-06** 途中保存と再起動後の続行を通常フローに組み込み、建設中・配送中・行列中の状態を検証する。
最初に翌朝までの1営業日を通し、昇降機の実装と並行して仕入れ・生産・配送を広げる。段階全体の完成条件は、見学用コマンドや無料補充を使わず3営業日を続けられ、欠品・人手不足・経路不足に対処できること。黒字にできる基準手順と、改善を怠ると悪化する比較手順を両方残す。
### P2:The Tower SPを参考にした縦移動の核
- **MOVE-01** 同一階の徒歩、垂直接続、FRONT/BACK接続の経路規則を整理する。設備がない階へ隣接セルだけで通れてしまう経路を抑制する。既存の通路・保存との互換方針を先に決める。
- **MOVE-02** 昇降路・停止階・車両定員・待機要求を扱う最小運行モデルを作り、既存PathのQueue部品へ接続する。最初は基本運行1方式とし、高度な複数方式・ワープはMVP外とする。
- **MOVE-03** 施設建設・延伸・撤去・客用/業務用の権限を統合する。建てられるが乗れない状態を残さない。
- **MOVE-04** 待つ→乗る→昇降→降りるを描画する。乗客が徒歩と車内に同時表示されないよう、運行状態に結び付ける。
- **MOVE-05** 停止・満員・撤去・経路変更・保存途中の乗客を検証する。永久行列、重複乗車、閉じ込めを解消する。
- **MOVE-06** 同じ需要・施設数・乱数で、移動設備の改善前後を比較する。人物の数を減らさずに待ち時間が改善することを画面と数値で示す。
- **MOVE-07** 継続配属計画から勤務先への実通勤を生成し、到着後に施設人員として稼働するよう接続する。現状は経路の存在を事前検証して論理配属するだけで、配属操作では位置を変えない。移動中・不到達を到着済み人員として扱わず、再配属・夜勤・保存復元を確認する。
この段階で、階数を増やすほど移動設計が重要になることを確かめる。移動が面白くなる前に、多数の施設や後半シナリオを量産しない。
### P3:眺める楽しさと初見の遊びやすさ
- **LIFE-01** 歩く/待つ/利用する/眠る/清掃する/運ぶ/休憩するの意味を、実状態と動作一覧で定義する。向き、足元、利用位置、車内表示の基準を固定する。
- **LIFE-02** 共通人物で専用の歩行・作業フレームを先行制作し、縮小・拡大・混雑で確認してから職種・客層へ展開する。髪色や衣装だけでなく、仕事道具と行動で識別できるようにする。
- **LIFE-03** MVP16施設を「外形と家具で種類が分かる」「営業・混雑・故障が分かる」という順で仕上げる。世界樹は成長・地下・昼夜による変化を加える。
- **LIFE-04** Kenneyを優先してUI音・環境音・汎用素材を選び、足りない固有部分を制作する。音量設定を用意し、頻繁な効果音が重ならないよう調整する。
- **UX-01** 建設可能範囲、費用、接続、必要人員、欠品の案内を揃える。配属・在庫・会計など、日常の判断を少ない操作で行えるようにする。
- **UX-02** 建築と経営の序盤ガイドを作る。既存のDay 1~5解禁表との整合をとり、説明の再閲覧、スキップ、失敗からの回復を用意する。
- **UX-03** マウスに加え、トラックパッドや中ボタンのない環境でもパン・ズームできる代替操作を整える。日本語可読性、拡大時のドット、色以外の状態表示を確認する。
完成条件は初見試遊で「建てる→人が来る→困りごとを見つける→改善する」を30分以内に経験できること。操作が分からず止まった箇所と、判断に必要だった情報を記録して改善する。
### P4:地下・裏方・人物関係を結び付ける
- **TREE-01** ランク1→2→3、地下掘削、支え、施設解禁の導線を接続する。地下とBACKを混同しない表示と説明を作る。
- **TREE-02** 裏方の搬送・厨房・勤務経路を改善すると、表の混雑や接客待ちも改善するよう、同一条件の比較で検証する。
- **TREE-03** 地下営業の追加収益、Heat、監査予告、対策費を見える形でつなぐ。地上・地下のどちらか一方だけが常に有利になる調整を避ける。
- **TREE-04** MVPのヒロイン1人・ライバル1人について、配置・同一勤務・接触からイベントが生まれる実接続を完成させる。
- **TREE-05** 人物配置の事前警告、関係変化の理由、重要分岐の確認、イベント後の復帰を一巡させる。本文・肖像・会話演出は少数イベントで形式を決める。
- **TREE-06** 成人向けコンテンツの設定と代替イベントを接続し、設定を変更しても14日の進行が途切れないことを確認する。
### P5:14日MVPを合格させる
範囲は既存仕様に合わせる。14ゲーム日、ランク1~3、地上・境界・地下、FRONT/BACK、施設16種、客8クラス×4種族、自由雇用候補20人、同時活動客100人、描画試験の従業員30人、ヒロイン1人とライバル1人、昼夜勤務、清掃・物流・警備・Mana、決算・監査・保存・コンテンツ設定を対象とする。
- **MVP-01** Day 1~3の開業、Day 4~6の混雑、Day 7の保存、Day 8~10のBACK改善、Day 11~13の地下営業、Day 14の結果を通す。
- **MVP-02** 全AI・イベント・監査・経路移動を含め20,160分を省略せず実行する。途中保存を挟んでも最終状態が一致することを確認する。00:00の暦日境界と06:00の営業日決算境界は、両方を独立した保存再開試験として残す。
- **MVP-03** [MVP_ACCEPTANCE_SCENARIOS.md](MVP_ACCEPTANCE_SCENARIOS.md) の混雑・BACK・合法/地下・関係の比較を満たす。特に混雑改善の移動P95 15%以上短縮、BACK物流の中央値20%以上短縮などの既存境界を使う。
- **MVP-04** 具体的なWindows 11基準機を決め、100客+30従業員の実描画を計測する。既存受入は1280×720、x1/x4、平均55fps以上・1% low 45fps以上・入力反映100ms以下である。製品仕様の1920×1080で通常60fps・最低30fpsの目標は別に測る。停止時間、保存サイズと日次処理も確認する。シミュレーションのみの負荷試験を描画性能の代用にしない。
- **MVP-05** 初見プレイヤーが30分以内に「地上/地下」と「FRONT/BACK」の違いを説明でき、14日完走後に自分の改善判断を振り返れるか試遊する。
### P6・P7:製品版を作って配布できる形にする
MVP後、試遊で残った課題と既存の製品仕様を照合して後半を区切る。全体エンディングは仕様§3.1の3種と§3.6の4種で記述が異なるため、台本量を確定する前に整理する。ランク4~7、拡張施設、研究・投資・探索、人物と物語、各結末を、遊べる章またはランク帯ごとに追加する。ヒロイン全員や大量のイベントを一括発注する前に、1人分の実装・文章・アート・QAの制作量を測る。
タイトル画面、ニューゲーム、続きから、設定、手動10枠と自動3世代の保存UI、回復候補の提示、操作説明、クレジットを製品フローへ統合する。Windows書き出し・入力・日本語表示・初回起動・保存先・DPI・低性能GPUの確認は小規模なうちから行い、最終段階で初めて試さない。
仕様の時間倍率から、14日は停止なしのx1で168分、x4で42分になる。本編20~30時間と14日MVPは別の検証単位とし、操作・観察・会話・待ち時間を分けて実測する。後半を単なる資金待ちや同じ建築の反復で引き延ばさない。
販売先、価格、正式タイトル、音声・翻訳、製品用の告知素材は別途決定する。選定した配布先の最新要件は、その時点で確認する。計画作成のために発売日や販売先を推測して固定しない。
## 5. 並行作業と変更の進め方
- **本体実装**は一度に主機能を1つ進める。共有されるRuntime・Path・保存形式の変更は順序を揃えて統合する。
- **素材制作**は、確定した表示寸法・状態一覧から着手する。Kenney調査、ライセンス記録、共通動作、固有素材の順に進める。
- **QA・試遊**は実装と並行して確認シナリオを準備する。機能変更では意味のある失敗・再開・保存ケースを確認し、単純な装飾変更に過剰なテストを増やさない。
- 各作業は「問題・プレイヤーへの変化・依存・担当ファイル・完成条件・確認結果」を残す。レビュー後に小さく統合し、動く基準点を維持する。
- 大きいMain/WorldPreview/Runtimeは追加する機能の境界に合わせて少しずつ分割する。全体を書き直す作業を前提にしない。
- 機能追加のたびに、通常開始と見学の両方を確認する。見学だけで動く実装を通常ゲームの完成としない。
## 6. 優先するリスクと対応
| リスク | 対応する段階・方針 |
|---|---|
| 上下の通路が昇降機を迂回し、移動設計に意味が出ない | P2で階間経路の規則を先に直す。保存互換と閉じ込め復旧を同じ変更で扱う |
| 本体には処理があっても画面から使えない | P1の通常開始3日運営を基準に、配属・仕入れ・経営操作を優先する |
| 仕様と仮データがずれたまま施設を増やす | P1で厨房・食堂の入出力と役割を揃え、安定した型から横展開する |
| 見た目の完成と長期運営の完成を混同する | 各段階の完成条件、実Tick受入、初見試遊を別々に記録する |
| ドット表現が増えると描画が重くなる | P3から可視範囲・更新頻度・動作数を計測し、P5でWindows実機の負荷条件を満たす |
| 施設・人物・文章の量産が先行して修正量が膨らむ | 基本運行1方式、MVP16施設、人物関係1組で先に形式と面白さを確かめる |
| 旧版を戻せず保存データも読めなくなる | P0の版管理、保存形式変更時の移行、更新前バックアップ、途中再開テスト |
## 7. 次回の着手順
1. **BASE-01~03(完了)**:復元可能な基準点と課題台帳を維持し、今後の統合ごとに更新する。
2. **PLAY-01~02、PLAY-05の最小部分(単日確認済み)**:建てる→雇う・継続配属→自然来客の宿泊→翌朝給与・決算→保存復元を確認。全体回帰と会計仕様差の調整を続ける。
3. **MOVE-01~03、MOVE-07**:階間経路、基本昇降機の建設・運行、配属後の実通勤・到着後稼働を接続する。
4. **PLAY-03~04**:厨房生産・発注・実搬送を、確定した配属と会計へ接続する。ルール確定後の素材・UI部分は縦移動の制作と並行できる。
5. **MOVE-04~06、PLAY-05~06**:断面アニメーション、混雑改善、停止・撤去・保存再開、3営業日の継続運営を確認する。
6. **LIFE-01~04、UX-01~03**:専用動作と説明・音・日常操作を整え、初見30分の試遊へ渡す。
最初のレビューは「通常操作だけで初売上と翌朝の決算を迎える宿」。次のレビューは「3階の宿を客が昇降機で往復し、混雑を改善できる場面」とする。機能・見た目・操作を一緒に確かめ、以後の日程と素材制作量を更新する。