2024年8月21日~23日にわたって開催の「CEDEC2024」。本稿では22日に行われた講演「『ゼルダの伝説 ティアーズ オブ ザ キングダム』の世界をつなぐ技術 ~空、地上、地底、そして制作もシームレスに~」のレポートをお届けする。
目次
主人公のリンクが空、地上、地底をシームレスに行き来しながら冒険していく「ゼルダの伝説 ティアーズ オブ ザ キングダム」(以下「ティアキン」)。この“縦軸の遊び”も加わった広大なフィールドを「Nintendo Switch上でどうやって実現しているんだ!?」と驚愕しながらプレイした人は多かったのではないだろうか? 案の定、これが凄まじい工夫の上で成り立っていたことが、本公演ではつまびらかにされた。
登壇者は任天堂に所属、本作のテクニカルディレクターを務めた堂田卓宏氏、地形プログラミングを担当した斎藤智久氏、プログラミングディレクターを務めた奥田貴洋氏の3名だ。
「ブレワイ」と「ティアキン」ではフィールド読み込みの手法を一新
講演では「ティアキン」で取り入れた技術を説明する上で、まず前作「ゼルダの伝説 ブレスオブ ザ ワイルド」(以下「ブレワイ」)における技術の選定についての説明が行われた。
広大なフィールドや時間・天候の変化を実現するためのデファードレンダリング、自由度の高いアクションに対応するための物理エンジンや可変フレームレートなどの選択意図を説明した上で、「ブレワイ」ではこれらにより構築されたフィールドを読み込む際の考え方として“マップを二次元として捉える”手法が採用されたのだと語られた。
崖登りや滑空などの立体的な遊びも無数にあった「ブレワイ」だが、あくまでマップの読み込みに関しては二次元平面的な距離で計算し、「遠くのものは粗く、近くのものは高精細に」描くことで読み込み負荷に対処していたということになる。
勘のいい人ならすでに察しているかもしれないが、「ティアキン」ではこの点の仕組みが“三次元として捉える”手法で一新されているのだ。
「ティアキン」の本格的なゲームプレイが空島から始まることを踏まえると少し意外だが、三次元的な読み込みを実現する上で、その初期に検証をはじめたのは立体的な空間としての描画が必要となる“洞窟”だったのだという。洞窟を描画するため、開発チームは“洞窟システム”と呼ばれる専用の地形システムを開発・導入した。
なお、スライドに時折表記されている“LoD”という用語は「Level of Detail=細かさの度合い」の略で、(遠くにあるから)粗く描くもの、(近くにあるから)高精細に描くもの、といった尺度を示している。
「近くにあるものほど高精細に描く」描画を洞窟のような複雑な地形で、三次元的な距離計算を用いて行うと、より高精細なポリゴンへと移行する際、ポリゴン同士が干渉して自然な描画ができない可能性がある。これを洞窟システムではLoDごとに描画をそれぞれのチャンク内に閉じ込めることで克服、複雑な地形も自然な描画で読み込むことが可能になったということだった。
こうした成果を経て、洞窟システムを活用した“地底マップ”でどのような遊びを組み込むか試行錯誤する中で、それはやがて大きな空洞になり、この地底の空洞ならではのさまざまな遊びのアイデアが生まれた。
次に、この地底の空洞を地上の地形に対応するものにすれば、それぞれの探索が影響し合う新たな遊びが作れるのではないか? というアイデアが出る。それならばと、地底は地上の地形データを反転させたものをベースに。このような過程を経て、我々のよく知る地底マップが構築されていったのだ。
その後、空島もまた“洞窟システム”を応用した描画システムで制作されていくことになるのだが、ここで議題は、我々プレイヤーを驚かせた技術が、開発チームの凄まじい工夫の末に完成したものであったことを物語るテーマへと移行する。すなわち「どうやってロードしよう……?」である。
地底へのダイブをロード無しに実現するための4つの工夫
三次元ベースの描画にあわせて“ゲームフラグに応じた配置入れ替え”や大規模ダンジョンへのシームレスな移行”を可能にするなど、ロードシステムが作り直された「ティアキン」。それでもリンクが地上から地底へと飛び降りるとき、当初は途中でゲームが時折止まってしまうほど、地底フィールドのロードには時間が掛かっていたという。
そこで開発チームは4つのロード時間改善案をひとつひとつ実装していくことになる。個人的にこの各種実装には「そんなことまでやってるの!?」と思わず変な笑いが込み上げてくるぐらい驚かされた。
1つ目に、プロファイラーを用いて「地底への飛び降りのどの段階で、どういった対象のロードに時間が掛かっているのか?」を可視化。ボトルネックになっている箇所の読み込み処理を、余裕のあるタイミングまで前倒し&後回しにすることで効率化を実現した。
2つ目は、「ロードすべきファイルの数自体を減らす」ための試み。これは、リンクとの距離感的には仕組み上読み込まれる地形やオブジェクトの中から、複数の撮影点を設けることで「プレイヤーの視界に入らないからすぐ読み込む必要がない」ものを識別。これらを“読み込まない”ことでロードの短縮を行うというものだ。
3つ目は解像度を下げても見栄えがほとんど変わらないテクスチャの解像度を適切なものに調整することで、データサイズを削減する試み。しかし、これらを駆使してもまだロードは間に合わなかった。
最後の4つ目は、地底に向かう際に読み込む必要があるファイルを割り出し、“地上の大穴”など「プレイヤーが地底に向かう可能性のある地点」に近づいた時点で、前述のファイルのロードを先行して始めてしまうというもの。これらをフルに駆使することで、ようやくリンクが完全シームレスに地底へとダイブできる読み込みが実現したのだった。
空島はまさかの「いったん放置」……しかし、ただの放置ではない。「積極的放置」だ!
地底へのシームレスな移動の実装が分かると、やはりお次は“地上と空”で移動した際のロードがどうなっているのか気になってくる。しかしこちらは当初、「放置する」という判断を下したという。しかも、ただの放置ではない……これを開発チームは「積極的放置作戦」と呼んでいた。
なぜそうした判断になったかというと、その時点では空島の仕様が決まり切っておらず、ロードの仕様を先に決めてしまうと「そのロードが適用可能となる仕様から外れた空島の設計が作りづらくなくなってしまう」ため、まずは制約なくさまざまな空島を試せるようにしておいて、「空島に本当に必要なものはなにか?」を絞り込んでもらうのが良いと考えたからだったという。
このあたりの「遊びが生まれる可能性の追求」を第一優先とする思想は、いかにも任天堂らしい。らしいが、これほどまでに一貫・徹底できること、そしてそれを可能とする技術力こそが、素晴らしいゲームを生み出し続けられる理由なのだろう。
結果的に、空島は大きく分けて“メインストーリーに関わる広大な島”、“ほかの島への経由地点となるような島”、“「どうすれば到達できるかを考える」などの遊びを生む島”の3種類にほぼ分類できるということに。こうなって初めて、これらの位置関係を踏まえてプレイヤーの行動から読み込む島を決定、あるいは一度ロードしようとしていた島のデータをアンロードし、また別の島のロードへと入れ替えるといったサイクルが構築されたのだという。
本稿では技術面のより踏み込んだ言及についてはかなり割愛しているが、講演全体のまとめとしては「ただ目の前の問題へと対処するのではなく、やるべきことや技術面の取捨選択を大枠で考える」ことの重要性が語られた。
なるほど、ここまで書いてきたあらゆる創意工夫は決して場当たり的なものではなく「ゲーム全体に適用可能な、ゲームの遊びのポテンシャルを全面的に引き上げる技術利用」であったと感じられるものばかりだ。
こうした「開発チームの誰もが大枠で問題を捉え、ゲーム全体への影響を見据える」考え方を指して、講演名も「~空、地上、地底、そして制作もシームレスに~」と名付けられていたのである。「ティアキン」のシームレスな冒険は、開発チーム全体に行き届いた“シームレスな開発思想”により成り立っていたのだ。
CEDEC2024公式サイト
https://cedec.cesa.or.jp/2024/
(C) Nintendo
※画面は開発中のものです。
コメントを投稿する
この記事に関する意見や疑問などコメントを投稿してください。コメントポリシー