バンダイナムコスタジオは現在、内製ゲームエンジンを開発中。バンダイナムコスタジオといえば、バンダイナムコエンターテインメントの子会社であるゲームスタジオだ。『鉄拳』シリーズや『アイドルマスター』シリーズ、『テイルズ オブ』シリーズ、『エースコンバット』シリーズなど、さまざまな人気シリーズを生み出してきた。また他社からの受託開発もしており、幅広いゲームを手がけている。

そんな同社が開発を進めるのが、「オープンワールドのような大規模ゲーム開発に耐えうるような設計のエンジン」だ。CTOは、かつて他社のゲームエンジン開発などにも携わったJulien Merceron氏が就いており、エンジン制作を指揮している。また、同エンジンに携わる技術者を募集中だという。募集している職種は以下のとおり。詳細は採用ページを参照してほしい。

エンジンコアエンジニア

グラフィックスエンジニア

エディタエンジニア

アニメーションエンジニア

ビルドエンジニア

開発支援エンジニア


バンダイナムコスタジオといえば、Unreal Engineなども積極的に採用している会社でもある。なぜ内製ゲームエンジンを作ることになったのか。どのようなゲームエンジンにする予定なのか。そして、どのような人材を求めているのか。バンダイナムコスタジオに伺い、話を聞いてきた。回答してくれたのは、エンジンユニットディレクタ―の堀内克祐氏とエンジンユニットコアセクション テクニカルディレクターの南相培氏である。なお取材については、新型コロナウイルス感染症対策をした上で実施している。

――本日は宜しくお願いいたします。まずは自己紹介をお願いいたします。

堀内克祐(以下、堀内)氏:
バンダイナムコスタジオ コアテクノロジー部の堀内です。以前はいわゆるゲームプログラマーで、2011年頃からニンテンドー3DS向け大型対戦ゲームにリードプログラマーとして携わり、Nintendo Switch向け大型対戦ゲーム開発ではテクニカルディレクターとして開発に参加していました。その後、自身の希望で現在の部署に異動し、ゲームエンジン開発を行っております。

コアテクノロジー部・エンジンユニットディレクタ―の堀内克祐氏


南相培(以下、南氏)氏:
同じく、コアテクノロジー部の南です。以前から『エースコンバット』シリーズの開発に携わっており、NintendoSwitch向け大型対戦ゲーム開発ではライブラリおよび開発環境のリードを担当していました。現在はコアセクションのテクニカルディレクターで、アセットパイプラインなどの根幹技術の開発を担当しています。

コアテクノロジー部・エンジンユニットコアセクション テクニカルディレクターの南相培氏


ゲームエンジン開発の経緯

――バンダイナムコスタジオには以前からNUライブラリ(描画ライブラリ)が存在しており、多くのタイトルで使われていたと思います。過去の資産がある上で、ゼロからゲームエンジンをつくろうとした経緯について教えてください。

堀内氏:
NUライブラリは今から20年ほど前、ナムコ時代に開発されました。最初はPlayStation 2に対応した描画ライブラリとして開発がスタートし、その後もマルチプラットフォームに対応するためのアップデートが続いていました。直近手がけた作品でも「NU4.0」が用いられています。ただし、NU自体は描画フレームワークとなっており、一般的なゲームエンジンのように開発エディタがあるわけでもなければ、ゲームオブジェクトを扱う仕組みやアセットをロードする仕組みもありませんでした。どうやって開発を進めていたかと言うと、プロジェクトごとに独自にエディタなどを開発していたわけです。

南氏:
NUのきっかけとなったタイトルは『鉄拳』シリーズで、その後『エースコンバット』シリーズでも長年NUライブラリを使ってきました。ただ、描画に特化したライブラリであった以上、自分たちで必要なエディタなどを開発する必要があったということです。ライブラリとしてNUを活用しつつ、プロジェクトごとに自分たちでかなりの量のコードを書いていた、ということになります。

堀内氏:
独自に作られたツール類を統合したい気持ちは長年持っていたのですが、なかなか本流に反映されるものは多くありませんでした。やっぱり「好きに自分たちでつくりたい」という人も社内には多いですし、タイトルに特化した開発手法というものも必要ですから。実は、NU4.0の時点でも、ゲームエンジンを目指した設計に舵を切っていたんです。ただ、タイトルスケジュールに合わなかったり、開発がうまく進まなかったり、人数が多く掛けられなかったり……そんな事情で、結局は一度ストップしたという経緯があります。


――ゲームエンジンというと、バンダイナムコスタジオでもUnityやUnreal Engine(以下、UE)などを活用した開発が進んでいると思います。あえて内製を行うメリットはどういった部分にあるのでしょうか。

堀内氏:
他社製のゲームエンジンに基盤を任せるのではなく、自分たちでしっかりとした基盤を作る技術力を持ち続けたいというのが内製の理由です。

南氏:
世の中にリリースされているAAAタイトルなどは、内製エンジンで開発されたものが多いんですよ。ゲーム開発に関する技術は自分たちですべてコントロールできなければならない、という感覚は持っています。

堀内氏:
昔から弊社には「開発に関する根っこの技術を持った状態でゲームをつくりたい」という強い想いがあって、それがNU開発にも繋がっております。我々が満たすべきバンダイナムコスタジオとしてのクオリティラインがあって、他社製のゲームエンジンの標準機能では、それを満たせない可能性があります。ですから、改めて自分たちの理想とするクオリティを実現するためのしっかりとしたゲームエンジンを作る必要があるだろうということで、今日まで開発を進めてきました。

――具体的に、いつ頃からゲームエンジン開発に着手されたのでしょうか。

堀内氏:
開発が決定したのは2018年頃だったと思います。まずはゲームフレームワークというかたちでランタイムだけ用意し、ツール類は余裕が出来たら開発していくという方針になっていました。そこで私が立候補をさせて頂いた形です。ただ、当時はほかの大型ゲームの開発時期とも重なっており、ゆっくりとしたペースでの開発になっていました。その後、数名によるゲームエンジンのコンセプト検証が行われ、このプロトタイピングをもとに2019年頃から本格的に開発が始まりました。

――コアテクノロジー部内での開発体制について、現在はどのくらいの規模になっているのでしょうか。

堀内氏:
開発が本格化した2019年時点では数名程度でしたが、現在は50名以上参加しています。ゲームエンジンなのでエンジニア中心のメンバー構成ではありますが、実際の使用者目線で仕様を切ったり評価をしてくれるテクニカルアーティストや、プロジェクトマネージャーもいます。

南氏:
我々もそうですが、現在コアテクノロジー部でエンジン開発に携わるメンバーは、『エースコンバット』シリーズを経てきたメンバーが多いですね。直近の作品でNU4.0を使っていた背景もあり、コアテクノロジー部との連携は常に行っていましたので、チームはうまく混ざり合っていると思います。

オープンワールドも作れるエンジンに

――大規模なプロジェクトですね。関わる人数をお伺いしただけでも、今回のゲームエンジンへの本気度が伺えます。2018年に設計思想の検証のためのプロトタイピングを行ったとの話題がありましたが、改めて今回のエンジンのコンセプトと特徴について教えていただけますか?

堀内氏:
エディタ、ランタイム、アセットマネージャの3つの仕組みをデカップリング(分離)して開発を行うというのが基本コンセプトです。ランタイムやエディタはゲーム開発をしていると、どうしてもクラッシュする場合があります。通常、ツールがクラッシュした場合はデータも失われますが、それぞれがデカップリングしていれば編集プロセスやデータを保持することができます。アセットに関して言えば、すべての編集履歴を切り離されたアセットマネージャが保持しておりますので、クラッシュしても再起動するだけで編集を継続できるというメリットがあります。このコンセプトには、CTOのJulien Merceronも関わっております。

――たしかに、いかに完成されたシステムでも、プログラムである以上エラーとは無縁ではいられません。根幹のシステムが切り離されていることで、不測の事態にも問題なく対応できるということですね。

堀内氏:
それだけではなく、エディタとランタイムが別になっていることで、開発環境を選ばないというメリットもあります。現状エディタはC#で構築していますが、今後クラウドが進化したらブラウザがエディタになるかもしれません。そういう展望もあって、それぞれを独立して開発しましょうという方針になっていました。

南氏:
デカップリングによるメリットを享受するための開発を行っていましたが、一方においてこうした開発手法は我々にとって馴染みのある方法ではありませんでした。どの領域になにを置くべきかの仕様の策定に悩む部分があったり、「とりあえずこの機能は早いうちに作ろう」というものが冗長性のないコードになってしまっていたり、初期の頃はさまざまな問題を抱えていました。開発が長期化する中で、ある種の技術的負債をクリアにするタイミングがあったことも事実です。


堀内氏:
エンジン開発はやることが多く、優先順位をどうつけるかの迷いが生まれてしまったこともありました。そこで、2020年に開発を一度ストップし、開発基盤を強固にするとともにコンセプトもあらためて言語化して、プロジェクトを再始動させたんです。

――長期化する開発の中で、より良いエンジンにするための仕切り直しがあったということですね。基盤となる以上、使いやすさと安定性が重要であることは想像できます。言語化されたコンセプトはどういったものでしたか。

堀内氏:
「オープンワールドを当たり前の選択肢にする」という内容です。バンダイナムコスタジオは、実はまだオープンワールド作品をリリースしたことがないんですよ。オープンワールドそのものを作りたいというよりは、複雑な仕組みを持つ大規模なゲームを当たり前に作れるように、普通に選択肢として選べるように、ハイエンドな開発に耐えうるゲームエンジンを作る目的でコンセプトを明示しました。

――このコンセプトは、どういった流れで決まったのでしょうか。

堀内氏:
いろいろな意見を聞きつつも、最終的には私が決めました。オープンワールドを実現することだけが目的ではないのですが、まずは複雑かつ大規模なタイトルにも対応できるような基盤をしっかり制作しようというかたちで提案をしました。

南氏:
目標として立てるには良い対象だったと思いますね。実際、そこに辿り着くためにはしっかりした基盤を作る必要がありますし、その意味では「オープンワールド」のような大きな目標があったほうが現場で開発するエンジニアにも分かりやすいと感じていました。どういった対象を制作するのであれ、基盤として作らなければならないものの品質はそこまで変わらないわけです。ここで改めて全体の目標意識が高まりましたし、見直しと同時に多くの機能を再構築したことで、技術的負債をクリアにできたこともメリットになりました。

3つの柱

堀内氏:
このコンセプトを実現するために、3つの柱を立てました。それが「ランタイムの徹底的な高速化」、「イテレーションの高速化」、「外部からカスタマイズを可能にする設計」です。

――ランタイムの高速化や、アーティストやレベルデザイナーの試行錯誤を効率化することの重要性は直感的に理解できますが、外部からのカスタマイズは何を指しているのでしょうか。

堀内氏:
通常市販エンジンをそのまま使うということは少なく、独自に手を加えるケースが多いのではないかと思います。その上でエンジンのアップデートをしようとすると、マージにはそれなりのコストが掛かってしまいます。それと同じように、エンジン内部でいろいろとカスタマイズを施すと移行コストが高くなるので、エンジンの外部からカスタマイズができるような設計にしました。つまり、エンジンのエディタ自体、ランタイム自体もプラグイン的に内部構造を変更できる仕組みにして、あくまでエンジンの基盤に変更は加えない。こうすることで、長期に渡る運用が可能になると考えました。


――現在、すでにこのゲームエンジンを用いて開発を進めているプロジェクトはありますか?

堀内氏:
今のところ開発タイトルはありません。感覚的には、あと1年ほどあればゲーム開発が始められるようになるだろうと思っています。会社としてゲームエンジン開発を推し進めていることは周知されておりますので、今はテクニカルアーティストを通じて現場のフィードバックを頂いている最中になります。

南氏:
一番多いフィードバックは「安定性」でしょうか。ランタイムやエディタがクラッシュしてもアセットが失われない設計にするためのコアになるのがアセットマネージャですが、ここは究極的な安定性が求められます。ツールも同様に、今ある状態を安定させながら機能追加を進めていくのが課題となります。

堀内氏:
ほかにも、操作性を良くしてほしいというご意見ももらいますね。バックグラウンドの処理は同じでも、UIの反応を早くすることで作業者のストレスを軽減させるなど、さまざまな部分に気を遣っています。今はツール内でマテリアルも作れるようになっておりますが、この機能はテクニカルアーティストから見てUnityやUEではできなかった、あるいは不満があった点を反映し機能として盛り込んだ内容になっています。実作業者にとって理想的なものになるのではないかと期待しています。

――仰るように、現場からのフィードバックをスムーズに反映できるところも、内製エンジンの強みと言えるかもしれません。そのほかに、開発において特に苦労したところはありましたか。

南氏:
今回のエンジン開発を始めた当初を振り返ると、考え方の違いで苦労したことは多かったなと改めて思います。このプロジェクトは、ゲーム開発を専門とするエンジニアが主軸となって進めています。一方、ゲームエンジンというソフトウェアを開発したことのある方は多くなく、最初は「ゲーム開発とゲームエンジン開発の考え方が大きく違う」というところのすり合わせに苦労しました。どちらかというとゲームエンジンはソフトウェア開発工程に近いようなイメージなので。

――開発の考え方の違いというのは?

南氏:
ゲームの場合は実際に仕様通りに動くのか、テストプレイを入念に行います。一方、ゲームエンジンは実際にプレイしてテストすることができません。もちろんデモタイトルはつくっていますが、本番よりはパンチの弱い検証になりがちです。また、一般的なソフトウェア開発の考え方だと、アーキテクチャの決め方や設計など、プロセスをしっかり踏む必要がありますが、ゲームの場合はショートカット的な考え方が成立する場合もあります。

堀内氏:
ゲームは品質至上主義なので、あらゆる手を尽くしてクオリティを上げていきます。とにかくパフォーマンスが出るように最適化を続けて、「このルートにしか流れないから、ほかは無視する」というプログラム的な削ぎ落としなどを含めて、全体の生産性を上げつつクオリティを担保しているわけです。でも、エンジンの場合はあとから仕様を変更したり、機能追加ができなければいけません。ソフトウェアとしてしっかり開発する必要がある、ということです。

――ゲーム開発だけでない、ソフトウェア開発工程などの知見も必要ということですね。このゲームエンジンが完成したあかつきには、バンダイナムコスタジオのタイトルはすべてこちらのエンジンで開発を進める方針になるのでしょうか。

堀内氏:
バンダイナムコスタジオは多様性のある会社ですから、自社エンジンで開発するタイトルもあれば、UnityやUEの強みを生かして開発を続けるタイトルもあると思います。今のところ内製エンジンはハイエンドなコンシューマータイトル向けに開発をしていますが、いずれはモバイルにも対応していく予定です。その上で、開発体制をどうするかはプロジェクトごとの判断になります。

――お答えできる範囲で構いませんが、ゲームエンジンの展望についてご紹介ください。現在R&Dが進んでいる領域であったり、今後搭載予定の機能などはありますか?

堀内氏:
バンダイナムコスタジオは会社としてR&Dを積極的に進めていく方針であり、専門の部署としてコアテクノロジー部内にイノテック(新規技術開発チーム)というユニットを持っています。今はAIを用いたキャラクターアニメーションに関する研究や、開発の効率化のためにクラウド活用を推進するような仕組みづくり、あるいはブロックチェーン技術の研究などを進めています。エンジン開発に関しては、いまは最低限必要な要素を定義して走っている状態なので、R&Dという意味ではなかなか出来ていないかも知れませんが、イノテックで育った技術がプロジェクトに転用されることも期待しています。

南氏:
ゲームエンジンでいうと、初期コンセプトからベースに仕込んでいる要素として「共同編集」があります。ExcelなどOfficeソフトウェアは複数人が同時に利用するコンセプトのものもありますが、ゲームエンジンにもマルチユーザー機能を実装したいと考えています。もともとデカップリングが必要だったのは、これが理由でもあるんですね。今のところは技術的課題が残っている部分もありますが、いずれ搭載する予定になります。


求める人材

――ここまでエンジン開発のお話をお伺いしてきましたが、ここからは今回の求人についてお伺いしていきます。コアテクノロジー部でエンジン開発を行うにあたって必要なスキルや心構えについて教えてください。

堀内氏:
もっとも来ていただいて嬉しいのは、ゲームエンジン開発に携わったことのある方です。また、DCCツールなどの開発経験がある方、一般的なソフトウェア開発者までを対象にしています。専門性が高ければ、ゲーム業界であるかどうかは関係なく、ぜひ来ていただきたいです。ただ、ゲーム会社である以上はゲームの素養がある方が望ましいですね。

南氏:
ゲーム開発の経験の有無は、あったほうが良いことは間違いありません。ただし、それがなかったとしても活躍できる分野はエンジン開発の中においてまだまだ残されています。実際、コアテクノロジー部にはソフトウェア開発者としてキャリアを積んできた方が活躍をしています。規模の大きい開発になりますので、しっかりとした作り方でソフトウェア開発をしてきた方であれば歓迎です。さらに言えば、こちらは年々減ってきているかも知れませんが、ライブラリや低レベルかつハードウェアに近い部分に触れる方も人材として欲しています。

堀内氏:
また、それとは別に「ゲームづくりに長けた方で、ゲームエンジンを触るのが楽しい方」も募集したいです。ゲームエンジンの布教役として、実際のプロジェクトとの橋渡しになる人材も間違いなく必要だと感じています。ゲームエンジンを使った開発経験があり、その知識をもってタイトルのサポートをするような人材が育つと良いな、と考えています。

――ソフトウェア開発という文脈では、ゲーム業界外からの応募も歓迎ということですね。

堀内氏:
はい、結局どちらも必要なんです。ゲームエンジンをつくる上で、ゲーム開発経験がない方ばかりだと実作業者が使いにくいものになってしまう。逆に、ゲームしか作ってこなかった人だけでは、ソフトウェア的な開発手法への適合が難しいかも知れない。その道のスペシャリストで、優秀な方であれば、バックグラウンドは問いません。

――バンダイナムコスタジオで働くことのメリットについて、お二人はどのように考えますか。

堀内氏:
一番良いところは、会社の雰囲気が柔らかいところかなと思っています。上下関係によるトラブルとも無縁で、とにかく働きやすい空気感があります。あとは、手を挙げればやりたいプロジェクトに異動できるところ。つまり、チャレンジを応援してくれる会社というのがメリットになると考えます。自分はゲームエンジンが作りたい!という強い思いでコアテクノロジー部に異動しましたが、こういった思いに対してしっかりサポートしてくれる会社ではあります。

南氏:
今の話に付け加えて、もっと身近なところだと、働きたい時間に働ける、出社とリモートワークを選んで働ける、というのが直接的なメリットになります。仕事スタイルはフレキシブルですし、たとえば休暇などもパッと取りやすい。自分の時間をコントロールしやすいし、自由な働き方が許容されている会社です。また、堀内の異動の話にも似ていますが、社員個人の都合や事情について、会社がかなり親身になって考えてくれるんです。何らかの事情があったとき、上司や人事部が綿密に話を聞いてくれて、真剣に解決まで取り組んでくれる。働くにあたって、とても安心感のある職場だと思います。

堀内氏:
ずーっと長いこと、こういう雰囲気の会社です。和やかというか。もちろん、ガチガチじゃないからこそそれぞれが自立して、積極的に業務へ貢献する必要はありますが、いい会社だと思いますよ。


――いま南さんからお話があったように、基本的にはリモートでの仕事になるのでしょうか。

堀内氏:
そうですね、今はリモートワークが中心です。コミュニケーションについては、毎日みんなの顔が見られるように、4-5人の単位で朝会だったり、なにかミーティングを持つような工夫をしています。

――最後に、この記事を読んで興味を持たれた方へメッセージをお願いします。

南氏:
ゲームエンジン開発は、ゲーム開発とは違うやりがいがあります。ゲーム開発を行う中でも、ゲームそのものを作るよりも「どれだけ楽ができるか?」という効率化に興味を持っている方も多いと思います。ゲームをつくる環境をどこまで快適にできるかを常に考え、これを実現することにやりがいを感じる方には本当に向いている仕事だと思います。ゼロからエンジンをつくるという大きなチャレンジを楽しみましょう!

堀内氏:
ゲームエンジン開発は技術的に挑戦しがいのある分野です。以前のゲームプログラマーは、自分自身がエフェクトの挙動を調整したり、UIを配置したり、デザイナーの方と協業しながらも自らが手を動かしてゲームをつくっている感覚がありました。一方、今はゲームそのものではなく、どちらかというとアーティストやレベルデザイナーの方がものづくりをしやすいような環境づくり・橋渡しのような仕事が増えてきています。そんな中において、ゲームエンジン開発というのは、自分たちの知的欲求を満たすことができる本当に面白い仕事です。一般的なソフトウェア開発と異なり、同じ会社のメンバーの声を拾って改善をし続けられる、実際に使ってくれる方と近い距離感で開発を進められるのもいいところだと思います。知的好奇心を満たし、近い距離のお客さんと一緒に開発を進めていける状況に魅力を感じる方は、ぜひ合流してください。


――ありがとうございました。

バンダイナムコスタジオのゲームエンジン開発に携わりたい方は、以下のページより詳細を確認してほしい:

エンジンコアエンジニア

グラフィックスエンジニア

エディタエンジニア

アニメーションエンジニア

ビルドエンジニア

開発支援エンジニア

[聞き手: Daiki Kamiyama]
[執筆・編集: Daiki Kamiyama/Ayuo Kawase]
[撮影:Ayuo Kawase]


NINE GATES STUDIO コンポーザー/サウンドデザイナー/技術系ライター。商用作品への楽曲提供と並行して、”Yack Lab.”名義でゲーム制作も行っており、代表作『Gen.』は東京ゲームショウSOWNやWIRED CREATIVE HACK AWARDなどにノミネートされるなどの評価を得て来た。好きな時に好きなゲームで遊ぶため、現在はフリーとして活動中。 NINE GATES STUDIO http://blog.nine-gates.com