Cygamesは『グランブルーファンタジー』(以下、『グラブル』)や『ウマ娘 プリティーダービー』などのモバイル向けゲームを手がけている印象が強いが、コンシューマーゲームや、アニメ、漫画など、幅広いエンターテインメント事業を展開しており、その全てにおいて最高のコンテンツを届けるべく活動している。
そんな同社から2024年2月1日に発売された『GRANBLUE FANTASY: Relink』(以下、『リリンク』)は、2015年設立の大阪Cygamesが中心となって開発したコンシューマーゲームで、2Dイラストによる『グラブル』の世界観を3DCGで再現すべく、エンジニアたちが一丸となって尽力した。以降ではパイプライン開発の専門家である痴山紘史氏(日本CGサービス(JCGS) 代表)が、『リリンク』の開発に携わった4人のエンジニアへのインタビューを通して、Cygamesのテクニカル系の仕事を前後編に分けて探っていく。
4人のインタビュイーの経歴
イッキ氏(以下、イッキ):2008年からゲーム業界で働いており、2018年に大阪Cygamesに合流しました。今は大阪コンシューマー部という部署のマネージャーをしています。『リリンク』ではリードエンジニアを務めました。
ダイキ氏(以下、ダイキ):2011年からゲーム業界で働き始め、大阪Cygamesに合流したのは2016年です。『リリンク』の開発初期には雲や植物のアート表現を実現するための検証を行なっていましたが、アートパート設立後はそのリーダーを務めています。
コウタ氏(以下、コウタ):私は2019年に大阪の専門学校を卒業し、大阪Cygamesに新卒入社しました。その後10月頃から『リリンク』のアートパートに合流し、リーダーのダイキの下で主にライティング周りのグラフィックを担当してきました。2021年以降はライティング全体をまとめるライトチームがプロジェクト内にできたので、その担当エンジニアとして、ライティングに関する相談窓口や作業内容の整理を担っています。
ユウダイ氏(以下、ユウダイ):私も大阪の専門学校を卒業し、2020年に新卒入社しました。コウタと同様に、ダイキの下で『リリンク』の開発に携わってきましたが、私の場合は何らかの特定分野の担当というわけではなく、ほかのエンジニアと連携しながら折々で必要とされることをやっています。広範囲を見ているため、プロジェクトを進めていく中で「必要な作業に対して、人手が足りない!」という事態が起こった場合には、その作業も分担しながらやってきました。
『リリンク』のエンジニアチームの構成
イッキ:『リリンク』のエンジニアチームはかなりの大所帯で、最終的には100人を超えていました。担当ごとにパートを分けており、バトル・ステージ・シネマティクス・UI・アート・モデル描画システム・通信・ビルドパイプライン・QAエンジニア・最適化からなる10パートで構成されています。
これら10パートは、バトル・ステージ・UIといったゲームの遊びの部分をつくるグループ、グラフィックやゲームエンジンを支えるグループ、アセットデータ管理やQAのようなプロジェクトを下支えするグループの3種類に分けられます。
今回のインタビューに参加している私以外の3人のエンジニアは、その中のアートパートに所属しています。アートパートでは、アーティストがやりたい表現を可能にするための、シェーダやツールの開発を担っています。モデル描画システムとのちがいが少しわかりづらいですが、こちらのパートはゲームエンジンの根幹部分を担当しています。
一般的なゲーム開発では、ゲームエンジンの保守をするチームと、ゲームをつくるチームに分かれていることが多いのですが、『リリンク』は開発環境自体をイチからつくる必要があったので、1チームの中に丸ごと抱えることになりました。そのため一般的なゲーム開発よりも、かなり大きな体制になっています。同じチーム内で全てが完結したからこそ、スムーズなやり取りが可能になり、ハードルの高い要望にも応えられたという側面があったので、この体制が『リリンク』のクオリティの高さにつながったのかなと感じています。
アートパートのエンジニアの仕事
ダイキ:アートパートの担当範囲は、キャラクターや、背景、ポストエフェクトなどの表現全般なので、プロジェクト開始直後からアーティストとかなり密にやり取りを重ねてきました。エンジニアの数は3人くらいからスタートして、最終的には外部協力会社の方も含めて15人前後の規模になりました。アートパートの中にも役割分担があって、キャラクター・背景・ライトなどの分野に分かれています。先程本人が語ったように、コウタはライト担当です。
アーティストの要望を実現できる環境を用意することがアートパートの務めなので、例えば「雲をどう表現したいのか?」を詳しくヒアリングし、「こういうツールを用意すれば、大丈夫そうですか?」という感じですり合わせていきました。雲は『グラブル』の世界観を構成する大切な要素なので、『リリンク』では雲の担当者も早い段階から立てています。毎週の定例ミーティングでアーティストとやり取りを重ね、微妙な調整や、機能の足し引きなどの試行錯誤を年単位で続けてきました。草の表現にもこだわっており、アーティストがどのような表現を必要としているのかを、マンツーマンで教えてもらいました。
アーティストとやり取りする際には、各分野の担当者が窓口になって要望を聞き出し、簡単なことならその場で解決し、時間を要することはもち帰ってチーム内で解決するようにしています。
コウタ:担当者が実装まで請け負っているケースが多いので、私の場合はライトのことならだいたい答えられます。一方で、それ以外の分野はほかの担当者に任せています。担当分野を絞り、そこの知識を重点的に蓄えることで、窓口として機能できるようにしています。
『グラブル』の2Dイラストを3DCGで再現する
ダイキ:『リリンク』の開発では、原作である『グラブル』の2Dイラストを3DCGで再現するという目標を掲げていたので、アートパートのエンジニアたちの原作イラストを理解することから始めました。例えば草ひとつとっても、とりあえず一般的な草を表現するのではなく、『グラブル』世界の草の再現を目指しています。「自然界の草にこの色はないけど、差し色として描き込むことで映えるイラストになるから、『グラブル』の世界観を構築する上では欠かせない」といったことをアーティストから教えてもらい、その表現ができるしくみを用意しました。
最近の大規模なゲーム開発では、自動化によって一気に量産するケースが多いのですが、『リリンク』ではアーティストのイラストの描き方を理解し、それを3DCGで再現するというプロセスが必要だったため、自動化による量産は適していませんでした。アーティストが必要とする機能を1個ずつ実装し、フィードバックを受けては調整するという作業をくり返しています。
コウタ:『リリンク』の背景表現では、3DCGによる光ではなく、イラストに描かれた光の再現を重視しました。例えば1枚のイラストの中で近景と遠景を表現する場合、近景は精細に描く一方で、遠景は彩度を落としたり、ボカシ気味にしたりします。それと同じ表現をしたいというのがアーティストの要望で、「物理的に正しい表現ではないけれど、『リリンク』ではカメラからの距離に応じて輝度・彩度・明度を変更できるようにして、手前と奥の印象に変化をつけたい」と言われました。そういうアーティストのつくりたい画を指針にして、開発を進めていったんです。
アートパートの到達目標
コウタ:画づくりのためのツールをアーティストに渡すと、われわれエンジニアの予想を超える使い方をして、非常に高いクオリティの画が上がってきます。その反面、ステージ内のデータが膨れ上がり、描画のパフォーマンスが落ちるという問題が発生しました。「パフォーマンスを維持するため、データを半分に削ってください」とお願いすると画のクオリティが落ちてしまうので、「これを実機で動かすことが自分たちの到達目標だ」と腹を括ることにしました。
『リリンク』の完成後にライトの数を調べてみたら、全ステージで合計約30,000個、1ステージに平均2,000個配置されていたんです。それらのライトは、アートパートが開発したツールを使って、アーティストが1個ずつ手作業で配置しています。同様に、雲も各ステージに500個から1,000個くらい配置しています。『リリンク』のクオリティの高い画は、アーティストの粘り強い努力によってつくられています。
ダイキ:基本的にアーティストには「とにかく最高の画をつくってください」とお願いして自由につくってもらい、そのクオリティを落とすことなく実機で出せるように最大限調整しました。
イッキ:ハードウェアの制約で、ライトの数が一定数を超えると描画のパフォーマンスがガクッと落ちるようなときには上限を定めましたが、それ以外の場合は、思う存分配置してもらってから最適化を図るというスタンスで臨んでいます。
クオリティを落とすことなく、描画パフォーマンスを最適化
プラットフォームごとの最適化
ユウダイ:『リリンク』のプラットフォームはPlayStation®5(以下、PS5)、PlayStation®4(以下、PS4)、Steamの3つで、ハードウェアの性能差があります。PS5に合わせると綺麗な映像が出せていても、PS4だと快適に動かせないといったことが起こるので、プラットフォームごとの最適化が必要になりました。ただし機械的に最適化するとアーティストのつくった画が崩れてしまうので、ライト配置の詳細度を3段階用意して、必要とされるパフォーマンスに合わせて詳細度を切り替えられるしくみを導入しました。
コウタ:詳細度の設定は自動化できないので、同じステージをアーティストに手動で3回ずつライティングしてもらうことになったのですが、仮に自動化できたとしても、クオリティが落ちるようだと手直しすることになります。だったら最初から全て手動でやった方が早いし、クオリティも維持できます。自動化のしくみをつくるためには時間が必要なので、「半年かけて自動化して、その後半年かけて手直しするよりは、1年かけてイチからつくった方が良い」という結論になりました。
ユウダイ:カットシーンには重たい攻撃エフェクトなどのイレギュラーな要素はないので、どのプラットフォームでも一番クオリティの高い画に切り替えるしくみを組み込んであります。PS4とPS5の見た目は、インゲームだとよく見るとちがうのですが、カットシーンだとほぼちがいがありません。
イッキ:このしくみを実現するために、カットシーンでは画面に映らないものを全部きちんと消すチューニングを人力で行なっています。最初はザックリとやったのですが、実機で動かすと見えるべきものが見えなくなっていることが多々あって、結局手で1個ずつ調整しました。
PS4とPS5の性能差に合わせた最適化
破綻のない描画へのこだわり
コウタ:カットシーンでカメラの切り替えなどが発生する場合、カットの途中から登場するキャラクターモデルの読み込みが遅いと、数フレームだけ表示されないポッピングと呼ばれる現象が起こってしまいます。最近のゲームはAAAタイトルでもポッピングが比較的許容されており、例えば長距離を走っているときに、画面奥のキャラクターが唐突に表示されたりします。
『リリンク』ではそういう現象が極力起こらないように、モデルを読み込むタイミングも細かくチューニングしています。開発終盤になると、バグとして上がってくるものの半分が本当の不具合で、残りの半分はポッピングのような現象になっていました。バグと同じぐらいの温度感で、ポッピングの修正にも対応しましたね。
ユウダイ:『リリンク』の開発スタッフは「こういう画にしたい」という明確なビジョンをもっているので、ほかが良くても、ポッピングのようなものがひとつあるだけで気になってしまうのです。
イッキ:テクスチャの処理にもかなりこだわっています。テクスチャを使用する場合、通常であれば必要になった段階でメモリに読み込み、さらに読み込む解像度を動的に変更することで、処理速度の向上やメモリ使用量の削減を図ります。われわれもこの技術を使用していますが、そのままだと遠距離にあるときは粗いテクスチャが表示され、ある段階から突然見た目が変化するといった現象が起こります。
この現象もポッピングと同様、『リリンク』の描画においては破綻とみなされるので、Granite SDKのテクスチャストリーミング技術をベースにしつつ、最高のクオリティを出すためのチューニングを行いました。そのため、表示途中でテクスチャが切り替わっても、見た目の変化が目立たないようにしています。ここまでこだわることは多くないかもしれませんが、『リリンク』の画に求められるクオリティを実現することを目標に、もてる技術の全てを投入しました。
ダイキ:『リリンク』の開発でも、雲の表現などでは最先端の技術をリサーチしましたが、そういう難度の高いことばかりをやっていたわけではありません。皆のアイデアを結集し、シンプルな機能や、当たり前に使われている技術を上手く組み合わせたり、普通とはちがう使い方をしたりすることで、求める画を実現したケースも多々ありました。けっこう泥臭い作業も重ねています。だから決して最先端の技術の結晶というわけではありませんが、「完成した『リリンク』は、最高のゲームになりました!」と自信をもって言うことができます。
痴山紘史
日本CGサービス(JCGS) 代表
大学卒業後、株式会社IMAGICA入社。放送局向けリアルタイムCGシステムの構築・運用に携わる。その後、株式会社リンクス・デジワークスにて映画・ゲームなどの映像制作に携わる。2010年独立、現職。映像制作プロダクション向けのパイプラインの開発と提供を行なっている。
TEXT_痴山紘史/Hiroshi Chiyama(日本CGサービス)
EDIT_尾形美幸/Miyuki Ogata(CGWORLD)
PHOTO_大沼洋平/Yohei Onuma