原作の良さを生かしながら、原作を超えるゲームをUnityで開発。『コードギアス 反逆のルルーシュ ロストストーリーズ』を生み出した「ファン」の矜持

2022年4月18日に配信が開始された、『コードギアス 反逆のルルーシュ ロストストーリーズ』(以下、『ロススト』)は、この「原作モノのジレンマ」を乗り越え、好評を持って受け入れられた。世界観を維持しながらも3Dゲームという要素を投入し、原作とは異なる興奮と楽しみを提供している。

開発を手掛けたのは、これまで『マギアレコード 魔法少女まどか☆マギカ外伝』や『オルタンシア・サーガR』などのゲームを送り出してきたf4samurai。本記事では、ディレクターである村松志紘氏、エンジニアの藤森将志氏と畑俊樹氏、3Dモデル担当の若林諒氏をお迎えし、『ロススト』開発の裏側を聞いた。

『コードギアス』シリーズのファンだったという村松氏は、『ロススト』の最大の目標は「原作ファンに喜んでもらうこと」だと語る。つまり、「ターゲットは自分自身」。ときに原作を模倣しながら、ときに原作を“無視”しながら進んだプロジェクトを支えたのは、Unityのさまざまな機能だった。

(株式会社f4samurai 村松志紘氏、藤森将志氏、畑俊樹氏、若林諒氏)
目次

リスペクトがあるからこそ、あえて原作を“無視”する

──まずは、『ロススト』を開発することになった経緯からお聞かせください。

村松:僕は原作アニメのファンで、入社面談でも「作りたいゲーム」に『コードギアス』のゲーム化を挙げていたんです。

『ロススト』制作の話が持ち込まれた際に、佐藤(※f4samurai CMO兼プロデューサー・佐藤允紀氏)がそれを覚えていたらしく、「うちに『コードギアス』好きのディレクターがいますよ」と手を挙げてくれました。

ちょうどf4samuraiとしても開発リソースが空くタイミングだったこともあり、佐藤から「興味があるなら、来週までに企画書をつくってきて」と。そうして、2019年8月にプロジェクトがスタートしました。

──立ち上げ初期に直面した壁などはありましたか?

村松:プロトタイプの開発は順調に進んだのですが、本開発への移行にかなり時間がかかってしまいました。というのも、プロトタイプが一段落したのが2020年3月。新型コロナウイルス感染症の流行が本格化したタイミングだったので、リモートワーク体制の確立や不慣れな環境の開発ゆえにスタッフのアサインが捗りませんでした。
思うように進められない状況がつづきましたが、2020年10月ごろに藤森や若林たちがチームに加わり、ようやく開発が前に進み始めました。

──どのような目標を掲げて開発を進められていたのでしょう?売上高やダウンロード数など、定量的な目標はあったのでしょうか。

村松:数値目標もありましたが、それ以上に開発の指針となっていたのは、「ユーザーが『コードギアス』の世界を主観視点で追体験できるゲームをつくる」ということ。砕けた言い方をすれば、「ルルーシュと友達になる体験を届ける」を念頭に、とにかく原作ファンに喜んでもらうことを目指しました。

ゲームの中でルルーシュと友達になるような体験ができれば、ファンは喜んでくれるはずだと。そう考えた根拠は、原作ファンの一人である僕自身の想いです。「ターゲットは自分自身」。そんな気持ちでプロジェクトに取り組んでいました。

──随所にそのこだわりが表れていると思うのですが、特にバトルシーンのアニメーション演出は出色の完成度だと感じました。バトルシーンはどのように制作したのでしょう?

若林:改めて原作を見返し、「このナイトメアフレーム(※『コードギアス』シリーズに登場する、架空の機動兵器の呼称)のこの動きを必殺技として採用しよう」と、2Dアニメーションを3Dへ落とし込んでいくようにしました。しかし、あるとき課題に直面したんです。というのも、やはり2Dだからこそのかっこよさがあるんですよね。アニメを観てかっこいいと思った動きを、そのまま3Dにしても迫力が出ないことがある。

それに、テンポ感の違いにも配慮しなければなりませんでした。アニメであれば、画を止めながら、見せるべきところをしっかり見せる演出ができますが、ゲームでそれをやるとテンポが悪くなってしまう。原作と同じことをしていては、原作に負けてしまうんですよね。

だからあるとき、思い切って原作を“無視”しようと決めました。もちろん押さえるべきカットは押さえながらも、カメラをぐりぐり回しながら、引き、煽り、俯瞰など、原作にはない角度の映像も織り交ぜて、3Dの良さを最大限に生かした演出をしようと。「原作通りであること」ではなく、「3Dで、いかにキャラクターのかっこよさを表現するか」に重点を置くようになってから、思うようなバトルシーンをつくれるようになりました。

今作はゲームエンジンとしてUnityを活用させていただきましたが、会社としてUnityを利用した開発の経験が豊富なわけではないので、どこまで理想の演出ができるのかは未知数でした。ただ、モーションやカメラの動きは経験の有無を問わずクオリティを上げられる部分ではあるので、そこをこだわり抜いて迫力のあるシーンをつくりたいと思っていましたね。

全員がUnityを扱えるようになるための環境づくり

──Unityでの開発経験は多くなかったとのことですが、なぜ『ロススト』の制作において採用いただいたのでしょうか。

:Unity以外に選択肢はないと思っていました。弊社が採用したことのあるゲームエンジンは、UnityとCocos2dのみ。『ロススト』では、盤面を支配する戦略性が『コードギアス』の世界観とも合っており、ナイトメアを自機として動かす際に迫力ある演出で見せたいという考えから、3Dゲームでの制作を選びました。そう決めた以上は、Unityしかないだろうと。また、『ワンダーグラビティ ~ピノと重力使い~』などの既存タイトルからソースコードを流用できる点も大きかったですね。

──Unityには、ツールとしてどのような印象をお持ちでしたか?

若林:かなり直感的に操作できるツールだと感じていました。慣れれば慣れるほど、「ここをいじればこうなるだろうな」というイメージがつかみやすいというか。教本などを読んでから使い始めずとも、実際にいろいろと触ってみると操作を覚えられたんです。段々とできることが増えていきましたし、できないことがあってもエンジニアに聞けばすぐに解決できた。初めて触ったときから、とても使いやすいツールだと思っていました。

藤森:弊社の場合、前作まではUnityを使うのはほとんどエンジニアだけだったんですよ。今のように、デザイナーやプランナーもUnityを触りながら開発を進めていく、という体制を整えられていなかった。ただ、若林に関しては、Unity上でカットシーンの演出をつくってくれたり、他のデザイナーがつくったモデルをインポートしてセットアップしたりと、積極的に活用してくれていました。

ただ、その状態のままでは若林に負担がかかりますし、イテレーションを早く回そうにも限界がある。『ロススト』の開発からは、デザイナーもプランナーもUnityに触りながら進められる体制を整えたいと考えました。

──Unityに触れたことすらないという方もいたのではないかと想像するのですが、いかに全員が活用できる環境を整えていったのでしょうか。

:Unityでの開発経験が少ないメンバーに作業をしてもらうためにどうすればいいのかを考えた結果、触る部分を最小限に留めるための工夫を施すことにしました。Unityのあらゆる機能を使ってもらうよりは、エンジニア側で専用のチェックシーンやエディター拡張を作り込み、触るべきところを固定してしまう。そして、そこさえ触れば求めるアウトプットが得られるようにしました。

他方で、積極的なメンバーは自らさまざまな機能を拡張して活用していましたね。エンジニア側としてもそういった動きをサポートするために、彼らが「やりたいこと」をUnityで実現しやすい環境を整えたつもりです。たとえば、デザイナーに向けてはタイムラインやナイトメアフレーム用の編集ツールを拡張して提供したり、プランナーからの「細かく動作チェックをしたい」という要望にデバッグ機能を拡張したり。

若林:気づいたら環境が整備されていたという感じでしたよ。機能拡張だけではなく、マニュアルづくりも積極的に進めてくれていました。さまざまな機能の使い方も事細かに記載してあるので、「とりあえずマニュアルを見ればなんとかなる」と思えるくらいです。

私自身、先ほども申し上げたように、Unityに詳しいわけではなく「使っているうちに慣れた」くらいのレベルなのですが、それでも円滑にUnityを活用できているのは、手厚くフォローしてくれたエンジニアの存在が大きいと思いますね。

クオリティ向上の鍵は、タイムライン機能とURP

──『ロススト』の開発では、Unityのどんな機能が特に役立ちましたか?

藤森:特に貢献してくれたのはタイムライン機能ですね。前作までは内製したカットシーンツールを使用していたのですが、エディットモードでプレビューできる機能が付いておらず、プレイモードにしないと動作しないし、何かを変更するためにはエディットモードに戻してから設定しなければならず、使い勝手がいいとは言えないものでした。

前作を開発しているときに、Unityにタイムライン機能が実装されたので、次回は使いこなしたいと思っていたんです。『ロススト』では開発当初から、若林と共に機能拡張をして、かなり手応えを感じていましたね。

実際、タイムライン機能のおかげで、イテレーションをかなり早く回すことができました。ビルドして、実機を動かして確認するよりは、Unity上で確認しながら作業できた方が、当然にブラッシュアップするスピードは上がりますから。

:僕もタイムライン機能が今回の開発における肝だったと思います。過去のタイトルの制作でも、「この時間に、このアセットを再生する」と指定するADV機能などで利用できる内製ツールを使っていたのですが、タイムライン機能ほどの柔軟性がなかった。いつでもエディットモードで確認できて、好きなタイミングで何かしらの動作をさせるという機能はありませんでしたから。

トラックやマーカーなど、ゲームのフローに則った拡張ができるので、とても使いやすかったです。この機能がなければ、ここまでのクオリティは実現できなかったと思います。

若林:3票目になってしまいますが(笑)、僕もタイムライン機能に一票です。もともと映像系のツールに慣れていたこともあって、シークバーとトラック機能があるタイムラインはとてもとっつきやすかった。あとは、二人が言うように、エディットモードのままモーションのタイミングを確認できたのは大きかったですね。微調整したいと思ったときにすぐできるので、最後の最後までクオリティを追求できました。

──今作からユニバーサルレンダーパイプライン(以下、URP)も導入したと伺っているのですが、導入した理由などをお聞かせください。

藤森:『ロススト』の開発に取り掛かる際、まずURPの前身であるライトウェイトレンダーパイプライン(以下、LWRP)を使用したいと思い、触り始めていたんです。軽量な描画ができる点に大きなメリットを感じていたのですが、当時はまだカメラスタックに対応していなかった。それでは表現が制限されるので、どうしようかなと思っていたタイミングで、LWRPがURPに名称を変更すると共に、カメラスタックに対応することが発表されたんです。そうして、URPを導入することに。

実際に使ってみて、描画負荷が軽いところとカスタマイズ性の高さが魅力だと感じました。具体的な活用事例を挙げると、たとえば、3Dのナイトメアフレームを描画して、その上に2DやLive2Dを描画するといったシンプルなレンダリングフローを踏み、3D部分に関してはポストエフェクトでブルームをかける、といったところで済めば、ビルトインのレンダリング機能で事足りると思います。

ですが、『ロススト』の場合、3Dで背景を描き、その上にナイトメアフレームやエフェクトを描画して、Live2Dを描いた上でさらにエフェクトや別のものを描画して、ブルームをかけたい。ただ、Live2Dに関しては、ブルームを描けたくない、といった要件がありました。そういった要件を形にするためには、ビルトインのレンダリング機能では不十分だったんです。そこでURPを拡張し、ブルームの要不要を描き分けられるように対応しました。URPを導入したからできたことだったと思います。

──簡単な作業ではなかったと思うのですが。

藤森:そうですね。でも、プランナーやデザイナーの要望を実現するためには必要なことでしたし、URPはコードが可視化されているので、作業の筋道を立てやすかった。だから、「大変だろうけど、やれないこともなさそうだしやってみよう」と思えました。

Unityとパッケージ製品を組み合わせ、開発スピードを上げる

──タイムライン機能やURPを最大限に活用していただくことによって、『ロススト』のクオリティは高まったわけですね。

藤森:もちろん、開発に貢献してくれた機能はそれだけではありません。たとえば、『ユニティちゃんトゥーンシェーダー』は開発スピードを上げることに大きく寄与してくれました。プロトタイプの開発当初、ナイトメアフレームのルック決めやパフォーマンス要件を洗い出すために、ある程度の性能を持ったシェーダー機能を用意する必要がありました。

その時点では、必要とする性能を持ったものは用意できていなかったものの、とはいえ、いちから用意するとなるとコストがかかりすぎる。そこで利用させてもらったのが、ユニティちゃんトゥーンシェーダーです。プロトタイプ開発の段階からルックやパフォーマンス要件を定められたのは、開発スピードを上げるためにとても重要なことだったと思います。

──さまざまな機能を取り入れながら完成させた『ロススト』ですが、本作はiOSとAndroidだけではなく、DMM GAMESにも対応しています。マルチプラットフォーム対応における苦労はありませんでしたか?

:これまでのタイトルはいずれもiOS、Androidの双方に対応しているので、その2つのプラットフォーム対応に関しては特に困ることはありませんでした。ただ、DMM版、実質的にはWindows版への対応において、いくつか困ったことがありました。

というのも、弊社は少し特殊なアーキテクチャで開発をしております。クライアントサイドエンジニアの中でも、フロントエンジニアとネイティブエンジニアの部隊が別々に存在するんです。アウトゲームなどの画面の実装はネイティブ側で行わず、フロントエンジニアに委譲しています。このフロント部分のWebViewの実装に、もともとはUniWebViewというパッケージ製品を使用していたのですが、これがiOSとAndroidにしか対応していなかったんです。

──Windows版には対応していなかったと。

:ですので、Windows版のWebviewを内製するか、パッケージ製品を探さなければならなかった。結局は、Windows版の開発担当がVuplexWebviewという製品を見つけてくれて解決することができました。さまざまなパッケージ製品を受け入れられるUnityの柔軟性の高さに助けられたと思います。

VuplexWebviewを導入したあとは、特に大きな問題も起こらずに開発は進みました。もちろん、アプリ内課金や認証など、DMM GAMESの独自ルールがあるのでそこには対応しなければならないのですが、そこは担当エンジニアの力によってクリアできたという感じですね。

──最後に、今後の展望について教えてください。

村松:当社は、組織然としていないですが、その分、各プロジェクトのプランナーやディレクターがプロモーションにも参加できたり、エンジニアが企画に意見を出せたり、幅広い経験を積めたりする組織になっています。会社としてはまだまだ成長フェイズにあると思っていますし、ここから数年、多くのチャレンジができる環境もあります。『ロススト』でも、他プロジェクトでも、一緒に挑戦してくださる仲間を募集しています!

目次