「
星のカービィ ディスカバリー」は,濃密に詰め込まれた遊びと見た目の美しさが両立したマップが印象的なタイトルだ。相反しかねない2つの要素を実現したのは,
新たに開発された自動生成のシステムだった。開発者向けカンファレンス「CEDEC 2022」の2日目(2022年8月24日)に開催された講演
「『星のカービィ ディスカバリー』 プロシージャル地形生成への取り組み」で,ハル研究所 開発本部 開発環境室 エンジニアの
加藤 歩氏から語られた,その秘密を紹介したい。
ハル研究所 開発本部 開発環境室 エンジニアの加藤 歩氏
![画像集#002のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/002.jpg) |
![画像集#003のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/003.jpg) |
遊びとルックスを両立させるための自動生成システム
2022年3月に発売された「星のカービィ ディスカバリー」は,本編シリーズでは初となる3Dアクションゲーム。CEDEC 2022舞台となるマップは遊びとルックスのクオリティがともに高い。詳しくは後述するが,マップを作る際,遊びはレベルデザイナー,ルックスはアーティストという別々の職種が関わるため,両立は難しいとされるが,今回これを支えたのが,地形生成システムだった。なお,本講演での2D,3Dとはマップ構造のこと。ドット絵などの2Dグラフィックスと,ポリゴンを用いた3Dグラフィックスのことではないので注意してほしい。
本作の3Dマップ制作では,レベルデザイナーがマップエディタでブロック状の地形を作り,モデル出力ボタンを押すと,本番用の地形モデルが自動生成される。この
「地形生成システム」により,レベルデザイナーはギリギリまで遊びの部分を作り込めるし,ルックスも両立できるわけだ。
しかし,当初このシステムは存在しておらず,自動生成なしでの制作が想定されていた。レベルデザイナーが地形の設計図を作り,アーティストが地形モデルを作るという一般的な形式ではあるものの,レベルデザイナーによる緻密な調整や変更が難しいうえ,アーティストの作業コストも大きいという問題点が浮かび上がった。「レベルデザイナーとアーティストのどちらにとってもうれしくない状態だった」と話す加藤氏。こうして,2Dアクションとしての「星のカービィ」の文化を引き継ぎつつも,そのまま製品に使えるクオリティの地形モデルを自動生成するシステムの開発が始まった。
これまでの「星のカービィ」シリーズにおけるマップ作り。レベルデザイナーがブロック状の地形でマップを作ると,アーティストが作成しておいたパーツが自動で配置される。今回作られた自動生成システムに似た体制が実現されていた
![画像集#006のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/006.jpg) |
「星のカービィ ディスカバリー」の制作にあたって想定されていたワークフロー。レベルデザイナーが作った設計図をもとに,アーティストが3Dモデルを作る。レベルデザイナーによる緻密な調整や変更が難しいうえ,アーティストの作業コストも大きい
![画像集#007のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/007.jpg) |
まずは目指すべき地形のイメージを共有するため,レベルデザイナーが作った地形に,アーティストが実現したい希望を入れ込んだイラストが作られた。レベルデザイナーの作業が先に行われているあたり,本作の特性が表れていると言える。そして,アーティストが提示した「モコモコとした地形のフチ」「地形の一部を,別の見た目のパーツにできること」「有機的な壁」といった部分が,自動生成システム作りにおけるテーマとなった。シリーズを代表する草原面の生成と,本作のマップで特に印象的なモコモコとした地形のフチ,ハル研究所での通称「モコ」の実現である。
レベルデザイナーがUnityで作ったマップエディタを使い,ブロック状のパーツを配置して地形を作成すると,アーティストが用意しておいたフチの部品が,Mayaのカーブワープ機能で配置されるという仕組みが完成した。マテリアルやモコを変えるだけで,砂漠面やショッピングモール面も作れたというから,いかに効率がいいかが分かるだろう。
アーティストのビジョンを受け,モコモコした地形のフチである「モコ」が実現
![画像集#010のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/010.jpg) |
![画像集#011のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/011.jpg) |
![画像集#012のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/012.jpg) |
地形はレベルデザイナーがブロック状のパーツで作成
![画像集#013のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/013.jpg) |
マテリアルとモコを変えただけで,砂漠面やショッピングモール面も作れた
![画像集#014のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/014.jpg) |
![画像集#015のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/015.jpg) |
セクションの垣根を越えた総力戦で,新たなシステムを作り上げていく
こうして,レベルデザイナーとアーティストの間を,エンジニアが地形生成システム作りでつないでいく体制――加藤氏曰く,
「セクションの垣根を越えた総力戦」がスタートした。自動生成はできたものの,アーティストが求める製品クオリティには達していなかったため,「道を作る」「地形を有機的にするための,丘パーツ,歪み機能,地形のくり抜き」「地形破壊用のくり抜きパーツ」など,さまざまな機能が追加されていったという。
例えば,道を作る機能では,メッシュを用意したり,投影を使うのではなく,頂点カラーが用いられている。マップエディタ上で道にしたい場所の頂点カラーを変えておくと,自動生成の際にシステムがこれを参照し,頂点カラーを変えたエリアを道にしてくれるというわけだ。
マップエディタでの調整が容易なことに加え,テクスチャを別のテクスチャで上書きする場合に,同じUV(
※Uはテクスチャの横座標,Vは縦座標)が使える,角に使っても引き延ばされることがない,といったメリットがあったという。この仕組みは,地面の上に溜まった砂や壁のコケなど,地形の質感が変わる部分で使われている。地形生成システム側でコリジョンの属性も自動設定してくれるため,「砂の上を歩くと砂埃が舞う」といった表現も手間なく実現できる。
また,マップエディタでは地形ブロックを組み合わせてマップを作っているため,角やヘリが直線的になって無機的な印象を与えてしまっていたことがあった。これを解決するため,丘パーツと地形の歪み,地形のくり抜きが導入された。丘パーツはブロック型ではなく,有機的な形状のものを用意して置き,これをマップ上に配置できる。歪み機能は,直線的な地形のヘリの頂点座標に対し,わざとノイズを入れることで地形を歪ませて自然な風合いを演出できる。
そして,面白いのがくり抜きパーツだ。地形に配置するとそこをくり抜くというもので,加藤氏は「丘パーツと真逆の機能」と話す。丘パーツは置くと隆起を作るのだが,くり抜きパーツは穴を作るのである。いわば負の地形パーツ,地形を吹き飛ばすパーツといったところだろうか。本作の舞台は文明が荒廃した世界であるため,このパーツは相性がよく,至る所で使われたという。くり抜きパーツは扉にも用いられた。パーツ側で地形をくり抜くため,レベルデザイナーが位置を変えたいと思った時も地形ブロックに触ることなく,このくり抜きパーツだけを動かせばいいというわけだ。
くり抜きパーツにはmayaのブーリアンが使われており,オブジェクトどうしの論理積,論理和,論理差を作り出せる。これを利用したのが破壊用くり抜きパーツで,壊せる壁などの指定に用いる。論理差で穴を開け,論理積で穴を埋める地形(破壊される前の状態)を作成。この地形は複製・分割され,カービィが破壊した際の破片となる。そのほかにも地形の角を面取し,角やモコの周辺に自動で頂点カラーを付ける機能などが実装され,自動生成のクオリティが上がっていったという。
初期に自動生成された地形は,まだ無機的なところが残っていた
![画像集#019のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/019.jpg) |
有機的な形の丘パーツを配置することで,無機的な印象が緩和される
![画像集#020のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/020.jpg) |
くり抜きパーツは,扉にも応用された
![画像集#021のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/021.jpg) |
![画像集#022のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/022.jpg) |
破壊用くり抜きパーツ。その地形を破壊でき,破片を飛ばせる
![画像集#023のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/023.jpg) |
角を面取りする機能(左写真)や,歪みを加える機能(右写真)が追加され,マップはさらに有機的に
![画像集#024のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/024.jpg) |
![画像集#025のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/025.jpg) |
自動生成でさまざまなステージを作るのに必要となる,草原やビル,コンクリートや砂漠といったモチーフのデータは,2人のアーティストが40ほど作成した。そして,5〜10人のレベルデザイナーにより,全250マップのうち,約230のマップが自動生成システムで作成されたという。ステージの形はそのままに,モチーフを自由に変えられるのもこのシステムの大きなメリットで,当初は洞窟として作られたステージも,モチーフを変え,装飾パーツを直すだけで遊園地ステージに早変わりしたというから驚きだ。
モチーフのデータは40ほど用意された
![画像集#026のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/026.jpg) |
モチーフを変え,装飾パーツを直すだけで,マップを違うステージで使える
![画像集#027のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/027.jpg) |
クオリティアップの変遷。自動生成システムのおかげで,遊びとルックス,両方のブラッシュアップを実現できた
![画像集#028のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/028.jpg) |
自動生成の流れ
![画像集#029のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/029.jpg) |
UVが途切れることもあったが,本作はカメラが反固定であるため,途切れた部分をカメラに映らないところへ持っていくこともできたという
![画像集#030のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/030.jpg) |
モコを配置するために,メッシュの変形を細かく制御する機能が実装された
![画像集#031のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/031.jpg) |
![画像集#032のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/032.jpg) |
新たに開発されたシステムだけに,運用では試行錯誤が行われた。地形の出力に時間がかかったり,失敗したりすることに加え,モチーフデータの更新が続くと,以前作ったマップが古いままになるなどのトラブルもあったという
![画像集#035のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/035.jpg) |
![画像集#036のサムネイル/[CEDEC 2022]「星のカービィ ディスカバリー」プロシージャル地形生成への取り組みが明かされたセッションレポート](/games/596/G059641/20220826122/TN/036.jpg) |
この自動生成システムの効果は,発売後に本作が高く評価されたことで証明されていると言えるだろう。ゲーム開発において,遊びとルックスの両立は重要な課題だ。本編シリーズでは初となる3Dマップを採用した本作では,新しいシステムを開発したことで,濃密な遊びと美しいルックスをともに実現できた。その技術力はもちろん,挑戦心も印象的な講演だった。