企画記事
普通に開く“扉”をゲーム内に作るのは,なぜそんなに難しいのか
デベロッパー達は,長い間「扉」に苦しめられている
少し前に,インディ開発者のStephan Hövelbrinks氏が,個人の感想をツイートした。「ゲームにあるドアは開発が複雑すぎて,いろんなバグの誘因になる」「デベロッパーであれば誰もが痛感していることだ」
Doors #gamedev pic.twitter.com/7CJgKin1dE
— Stephan Hövelbrinks (@talecrafter) March 9, 2021
このツイートは想像以上に多くの開発者たちの共感を得た。大半の開発者がコメントで文句を言っていたが,その中にはAAAスタジオのエリートも多く含まれた。
「CONTROL」のリードゲームプレイデザイナー Sergey Mohov氏によると,彼らが“扉の開発”に費やした時間は,武器やスキルシステムの開発時間より圧倒的に長い。「The Last of Us」のディレクター Kurt Margenau氏も同意見で,すべてのゲーム要素において“扉”が一番時間がかかったという。「South Park: The Fractured but Whole」(PC / PS4 / Xbox One)のデザイナーAndrew Dovichi氏は,“扉”がゲームの中でもっとも複雑だと述べていた。
このほかRemedyのシニアデザイナー達は,「Quantum Break」(PC / Xbox One)ではドアのせいで発狂するほど追い詰められたと語っている。実はゲームに本当の扉は存在せず,すべてはトリックによって実現されたものなのだ。
ほんの短い時間に,まるでゲーム業界の人の半分が「扉こそがゲーム開発における罪の源である」と文句を言っているかのような状態になっていた。
扉こそがゲーム開発における「罪の源」である
扉という,一般的にゲーム内に存在するものに,なぜこんなにも多くの業界エリート達が翻弄されるのか。
初期の頃のゲームにおいて,扉はインタラクティブなオブジェクトではなく,プレイヤーが指示を入力すれば開く単純な仕組みのものだった。
徐々にゲームがリアルな方向へと進み始め,扉は,開けるだけでなく閉じることができるものになった。時にはロックを外して開けたり,または衝撃で開いたり,開いた後には扉の揺れが求められたり。こうなると,考慮しなければならないものが急激に増えてくる。
今や,ゲームに一つ扉を加えることが,制作のあらゆる方面に影響を及ぼすことになった。
まずゲームプランナーが,扉の機能を決めないといけない。そしてモデルデザイナーが扉のモデルを作り,その上にアニメーターが「開く」「閉じる」の両方のアニメーションを載せる。プログラマーは扉が正しく動くようにプログラムを組み,音響はそれに合わせて音を付ける。
同時に,キャラクターアニメーターはキャラクターがドアを開ける動作をどうするか迷う。動作と無関係に勝手に扉が開いたりすると,リアリティがそれなりに崩れるからだ。ただし,キャラクターが扉を開けられるようにアニメーションを加えるとなれば,それ相応の動きを作らなければならないことのほか,キャラクターの動きを扉に合わせるのも四苦八苦しかねない。
ただ単に作業量が増えるだけなら,扉はここまでディスられないだろう。問題は,扉を入れることが潜在的に多くのトラブルを引き起こすことにあるのだ。
かつて,とある開発者が一時業界で有名になった「扉の問題」という記事を書いた。
記事では,ゲーム制作における“扉”に関するさまざまな問題が列挙されていた。例えば,すべての扉をプレイヤーが開閉できるようにするのか? それとも一部の扉を単なる装飾にするのか? 開けられる扉と開けられない扉を,どのようにプレイヤーに区別させるのか? 扉にはロックがかけられるのか? それは解除できるのか? プレイヤーが前に立っていることを察知して自動で開くのか? それともプレイヤーの操作が必要なのか? 自動で開くなら,プレイヤーの通過後に自動で閉まるのか?
外部サイト(英語):“The Door Problem”
扉の開け閉めというアクションは,見て分かるバグにもつながることがある。
扉を開けるとき,もし扉にリアルな重量があったなら,開けずそこで行き詰る可能性が大いにある。あるいは,扉を開けるときにキャラクターも一緒に動く可能性もある。逆に接触がない場合,開けようとした時にキャラクターのモデルを通過するかもしれない。どちらであっても,デベロッパーが扉に対して「調整」を施す必要はある。
「OUTLAST」(PC / PlayStation 4)が一つの例だ。プレイヤーは,マウスの操作によって扉を少しだけ開けることができる。一般的に,こういう動きはキャラクターと扉が容易に重なってしまうので,「OUTLAST」ではキャラクターが扉を開けるとき,キャラクター自身の物理体積を縮めて,通過後に元に戻す仕様にしている。この仕様を利用して,キャラクターモデルの体積を小さくしたまま扉を通過したり壁を超えたりする想定外の使い方をするプレイヤーが現れた。
ほかにも,多くの複雑な扉がある。例えば片側からロックがかかっている状態でも,もう片方からは開けられてしまう「DARK SOULS」方式。ただこのような扉は,完璧な状態でなければ,絶妙な角度で向こう側のドアノブから開けられる可能性もある。
扉には,開いている/閉まっているの2種類の状態があり,開いている時には通過できるようにしなければならない一方,閉まっているときはすべてのキャラクターの行動を塞がなければならない。この特性が,ナビゲーションシステムのAIに大きく作用する。多くのナビゲーションシステムはマップの図形のみでルートを計算しており,これだけでは“扉”という存在を認識できないからだ。
扉を設計するときは,プレイヤーによるランダムな操作も考慮しないといけない。予想外の動きは,扉の正常な動作を妨害するかもしれない。扉の開け閉めのとき,ほかの誰かがそこに立っていたらどうする? プレイヤーが扉の前にオブジェクトを置いたらどうなる?
「The Elder Scrolls V: Skyrim」(PC/PlayStation 3/Xbox 360)のプレイヤーが,キャラクターが大きめのものを手にすれば一部の扉をそのまま通過できることを発見した。推測だが,扉がオブジェクトと接触したとき,体積判定が一時的にスルーされるようにデザインされていたためかもしれない。
これと似た状況も少なくない。「DARK SOULS II」(PC / PlayStation 3 / Xbox 360)では,転がる樽と扉の間に自キャラを挟むと,樽に押し出されるかのように,閉まっている扉をすり抜けることができる。
「グランド・セフト・オート:オンライン」にも扉問題は存在している。最近実装された「カヨ・ペリコ強盗」のミッションは,本来2人のプレイヤーが力を合わせて,2枚のカードキーで二重ロックを解除しなければならなかったのだが,キャラクターを扉に近づけて,防御の動きをしてから素早く振り向いてエイミングすることで,カードキーなしで扉が自動的に開くという報告が見られた。
「GTA5」では,プレイヤーが扉に衝撃を与えたときに扉が自然に開くので,振り向いてエイミングするという動きがキャラクターモデルのロック判定を回避させたと考えられる。
扉が一つしかなければ,微調整を重ねて問題が出なくなるまで頑張れるが,普通はゲーム内にある扉の数が多すぎて,いちいちコントロールしきれない。しかもプレイヤーと扉でのアクションは種類も多いので,機能が複雑な扉ほど問題を起こしやすい。
「ウィッチャー3 ワイルドハント」(PC / PS4 / Xbox One / Switch)のDLC「血塗られた美酒」の開発中に,CD PROJEKTのある開発者が,すべての建築物の扉を開けることができるのに気づいた。本来は中に入れない,装飾部屋の扉でさえも。なぜ全部が開けられてしまったのか,その理由は,開発チームの誰も知らなかった。
大量なデバッグ作業を行って判明したのだが,ダン・タイン城に突撃するクエストで,クエストプランナーがプレイヤーをサブストーリーに集中させたくて,クエスト完了まですべての扉を一時的に閉鎖させたことだった。該当のストーリーが終わったところで,自由探索ができるようにエリアが開放される仕様だったのだ。
問題はこの仕様そのものではなく,ゲームにはたくさんの扉があり,中には常時封鎖され,鍵を持っていればアンロックできる扉もあったことにある。プログラムは,どれがこのクエストのために一時閉鎖するもので,どれが常時閉鎖しておくべきものなのかを判断できずに,ゲーム内の全部の扉を開けてしまうのだ。
リアルな扉がいい扉だとは限らない
「ウィッチャー3」のケースでは,最終的なソリューションとして,デベロッパーはやむを得ずすべての扉にこっそり付記をした。「この扉は閉じている。クエストが終わっても閉じているままにする」「この扉には鍵が必要だ。クエストが終わっても開けてはならない」
ゲーム開発の問題解決は時として単純で機械的な方法しか使わないものとなるので,デベロッパーが「扉」をトラブルメーカーであるとする理由も分かる。
扉の問題は,主にプレイヤーの行為のランダム性および判定ロジックの複雑さに起因することが多く,問題解決をするときもこの二つからだ。
一部のゲームは,プレイヤーの行動を制限するような手段をとる。特定の位置に立ってボタンを押さないと扉が開かないとか,NPCのチームメイトがそばにいるときにしか反応せず,プレイヤーが能動的に開けられないとか,扉を開くときに強制アニメーションを開始して,その間プレイヤーにアクションをさせないようにするといったものだ。
「P.T.」が正にこれだった。プレイヤーが扉に近づくと,自動的にアニメーションが始まる。扉を通過して次の部屋に入るまではキャラクターをコントロールできないようにしたのだ。
しかしGIFを見れば分かるように,扉を開けて次の部屋に入らない方法を見つけたプレイヤーが,実際にはプレイヤーが扉を開けたわけではなかったことを明らかにした。扉を開ける瞬間,実際に起こったことは扉が消えたことだ。プレイヤーが通過してから再び現れるだけだった。アニメーションで扉を開けることも,そのアクションによる潜在的問題を回避した結果なのだ。
もう一点言えるのは,リアルな扉がいい扉だとは限らないということだ。
ちゃんと観察すれば分かるかもしれないが,ゲームの扉には“アンリアリティ”が満載だ。例えば,サイズがリアルより大きく,しかも多くの扉は両側から開けられる。プレイヤーがどちらにいても,扉はプレイヤーのいないほうに開く。そうすれば開くスピードが出るし,キャラクターの体とも衝突しないからだ。
現実では両開きの扉はあまり見かけないが,ゲームの扉の大半はそうだ。両開きにしておけば多くのトラブルを回避できるし,大半のプレイヤーは両開きであることに気づかない。
「Half-Life: Alyx」は,今までで一番リアルな扉があると褒められていたが,実際のところ開発チームは,扉のリアリティを削らなければならなかったのだ。
Valveの開発チームは最初,相当リアルな扉を用意した。開け閉めは物理エンジンの演算で行い,本物の扉のように蝶番(ちょうつがい)すら付けて動作させていた。締める時も自動ロックがかけられ,一般家庭の玄関扉と一緒で,片側にしか開かないという仕様だ。
しかしその扉をテストしたとき,奇妙なことが起きた。テストプレイヤーが,扉を開けられないのだ。
押さないと開かない扉に対して,プレイヤーが引いてみた。もちろん扉は動かないし開かない。次にプレイヤーは押してみるが,「押した」と思っていたプレイヤーの動作は,実際には手を元の位置に戻しただけだった。つまり錯覚でしかなく扉は押されてはいなかったので,当然動かない。その後も数回押したり引いたりしてみるが,何も反応しない扉に「きっと壊れてるんだろう」という判断を下す。
これがあって,「Half-Life: Alyx」は最終的にゲーム内の扉を全部両開きの扉に作り替えた。
その後,開発チームは扉にドアノブを付けてみた。現実同様に,ノブを回して開く方式だ。しかしこれも,テストプレイヤーが時間をかけて開こうとしても,結果開けなかった。なぜなら,プレイヤーはこれほど回さないと開かないリアルの扉を想定してなかったからだ。
それに対応するために,開発チームは再びデザイン修正をかけた。扉を開ける時に,キャラクターの手が自動的に回るようなアニメーションをする。プレイヤーに,ドアノブはひねれるものだと伝える。実際のプレイでは,多くのプレイヤーがそれを見てVRコントローラーを握った手を回し,自分がドアノブをコントロールしていると思い込む。この扉がリアルだと。
扉のトラブルが発生したときの一般的な手法は,リアリティを犠牲にしても別の方法で解決することだ。引いて開ける扉を,スライド式の扉(引き戸など)※に変えるとか,扉を開くときにモデルの体積判定を無視するとか。もっと根本的な結論を下した開発者もいる,ゲームに必須でないなら入れるな,と。しょせん扉はゲーム開発の足枷でしかない。
※7月1日11:30AM,一部誤解を招く表現がありましたので修正しました。ご指摘ありがとうございました。
例えば,初期の「アサシン クリード」には扉の存在がなかった。「アサシン クリード ヴァルハラ」(PC / PS4 / PS5 / Xbox One / Xbox Series X)で初めて,Ubisoftはゲームにそれっぽい扉を入れたが,まあ壁や屋根を自由に動けるプレイヤーにとっては,さほど重要ではなかったかもしれない。
多くの開発者が打ち明けた血と汗と涙の結晶から,ゲーム制作が容易ではないことが少しばかり分かったかもしれない。
扉だけでなく,ゲームにおけるすべてのものは簡単に作りあげられたわけでなく,数えきれないほどの作業時間と躊躇,そして試行錯誤が積み上げられたものだ。
とくに「扉」が特殊なところは,開発がこれほど難しいにも関わらず,プレイヤーから見るとごく普通のオブジェクトでしかないところだろうか。開発者が多くの時間をかけて作った扉は,実際のゲームでは一瞥(いちべつ)もされない存在であるかもしれないのだ。
「扉は贅沢品」と言い換えてもよいだろう。ゲームに必須のものではなく,クオリティを断トツに上げることもできない。しかしゲームの中に,より完全で美しい調和された体験を作るべく,たくさんの開発者がいまだに時間をかけて,使える“扉”を作っている。
これらのことを分かったうえでプレイすれば,次のゲームで優れた性能と充実した機能を持つ扉と出会えたときに,今までとは違う新たな敬意が生まれるかもしれない。(著者:石叶)
- この記事のURL: