開発メンバーが語る『PRINCIPLES』の舞台裏!
実写さながらのグラフィックスを実現するための最新技術
-
山本 康平
コンシューマーゲーム会社を経て2014年にコロプラに入社。クライアントエンジニアとしてさまざまなプロジェクトを経験後、『PRINCIPLES』の開発に携わる。現在は技術研究部 開発効率化グループに所属し、横断的に複数タイトルを担当。
-
宮窪 直
2018年にコロプラに新卒入社。背景デザイナーとして『MONSTER UNIVERSE』などさまざまなプロジェクトに携わる。現在は『PRINCIPLES』で検証した技術を使った新規タイトルの開発で活躍中。
-
荒木 和也
スマホゲーム会社を経て2013年にコロプラに入社。さまざまなプロジェクトを経て、直近では『PRINCIPLES』『MONSTER UNIVERSE』などの開発に携わる。現在はグラフィックスエンジニアとして新規開発のサポートを担当。
2023年1月、コロプラの技術ブランドとして新設された「COLOPL Creators」から、最新技術が体験できる短編アドベンチャーゲーム『PRINCIPLES』がリリースされ、4月には海外ストアでも配信開始となりました。これは映像による技術デモではなく、実際にプレイができる"遊べるデモ"としてアプリ化されたものです。コロプラが積み重ねてきた技術力を発揮し、スマートフォンでの高品質グラフィックスを実装した『PRINCIPLES』開発メンバーの3人に、今だから話せる開発の舞台裏をお聞きしました。
技術検証も兼ねて実際にプレイできるアプリをリリースするというコロプラでは前例のない取り組みでしたが、今回のプロジェクトの話を聞いたとき、どんな感想を持たれましたか?
山本 ゲーム業界の人に向けた情報発信として、かなり反響が期待できるのではないかと思いましたね。前例のない試みなので面白そうだなと。
宮窪 以前から技術検証用にシーンを制作することはあったのですが、これまでは社内で完結するものでしたので、それを外向けにアプリとしてリリースするのは初の試みで、世の中の反応が楽しみでした。
荒木 これまでも新しい技術を用いた技術検証として様々な制作に取り組んできたわけですが、アプリにまとめた方がしっかりゲームとして使える技術を検証できますし、技術の情報発信をするということに意義を感じました。
『PRINCIPLES』のプロジェクトでは、それぞれどんな役割を担いましたか?
山本 自分はクライアントエンジニアとしてグラフィック以外のほぼすべてを担当しました。ゲームの進行フローを作り、オープニングからエンディングに至るまでの様々な動作を仕込んでいく役割です。
宮窪 僕は背景デザイナーとして3D背景シーンの作成を担当しました。また、シーンの作成だけでなくアセット作成から世界観の設定決め、レベルデザインなども担当しました。
荒木 グラフィックスエンジニアとして、レンダリングパイプラインの設計、シェーダー作成、最適化など、描画に関わる全般を担当しました。
それぞれ異なる役割のもと、どのようにプロジェクトを進めていきましたか?
荒木 グラフィックスに関しては、まず今のスマートフォンでどういった技術が使えるかを調査し、検証する技術を選定します。それを実装してデザイナーの宮窪さんに触ってもらい、違和感があるようだったら調整するということをひたすら繰り返していきました。開発中は宮窪さんと頻繁にやりとりをしていましたが、すぐに相談できる環境だったのでスムーズに作業ができましたね。
宮窪 そうですね、背景シーンを作成しながらグラフィックス面で困ったことがあれば荒木さんと、ゲームに関係するところでは山本さんとやりとりしながら進めていました。
たとえば「もっと臨場感を出したいのでカメラを制御したい」というように、ゲーム部分の機能追加などは山本さんに相談し実装してもらいました。
山本 今回は高品質グラフィックスの検証が一番の目的だったので、キャラクター制御やカメラ制御などの部分はコストを削減しつつ機能を実装する工夫も必要でしたね。
エンジニアとデザイナー間の連携も密にあったのですね!
ゲーム内では実際に炭鉱を探索しているようなリアルな闇と光の表現が印象的でしたが、どんな工夫や苦労がありましたか?
宮窪 Unityで作った背景にライトを置いたとき、現実で見ているような明るさにするにはどれくらいの光量に設定すればいいのか全く分からなかったので、荒木さんにお願いして実際の光の単位「ルーメン」で入力できるように設定してもらいました。
荒木 以前からUnityのHDRPではルーメン単位で設定できることは分かっていました。物理的な単位なので、きちんと単位変換しないと正確な表示にならないという問題もありましたが、もともとHDRPにあった機能なので参考にしつつ実装しました。
宮窪 多くの光源を配置してライティングするということが初めての経験だったので、最初はどこにライトを置けばいいのか分からなくて苦戦しましたね。慣れてくると効果的にライティングできるようになって、配置した人工灯でキャラクターを誘導するなど、ゲームのクオリティを上げる大きな武器になったと思います。
荒木 多光源もそうですが、光の反射を表現するためのグローバル・イルミネーションも大変でした。Unityにも機能自体はあったのですが、結果を確認するのに毎回数時間かかるという問題があったんです。最終的には自分たちで新しい方式を実装して、すぐに確認できるように改善しました。
開発初期からリリースにかけて、印象深かったエピソードを教えてください。
荒木 光の見え方を検証するために、実際の会議室を3DCGで再現したことがありましたね。物理ベースレンダリングで現実での見え方がある程度再現できるといっても、本物と見比べるとやっぱり若干違って見えるものなんです。この検証によってその違いが分かるようになったことは収穫でした。
宮窪 検証のなかで、たとえば蛍光灯の光の場合、照明の強さや位置、大きさを実物と合わせることで、ハイライトや周りの明るさが現実の見え方に近づけることができました。
当たり前ですが実際に設定してみることで、すごく勉強になりましたね。
荒木 こうした物理ベースの検証は、スマホゲーム業界ではまだ始まったばかりですが、コンシューマーゲーム業界では10年ほど前から行われるようになっていました。
以前は勘でパラメータを調整していましたが、ゲームが実写に近づけば近づくほど上手くいかなくなっています。そのため現実的なパラメータに落とし込む必要が出てきたこともあって、コロプラでもいち早く物理ベースの検証を行いました。
山本 あとは破壊表現じゃないですかね。これまでのスマホゲームは、破壊表現のアニメーションを作って再生していたわけですが、『PRINCIPLES』では実際に物理的な力が働いて破壊されるようにしています。負荷が高い処理になるし、他の不具合を起こしかねないので、一般的なスマホゲームではあまり使われない技術なんですよね。
荒木 破壊表現のアニメーションだと、破片が地面に吸い込まれるように消えていくものですが、『PRINCIPLES』では破片が地面に当たって飛び散るように表現しています。これもあまり他に例をみない表現だと思いますね。
高品質グラフィックスの技術検証では、スムーズにスマホで動くかを検証する負荷の問題も大きかったのではないでしょうか?
荒木 やはりそこは苦労したところでしたね。他のスマホゲームで同じ技術が使われていたら、「これくらいまでならスマホで動かせる」と分かりますが、新しい技術はそういったことが分からないし、どれくらい古い機種までサポートするかも検証しなければいけなくなります。
そこで『PRINCIPLES』では、スペックの低いスマホ用とハイスペックのスマホ用で画質を切り替えられるようにしました。画質を落としたときに極端に見た目が変わらないように何度も宮窪さんとすり合わせていきましたね。
宮窪 たとえば高グラフィックでは天井から斜光が見えますが、低グラフィックになると斜光を非表示にしています。その程度なら全体の絵的にはそれほど変わらないので許容するようにして、極端に絵的に差が出るときだけ気をつけていましたね。
荒木 開発の終盤になってから、この端末では正常に動くけど、別の端末では動かないという問題が頻出しました。
まずiOSとAndroidという違いがあったうえで、さらにAndroidはメーカーによって搭載されるチップが異なることがあります。数年前のチップだけ不具合が出る場合もあれば、それぞれのチップで別の不具合が出るという場合もあって、とにかく大変でした。
最後の方は机の上にいろんな端末を置いて、ひたすら検証しては修正するという日々でしたね。バグの動きからチップがどういう動作をしているかを予想しながらコードを修正していくわけですから、本当に暗中模索でした(苦笑)。
山本 どの端末でもバグが出るような不具合なら原因を探って対応できそうに思いますが、特定のチップだけバグが出るとなると、対応が難しいですよね。
荒木 そうなんですよね。バグというのは、そのスマホを開発した人にとっても想定外の動作なわけですから、そこをうまく回避するというのが本当に難しかったです。
多くの挑戦が詰まったプロジェクトでしたが、『PRINCIPLES』で新しく使用したツールや技術について教えてください。
荒木 「SpeedTree」を初めて使いました。あと「Substance Painter」は以前から少し使っていましたが、本格的に使ったのは今回が初めてだと思います。
宮窪 「Substance Painter」で全てのアセットを作ったのは今回が初めてですね。たくさんのアセットを作ろうとすると、それだけ作業も増えるものですが、「Substance Painter」の場合、一つマテリアルを作れば、その設定を別のアセットに割り当てるだけで同じ質感にできるので、非常に効率よく作ることができます。
「SpeedTree」は、主に樹木のモデリングで使用するツールですが、プロシージャルにパラメータを入力するだけで、いろんな枝ぶりの木が作れてしまいます。これまでMayaで一つ一つ手作業で作っていたわけですが、だいぶ作業が楽になって時短につながりましたし、クオリティを上げるのにも適したツールでしたね。
荒木 以前は木の枝を3本から4本にしようとすると、追加する枝を手でモデリングしなければならなかったのですが、「SpeedTree」では「4」と入力するだけで4本目の枝が生えてくるんですよ。
山本 『PRINCIPLES』の破壊表現では「Hudini」を使っているんですが、これも「SpeedTree」と同じようにプロシージャルにパラメータを入力するだけで、コンピュータが自動的に破壊表現を生成してくれます。今後のスマホゲーム開発のトレンドとして、自動生成できるツールを使うことが主流になっていくと思いますね。
今回の技術デモを通して、どんな学びがありましたか?
荒木 今回はプレイ時間が短いタイトルだったので、検証と修正を繰り返しながら作成できましたが、もしこれが大がかりなタイトルで作成途中に変更が入った場合、一年分の作業をやり直すといった事態になりかねません。技術的にジャンプアップしたものを作ろうとすると、そうした危険が伴うものなので、事前に新しい技術を検証しておくことの重要性を再確認しました。
宮窪 PBR環境でゲームの背景シーンを作ること自体が初めてだったので、仮シーン作成からアセット作成、本シーン作成と一通り経験でき、ライティングの設定なども学べたことは、自分にとって大きかったですね。
山本 僕はエンジニアでありながら、前職ではちょっとだけグラフィックス系のプログラミングもやっていて、シェーダーを描いたりもしていたんですね。だけど、今回の技術デモを通して、ちょっとかじった程度のスキルで対応できるような時代じゃないな......と思いましたね。どんどんスマホゲームの開発が高度化し、知っておくべき知識がすごく増えた感じがあって、知識を更新してこなかった人間がすぐに追いつける感じでもない。日頃から新しい技術を勉強しておくことが大切だと痛感しました(苦笑)。
『PRINCIPLES』リリース後、社内での最新技術の横展開やノウハウの共有もされているのでしょうか?
荒木 『PRINCIPLES』を作ったことで、だいぶノウハウも溜まったと思います。
現在はグラフィックスエンジニアとして新規開発のサポートをしているのですが、『PRINCIPLES』で使った技術を教えたり、相談を受けてアドバイスしたりしていますね。
宮窪 僕が参加している新規プロジェクトでも『PRINCIPLES』で使った技術を使っています。当然その技術に触れたことがない人もいらっしゃるので、レクチャーしながら開発を進めていますね。
山本 今後は新しい技術を理解しているエンジニアやデザイナーをどれだけ増やしていくかが課題になってくると思います。かなり難解な技術なので、どうやって社内に共有していくかは、まだまだ手探りの状態です。そういう意味では、新規のゲーム開発で実際にその技術を使って実践的に学んでいくというのがスムーズかもしれないですね。
今後検証してみたい技術や、今回検証した技術を使ってやってみたいことはありますか?
荒木 2023年1月に『MONSTER UNIVERSE』のSP版とともにPC版もリリースされましたが、今後はスマホだけでなく、PCやコンシューマーゲーム機にも対応できるくらいの技術力を担保したいですね。スマホとPCでは処理性能が10倍以上違いますから、スマホ、PC間での表現に幅を持たせるなどして、新たに作り直さなくても済むようにしたいと考えています。
宮窪 『PRINCIPLES』は距離にすると200~300メートルくらいのフィールドだったので、今後はオープンワールドのゲームのような広大なフィールドに挑戦してみたいですね。
山本 今のトレンドになっているキャラ制御やカメラ制御をどんなふうに実装していけばいいかに興味があるので、今後もいろいろ試してみたいと思っています。
これからも日進月歩でスマホの性能向上や、技術の革新が進んでいくと思いますが、最後に今後の抱負をお聞かせください。
宮窪 新しい技術は、日々追いかけていかないとどんどん置いていかれるので、今後も立ち止まらずに追い続けていきたいですね。
山本 正直なところ、僕は「昔とったなんとやら」で一生メシを食っていきたいタイプなんですが(笑)、新しい技術を理解しないとできない仕事があるので、ゲーム業界にいるとどうしても学ばざるをえないものです。それは昔も今も変わらず、そして今後もずっと学び続けていくんだと思いますね。
幸いコロプラには頼もしいエンジニアやデザイナーがたくさんいるので、分からなくなったり困ったりしたときは、周りに助けてもらいながら勉強できればいいなって思っています(笑)。
荒木 『PRINCIPLES』のようにアプリ化することは必ずしもなかったとしても、今も何かしら新しい技術を日々検証しています。新しい技術をキャッチアップしていくためには、より多くのクリエイターの力が必要です。そのためにも新たな技術に興味のあるエンジニアやデザイナーにどんどん加わってほしいですね。