PRD(プロダクト要件)
task-splitter が管理する PRD。標準の
docs/prd.mdの代わりに、本プロジェクトの規約によりdocs/05-project/prd.mdをこの役割で使用する。 実装の順序とマイルストーンはここには書かない。 予定は陳腐化するため、ドキュメントの規約 に従って GitHub Issue 側が持つ。
ゴール
後からグラフィック・UI・サウンド・アニメーションを差し込めるアーキテクチャで、マップ探索〜複数戦闘〜クリア/ゲームオーバーまでの一通りのループを操作可能なプロトタイプとして実装する。
成功基準
機能面
- マップ(DAG)を生成し、歴史/神話/哲学/古物商の各マスを処理しながら最終層まで到達できる
- 数直線上でページをプレイし、歩の消費・面の判定・座の跨ぎによる Intent の削減・防御・綻びの全てが仕様どおり動作する
- 戦闘中を含むラン途中でセーブし、復帰後に保存前と同一のイベント列が観測できる
- 開発者モードから、任意の状態でランを開始し、プレイ中に状態を直接操作できる
- 2つの敗北条件と2つの勝利条件が、それぞれ独立に成立する
設計面
core/がシーンツリーに依存せず、GUT でヘッドレス実行できる- バランス数値の変更が
BalanceConfig(.tres)の編集のみで完結し、コード変更を伴わない - 表現層を差し替えても、状態層とイベントの契約が変わらない
体験面
- デザインピラー の5つの検証基準が観測できる
- 毎ターン、跨ぐか離れるかの選択に迷いがある
- 「歩を残してでも、ここで止まるか」で迷う
- 破りたくないページを破る瞬間がある
- 綻び倍率の高いページを見て、指が止まる
- デッキが変わると、戦い方が変わる
体験面の基準が満たされない場合、数値ではなくルールの側を疑う(バランス)。
スコープ境界
対象
- 第1幕(通常道中)相当のバトル・マップ・セーブ・開発者モード
- プレースホルダー(単純な図形とテキスト)による全画面
- 拡張可能なアーキテクチャ基盤
対象外
| 対象外 | 理由 |
|---|---|
| 本番アート/サウンド/アニメーション資産 | プレースホルダーで検証する。差し替え可能性はアーキテクチャで担保する。制作ツールの調査は Notion |
| 敵の付随効果(押し込み・重石・封鎖・加速・不動) | 類型だけでプロトタイプの検証基準は満たせる(敵の設計) |
| 中ボス(檻の維持装置) | 第2幕の装置であり、綻びの限界突破という専用ギミックと不可分。第1幕のループが成立する前に設計すると、まだ観測していない体験に合わせて数値を引き直すことになる。最終層のボスノードには通常の敵1体を強めのパラメータで置く(マップシステム) |
| タッチ操作 | 入力はマウス・キーボードのみを対象とする。タッチは入力層で吸収できる前提を置くだけで、実装はしない(アーキテクチャ方針) |
| メタ進行(ラン間の永続成長) | コアループの検証に不要 |
| バランスの追い込み | 仮値で「遊べる」水準まで。追い込みはプロトタイプ後 |
| 多言語対応・ネットワーク機能 | |
| 第2幕・第3幕とラストバトル専用システム『白紙化のハッキング』 | 第1幕のループが成立してから着手する |
| 設定・オプション画面 |
設計ドキュメント
全設計ドキュメントの索引は 設計ドキュメント索引 が持つ。ADR はそれとは別の規律(不変・ステータスあり)で管理され、専用の索引 を持つ。
技術スタック
| 項目 | 内容 |
|---|---|
| エンジン | Godot 4.7 |
| レンダラ | GL Compatibility |
| 言語 | GDScript(静的型付け) |
| テスト | GUT |
| アドオン管理 | gd-plug |
| ドキュメント | Docusaurus(Cloudflare Pages) |
主要な設計判断
方針は「ルールを増やさず、カードの効果で面白さを作る」である。 経緯・却下案・状態の一覧は ADR が持つ。
| 決定 | ADR |
|---|---|
全ページ共通のプレイコストは歩だけである(|刻 − 銘| を払う。方向は関係なく、HPはプレイでは減らない) | ADR-0022 |
| 手札は任意の順にプレイできる(同じターン中に未来側と過去側を行き来してよい) | ADR-0023 |
| 敵は幅を持たない**一点(座)**であり、座を跨いだ回数だけ Intent が消える | ADR-0024 |
| ページは未来面・過去面を持ち、発動する面は銘と刻の関係で決まる(片面しか書かれていないページは、その向きからしか出せない) | ADR-0025 |
| 手札はターンをまたいで残る(毎ターン固定枚数ドロー、上限に達するとドローが止まる) | ADR-0026 |
綻びは 距離 × ページ倍率 であり、その代償はページを永久に失うことである | ADR-0027 |
| デッキが減るのは、プレイヤーが破ったときだけである | ADR-0033 |
| 報酬の銘の軸は「中くらい/両極端」である(歴史=耐久、神話=速攻) | ADR-0029 |
| 効果は状態変数への作用の列として表現する | ADR-0030 |
| ページ固有の代償として、HPと通貨の支払いを持つページを置いてよい | ADR-0031 |
| 刻は主人公の年齢である(0〜寿命、ランを通して連続) | ADR-0003 |
| マップは幅を絞った DAG である | ADR-0007 |
| HP回復の主軸は歴史マスにある(ルート選択がビルド選択になる) | ADR-0008 |