簡単そうで難しい当たり判定(コリジョン)チェック

ゲームをする女性体験談

ゲームのテストの話でよく出てくる当たり判定チェック、ご存じの方も多いと思いますが、実はただ壁などに当たるだけではないことは知っているでしょうか?

当たり判定チェックはコリジョンチェックとも呼ばれますが、主に3Dのゲームでキャラクターや建物などのオブジェクトに接触した際に、すり抜けてしまわないかや当たり判定が形状に沿っているかを確認するものです。

この確認はキャラクターや建物などのオブジェクトに当たっていくものと思われてるため、誰でもできる確認だと思われがちです。確かにそういう確認も必要ですが、その確認だけでは当たり抜けと呼ばれるバグの半分も見つからないでしょう。

当たり方のテクニック?

3Dのアクションゲームなどでは様々なアクションを取ることができますが、当たり判定の確認では通常移動で壁などにぶつかるだけではなく、様々なアクションを起こしている最中に壁などにぶつかるという確認も必要になります。

例えば、通常ジャンプの他により高く跳べる2段ジャンプが出来るゲームがあるとします。
さらにマップ端が崖でそこに『見えない壁』があり落ちないようになっている箇所で当たり判定をチェックするとしましょう。

通常のジャンプでは『見えない壁』を超えることができなかったとしても、2段ジャンプをすることで『見えない壁』を超えることが出来てしまうかもしれません。もし『見えない壁』を超えることが出来てしまったらどうなるでしょうか?
『見えない壁』の先は崖で地面が無いため奈落の底に落下してしまい、ゲームに復帰することは難しいでしょう。

また、特殊アクションで特大のジャンプをしたり高速移動が出来る場合は注意が必要です。
通常移動では異常が起きなくても、高速移動では壁を突き抜けてしまうことはよくあります。特に壁と壁の繋ぎ目を狙うとよりバグが起きやすくなります。

盲点なカメラ当たり

実はゲーム画面を映しているカメラにも当たり判定があることはご存じでしたか?

普段のゲームプレイの中ではあまり意識していないかもしれませんが、カメラがキャラクターに近づいたときにキャラクターが半透明になってキャラクターの向こう側が透けて見えたり、カメラがキャラクターよりも奥に押し出されるような挙動を取ることがあります。
これはカメラがキャラクターや障害物などのモデル内部に入り込まないようにするためなのです。

カメラに当たり判定が無かった場合、キャラクターモデルの中にカメラが入り込んでポリゴンの内側が見えてしまったり、地中にカメラが埋まりゲーム画面が地面に覆われて見えなくなるなど、ゲームプレイに不都合が出るカメラアングルとなってしまいます。

当たり系のバグ例

では実際にどのようなバグが起きるのか気になりますよね?
ここでは私が体験したバグをいくつかご紹介したいと思います。

アクションゲーム

様々な種類の銃火器が武器のゲームで、その中にロケットランチャーのような着弾時に大爆発が起こる武器がありました。
このロケットランチャーをプレイヤーの真下(地面)に向かって発射し、プレイヤーが爆発によって高く吹き飛んだ際にどうなるかという確認をしていました。

壁沿いのいたるところでこの確認をしていた際、ある箇所でプレイヤーが高く吹き飛んだ際に壁にめり込んでしまうというバグが起きました。
この時は壁にめりこんだまま脱出することが出来なかったため、ゲームの進行に影響が出てしまう重度の高いバグでした。
同じ箇所も吹き飛び方や壁への当たり方などによってはこのバグが起きないときがあり、10回試行して3回程度の発生確率でした。

RPG

村の中で、通路の途中に井戸とその隣にNPCが1体配置されており、通路を塞ぐような形になっていました。
NPCと井戸の隙間や、通路壁際とNPC(や井戸)の隙間をすり抜けて奥に進めないかを確認していましたが、角度を変えながら通常移動やダッシュ移動を何度繰り返してもすり抜けることは出来ませんでした。

しかし、ダッシュ移動とカメラ視点操作を組み合わせることで、NPCと井戸の隙間をすり抜けることができたのです。
NPCと井戸の隙間にダッシュ移動をし続けている最中にカメラ視点を少しずつ回転させていくと、カメラ視点がある角度になった際にすり抜けてしまったのです。

すり抜けた先は行き止まりのため、ゲーム進行を続けるにはまたNPCと井戸の隙間をすり抜けて戻る必要がありますが、同じような操作を試しても逆側からではすり抜けることは出来ませんでした。
RPGでは定番の町や村などに瞬間移動する呪文を使えばこの状況から脱出することはできるのですが、このゲームではその呪文は特定のキャラクターしか使うことが出来ず、そのキャラクターは必ず仲間になるわけではなかったため、プレイ状況によってはゲームが進行不能となってしまうバグでした。

まとめ

コンシューマーゲームはもちろん、スマホゲームでも3D系のゲームが多くなってきています。
こういった当たり判定のチェックは、一見地味ではありますがゲーム進行に影響が出かねないバグも発生してしまうため、重要なテストのひとつになります。

当たり判定のチェックは簡単なように見えますが、バグを探していくには意外とテクニックが必要になってきます。ゲームのテストではユーザーと同じ視点ではなかなかバグは見つからないため、ユーザーが普通ならやらないようなことを想像したり、ゲームを壊そうという意識が必要になってきます。

コメント

タイトルとURLをコピーしました