ようこそ! Happa, Anonymous 月曜日, 10月 12 2026

DEVELOPMENT SNAPSHOT #51 — 0時に針が止まるとき:計算待ちを伝えるゲーム時計

日付が0時を迎えると、人口や経済の日次計算が始まります。今回の更新では、計算を待つ間に「時計だけが進んでいるように見える」食い違いをなくし、待つ理由を画面に伝える流れを整えました。最新Debugビルドの実画面と、コードで変わった小さな仕組みを紹介します。

日付が変わる瞬間は、ゲームの時間とシミュレーションが握手する場所です。日次処理が続いているのに時計が00:00にとどまるだけでは、画面が止まったように見えます。逆に歯車だけが回り続ければ、進行中だと誤解させるかもしれません。

まずは境界の画面を見てみます。以下は最新Debugビルドで撮影した実画面です。1枚目は12月1日午前0時、2枚目は同じ暦表示の正午。どちらも停止状態で、計算中の進捗表示を撮ったものではありません。時計パネルの位置と時刻の読み方を確かめるための比較です。

午前0時の時計パネル — 最新Debugビルド

正午の時計パネル — 同じ画面の比較

時計部分を拡大 — 日付・状態・速度コントロール

待ち時間を、待ち時間として伝える。

日次経済計算のためゲーム時計が境界で待つ間、カレンダーの歯車を止め、状態欄にローカライズされた「処理中」と進捗率を表示する実装を加えました。シミュレーションそのものが速くなったという意味ではありません。何を待っているのかを、動きだけに頼らず読み取れるようにする変更です。

裏側では、建設進捗のように時間ごとに変わる値を日次入力の署名から外しました。毎時の変化だけで日次計算の入力全体が変わったと扱わないためです。一方、施設の割当など結果に関わる変更は検出し続けます。また、訓練キューが追加される前に過ぎた日付境界を遡らず、実際に開始できる時点から処理します。計算スレッドの優先度も切り替え、画面側が重い計算のロック待ちで固まらないようにしています。

これらは最新の開発ビルドに入っている実装です。掲載画像は停止中の参考画面で、「処理中」の表示そのものではない点も明記しておきます。

ゲームのダウンロード案内はダウンロードページをご覧ください。English versionはこちらです。