Capture current source, content data, tests, asset licenses, and original-specification traceability. Original implementation remains incomplete. The accepted matching UI generation passed 154 suites and 12,253 checks, with eight rendered staff-contract screens reviewed. Latest native Windows and full-original acceptance remain outstanding.
68 lines
6.6 KiB
Markdown
68 lines
6.6 KiB
Markdown
# ドット絵表示と見学ガイド
|
|
|
|
2026-09-09時点。『The Tower SP』を参考に、世界樹の断面・施設の内装・小さな人物の営みを中心に見せる。ゲームルールや通常の新規ゲーム条件は変更していない。
|
|
|
|
## 起動と確認
|
|
|
|
ローカル制作フォルダで実行する。
|
|
|
|
```sh
|
|
make preview-pixel # 建設済みの宿を操作して眺める
|
|
make capture-pixel # 時間差の画面2枚と状態JSONを保存
|
|
make test-pixel-ui # ドット表示・カメラ・実施設クリックの回帰確認
|
|
```
|
|
|
|
`make run`は通常ゲームを起動する。`make preview-pixel`は、受付・食堂・厨房・客室と上階通路を組み、雇用した従業員と実際の来客で運営する専用見学モードである。起動時に施設の建設と時間進行を行うため、準備に少し時間がかかる。
|
|
|
|
見学は保存なし。自動保存を無効にし、画面の保存・読込ボタンも無効にする。通常の新規ゲームを完成済みの宿へ置き換えない。見学用の食堂には食材32個を明示的に用意し、通常の在庫処理で消費させる。
|
|
|
|
キャプチャは`artifacts/pixel-tower/pixel-tower.png`、`pixel-tower-later.png`、`pixel-tower-state.json`を生成する。既定では18ゲーム分を隔てた2枚となり、実際の客・従業員・営業状態をJSONと照合できる。PNG出力には描画可能なデスクトップ環境が必要。
|
|
|
|
## 操作
|
|
|
|
| 操作 | 動作 |
|
|
|---|---|
|
|
| 上部の来客ボタン | 客を選び、四欲求・所持金・忍耐・現在の目的地を確認 |
|
|
| ホイール | カーソル付近を基準に拡大・縮小 |
|
|
| 中ボタンドラッグ | 断面を移動 |
|
|
| 画面移動ボタン → 左ドラッグ | 断面を移動。再度ボタンを押すかEscで解除。建設・掘削選択時も解除 |
|
|
| 営業階 | 現在の層の建設済み施設にカメラを合わせる(最大200%) |
|
|
| Home | 全体表示へ戻す |
|
|
| G | 格子と混雑表示を切り替え |
|
|
| B | 建築パレットを開閉 |
|
|
| I | 運営・選択中施設の詳細を開閉 |
|
|
| H | 雇用候補を開閉 |
|
|
| Tab | 客用の表層 / 裏方の裏層を切り替え |
|
|
| E / R | 掘削モード / 建築物を回転 |
|
|
| Space / 1・2・3 | 停止・再開 / 時間倍率を変更 |
|
|
| Esc | 雇用候補・使用中のツールを解除。ツール未使用時はパネルも閉じる |
|
|
| 施設をクリック | 営業・待機列・人員などの実状態を右側に表示 |
|
|
|
|
初期状態では建築パレットと運営詳細を閉じ、空の宿は入口付近を200%で表示する。施設がある場合は施設範囲へ合わせる。プレイ中は自動でカメラを追従させず、必要な時に「営業階」を押す。詳細はマップ右側に重ねて開く。判断が必要なイベントは詳細パネルを開き、選択肢を表示する。案内は下部に常時表示する。
|
|
|
|
## 現在の表示
|
|
|
|
- 世界樹、空、幹、葉、床と室内をドット主体で描く。受付のカウンター、客室のベッド、食堂の卓、厨房などを施設ごとに描き分ける。
|
|
- Kenneyの[Tiny Dungeon](https://kenney.nl/assets/tiny-dungeon)と[Tiny Town](https://kenney.nl/assets/tiny-town)を人物・小物・庭木に利用する。16×16px素材、Nearest、Mipmap無効で表示する。配布元とCC0ライセンスは[素材一覧](../assets/kenney/README.md)と各パックの`License.txt`に記録している。
|
|
- 客と従業員はRuntime上の実在人物で、移動元と現在セルの間を補間する。独自の横向きドット人物の歩行・待機・食事・睡眠・清掃・作業・運搬ポーズで表現する。停止中はアニメーションも止まり、人物位置は確定セルを表示する。
|
|
- UIは濃緑・クリーム・木色の小さな平坦な枠を使用する。従来の高解像度生成背景・人物Bust・装飾Skinは現在のマップに使用しない。小型のUIアイコンは既存Theme参照を残す。
|
|
- ズーム・移動・表示レイヤー・格子の切替は描画側だけで扱う。建築の占有セルや保存データの形式は変えない。
|
|
|
|
## 制約と次の制作
|
|
|
|
- 人物は `pixel_people.gd` の独自ポーズを使う。Kenneyは家具・小物などに使用し、原作ゲームから抽出した画像は配布物に含めない。
|
|
- エレベーターは実運行・乗降と連動する。待機者は歩ける乗り場の外側へ並べ、実乗客はかご内だけに描画する。定員・満員・停止と待機人数を表示する。入りきらない人数は重ねず「他N人」で示す。
|
|
- 見学は在庫を用意した再現用の運営場面であり、収支・配送・混雑の完成度を保証する受入試験ではない。キャプチャにはその時点の実状態が出る。
|
|
- 施設ラベルは表示幅・選択・ホバーに応じて省略する。大きい世界を全体表示すると縮小されるため、人物の動きはズームして確認する。
|
|
|
|
表示の主な実装は`scenes/main/world_preview.gd`、専用の家具描画は`scripts/ui/pixel_tower_art.gd`、UIは`scenes/main/main.gd`。見学シナリオは`scripts/ui/pixel_tower_demo.gd`、出力処理は`tests/ui/capture_pixel_tower.gd`にある。回帰テスト`tests/ui/test_pixel_tower.gd`は実受付の建設・完工を経由して、ズームと移動後の占有セル命中、表裏の選択、地下を含む座標往復、停止時アニメーション、描画操作前後のシミュレーションダイジェスト不変を確認する。
|
|
|
|
接客・宿泊サービス中の客は、経路上のアクセスセルから施設内の利用位置へ描画上だけ投影する。経路探索、権威セル、保存状態は変更しない。
|
|
|
|
2026-09-29: 未稼働は暗い内装、破壊・摘発後の休止は閉鎖線と文字、稼働中は実利用人数と照明で識別する。利用位置と家具を共通化し、人物を同じ枠へ循環配置しない。`customer_capacity` と在庫容量は区別する。描画は稼働状態・料金・休止解除条件を変更しない。[実装・検証記録](THE_TOWER_2_COMPLETION_2026-09-29.md)。
|
|
|
|
|
|
2026-09-29: 救護中の患者を担当医療職の位置に重ねて表示し、医務室治療中はベッドに表示。治療人数は実タスクから集計。従業員パネルに体力と救護段階を表示。
|
|
|
|
2026-09-29続報: 業務用EVは患者と救護者の2席を表示。待機室は到着済みの非番従業員を室内に描画し、休憩人数を表示する。状態ラベルも実際の移動・到着に連動する。
|