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.
63 lines
6.6 KiB
Markdown
63 lines
6.6 KiB
Markdown
# The Tower 2を参考にした表示改善:実装と検証
|
||
|
||
2026-09-29。対象は参照調査で整理したT2-V01〜V05。制作・書き出しは `/Users/korizatou114/Projects/とりにく工房ゲーム制作部` で実施した。原本全体の完成とは区別し、原本の未実装項目は [実装対応表](traceability/original/IMPLEMENTATION_STATUS.md) に残す。
|
||
|
||
## 変更した動作
|
||
|
||
| ID | 実装結果 | 根拠 |
|
||
|---|---|---|
|
||
| T2-V01 | 未稼働は暗い内装と閉鎖線、破壊・摘発後の休止は遮断線と文字、稼働は利用人数と照明で表示。実サービスの顧客IDを集計する | `room_presentation.gd`、状態別の実描画、94項目の表示回帰 |
|
||
| T2-V02 | 客室・飲食施設の家具と利用位置を共通化。実利用者を安定したID順で置き、描画枠を循環させない。待機列は歩行可能な隣接通路へ配置し、隣接する列同士も同じ場所を使わない。収まらない人数は「他N人」で示す | 狭い部屋・6人・9人の列・複数入口の共有通路の回帰。従業員は実際に現地にいる時のみ作業台へ表示 |
|
||
| T2-V03 | 新規開業は入口付近を200%で表示。「営業階」で建設済み施設へ合わせ、Homeで全体へ戻せる。画面移動ボタン・左ドラッグを維持 | 通常予算の開業53項目、Pixel243項目、Dashboard127項目。拡大と座標命中、解像度変更、各操作モードを確認 |
|
||
| T2-V04 | 実際の待機者は乗り場外、乗車中はかご内だけへ描画。実乗客数・定員・満員・停止を表示し、待機人数と分離 | 実ElevatorServiceへ9件を要求し、4人乗車・5人待機の描画を確認。輸送と保存の既存回帰も実行 |
|
||
| T2-V05 | 停止・速度・ズーム・表裏切替・保存復元を回帰。手動読込では表示用の移動履歴を破棄して復元状態から再描画。同一状態の描画時間を比較 | 下記の全体試験・実描画・測定・配布物確認 |
|
||
|
||
利用人数には `customer_capacity` を使い、保管量・生産量の `capacity` や待機人数と混同しない。描画は料金や稼働条件を変更せず、休止の自動解除も追加しない。原作ゲームの画像・実行ファイルは配布物に含めず、独自人物と既存Kenney素材を使う。
|
||
|
||
## 検証結果
|
||
|
||
全83本の試験は、修正後の再試験を含めて **83本PASS・未解決の失敗0**。最終集計は [verification-summary.json](../artifacts/tower2-completion-2026-09-28/verification-summary.json) に保存した。初回は82本PASS・供給シナリオ1本に修正前の列配置の型エラーを記録。最終コードで当該シナリオを再実行し、49項目・エラー0・終了コード0を確認した。初回ログは削除せず、再試験への対応を最終集計に記録している。
|
||
|
||
- 3営業日の通常供給シナリオ: **49項目PASS**。自然来客の食堂売上3,000G、原料配送30便・料理配送80便、現金2,855G。各日の給与未払0・帳簿照合一致、配送途中のディスクSaveと最終状態の復元を確認。
|
||
- 新しい室内・列・実乗車・復元・カメラ回帰: **94項目PASS**。
|
||
- 通常初期予算から建設・雇用・営業・決算・翌朝までの実描画付き受入: **53項目PASS**。
|
||
- `make check` と `git diff --check`。エディター読み込みと通常起動を確認。
|
||
- macOS / Windowsの出力PCKをソースフォルダーに依存しない別ディレクトリで検証: **各13項目PASS**。全18施設の読込、受付選択、実建設、500G支出、完工、次の案内を確認。
|
||
- macOS配布実行ファイルを実描画で起動して正常終了。Windows向けEXE/PCKは書き出し済みだが、今回のWindows実機起動・入力・FPS測定は未実施。
|
||
|
||
### 描画時間
|
||
|
||
Apple M4 / Godot 4.7.2 / Compatibility / 1440×810 / 200%表示。同じ一時停止中の状態を、変更前と変更後で各80フレーム描画し、先頭10を除く70点を比較。前後のSimulationDigest一致も確認した。
|
||
|
||
| 表示人数 | 変更前 中央値 / P95 | 変更後 中央値 / P95 |
|
||
|---|---|---|
|
||
| 6人 | 1.750 / 1.915 ms | 1.928 / 2.041 ms |
|
||
| 200人 | 4.390 / 4.595 ms | 4.431 / 4.550 ms |
|
||
|
||
200人の中央値増加は約0.9%。施設の状態と列情報を一描画内で共有し、輸送レポートも一度だけ取得する。これは `_draw` のCPU処理時間であり、GPUを含む全フレーム時間・Windows性能・長時間AI負荷の達成値ではない。200人は計測用に作成した静止した実GuestRuntimeであり、200人が自律営業した記録ではない。同時に他の回帰試験も動いていたため微小差を性能改善とは断定しない。
|
||
|
||
## 実画面と記録
|
||
|
||
- [稼働中](../artifacts/tower2-completion-2026-09-28/operating.png)
|
||
- [未稼働](../artifacts/tower2-completion-2026-09-28/inactive.png)
|
||
- [摘発後の休止](../artifacts/tower2-completion-2026-09-28/suspended.png)
|
||
- [裏層](../artifacts/tower2-completion-2026-09-28/back.png)
|
||
- [乗り場の待機列](../artifacts/tower2-completion-2026-09-28/lift-queue.png)
|
||
- [4人乗車・5人待機](../artifacts/tower2-completion-2026-09-28/lift-full.png)
|
||
- [通常開業の翌朝](../artifacts/tower2-completion-2026-09-28/opening-images/second-morning.png)
|
||
- [描画測定JSON](../artifacts/tower2-completion-2026-09-28/draw-benchmark.json)
|
||
|
||
状態比較画像は条件を固定した描画Fixture。昇降機画像では実Runtimeの有料建設後に検証用9人を生成し、魔力供給をFixtureから有効にして実輸送要求を発行した。通常経営での自然来客・魔力供給の受入とは区別する。通常開業53項目と供給の通し試験は別の実シナリオで確認する。
|
||
|
||
## 配布ファイル
|
||
|
||
- macOS: `build/macos/TheTree-Tower2-2026-09-29.app`
|
||
- 起動用: `TheTree-ドット版を起動.command`(ローカルとDrive側の既存起動リンクを更新)
|
||
- Windows: `build/TheTree-Windows-Tower2-2026-09-29.zip`。展開後 `build/windows-tower2-2026-09-29/TheTree.exe` を起動し、同梱PCKを同じフォルダーに置く。
|
||
|
||
以前のビルドは保存したまま。証跡・ハッシュは上記artifactsフォルダーに保存する。
|
||
|
||
## 残る範囲
|
||
|
||
今回のT2表示改善は、原本の全施設・経済・人物物語・天候・全ランクの統合実装や、Windows基準機での長時間実測を完了したという意味ではない。狭い室内や長い列では全員を重ねて描かず人数表示にまとめる。施設ラベルは遠景で省略されるため、詳細確認は「営業階」または選択・拡大で行う。
|