2015/09/28

加速理論とその周辺

FPSシーンのデバイスのセッティングでは
マウス加速はOFFにすべきである
ということが基本的事項として言われています.

私も現状の設定では加速なしでプレイしているので,加速なし派の支持者と言えるのですが,デバイスについての知識が増えるに従ってもう一度加速について考えるべきだと感じています.

機械的な視点で考えると,

  • 異なる応答特性をもつ複数のアクチュエータ
    • 肩,腕,指の筋肉
  • 複数のジョイント
    • 肩,肘,手首,指

を用いて作業点(マウス)を動作させているので,非常に複雑な構成のシステムです.

また,アクチュエータである筋肉の電流応答を見てみましょう.
[1]
肩,腕,手の筋肉が一概にこういう特性だ,ということを断言するわけではありません.しかし,少なくともマウスを動かすのに使う筋肉も「線形応答ではないはず」という予想はできます.

そして,制御系(脳)自体も,状況に応じて様々な神経からのフィードバックと神経の遅延を加味しながらアクチュエータを制御しています.こうしたシステムで,「最終的に系全体では線形になっている」もしくは「線形な特性をもつポインタを使用するべき」と主張するのは難しいと考えています.

また,私の考えていた加速なしにしていた一つの理由として,
脳は移動量を関節角のフィードバックを元にしているはずであるので,いかなる速度で動かしても一定の関節角の動きを取る加速なしが優れている
という考えがあります.しかし,前述のとおり関節の構成は複雑です.
また,関節の長さもポイントとなります.例えば肘から作動点まで40cmだとすると,1mm平行移動させる場合の肘関節の角度差は0.14°となります.私は,複数の関節からのフィードバックを0.1°単位で加味しながら制御しているとは考えられません.
そしてプレイ中に意識して考えると,どちらかというと視覚からのフィードバックを重視しており,そこから筋張力を制御しているように感じます.したがって,実は関節角によるフィードバックは重要度が高くないと考えるようになりました.

これらを勘案すると,「加速は入れるべき」なのではないかということが分かってきます.

加速なしv.s.加速あり

それぞれのメリット・デメリットはrafa様の記事の通りなので是非参照してください.
私の経験から要点をまとめると以下のようになります.

  • 加速なし
    • ハイセンシ
      • 成績にムラが出やすい
      • 近距離に強く,遠距離に弱い
      • 多くのタイトルで初期状態ではハイセンシ状態である
      • 初心者にハイセンシのプレイヤーが多い
    • ローセンシ
      • 成績が安定する
      • 遠距離に強く,近距離に弱い
    • ミドルセンシ
      • ハイ・ローの中間的な特性だが,近距離ではハイセンシに負け,遠距離ではローセンシに負ける
  • 加速あり
      • 習熟に時間が掛かる
      • 極めれば(恐らく)不得手なレンジは無くなる
      • 「加速特性」という複雑なパラメタを自分に合わせてチューニングする必要がある

加速特性

ちなみに「どのようなパターンの加速特性とするべきか」という問題に関しては,非常に難しい問題なので今後のユーザの試行錯誤に期待していきたいです.
さしあたり,現状で分かっている点から加速特性について少しだけ考えてみましょう.

低速域の場合,例えばの話ですが,右に3カウント動かした後に左に4カウント動かす,というのを瞬時に間違いなくやってのける人はあまりいないでしょう.400dpiだとすると,1カウントで0.06mmとなりますが,誤差±0.03mm単位で物を正しい場所に動かすのは難しいです.そういう意味では低速域ではセンシティビティを下げるべきだと考えられます.

高速域では,低中速域でのセンシティビティに大きく依存すると考えています.低中速域でのセンシティビティが低い場合,高速域では大きな力が必要となります.全力で投げるよりも8割の力で投げた方がコントロールしやすいですよね.したがって,中高速域ではある程度の加速をかけて全力で動かさなくても高速に視点が動作するようにすると良いでしょう.

問題点

「加速なし」の圧倒的なメリットとして,「振り向きを一度測れば,すべてのタイトルでセンシティビティを統一できる」というものが挙げられます.基本的にはrawinputを有効にするか,OS側の加速を切ってゲーム内の加速を切ることで加速なしの環境は構築できるのです.そして,使い慣れた振り向きになるようにセンシティビティを調整すればOKです.
ついでに言えば,ゲームエンジン毎に振り向きを計りながらセンシティビティを調整するのは面倒なので複数のタイトルで設定値を統一して欲しいですが.

加速ありで問題となるのが複数タイトルでのセンシティビティを合わせにくいというものです.私も一時期マウス加速を試していた時期があったのですが,複数タイトルでのセンシティビティが合わせにくいという理由で止めています.
インゲームの加速機能を使用すると,エンジンによる加速のかかり具合によってセンシティビティが統一できないという問題があります.また,rawinputしか選べないタイトルも存在するかもしれないのでOS側で設定するというのも難しい話です.

こうした問題を解決するには,複数タイトルに対応した統一的な加速特性設定の規格が必要なのだと思います.

さしあたっての解決法は,QL Mouse Accel Driverなどでドライバレベルで加速をかけることです.しかし,導入が少々面倒という点があります.

または,マウスレベルでの制御を行うことです.加速を掛ける段階でカウントをうまく縮尺させれば,整数型でも加速をつけることができるのでFPUを搭載していないマイコンであっても,問題にならないレベルの演算時間だと見積もることができます.マウスレベルで加速をかけることで,ネットカフェやオフラインなどの環境でも自分の加速特性を利用することができます.
しかし,こちらはファームウェア毎に異なる方法で加速をかけることになるので,複数のマウスを頻繁に取り替える場合などを想定すると,これもまた統一した規格が必要になると考えられます.

[1] 板倉直明,久保公人,井口弥寿彦,南谷晴之: "電気刺激による筋張力制御系の安定性の評価" 電子情報通信学会論文誌. J72-DII. 1543-1549 (1989)

6 件のコメント:

  1. マウス加速を使っている時に感じた事としては、加速無しの場合は移動量で合わせるのはもちろんですが、有りの場合では移動量を一定にしてマウスをふる速度だけで合わせるという方法がよかったと感じました。
    加速度がおおきく、振り向きが低いとこのようなプレイになると思います。

    返信削除
    返信
    1. コメントありがとうございます.
      筋力(加速度)*時間の入れ具合で合わせるという感じですね.
      私もその感覚でプレイしています.

      削除
    2. マウス加速無しの場合と有りの場合ではマウスパットに求めるものが違うと思うのですがどう思われますか?

      削除
    3. 加速がない場合に一番問題となるのが低速域で細かい動作をする場合になると考えています.ここで,ツルツルした面で細かい動作をするのは難しいので,ある程度摩擦係数が高い必要があるというところでしょうか.
      加速ありの場合は,細かい動作をしやすいはずなので,もう少し要求される性能緩いのかなと思います.ただ,私の加速あり環境でのプレイ期間が浅いのでまだなんとも言えないところもあります.

      削除
  2. これはアクセル派の私にはとても熱い論文が:)

    私のゴミのような痛いblogまで拾っていただいて恐縮です:|
    こちらもモワッと考えていたことが理論として確立されたみたいで
    胸のつっかえが取れる感覚を覚えました:) 
    これから色んな所でこの記事が加速についての再考のきっかけになりそうです。

    理屈は本記事にあるとおりだと私も感じていて
    無加速環境にして、マウスの移動量と視点の移動角を比例関係にすることが
    人間の感覚に添うとは言い切れないと思っています。

    しかしFPSでは無効にすることが常識として推奨されている加速でしたので
    私も数年前までは何も考えず真っ先に加速を切ってゲームを遊んでました。
    しかし身の回りのプレイヤー、海外プレイヤー様々な人の視点を観察するにつれ
    本人は意識してなくとも、アクセルを巧みに活用しているプレイヤーが相当数居る事に気づき
    最近考えを改め始めた感じです。

    しかしまだ考えている事もありまして
    リコイルコントロールというものが存在し水平方向の視点移動が主体のリアル系FPSと
    基本的には狙ったところに正確に弾が飛び、Y軸方向の視点移動が多いアリーナ系FPSとでは
    アクセルとの相性が大きく異なるのではないか?とも感じています。
    実際CS:GOでは今のところアクセル派は圧倒的マイノリティで
    Quakerなどは半々に割れるかアクセル派が少し多いくらいだと思いますので
    状況はかなり違います。この辺もまた研究対象として面白いと感じてます:)

    返信削除
    返信
    1. rafa様
      コメントありがとうございます.内容的には論文というよりは,雑記のようなとりとめのなさですが・・・

      さて,タイトルによって加速への相性が異なることについてですが,やはりゲームのデザインが一番の要因であると思います.
      CS:GOを例にとって上げると,リスポーン位置が毎ラウンド同じであり,毎ラウンドの交戦ポイントが限定されるという特徴があります.また,これによって周囲の状況から敵が出てくる位置・タイミングが推測できている場合が多いです.ですので,不意の戦闘が起きにくく高速に視点を動かす必要もありません.なので低センシにすれば加速を入れる必要性が顕在化しにくかったのではないかと思います.

      (私は詳しくないのですが,)対するアリーナ系FPSは,そもそも敵の移動速度がCS:GOと比較して速いことや,自身も高速で移動していることが多いように見えます.なので互いの相対的な位置関係がめまぐるしく入れ替わるため,極端に速い視点操作が必要になります.ここで,ある程度高速に視点を動かす必要性が生まれて,精度と速度を両立できる加速環境が必要とされているのではないかと思います.

      これらを考えると,タイトルによって適切な加速特性は異なると考えられます.

      削除