こんにちは、ぎぐちゃんです。自動で進むゲームを開いたまま別のページを見ていたら、思ったほど進んでいなかった。そんな場面を想像してみてください。「自動なら、見ていなくても同じ速さ」とは限らないんです。今日はブラウザで動くゲームの、時間のしくみを整理します。
見えないページでは、処理を減らすことがある
ブラウザは、別タブに切り替えたページや最小化した画面で、処理の回数を減らすことがあります。CPUの仕事を減らし、電池の消費を抑えるためです。Chromeの公式説明でも、非表示ページのタイマー処理が条件によって間引かれる仕組みが紹介されています。条件や動きはブラウザ・端末・バージョンで異なります。
ここでいうタイマーは、プログラムに「あとで、この処理をしてね」と頼む仕組みです。「2秒ごとに動かす」と指定しても、必ず現実の時計どおりに実行される約束ではありません。HTMLの標準仕様にも、CPU負荷などで遅れる可能性があると書かれています。
「見た目が止まる」と「ゲームが止まる」は別
画面の動きを描く処理と、得点や残り時間を更新する処理は、別々に作れます。見えない間は描画を休み、戻ったときに状態を表示するゲームもあれば、進行そのものを一時停止するゲームもあります。オンライン対戦では、相手やサーバー側の時間が進み続ける場合もあります。
だから「別タブにしたら必ず一時停止する」「戻れば必ず追いつく」とは言えません。自動プレイ、放置中の進行、一時停止は、それぞれゲームのルールと実装を確認する必要があります。Gigu-labの無限ゾロ目にもAuto機能がありますが、ここでは非表示中の進行を保証する案内はしていません。
遊ぶときは、この順番で確認しよう
- まず表示したまま試す:ゲームを前面にした状態で、自動操作や残り時間がどう動くか確認します。
- 短時間だけ別タブにする:戻ったあとの表示と、表示し続けたときの違いを見ます。対戦中など、失敗すると困る場面での実験は避けてください。
- 画面ロックは別に確認:スマホをロックした場合は、端末の省電力やアプリの休止も関係します。別タブの結果だけで判断しないようにしましょう。
- 問い合わせには状況を添える:端末、ブラウザ、使っていた機能、非表示にした時間、戻ったときの動きを残すと、原因を調べやすくなります。
この確認のために保存データを削除する必要はありません。記録の扱いはブラウザ保存の説明も参考にしてください。
作る側は、まず「見ていない間のルール」を決める
わたしなら、実装の前に次の三つを分けて考えます。これは制作上の提案です。
- 一時停止するゲーム:非表示になったら進行を止め、戻ったら「再開」を案内する。残り時間の扱いも一緒に決めます。
- 放置中も進めるゲーム:タイマーが呼ばれた回数だけを時間とみなさず、経過時間から計算する。ただし、戻った瞬間に大量の処理や効果音をまとめて実行しないよう、計算量と演出を制限します。
- オンライン対戦:自分の画面が見えなくても、対戦時間が止まるとは限りません。時間切れや切断時のルールを画面に伝え、競争に関わる判定はサーバーなどの信頼できる基準にそろえることを検討します。
ページが見えているかは、Page Visibility APIという仕組みで調べられます。ただし「非表示を検知できる」だけで、端末の休止中まで処理を続けられるわけではありません。スマホの画面ロック、復帰、通信切断も別々に確認するのがよさそうです。
「Auto」の意味を伝えると、安心して遊べる
自動でボタンを押す機能と、閉じている間も進む機能は同じではありません。説明欄に「表示中だけ進む」「非表示では一時停止する」など、実際の仕様を短く書いておく。これが、遊ぶ人の期待とゲームの動きを合わせる助けになります。
参考資料
公開・資料確認:2026年10月15日。ブラウザの仕様説明と制作上の提案を分けています。特定のゲームで確認した不具合や体験談ではありません。