エピック ゲームズ ジャパンへのキーパーソンへのインタビューを通して、“複数の貌”を持つエピック ゲームズに迫る企画。ここでは、Unreal Engine 4のテクニカルサポートを担当する篠山範明氏と鍬農健二郎氏に、エピック ゲームズ ジャパン代表の河崎高之氏も交えて話を聞いた。ゲームエンジンでは大きなシェアを持つUnreal Engine 4だが、円滑なゲーム開発のためには、的確なサポートが欠かせない。緻密なサポートが必要とされると思われるが、インタビューではそのあたりのことを語っていただいた。ちなみに、おふたりともUnreal Engineが好きすぎてエピック ゲームズ ジャパンに入社したという、素敵な経歴を持つ。(聞き手 週刊ファミ通編集長 林克彦)
篠山範明氏
エピック ゲームズ ジャパン サポートマネージャー 写真右
鍬農健二郎氏
エピック ゲームズ ジャパン サポートエンジニア 写真左
河崎高之
エピック ゲームズ ジャパン 代表 ※崎はたつさき
テクニカルサポートの役割は?
――Unreal Engineのサポート担当として、メーカーさんに対して、どのようなサポートを行っているのでしょうか?
篠山Unreal Engineをライセンスアウトするにあたっては、もちろんドキュメントやサンプルなどはご提供しているですが、それでも分からないことがあると、サポートのサイトがあるので、そこにお問い合わせいただく形になります。それでも解決できない場合は、なるべく現地に言って、開発者の方の隣に行って、ああだこうだとサポートしていることが多いですね。
河崎篠山くんは、いろんな会社に席があるよね。
篠山ありますね(笑)。
河崎開発の時系列で言うと、初めてUnreal Engineを触られるチームの場合は、最初にレクチャーをやらせていただくことが多いですね。うちの技術者が何人か伺って、2~3日お時間をいただき、プログラマーやアーティスト向けの説明をします。「こういう流れで作ると効率いいですよ」というところから始まります。で、実際に開発が始まると、さっき言っていたクローズドのWebサイトがあるので、そこに質問を投げていただいて、こちらで回答します。実際にうかがう場合は、パフォーマンスを改善する作業が多いですね。
篠山パフォーマンスを改善するための作業は多いですね。とくにコンソール向けタイトルの場合だと、フレームレートが出ないなど、パフォーマンスが足りないことがあるので、その場合はどこが原因かをいっしょに調査しています。もちろん、ビジュアルクオリティーを落とせばパフォーマンスは改善できるのですが、なるべくビジュアルクオリティーをキープしながら、どう作っていくのかを、いっしょに模索するような形でやっています。
河崎よく一般の方がわりとイメージされるケースだと、“バグが出たときに助けてくれる”と思われがちなのですが、ゲームエンジンの場合は、じつはバグってほぼほぼ取れているバージョンを使っているので、それで困るということはあまりないですね。やはり、どう使えばもっと効率が出るかといったことやコツみたいなところが多いです。たとえば、うちのスタッフが行ってプログラムデータを見せていただいて、「なぜこのシーンだけこんなに重いんだろう」というような犯人探しをする過程で、それこそたくさんのプロジェクトを見ているので、ある程度、勘どころがわかるんです。「この辺が怪しそう」といった感覚がありますし、見てみたら草にやたらと頂点数があったり、この背景は一瞬しか使わないのに5回くらいレンダリングをしているから削りましょうみたいなことをいっしょにやらせていただく感じです。
――使う人次第みたいなところもあるのですね。
篠山そうですね。Unreal Engineは格闘ゲームからRPGまで、いろいろなジャンルに対応できる柔軟性のあるゲームエンジンなのですが、そのために設定が多岐にわたり、更新のスピードがとてつもなく早いんです。かなり前に実装された機能だけど知らなかったということもけっこうある。僕たちとしても情報をいっぱい出しているつもりなのですが、キャッチアップできていない方に、「この問題点はこれで解決しますね」ということを説明してあげるという感じです。
――鍬農さんはどういったお仕事を?
鍬農私はサポートエンジニアとして、基本的にはWeb上でのサポートをメインに、ライセンシー様からの「こういった問題で困っている」、「こういったケースではどのような作りにしたら効率的ですか」というご質問に対して、適切な回答を提供しています。そのほか、プロジェクトが始まる前に実際にお伺いして、ノウハウをお伝えしたり、アドバイスをしています。さらには、最終的にプロジェクトのリリース直前にプロファイリングに行っていまして、まあ“火消し役”というところでしょうか。
――最適化みたいなことですか?
鍬農そうですね。結果として、最初から最後まで関わる感じになります。もちろん、やれる範囲でというのはありますが。プロトタイプの段階から声をかけていただけるプロジェクトは、量産前にいろいろとアドバイスできますので、私たちとしてもやりやすいですし、実際のところ、開発は見ていてスムーズに進むことは多いと思います。
開発者によるコミュニティーが大きな役割を果たしている
――いま、Unreal Engineのチームは何名くらいの体制なのですか?
河崎いま、日本オフィス全体のスタッフが16~17人くらいなのですが、Unreal Engineのサポートチームはノンゲームの担当も含めて8人ですね。ちょっと前までは6人でした(笑)。
――お話をうかがっていると、それだと手が回らないのでは?
篠山確かに(笑)。ただ、Unreal Engineはソースコードなどを一般に公開しているので、会社の垣根を超えて、他社さんとの情報共有が図りやすいんですね。それは僕らも意識しているのですが、必要な情報をまとめてネットで調べられるような状態にしようという運動は、ずっとしています。ゲーム会社の垣根を超えて、情報共有していけるということを、サポートのひとつの動きとしています。Unreal Engineのコミュニティーですね。
河崎あとは、先程お話した、Unreal Engineを使っている開発会社が利用されるクローズドの質問用のサイトがあるのですが、そこは掲示板みたいになっていて、ほかの方も見られるんですよ。ですので、何か自分が分からないことがあったときにそこで検索したら、過去に誰かが同じことを聞いているのか見つけられたり、Unreal Engineのことが好きで応援してくださる別の開発会社の方が、うちのスタッフが答える前に、質問に対して積極的に答えてくださるケースも多いです。じつは、それでがんばってくださっている方には、エピック ゲームズ ジャパンから、“Unreal ヒーロー”といったバッジを差し上げているんですよ。コミュニティーが活性化しているというのはありますね。
篠山他社さんの質問に対して答えてくださった方には、お礼のバッジを渡しています(笑)。お互いを助け合うというか、せっかく共通の技術を使っているので……ということで、積極的にお返事してくださる方は多いですね。
――おもしろいですね。オープンなスタンスで取り組んできているからこそ、Unreal Engineが広がってきたという側面もあるのですね。
河崎そうですね。大きな会社だと、社内でUnreal Engineの大きなチームがひとつできると、彼らが核になって宣伝してくれたり、つぎのUnreal Engineのプロジェクトが立ち上がったときに、そこからベテランの方が移ってエバンジェリストとしてレクチャーしたりということはあるようですね。一方で、会社と会社のあいだでも、Unreal Engineを通しての緩やかなつながりがあります。うちがやっているUnreal Festや勉強会でつながるケースもありますし、そこで情報共有していただいた結果、さらに使っていただけるようになるという流れは確実にありますね。
メーカーからの急な要望にも対応
――Unreal Engineのサポート例をいくつかお教えいただけないでしょうか。
篠山そうですね……。アクワイアさんが開発した『オクトパストラベラー』は密にやり取りさせていただいた一例ですね。やりたいことが独特だったので。パッと見あのタイトルって、シンプルにできると思われがちなのですが、実際のところはやっていることやアート面でのこだわりはものすごくて、機械的に見るとけっこう負荷が高いことをやっているんです。しかも手触りの部分も配慮されている。
――たしかに、Unreal Engineらしからぬ印象のタイトルですね。
篠山たしかに僕らもあの絵作りは誰も想定していませんでしたね。そういう意味では、Unreal Engineはいろいろな設定ができるので、工夫してもらってあのような絵作りを実現してもらいました。パフォーマンスという意味では、あの絵を保ったままで、滑らかにゲームとしてしっかりと動かすところは、いろいろとやらせていただきました。
――光源とか、すごく独特でしたよね。
篠山あれはアクワイアの方が作り込んでいました。たぶん実際にUnreal Engineを触って、アーティスト主導で作り上げたんだと思います。そういう意味では、Unreal Engineは検証しやすいツールなので。
河崎アクワイアの方々の目指したいゴールが決まっていて、そこに至る道が一番スムーズに行ける道を、折に触れてサポートさせていただいたんですね。
篠山『エースコンバット7 スカイズ・アンノウン』での事例も印象的でした。煙の中をとてつもないスピードで突っ込んでいくというシーンがあったのですが、描画にものすごい負荷がかかってしまっていたんですね。爆発した瞬間の煙に機体が入っていくときに、その瞬間の煙をどう軽くするかということを、僕は2日間くらいでご提示させていただきました。
――そういうときは、どこをチェックするのですか?
篠山一般的にユーザーさんから見て“重たい”というと、処理画落ちがしていることだと判断すると思うのですが、だいたい細分化すると5、6パターンに分かれるんですね。そこから、どこが原因かの目星をつけるんです。今回の場合は、半透明が処理負荷だったのが原因だったので、それをどう削減していくかということで調整しました。半透明は、ゲームが苦手としている部分ではあるんですけどね。
――削減できるものなのですね。
篠山そうですね。そのときは、ビジュアルクオリティーを一切落とさずにできました。単純に言うと、それまではほとんど透明な板を100枚くらい重ねて半透明にしていたんですね。実際のところは1枚で済むんです。
――工夫次第ということですね。
篠山PCベースで開発していると、それでも動いてしまうので、「大丈夫だ」だと判断してビジュアルを作っていくのですが、どうしても齟齬をきたしてしまう。それで僕たちがクオリティーを落とさずに処理速度を早くするといったケースは多いですね。
――そういった依頼は、チーム内で試行錯誤して、それでもダメだとなったときに、助けてもらおうということで連絡が来るケースが多いのですか?
篠山そうですね。そこまでスケージュールがきびしくなる前に呼んでほしいとい要望はしているのですが、どうしても急になってしまうときもあります。
河崎向こうから手が挙がるときは炎上したときなので、私たちとしてもそれは避けたいというのが本当のところです。そのため、こちらから「困っていませんか?」と、定期的にお声かけするようにはしていますね。
鍬農『絶体絶命都市4Plus -Summer Memories-』では、キャラクターがたくさん登場するシチュエーションで、パフォーマンス的にどうしても重くなってしまったんですね。調べてみると、カメラが映っていないときでもキャラクターがアニメーションしていました。それだけ負荷が増えてしまうのですが、Unreal Engine 4には、カメラに映っていないときはアニメーションをオフにできるという機能があるんです。それでCPUのコストを抑えられる。これは、ほかにも何件か似たようなケースがあったので、あわせて昨年のCEDECで講演しました。そのあとは、ある程度その手の質問が減ってきたのですが、自分のなかでは印象深い事例です。
Unreal Engine 4で意識していたのは、“いかに開発効率を高めるか”
――Unreal Engineがここまで受け入れられてきた理由はどのへんにあると、自己分析されていますか?
河崎いまのプレイステーション4、Xbox Oneの世代にゲームエンジンのビジネスはさらに大きく広がったと思うのですが、ニーズに合致するものをいいタイミングでお届けできたのかなあと。プレイステーション3からプレイステーション4に世代が上がったことで、テクスチャの量も数倍~数十倍になり、モデルの頂点数も増えました。同じやりかたで作ったら、おそらくプレイステーション3でできていた金額や時間の数倍から10倍くらいかかってしまう状況だったと思うんです。では、プレイステーション4のタイトルはプレイステーション3の数倍から10倍売れるのかというと、そんなわけは当然なくて、むしろマーケットとしては小さくなっている。という状況の中でどうするかというと、各開発会社とも効率を上げるしか方法がなかったですね。いかに効率を上げるかというところで、ひとつのソリューションになったのがゲームエンジンだと思っています。私たちもそこは、Unreal Engine 3からUnreal Engine 4の切り換えのタイミングでは意識していて、グラフィックの表現力の向上はもちろんあるのですが、それ以上にUnreal Engine 4で意識していたのが、“いかに開発効率を高めるか”というところでした。ハードの進化で求められるアウトプットがすごく増える時代に、うまく乗れたのかなと思います。
――これから2020年に向けて新しい世代のゲーム機が出てきますが、これからのUnreal Engineのテーマや、力を入れていきたい部分を教えてください。
河崎エンジンとしては、ゲームがいちばん大事なことは変わりないのですが、最近はおかげさまで、ゲーム以外で使っていただく事例も増えているんですね。映像だったりシミュレーターだったり……。リアルタイムレートレーシングなども含め、ノンゲームのお客様にも使いやすいような進化というのは、ここ数年かなり意識しています。今後はその領域でも力を入れていきたいと思っています。