入力から反応までの遅れ:気づかれない範囲を知る
遊びをつくる執筆にClaudeを使用しています。

キーを押したのに、キャラクターが動き出すまでほんの少し間がある。そんな場面を考えてみます。遊ぶ人はたいてい「重いゲームだ」とは言わず、「なんとなく手応えがない」と感じます。逆に、同じだけ間があっても、盤面ゲームで石を置いたあとなら誰も気にしないことがあります。 この記事で確かめるのは、「どのくらいの遅れなら気づかれないのか」という問いです。答えは一つの数字ではありません。ゲームの種類、入力の種類、音か映像かで変わります。そのため、よく語られる目安を知ったうえで、自分のゲームで境界を探す手順まで示します。 アソバースの公式作品の設計から読み取れることも、後半で参照します。ただし、内部の数値や開発の経緯は確認できません。確認済みの範囲だけを根拠にし、それ以外は「作品を開いて確かめる」と書きます。
遅れは三か所で生まれる
プレイヤーが感じる「入力から反応までの遅れ」は、ひとかたまりに見えて、実際は三つの区間の合計です。
- 入力の遅れ:キーを押す、画面に触れる、ドラッグするといった操作が、ブラウザからゲームのコードに届くまでの時間です。
- 処理の遅れ:ゲームのコードが入力を受けて状態を更新し、結果を決めるまでの時間です。
- 表示・音の遅れ:更新された状態が画面に描かれる、または音が鳴るまでの時間です。
三つ目には、ゲーム側では減らしにくい部分があります。画面の更新が毎秒60回なら、1回の間隔は約16.7ミリ秒です。入力した直後にちょうど描画が終わっていた場合、次の更新まで最大でほぼ1回分待つことになります。毎秒120回の画面なら約8.3ミリ秒です。これは計算で出せる数字で、端末の画面の仕様によって変わります。
ゲームのコードで直接減らせるのは、主に二つ目です。入力を受けたら、その場で状態を更新して次の描画に載せます。入力をためておいて、あとでまとめて処理する書き方は、この区間を伸ばします。
「即応」と感じる目安をどう読むか
操作画面の設計では、約0.1秒(100ミリ秒)以内の反応を「操作と結果が直結している」と感じやすい、という目安が古くから語られています。1秒前後で「待たされている」感覚が出て、さらに長くなると集中が途切れやすくなる、という段階の話です。
この目安は、ゲームにそのまま当てはめるための数字ではありません。読むときの注意点は三つあります。
- 目安は平均的な感じ方の話で、慣れた人や、速い操作を求められる場面では、もっと小さな遅れにも気づくことがあります。
- 「気づく」と「気にする」は別です。気づいても、ゲームの面白さに関係しないなら許容できる場合があります。
- 音と映像は同じ扱いにできません。音は遅れに敏感だと言われることがありますが、どこまでかは環境と個人で違うため、後述の手順で確かめてください。
目安は出発点です。自分のゲームでの許容は、自分で測って決めます。
種類ごとに許容が変わる理由
遅れに厳しいかどうかは、「入力のタイミング自体が遊びの中身か」で決まります。タイミングが勝敗や演奏の質に直結するゲームほど厳しく、考える時間が主役のゲームほどゆるやかです。
次の表は、公式作品の確認済みの仕様から、設計として読み取れることを整理したものです。作品が実際にどれだけの遅れなのかは、確認できていません。
- 音を鳴らす、作品例:雨音のピアノ、WAVE / WAVE、仕様から読み取れること:鍵盤の入力そのものが音になります。押してから鳴るまでが体験の中心なので、遅れに厳しい種類と考えられます。
- 操縦・止めどき、作品例:紙ひこうき郵便、時計じかけの台所、仕様から読み取れること:風船を避けたり、針が緑の範囲に来た瞬間に止めたりと、タイミングが得点に結びつきます。
- 狙って放つ、作品例:小さな軌道、仕様から読み取れること:角度と初速を決めて発射し、引力で曲がる軌道を見届けます。予測の点線があり、入力後に急いで反応する場面は少ない設計です。
- 盤面で考える、作品例:潮目のオセロ、灯りのチェス、仕様から読み取れること:一手の重みが大きく、操作の速さは勝敗に関係しにくい種類です。
- 順番を覚える、作品例:こだまの森、仕様から読み取れること:光る葉の順番を覚えて音色で返します。覚える側が主役で、入力の瞬発力は主ではない設計です。
音を鳴らす作品
雨音のピアノは、キーボードのA W S E D F T G Y H U Jで鍵盤を弾けて、30秒・128音まで録音して再生できます。WAVE / WAVE は、4つの音を16ステップに並べてループ再生し、パッド演奏の録音もできます。どちらも「叩いたら鳴る」が前提の道具です。
録音した演奏が、押したタイミングどおりに並ぶのか、遅れ分ずれるのか。この部分は作品を開いて、実際に弾いて聴き比べて確かめてください。
操縦と止めどき
紙ひこうき郵便は、左右キー・ドラッグ・矢印ボタンの3つの操縦方法を持ちます。入力の経路が複数あるので、経路ごとに体感の遅れが違う可能性があります。どの操縦が機敏に感じるかは、3つとも試して比べてください。
時計じかけの台所では、本番は1皿28秒、配膳6秒、ミス3回までです。針が緑の範囲に来たら止める操作は、遅れがあると「押したのに外れた」という納得のいかなさに直結します。時間制限なしの見習いと本番では、同じ遅れでも困り方が変わるはずです。
盤面と待ち時間
灯りのチェスでは、CPUの思考時間が約450ミリ秒に制限されています。これは入力の遅れとは別の、「相手の手を待つ時間」の設計です。長く待たせない上限が設けられていると読めますが、意図までは確認できません。
また、オンライン対局では手番や合法手の判定をサーバーで確認します。通信が加わるぶん、一人用より待ちが生まれうる構造です。ただし、石を置いてから反映されるまでの体感は、実際に友達と対局して確かめるしかありません。
自分のゲームで境界を探す手順
「気づかれない範囲」は、遅れを人工的に挿入して、本人が気づくかを聞く方法で探れます。以下は、すぐに使える最小の実験用ページです。
準備するもの
- 下のコードを保存した1つのHTMLファイル(ブラウザで直接開けます)
- 試す人(自分と、ゲームに詳しい人、詳しくない人の最低2人がお勧めです)
- 記録用のメモ
<!doctype html>
<meta charset="utf-8">
<div id="box" style="width:100px;height:100px;background:#888"></div>
<p id="msg">Spaceを押すと開始します。</p>
<button id="ok">即応と感じた</button>
<button id="ng">遅れを感じた</button>
<pre id="log"></pre>
<script>
const delays = [];
for (const d of [0, 50, 100, 150, 200, 300])
for (let i = 0; i < 5; i++) delays.push(d);
delays.sort(() => Math.random() - 0.5);
let cur = null, waiting = false, on = false;
const rows = [];
const $ = id => document.getElementById(id);
addEventListener("keydown", e => {
if (e.code !== "Space" || e.repeat || waiting || !delays.length) return;
e.preventDefault();
cur = delays.pop();
waiting = true;
setTimeout(() => {
on = !on;
$("box").style.background = on ? "#f0c800" : "#888";
}, cur);
$("msg").textContent = "残り " + delays.length + " 回。感じたほうを選んでください。";
});
function answer(late) {
if (!waiting) return;
rows.push({ d: cur, late });
waiting = false;
document.activeElement.blur();
if (!delays.length) {
$("msg").textContent = "終了です。";
$("log").textContent = rows.sort((a, b) => a.d - b.d)
.map(r => r.d + "ms\t" + (r.late ? "遅れ" : "即応")).join("\n");
}
}
$("ok").onclick = () => answer(false);
$("ng").onclick = () => answer(true);
</script>手順
- ファイルを開き、Spaceを押します。四角の色が変わるので、その反応が即応だったか遅れていたかをボタンで答えます。
- 遅れの値は6種類(0・50・100・150・200・300ミリ秒)を各5回、ランダムな順で出します。試す人には値を見せないようにしてください。
- 30回が終わると、遅れの値ごとの答えが一覧で出ます。メモに書き写します。
- 人を変え、同じ条件で繰り返します。
結果の読み方
- 「遅れ」の答えが増え始める値が、その人の気づく境界の目安です。
- 0ミリ秒の設定でも「遅れ」と答えが出る場合は、画面や端末そのものの遅れが含まれていると考えられます。この場合、設定値に端末ぶんが上乗せされた状態で評価していることになります。
- 人による差が大きいなら、ゲームに詳しい人の境界を設計の基準にするか、遅れに強い作りにする、のどちらかを選びます。
- 5回では偶然が混じります。境界付近の値だけ、回数を増やして確認すると安定します。
この実験は四角の色が変わるだけの単純な反応です。自作ゲームに合わせるなら、色を変える処理を、実際のゲームの反応(弾が出る、音が鳴る)に置き換えて試してください。
起こりやすい誤り
- 設定値だけを実際の遅れと思い込む:コードで入れた遅れに加えて、描画を待つ時間と端末の遅れが乗ります。開発機が速くても、遊ぶ人の端末は違います。
- 開発画面でしか測らない:アソバースの投稿作品は、サンドボックス付きのiframe内で実行されます。単独で開いたときと同じ遅れかどうかは、投稿時の「表示の確認」の段階で、実際に触って確かめてください。
- 入力経路を一つしか試さない:キーボード、タッチ、マウスで体感が変わることがあります。紙ひこうき郵便のように経路が複数ある作品は特に、経路ごとに確認が必要です。
- 演出と操作の受理を混同する:「動きを抑える」設定に対応する場合でも、動きを減らすことと、操作を受け付ける速さは別の話です。アニメーションを短くしても、入力の反映が遅くなっては本末転倒です。
- 音の遅れを映像と同じ基準で判断する:音と映像は別々に測ってください。
次の行動
まず上のコードを保存し、自分と一人の友人で30回ずつ試して、気づく境界の値をメモしてください。次に、自作ゲームの中で「いちばんタイミングが大事な操作」を一つ選び、その操作の反応を境界より短く保てているかを確かめます。最後に、雨音のピアノや時計じかけの台所のような公式作品を開き、自分の手で遅れの感じ方を比べてみてください。

