ゲーム開発者が「ドア」を実装することを嫌う理由

シングルプレイヤー

ほとんどのゲームクリエイターにとって「ドア」をゲームに実装するのは悩みの種である。
海外の複数のゲームクリエイターが、「ドア」をゲームに実装することがいかに複雑で難しく、開発者を悩ませるのかについて解説しているので簡単に紹介する。

ドアが起こす問題>>>ドアがある恩恵
  • ドアがあることでゲームのロジックが指数関数的に複雑になる可能性がある
  • 2人のキャラクターが同時にドアを開けようとしたりすると、タイミングの問題が起こる
  • ドアにプレイヤーやNPCがはまってしまう
  • ドアが途中でつっかえて動かなくなる可能性がある
  • ドアの前に置かれたオブジェクトの処理
  • ドアが閉まってプレイヤーが閉じ込められる事故が起こる
  • プレイヤーキャラクターがドアを通過した後にドアが閉まり、後ろからついてきたNPCの道が塞がれる
  • ドアは経路探索を邪魔する
  • 問題を解決するために別のコードを書く必要がある
  • FPSでは押し戸ではなく、スライド式のドアが多用されるのはそのため

NPCが目的地へ移動するという仕組みがあった際、ドアがなければ単に移動して終わりだが、ドアが移動経路上にあると、NPCがドアと相互作用する必要が出てくる。ドアがどちらの方向に開くのか、NPCがドアにどれだけ近づいているのか等、様々な制御が必要になる

doorbreaking_20.gif

  • ドアを開ける動きそのものが厄介
  • ドアノブに手をかけてドアを開ける動きはもどかしく感じられ、さらにそのアニメーションを準備しておく必要がある
  • ドアノブがついているようなドアが自動で開くようにすると、今度は没入感を損なう
  • ドアを上手く実装したとしても、プレイヤーはドアが存在していることを気にしないのが普通。ドアの存在が感謝されることは稀
  • ゲーム「Control」では武器や能力のシステムよりもドアのシステムを開発することに時間がかかった
  • 「ウィッチャー3」ではボスとの戦闘中はロックされ、戦闘終了時にロックが解除されるドアがあるが、開発している時にドアが開かない12通りのシナリオ(バグ)が発見された。解決策は鍵がかかるようなドアを実装しない事だった
  • 昔のアサシンクリードではドアがまるでその世界に存在しないかのようにすることで、ドアの問題を回避している

ドアを実装する労力と難易度が尋常でないほど高い一方で、ドアがあることによる恩恵はそれほど大きくないため、ゲーム開発者はドアを実装することを嫌うことが多いようだ。

AAAゲームにドアを実装する苦労
  • The Last of Us Part 2にはドアが実装されており、ステルス要素があるゲームでは隠れることに使ったり、敵の行動を遅らせる事に役立つ
  • しかし、The Last of Us Part 2のようなアニメーションが洗練されたゲームでは、ドアノブを回してドアを押して開ける動作が必要になる
  • 走りながらドアを開けようとするとどうなるのか、開けたドアはその後どうなるのかといった課題が出てくる
  • 開発チームはプレイヤーが手動でドアを開けたり閉めたりできる複数のプロトタイプを作ったがどれも駄目だった
  • 敵から逃げてる途中にドアを開けるアニメーションで台無しにしたくなかった
  • The Last of Us Part 2では最終的に、ドアは戦闘中にはゆっくり自動で閉まるようにし、非戦闘中には開いたままにした
  • 非戦闘時にどの道を通って来たのかをドアを見て判断できる
  • 開発チームはプレイヤーがドアを押し開けるだけでなく、プレイヤーが扉に押されるような物理演算のオブジェクトを新たに開発しなければならなかった
  • The Last of Us Part 2のロープを開発した天才的なプログラマーがドアの物理演算も作った
  • ドアノブに近づく動作をレイヤー化するシステムで忠実度とレスポンスのバランスを取った
  • 結果、40種類以上のドアをプレイヤーが苦痛を感じない形で実装することに成功した

▼The Last of Us Part IIのドアの物理演算を作ったプログラマーが担当したロープの挙動

ドアについて語るゲーム開発者達

3Dゲームにドアがどのように実装されているのかを意識的に見てみると、開発者の努力や才能に気づくことができるだろう。

ソース: PC Gamer

コメント

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