4.4 KiB
アーキテクチャ
ゲームルールの正本は GAME_SPECIFICATION.md、状態遷移・処理順・不変条件は SYSTEM_SPECIFICATION.md、重要な判断理由は DESIGN_DECISIONS.md を参照する。本書はその仕様を現在のGodotプロジェクトへ配置するための技術構成を扱う。
責務
autoload/game_clock.gd: 1分固定Tick、11段階の処理順、速度変更、一時停止autoload/game_state.gd: 非Gold資源とUI向けGoldミラー、世界樹Rankなどの全体状態autoload/simulation_runtime.gd: Command、各Service、Domain Event、Snapshotの唯一の実行時配線autoload/event_bus.gd: UIとシミュレーション間の疎結合な通知scripts/core/: Command Queue、Transaction、決定的RNG、ID、Save、Digestscripts/world/、scripts/construction/: Cell正本、主要占有と独立した副占有、ROUTEからPathへの原子投影、密度・動的Cost付きPath Graph、Connector Queue、掘削・建築Jobscripts/facility/: 稼働状態、Queue、Service Slot、サービス境界scripts/inventory/: Stack、Reservation、物流Request、Dispatcherscripts/mana/: 歩行経路と独立した供給Network、蓄電、停電scripts/economy/: Goldの正本となる複式台帳と資源Adapterscripts/guest/、scripts/staff/: Need/Utility、実経路移動、Shift、Task Dispatcherscripts/relationship/、scripts/events/: 関係指標、Shield、Route Lock、データ駆動EventとActor Lockscripts/authority/: Heat、Incident、Evidence、監査巡回と処分境界scripts/defense/: Raid Wave、戦闘参加者、扉・設備・目的物、Active Skill、撤退と結果境界scripts/operations/: 06:00営業日締め・朝境界、需要と30分ごとの来客計画、未払・破綻をまとめる14日運営Coordinatorscripts/progression/: 累計条件、逐次Rank昇格、Map Bounds派生値、World拡張の原子境界scripts/core/save_service.gd: 原子的Save、Autosave世代、Checksum検証、Migration/Recovery入口scripts/core/performance_budget.gd: Simulation、Path、Save/Loadの診断用性能予算scripts/data/、data/facilities/、data/characters/: MVP施設16種、客8クラス×4種族、雇用候補20人、ユニーク人物の厳密な静的定義境界scenes/: 実Worldを表示する運営Dashboardと入力。ゲームルールを直接持たせない
Runtime Snapshot v6はWorldとPathに加え、excavation、spatial_subslots、route_projection、facility_infrastructureを独立した正本として保持する。復元時はSpatial、base+ROUTE、Path、Adapter、Projectorの順に候補を組み立て、全crosslinkが成立してからlive stateへ切り替える。旧v5の通路代理施設はこの候補内で実ROUTEへ移行する。
建設完成は通知を一時保留し、施設登録または通路投影と全crosslinkの検証後にだけ外部signalを確定する。途中で失敗した場合は保留通知を破棄し、Construction、World、Path、Ledger、関連Serviceを直前Snapshotへ戻してSimulationを理由付きで停止する。
マップ座標
施設の位置は (x, y, layer) で扱います。
y > 0: 地上ゾーンy = 0: 境界ゾーンy < 0: 地下ゾーンlayer = FRONT: 客が利用する表側layer = BACK: 従業員、物流、管理設備が利用する裏側
「地下だがフロントレイヤーにあるカジノ」のような組み合わせは正常です。地下とバックを同義として扱いません。
実装する単位
- S0: 決定的Simulation基盤とAtomic Save
- S1: World、A*経路、施設建設
- S2: 施設Queue、在庫、物流、Mana、台帳
- S3: 欲求ベースの客AI、シフト、Task、疲労
- S4: 関係Event、Choice、Cost予約、Content Filter
- S5: 行政・監査、Evidence、処分の冪等適用、Wave単位の防衛
- S6: 保存世代、Migration、Recovery、性能予算
実装順はSYSTEM_SPECIFICATION.mdの第22章、ゲームとしてのMVP合格条件はGAME_SPECIFICATION.mdの第18章、System TestはSYSTEM_SPECIFICATION.mdの第21章に従う。
各機能は小さなシミュレーションとしてテストを先に用意し、画面から独立して検証できるようにします。