ゆっくりになる演出:ヒットストップとスローの使いどころ
遊びをつくる執筆にClaudeを使用しています。

自キャラの攻撃が敵に当たった瞬間、画面がほんの一瞬だけ止まる場面を考えてみます。止まっている間は何も進んでいません。それなのに、同じ攻撃が止まらない場合より「強く当たった」と感じやすくなります。さらに、止まった一瞬のあいだに「いま何に当たったか」「どこに当たったか」も目で追えます。 この記事が確かめるのは、この一瞬の停止(ヒットストップ)と、一定の区間だけ進みを遅くするスローが、なぜ手応えと確認の両方に効くのかです。あわせて、どこで使い、どこで使わないかの判断基準も整理します。 アソバースの公式作品13本の確認済み事項には、ヒットストップやスローの実装有無は書かれていません。そのため、作品の演出そのものは語りません。語るのは、時間を扱う仕様として確認できる部分と、そこから読み取れる設計の考え方です。演出の細部は、作品を開いて確かめてください。
この記事の目次
一瞬止めると、手応えと確認が同時に生まれる
ヒットストップは、衝突や命中の瞬間にゲームの進行を短く止める(またはごく遅くする)演出です。効き方は二つに分けて考えると整理できます。
- 手応え:動きが急に途切れることで、衝突に「重さ」が生まれたように感じられます。止まる長さや、止まっている間の見た目(色の変化、画面の揺れ、音)が、その重さの質を決めます。
- 確認:止まっている間は、画面上の位置関係が動きません。どの対象に、どの位置で当たったのかを、プレイヤーが目で読み取れます。速い動きの中では見逃しやすい情報が、止まることで読めるようになります。
この二つは別々の効果ですが、同じ「止まっている時間」から生まれます。そのため、長さの調整はどちらにも影響します。短すぎると手応えも確認も弱くなります。長すぎると、手応えどころか操作が途切れた感覚になります。適切な長さは作品の速さや入力の細かさで変わるため、一般的な正解の数字を決めてしまわず、自分の作品で調整するのが前提です。
ヒットストップ、スロー、一時停止の違い
三つはどれも「時間がいつもどおりに進まない」状態ですが、役割が違います。
- ヒットストップ、時間の動き:命中の瞬間に、ごく短く止まる、主な効き方:手応え、命中の確認、注意点:長いと操作が途切れる。連続で起きると重くなる
- スロー、時間の動き:一定の区間だけ進みが遅くなる、主な効き方:状況を読む時間、見せ場の強調、注意点:入力の判定と見た目がずれやすい。長いと間延びする
- 一時停止、時間の動き:プレイヤーが自分で止める、主な効き方:考える、休む、再開位置の確認、注意点:演出ではなく操作。再開時の状態の保ち方が肝心
使い分けの目安は、「誰が時間を動かすか」です。ヒットストップとスローは作り手が起こす演出で、プレイヤーは選べません。一時停止はプレイヤーが選びます。作り手が時間を奪う演出は、奪った時間の分だけ、プレイヤーに「何かを得た」と感じてもらう必要があります。得られるものが手応えや確認になっているかを、導入前に自問します。
公式作品の仕様から読み取れる、時間の扱い方
確認済みの事項から、時間の設計として読める点を挙げます。いずれも「演出がある」という意味ではなく、仕様に表れた時間の扱いです。
- 灯りのチェス:CPUの思考時間は約450msに制限されています。 相手の番の待ち時間に上限が置かれていることが読み取れます。止めたり遅くしたりする時間に上限を決める考え方は、ヒットストップの長さを決めるときにも使えます。意図までは分かりませんので、体感は作品を開いて確かめます。
- 小さな軌道:全軌道の予測(点線)と、前回の軌道(細い実線)が表示されます。 予測を消して挑むこともでき、一時停止から同じ位置で再開できます。結果を確認するための材料を、時間を止めずに線として残す設計と読めます。止めて見せる方法と、残して見せる方法の違いを考える材料になります。
- 時計じかけの台所:針が緑の範囲に来たら止めます。 見習いは時間制限なし、本番は1皿28秒です。タイミングを狙う遊びで演出を足すなら、見た目の停止と判定のずれをどう扱うかが論点になります。ここに停止演出が入っているかどうかは、書かれていませんので作品を開いて確かめます。
- 紙ひこうき郵便:風船にぶつかると紙が傷み、3回で終了します。 ルートごとに秒数が決まり、最後の6秒で郵便受けへ向かいます。制限時間が秒で決まる作品では、止めた時間を制限に数えるかどうかを決める必要があります。この作品での扱いは書かれていないので、作品を開いて確かめます。
- こだまの森:聴き直しは15点減、間違いは30点減で、一時停止ができます。 確認のための再提示にコストが付き、一時停止は無償という線引きが読み取れます。
- 動きを抑える設定:13作品すべてが対応しています。 揺れや点滅を伴う演出は、この設定を考慮する対象になります。ヒットストップ中の画面の揺れをどう扱うかは、作品を開いて確かめます。
こうして並べると、時間を扱う手段は止める、遅くする以外にも多くあり、手応えと確認は別の道具で補い合えることが見えてきます。
最小の試作:ヒットストップとスローを自分の手で動かす
読み物だけでは長さの感覚はつかめません。次のコードは、玉が右の壁に当たると、まず短く止まり、続けて遅くなる最小の例です。HTML1枚で動き、外部ライブラリは使いません。値はすべて仮のものですので、書き換えて感覚を比べてください。
<canvas id="c" width="320" height="100"></canvas>
<script>
const g = document.getElementById('c').getContext('2d');
const reduce = matchMedia('(prefers-reduced-motion: reduce)').matches;
const HIT_STOP_MS = 80; // 仮の値。停止の長さ
const SLOW_MS = 400; // 仮の値。スローの長さ
const SLOW_SCALE = 0.3; // 仮の値。スロー中の進み方
let x = 20, v = 200, stop = 0, slow = 0, last = performance.now();
function frame(now) {
const real = Math.min(now - last, 50); // 実時間(ms)。飛びすぎを防ぐ
last = now;
let scale = 1;
if (stop > 0) { stop -= real; scale = 0; }
else if (slow > 0) { slow -= real; scale = SLOW_SCALE; }
x += v * (real * scale) / 1000;
if (x > 300) { x = 300; v = -v; stop = HIT_STOP_MS; slow = SLOW_MS; }
if (x < 20) { x = 20; v = -v; }
g.clearRect(0, 0, 320, 100);
g.fillStyle = (stop > 0 && !reduce) ? '#c33' : '#333';
g.fillRect(x - 10, 40, 20, 20);
requestAnimationFrame(frame);
}
requestAnimationFrame(frame);
</script>仕組みの要点は三つです。
- 実時間とゲーム内の時間を分けています。 停止やスローの残り時間は実時間で数え、玉の移動だけに倍率(scale)を掛けています。この分け方にしておくと、停止中でも描画や入力の受付を続けられます。
- 停止が終わってからスローに入ります。 同じ壁への1回の衝突で、止める、遅くする、を順に起こしています。
- 動きを抑える設定を読んでいます。 設定が有効なときは、停止中の赤い色変化を出しません。停止そのものを残すかどうかは作品ごとの判断になりますので、ここでは色変化だけを切り替えています。
自分で確かめる手順と、起こりやすい誤り
上のコードを使い、結果を自分で記録する手順です。
- HIT_STOP_MSを、0(なし)、短め、長めの3通りに変えて、それぞれ数十回ずつ壁に当たる様子を見ます。
- 各設定について「当たった感じの強さ」と「どこで当たったかの分かりやすさ」を、5段階など自分で決めた尺度でメモします。
- 次にSLOW_MSとSLOW_SCALEを変え、「見せ場として効くか」「間延びするか」を同じようにメモします。
- 手応えは高いのに確認が下がる設定、逆の設定が見つかれば、その差が自分の作品での長さの上限と下限の目安になります。
評価は、1人で感想を書くだけでなく、別の人にも見てもらうと偏りが減ります。その場合も、人数や結果を数字にして断言せず、自分の作品の調整材料として使うのが安全です。
起こりやすい誤りは次のとおりです。
- 制限時間を止めたまま進めてしまう、または逆に進めてしまう。 停止中に制限時間を数えるかどうかを先に決めておきます。決めないと、停止が積み重なって不公平に感じられることがあります。
- 入力の受付まで止めてしまう。 停止中に押したボタンを捨てるのか、保持して直後に反映するのかで、操作感がまったく変わります。
- 連続で起こして重くしてしまう。 多段ヒットのたびに止めると、全体が引きずって感じられます。停止は強い命中だけに限る、同時に起きた場合は長い方だけを使う、といった整理が必要です。
- 音と見た目の停止がずれる。 映像は止まっているのに音だけ流れ続けると、止まった感じが弱まります。逆に、音を切る場合も、消え方が不自然にならないか確かめます。
- 判定の瞬間と見た目がずれる。 タイミングを狙う遊びでは、見た目が止まっている間にプレイヤーが「もう押した」と感じた入力の扱いを決めておきます。
- 動きを抑える設定を無視する。 揺れや点滅は設定に従って減らします。停止やスローをどこまで残すかは、設定ごとに自分の作品で決めます。
次の行動
まず上のコードをHTML1枚として保存し、HIT_STOP_MSを0と、少し長めの値の2通りに変えて見比べてください。そのうえで、自分のゲームの「当たった瞬間」を一つだけ選び、止める、遅くする、線で残す、のどれが合うかを決めます。アソバースには、直下にindex.htmlを置いたHTMLまたはZIPで投稿できます。公開前に、停止中の制限時間の扱いと、動きを抑える設定での見え方を、必ず確かめてください。

