# 各ルールのエッジを意図的にテストする

> 小規模なブラウザ ゲームで、動き、タイミング、画面端、スコア カウンター、繰り返し入力の制限をテストして、エッジケースの障害を見つけます。

- URL: https://oneshotgems.ai/ja/topics/testing-game-boundaries
- カテゴリ: ゲーム開発者向け
- 種類: ガイド
- 更新日: 2026年10月5日

ゲームの不具合は、ルールの境目で起きることがよくあります。たとえば足場の端の直前の最後のピクセル、取得できる最後のアイテム、タイマーがゼロになる瞬間、再スタート中に届く入力などです。境界値テストでは、制限をわずかに下回る値、ちょうど一致する値、わずかに上回る値を選び、それぞれの結果が意図どおりか確認します。通常のプレイでは問題がなくても、生成されたプロトタイプではこうした端のケースで余分に得点したり、プレイヤーが動けなくなったりすることがあります。

## 限界を突破しようとする前に、限界をマッピングする

しきい値のあるルールを一覧にします。ゲートが鍵3個で開くなら、鍵2個、ちょうど3個、余分に取れるゲームでは4個でも確認します。足場が画面端で終わるなら、ゆっくり近づく、速く近づく、ジャンプしながら近づくケースを試します。タイマーがゼロでラウンドを終えるなら、ゼロの直前のフレーム、ゼロになった瞬間の状態遷移、その直後の入力を確認します。こうしたケースで、1つずれる条件分岐や重複する状態遷移が見つかります。

## プローブ時間と繰り返し入力

操作を一度押す、押し続ける、素早く連打するパターンを試します。ジャンプが繰り返されないか、メニューが二度進まないか、一つのアイテムを複数回取得したことにならないか確認できます。ゲームオーバー表示が出る瞬間に再スタートを押すなど、状態が変わる直前と直後の入力も試します。requestAnimationFrameでアニメーションするゲームでは、バックグラウンドタブにするとコールバックの実行タイミングが変わることがあります。経過時間に依存するゲームの仕組みがある場合は、タブを隠してから戻るケースも含めます。

## よくある質問

**ゲームテストで「しきい値を少し下回る・ちょうど一致する・少し上回る」とはどういう意味ですか？** ルールしきい値の両側、およびそのしきい値に正確に一致する値を選択します。 3 キー ゲートの場合は、2 つのキー、3 つのキー、および 3 を超える到達可能な数を使用してテストします。

**隠しタブの一時停止は常にバグですか?** いいえ。非表示中に時間を一時停止するか続行するかを決定し、選択した動作をテストします。重要な部分は、タイマーとアニメーションが明確なルールに従って再開されるということです。

## 気になることを、もっと

- [ブラウザゲームのバグを再現する方法](https://oneshotgems.ai/ja/topics/reproducing-game-bugs): ビルド、セットアップ、正確な入力、期待される結果、観察された結果をキャプチャすることで、わかりにくいゲームの失敗を再現可能なレポートに変えます。
- [ブラウザ ゲームのテストを再現可能にする](https://oneshotgems.ai/ja/topics/deterministic-game-tests): ランダムな値、時間、開始条件を制御することで、ゲーム テストで同等の結果が得られ、失敗の診断が容易になります。

## 関連情報

- [MDN リクエストアニメーションフレーム](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame)

---
正規ページ: https://oneshotgems.ai/ja/topics/testing-game-boundaries
