» アクションゲーム ヒットストップ »

2005年10月17日

 ゲームの当たり判定。このエントリーを含むはてなブックマーク

AAW
さて、ちょいとおまけをつけました。(あとバグフィックスと能力調整してます。
といってもミニゲームではなく、テストモードで再生できるというものです。
単に攻撃範囲の表示がつきます。
1度クリアしたセーブデータで、タイトル画面の左上のほうにボタンがあるのでクリック。
モナーのダッシュとか表示されていないところもありますがキニシナイ。
単にデフォルトサイズなだけです。

んで、なんでこんなのつけたかというと
やっぱ自分はゲームを作るときに当たり判定とか悩んだわけで
あとはシステム的なこととか
Flashに限らずそういうの作ろうと思う人は結構情報を探すと思うのですが
これがわりと見つからなくて大変な思いをしていると思います。

当たり判定の話とか、1度当たった攻撃に連続ヒットしないようにする方法とか
技キャンセルの方法とか、地面の判定はどうしたらいいのか?とか。
そういうことは知ってる人は知っているけど知らない人は全然知らない。
もちろんこれは我流なわけで、知ってる人からしたらナニソレ(プみたいな内容もあるかと思うのですが
知らない人の少しばかりの指針になればと思って。
そういう、技術じゃなくてコツみたいなものをちょこちょこ書こうかなーと思いまして。

それで今回はモードをつけたわけですし、当たり判定の話です。
当たり判定をどう計算するかではなく、どう設定するか?とゆーはなし。

クリアしてる人は見てもらえると分かると思いますが
かなり自分のキャラクターの攻撃範囲が大きく設定されています。
そして敵の当たり判定も大きく設定されています。(赤が攻撃、青が当たり)
つまりほんのちょーっとプレイヤーが有利になるような調節がされているんです。
これがかなりのコツ。
また、攻撃の当たり判定が発生する瞬間は、自分の当たり判定が後ろに小さくなってもいます。
これは「攻撃したのに相手の攻撃で潰された」という状態を出来るだけ少なくするためのものです。

普通にプレイしていてこんなにハンデがついていたと気づかないとおもう。
実は市販のゲームもこういったハンデがついたものが多くあります(特に任天堂系)
ユーザーはほとんどの攻撃を当てるつもりで出すんだけど
それが当たらないと、「え?なんで当たらなかったの?」とストレスを持ったりする。
実際には当たっていない範囲なのですが、本人は当てた気満々なんだよね。
ユーザーが当たったと思ったときにはゲームは当ててあげなければいけないのです。
ちなみにユーザーが外したと思っても当たった時は「ラッキー!」ですんじゃう。
よほど大げさでなければそれすら気づかなかったり。
こういういわば接待ゴルフ的調節は特にWebなどでライトユーザーを相手にする時かなり大切だったりします。
ゲームを作るときはユーザーと勝負するのではなく
ユーザーと勝負すると見せかけて楽しませなければいけないのです。
もちろんヘビーユーザー向けならば勝負してもいいんだけど。

ちなみにこの、当たらない範囲なのに当たる攻撃は、
そのままではかなり不自然になってしまいます。
そこでまず、インパクトの瞬間はキャラの手が一瞬大きくなります。
さらに下の画像のように、間に一瞬エフェクトを出してやります。

こうすることでビジュアル的にもユーザーに
「しっかり当たった」という認識を持たせることが出来るわけ。
このエフェクトが無いと遠当てみたいになっちゃう。

敵の攻撃はこの逆で、当たり範囲が見た目よりほんのちょっと小さく設定されてたり
さらに、味方の攻撃が当たった直後は敵の攻撃が消えるようにもなっています。