アナログスティックをキャラクターの回転速度にマッピングするだけでは、コンソールの一人称シューティングゲームを気持ちよくするのに十分ではないことは、ほぼ一般的に認められていると思います。
では、コンソールの最新のFPSを適切に機能させるための入力パラダイムは何でしょうか。
アナログスティックをキャラクターの回転速度にマッピングするだけでは、コンソールの一人称シューティングゲームを気持ちよくするのに十分ではないことは、ほぼ一般的に認められていると思います。
では、コンソールの最新のFPSを適切に機能させるための入力パラダイムは何でしょうか。
回答:
私は今年、サッカーパンチの男たちが発表したGDCセッションに行き、彼らがinFamousのアシストされた目的と動きをどのように処理したかについて話し合いました。私の理解では、Haloはアシスト照準に非常によく似たシステムを使用しており、基本は次のとおりです。
狙いを「気持ちよくする」には、2つの点があります。自分がコントロールしているように感じることと、ゲームが嘘をついていないように感じることです。入力方向とボタンのタイミングの許容範囲内でのゲームの認識を調整することは、これを行うための優れた方法です。これは、自動照準が実際に理論的に完全なコントローラーよりも優れたパフォーマンスを発揮するという不可能な状況を決して引き起こさないためです。入力処理の完了後にアドホックに解決しようとすると、プレイヤーがコントロールを失ったと感じるような大雑把な状況になってしまいます。
ここに良い答えがあります。私は自分が取り組んでいるプロジェクトで自分でそれを理解する必要がありましたが、Sucker Punchの連中と同じ結論に達しました(そして、私は何か新しいものを思いついたと思っていました。Baww:()。
一人称360x180度の「パノラマ」全体を「加速フィールド」と見なすと便利です。すべての有効なターゲットは、プレイヤーの入力(サブトレイのみ)を曲げる重力ウェルを作成し、マクロモーション(顔のターゲットに向かう)が「油を塗った」パスのように感じられるようにします。ただし、これは常に十字線に影響を与えるわけではありません-プレーヤーのターンデルタが井戸の傾斜に向けられている場合に限ります(以前のように)。それは本当に重要ですが、プレイヤーがターゲットに向かって大まかに向きを変えているときだけ、この追加の回転速度を与えます。それがプレイヤーの入力からできる唯一の推論です。
さらに多くの場合、顕著な「ウイジャ効果」が多すぎます。あなたはウイジャの正反対を望んでいます:ウイジャボードがユーザーのせいでインテリジェントに動いていない場合、意識的な知識がなければ、プレーヤーの十字線は、ユーザーの入力ではないことに気付かずにインテリジェントな方法で移動する必要があります。それは本当にちょっとした手品です。
プレーヤーのピッチ/ヨー回転デルタ対クロスヘアから各ターゲットまでのピッチ/ヨーデルタのドット積を使用します。値を0と最大速度の間にクランプし(ターゲットから離れるときに入力を無視するため)、距離の関数をフォールオフモディファイアとして使用します。
クロスヘア対ターゲットの角度デルタが大きい場合(つまり、敵が背後にいる場合)に、この「マクロ動作」のボーナスを増やすと、クラシックなコンソールコントローラーの問題で、素早く向きを変えることができなくなることがわかりました。「ターゲットの選択」に関して、あなたが後ろから攻撃されていて、あなたの前にターゲットがない場合、あなたの前のそのパノラマは「デッドスペース」であり、プレイヤーがそれを横切る能力を与えることもできますカーソルで高速で。そして、前にAREターゲットがある場合、まあ、それらはおそらくプレイヤーの心の中でより高く、ダンプニング/スティッキーエイムのために、弱いマクロフォースによって過度に影響を受けることはありません。
プレイヤーが オブジェクトから離れようとするときに、感度を弱める必要はあまりありません(これにより、ターゲットの軌道を「エスケープ」しようとするような感覚になります)。ダンピングは、精密な照準、およびマクロからミクロの精度に移動する際のプレーヤーの照準のオーバーシュートを停止するために使用されます-これは最悪のことです。彼らのために多くの細かいことをするために。
スティッキーエイムは、相対運動補償です。(エンティティの起点からではなく、カメラからの)ターゲットに対する角度、このフレーム、および最後のフレームの違いを確認します。ターゲットにどれだけ近づいているかを確認します。ユーザー入力がないときにウイジャ効果を回避するには、両方のスティックのたわみを確認します。物理的に動かしたか(左スティックの操作)、またはターゲットの方向で「照準」がアクティブかどうかを確認します。ヨー/ピッチデルタステップ*照準の近さ* Max(move.length、aim.length)を追加して、基本的な粘着性のある照準を作成します。
ターゲットの混乱の問題が発生した場合(つまり、背後にあるものを狙っていたときにターゲットが視点を横切って、「フォーカスを「盗んで」いる)、単にターゲットを追跡し、アクティブになっているときに1つのターゲットを「加熱」します。を目的とした。次に、ダンピングコンポーネントとスティッキーコンポーネントにこの熱パラメータを掛けて、加熱されていないターゲットが無視されるようにします。プレイヤーが他のターゲットのヘルプを求めている場合、彼らは手動でそれを目指し、非常に迅速に、それは前のターゲットが忘れられている間、最も目立つ加熱されたターゲットになります。
また、「ファントム」照準支援ターゲットを作成して、面白くないものから離れるのに役立ちます(つまり、壁に面している-効果的なインタラクティブでない場合は、クローズアップの空白の表面を見回す必要はありません)。約-爆弾のバレル、インタラクティブなオブジェクト(バイオショックは、インタラクティブなオブジェクトを至近距離に向けるときにダンピングを使用しますが、スティッキーな狙いはしません)私は思いません)。これがすべて照準のコアコンセプトを補完するためのものであることがわかったら、それは照準ショットだけでなく、照準に依存するメカニックにフィードする一般的な使いやすさの向上であることを理解します。そしてFPSでは、本当に
これらすべての重要なことはチューニングです。正しく動作し、ターゲットの干渉に対処するには長い時間がかかります。ターゲットが近すぎるため、「ターゲットゾーン」がプレーヤーのパノラマを乱し、クロールまで60度回転が遅くなります。
おお、私は寝なければならない。数学のいくつかがクリアされていない場合は申し訳ありません。本当に遅いですが、この投稿を読んでワクワクしました。
コンソールで入力を快適にするには、何らかの処理を行う必要があります。
まず、アナログスティックからの線形入力を曲線に変換し、スティックの中心付近の感度を高め、境界での感度を下げました。これは、これらのカーブを作成して視覚化し、コードを吐き出すのに役立つ小さなツールで実行できます。(http://www.arachnoid.com/polysolve/)
2番目のステップとして、ある種のアクセラレーションを実装しました。スティック入力が少なくとも97%になると、しばらくしてから起動し、時間の経過とともにカメラの回転を増加させます。X軸とY軸を個別に処理しました。これにより、スティックの入力範囲を人工的に拡張することができます。最初の97%は比較的細かい調整に使用できますが、加速により高速移動も可能です。
カメラのFOVが異なる場合(照準/ズーム時など)、現在使用しているFOVによってカムの回転速度を調整する要素が必要です。
プレイヤーの生活を楽にする他の気の利いたトリックは「自動センタリング」です。これにより、入力がない場合にカメラのピッチがゆっくり水平線に戻ります。それは方向を保つのに役立ちます。
コンソールで注意すべきもう1つのことは、デッドゾーンです。コントローラーが古くなると、アナログスティックは精度を失い始め、「誤った」入力を与える傾向があります。これを防ぐには、スティック入力の最初の数個(最大20%)を無視する必要があります。
また、前述のように摩擦ベースの照準ヘルプを使用していくつかの実験を行いました(画面上で敵に向かって移動するときは入力を加速し、離れるときは入力を遅くします)。また、敵の列があると、カムの動きがスムーズでなくなるという欠点もあります。私たちは「磁気弾」効果を選択しました。これは、弾自体が特定の範囲内の敵に引き寄せられる傾向があるというものです。ただし、ここでも注意が必要です。
私は個人的にコンソールシューティングゲームの「ロックオン」パラダイムが好きです。つまり、ボタンを押し続けて大まかに目の前の敵にロックし(複数回押して複数の敵を循環させます)、その後、目標は自動的にそれらを追跡します。私が考えることができる最初のFPSは、GC上のMetroid Primeでした(それ以前に他にもあったと思います)。アナログスティックの緩慢な不正確さは問題になりません。...それがマルチプレイヤーにどのように変換されるかはわかりません。
メトロイドプライムを使用している間、私がジャンプするときにビューが自動的に少し角度が下がるプラットフォームビットに使用する手法も気に入りました。微妙でしたが、コントロールがはるかに自然に感じられるようになりました。