ベルトスクロールの「奥行き」当たり判定 ― ぴったり揃えなくても当たる設計

3D のベルトスクロールアクションでは、手前と奥の軸がずれていると攻撃が当たりません。その許容範囲をどう決めたか、なぜ「ゆるく」したのかを書きます。

/ 約 1,269 字

  • ゲーム設計
  • アクション
  • 当たり判定

ベルトスクロールアクションは、横に進みながら敵を倒していくジャンルです。 画面は横長ですが、キャラクターは左右だけでなく、画面の手前と奥にも移動できます。 この「奥行き」の扱いが、ジャンルの手触りを大きく左右します。

3つの軸の役割

このプロジェクトは 3D で作っていますが、ゲームとしての考え方は 「奥行きのある 2D」です。3つの軸の役割を、次のように決めています。

  • 左右:ステージの進行方向。メインの移動
  • 上下:ジャンプと重力
  • 手前と奥:ベルトスクロール特有の奥行き移動

3D の空間を自由に歩き回るゲームではなく、あくまで横に進むゲームであって、 手前と奥は「立ち位置をずらす」ための軸という位置づけです。

奥行きが合わないと当たらない

このジャンルでは、攻撃が当たるためには、 自分と相手の奥行きの位置がある程度揃っている必要があります。 横方向でどれだけ近くても、相手が画面の奥に立っていれば、 パンチは空を切ります。

これはジャンルの重要な駆け引きでもあります。 敵の攻撃を、奥行きをずらすことで避けられる。 複数の敵に囲まれたときに、奥行きを使って位置取りをする。 奥行きの判定があるからこそ、ただ殴り合うだけでない戦いになります。

どれくらい揃っていればいいのか

問題は、どれくらい揃っていれば当たりにするかです。

厳しくすれば、奥行きの位置取りが重要になりますが、 プレイヤーは攻撃のたびに奥行きの位置を細かく合わせなければならず、 テンポが悪くなります。画面は斜め上から見下ろしているので、 奥行きの位置は見た目では分かりにくく、「当たったはずなのに当たらない」 という不満が生まれやすくなります。

逆にゆるくしすぎると、奥行きの概念自体が意味を失い、 ただの横スクロールと変わらなくなります。

このプロジェクトでは、ゆるめに設定する方針を採りました。 攻撃側の判定の奥行きと、受ける側の判定の奥行きを足し合わせ、 その半分の範囲内に相手がいれば当たりとします。 標準の設定では、奥行き方向におよそ 80 センチの幅で当たる計算です。 キャラクターの体の厚みを考えると、かなり余裕のある値です。

ゆるくした理由

ゆるくした理由は、このジャンルの気持ちよさの中心が テンポよく敵を殴り続けることにあると考えているからです。

奥行きを厳密に合わせる操作は、プレイヤーにとっては 「敵を殴る」という本来やりたいことの前にある手間でしかありません。 その手間を減らして、殴ることに集中させたほうが、 このジャンルとしては正しいという判断です。

実際、ベルトスクロールの名作と呼ばれる作品の多くも、 奥行きの判定はかなり寛容に作られています。 完全に同じ位置に立っていなくても攻撃が当たるから、 テンポよく戦える。それが手触りの良さにつながっています。

技ごとに変えられるようにする

一律の値で固定せず、技ごとに奥行きの判定幅を変えられるようにもしています。

たとえば、足元を払う技は奥行き方向に広く当たるようにする。 逆に、一点を突く鋭い技は奥行きを狭くして、当てるのに位置取りを要求する。 こうした差をつけることで、技ごとの個性が生まれます。

標準値はゆるめにしておき、必要な技だけ個別に絞る。 この順番にしておくと、基本の手触りを損なわずに、 駆け引きの要素を足していくことができます。

← Logs 一覧へ