『国内最大級のゲーム全般ブログ』

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

1名無しさん必死だな 2021/03/21(日)14:05:59.68 ID: +2JGoc1z0.net

ほとんどのゲームクリエイターにとって「ドア」をゲームに実装するのは悩みの種である。

dokodemo-door.png
海外の複数のゲームクリエイターが、「ドア」をゲームに実装することがいかに複雑で難しく、開発者を悩ませるのかについて解説しているので簡単に紹介する。

ドアが起こす問題>>>ドアがある恩恵

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

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

ドアを開ける動きそのものが厄介
ドアノブに手をかけてドアを開ける動きはもどかしく感じられ、さらにそのアニメーションを準備しておく必要がある
ドアノブがついているようなドアが自動で開くようにすると、今度は没入感を損なう
ドアを上手く実装したとしても、プレイヤーはドアが存在していることを気にしないのが普通。ドアの存在が感謝されることは稀
ゲーム「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種類以上のドアをプレイヤーが苦痛を感じない形で実装することに成功した

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

ソース: PC Gamer

https://kultur2.blog.fc2.com/blog-entry-5207.html

画像元リンク内

 

4名無しさん必死だな 2021/03/21(日)14:09:15.10 ID: qjp9ngND0.net

wizardryは先進的だった

 

54名無しさん必死だな 2021/03/21(日)15:08:51.48 ID: UP0AE4RJ0.net

>>4
あのゲームシステムだとほとんど1の問題でないじゃんw
リアルタイムでNPCやクリーチャーがドアに干渉したり
ドア越しに移動経路計算やNPCの移動があるゲームじゃないと簡単に実装できるじゃん
日本のゲームってオブジェクト動かせないし落としてもすぐ消えるからドアに挟まったりとかしねーしw

 

6名無しさん必死だな 2021/03/21(日)14:11:22.88 ID: M0Wzpcbr0.net

それでもバイオ系には必要なんよな
行動範囲をコントロールしたいから

 

108名無しさん必死だな 2021/03/22(月)01:15:24.47 ID: bWAnGgQiM.net

>>6
あれはこの説明とは別物やん

 

11名無しさん必死だな 2021/03/21(日)14:14:27.16 ID: SJoar6O90.net

なぜゲームタイトルごとにドア処理の再発明をするのでしょうか

 

26名無しさん必死だな 2021/03/21(日)14:24:31.78 ID: gXD2fpLOa.net

>>11
これな
開発に金と時間かかったから成果を独占したいってのは分かるけど成果を共有しないのにゲームに求められるクオリティはどんどん上がってるからゲーム開発にかかる金がどんどん大きくなってる

 

83名無しさん必死だな 2021/03/21(日)16:52:03.97 ID: czI/bSG00.net

>>26
ゲームにおいて汎用的なロジックは存在しない

 

50名無しさん必死だな 2021/03/21(日)15:00:41.19 ID: Kor1CPeg0.net

>>11
再発明ってほど難しくないものだし
仕様の違いを吸収できる設計は無駄に重くなるし
いろいろある

 

20名無しさん必死だな 2021/03/21(日)14:18:06.19 ID: SjC/TGo00.net

>>1
なるほど
だから技術のないスクエニのFF15はこんなことになったんだなw

 

119名無しさん必死だな 2021/03/22(月)08:31:34.44 ID: I3YOCLsj0.net

>>20
イカしたやつらが箱乗りしてるだけだぞ

 

30名無しさん必死だな 2021/03/21(日)14:27:40.36 ID: DdHJJDj00.net

ドアといえばこれ

 

92名無しさん必死だな 2021/03/21(日)18:42:56.84 ID: +J9dtRJ10.net

>>30
これは何が面白いの?

 

34名無しさん必死だな 2021/03/21(日)14:30:57.14 ID: HDFHnO2g0.net

ゲーム業界のプログラマーは車輪の大発明を繰り返してるのか

 

36名無しさん必死だな 2021/03/21(日)14:38:59.00 ID: u2vAKs2Z0.net

>>34
確かに車輪は大発明だは

 

38名無しさん必死だな 2021/03/21(日)14:42:46.15 ID: 9U77HErMM.net

>>34
スマホガチャゲーとかその最たるもの

 

42名無しさん必死だな 2021/03/21(日)14:51:25.90 ID: KpEoJ+d20.net

ドアの開け閉めで読み込みをごまかしてる

 

43名無しさん必死だな 2021/03/21(日)14:53:41.01 ID: wUK7+a1j0.net

>>42
初代バイオが俺のプレステじゃ縦に置かないと隣の部屋に行くのに1分ぐらいかかってたわ

 

45名無しさん必死だな 2021/03/21(日)14:54:09.54 ID: Kor1CPeg0.net

ドアをオブジェクト指向で設計してればこんな馬鹿みたいな不具合は起きない

 

71名無しさん必死だな 2021/03/21(日)16:16:34.79 ID: h6bRX+lL0.net

>>45
1番頭悪そう

 

136名無しさん必死だな 2021/03/22(月)10:03:56.88 ID: aDzaRy/70.net

>>45
しゃべるドアが必要になって困るパターンじゃん

 

79名無しさん必死だな 2021/03/21(日)16:42:18.68 ID: ZH6sJg3M0.net

初代バイオハザードはよく考えられてたな
部屋のローディングを誤魔化す為のドア演出

 

93名無しさん必死だな 2021/03/21(日)19:11:28.12 ID: pyEvudtE0.net

>>79
ローディングでドアの先にゾンビが居るのバレるけどね

 

91名無しさん必死だな 2021/03/21(日)18:07:39.49 ID: 6agrkZBY0.net

FF6にもドアのバグがあるしな

アウザーの屋敷地下にある3枚並んだドアは、一定時間(約2.5秒)で自動的に開閉を繰り返す。正解の扉のみが先へと通じており、ハズレの扉に入ると1つ前のフロアに戻されてしまう。
このドアの開閉に用いられているのが「ドアタイマー」である。
ドアタイマーは並列する3個のタイマーから構成されている。セットされた1つのタイマーが2.5秒で作動し、対応するドアを開閉した上で次のタイマーをセットするという動作を繰り返している。
重要なポイントは、この「ドアを開閉する」という処理の方法。実は、閉まっているドアの前には通行を妨げるために透明なNPCが配置されており、ドアが開くと透明なNPCが消去される仕組みになっているのである。
3枚のドアの前にはそれぞれ$12、$13、$14のIDを持つNPCが透明な状態で配置されており、これらがタイマーの作動に応じて消失と出現を行うことでドアの開閉を表現しているわけである。(ドアのマップチップの消去と描画はこれと別に処理されている)
なお、アウザーの屋敷をクリアしてリルムを再加入させると、ドアタイマーは機能を停止する。
この$12〜$14のIDを持つNPCは、アウザーの屋敷以外にもさまざまな場所に存在している。
従って、もしドアタイマーをアウザーの屋敷以外の場所で作動させることができるなら、その場所ごとに特定のNPCの召喚・抹消が可能になる。

 

129名無しさん必死だな 2021/03/22(月)09:47:12.18 ID: 49a3EUrcM.net

>>91
それはタイマーのバグっしょ
最初はシドタイマーから検証始まったバグだし

 

103名無しさん必死だな 2021/03/21(日)20:26:30.00 ID: YqSZNoN60.net

言われてみりゃあそうだな
ドアの不具合>>>>ドアの恩恵
何気ないけど目から鱗

 

109名無しさん必死だな 2021/03/22(月)01:16:53.66 ID: bWAnGgQiM.net

>>103
そうそう
実装は簡単なんだが問題なくするためのテストとか見た目のすり合わせとか
めんどくさい割に恩恵ないんだよな

 

112名無しさん必死だな 2021/03/22(月)07:39:23.12 ID: AImSWevRa.net

 

 

 

今日本で一番売れてるゲームのプロデューサーの講演見ればわかる

 

118名無しさん必死だな 2021/03/22(月)08:25:41.52 ID: At285oKp0.net

>>112
そしてドアノブだけが浮いている状態になる

 

120名無しさん必死だな 2021/03/22(月)08:34:48.25 ID: Lu/L6ObW0.net

マッピーとかスパイvsスパイとかドアなきゃ駄目じゃん

 

124名無しさん必死だな 2021/03/22(月)09:14:55.93 ID: u4llrOe6M.net

>>120
ゼルダ含めて画面が箱になってるのはまだいいんだよ
今のゲームは見た目も無駄にコストかかるしアニメとかも同じで昔は雑で済んだので動きのあるシーンできたが
今はクオリティ求められるので結果として動きの少ない描く増えてるし

 

122名無しさん必死だな 2021/03/22(月)08:58:54.36 ID: XuNUEsXi0.net

こういう開発者視点の記事は面白いな、もっと読みたいわ

 

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

この記事のURLとタイトルをコピー