『サマーレッスン』×「Unreal Engine 4」。「女の子がそこにいる」はいかに実現されたのか?Epic Games河崎氏がバンナムに訊く(前編)
Epic Games Japan代表の河崎高之氏を聞き手とし、Unreal Engine 4を採用したタイトルの開発者にお話をうかがう対談企画第二弾。今回お迎えするは、『サマーレッスン』を手がけたバンダイナムコエンターテインメントとバンダイナムコスタジオのプロジェクトメンバー。
『サマーレッスン』は、魅力的な女の子たちとのコミュニケーションを体験できる、PlayStation VR専用の「VRキャラクターコミュニケーション」ゲームだ。3人のキャラクターのコミュニケーションが楽しめるダウンロード版がそれぞれ発売されているほか、2月22日には『サマーレッスン:ひかり・アリソン・ちさと 3 in 1 基本ゲームパック』としてパッケージ版が発売される。プレイヤーはVR空間の中で、実際に目の前に女の子がいるような感覚を味わえる。ユニークなコンセプトからゲームの発表自体に衝撃を受けた方はもちろん、Unreal Engine 4で開発されたということに対して驚いた方も多いだろう。バンダイナムコはUnreal Engine 4を使い、どのようにして「彼女は、本当にそこにいる」を実現したのだろうか。6名のスタッフにお集まりいただき、当時のストーリーを語っていただいた。
河崎高之氏(以下、河崎氏):
それでは早速自己紹介からお願いします。
バンダイナムコエンターテインメント 玉置絢氏(以下、玉置氏):
はじめに、今日集まったスタッフがどのような顔ぶれなのかを説明させていただきます。今回のメンバーはプロジェクトの中でもUnreal Engineとの縁があり、かつ全員の役割がバラバラ。さまざまなセクションの人の役割が見えるといいかなと思い集めました。
では私から自己紹介させていただきます。『サマーレッスン』のディレクターとプロデューサーを担当しているバンダイナムコエンターテインメントの玉置と申します。よろしくお願いします。私はUnreal Engineに直接さわる機会が一番少なくて、趣味でさわっている時間のほうが長いですね(笑)。今日は実開発に関わったみなさんが主役かなと思っています。
バンダイナムコスタジオ 山本治由氏(以下、山本氏):
Epic Gamesさんにはお世話になっております(笑)。『サマーレッスン』のリードプログラマーをしています、山本です。僕のところはエンジニアのチームで、実際に作り始めてからの製品の機能の実装だけでなく、Unreal Engineを選定する段階から携わらせていただいています。
河崎氏:
『サマーレッスン』のほかに、山本さんが携わった作品はありますか。
山本氏:
僕はずっと『鉄拳』のプロジェクトチームでした。『鉄拳5DR』の家庭用の頃からですね。
バンダイナムコスタジオ 中西哲一氏(以下、中西氏):
サウンドデザイナーの中西です。『サマーレッスン』ではサウンドディレクションと実装を担当しました。各担当にオーディオ制作をお願いして、それをとりまとめてUnreal Engineに直接入れるのが私の役目でした。私は過去に『リッジレーサー』シリーズや『エースコンバット』シリーズなどを長くやってきました。空を飛んだり走ったりひたすら速いゲームから一転、キャラクターとの距離感の近いゆったりした時間が流れるタイトルに携わらせてもらいまして、すごく新鮮で楽しい体験ができましたね。
バンダイナムコスタジオ 田中佳吾氏(以下、田中氏):
オーディオプログラマーの田中です。今回『サマーレッスン』では中西さんと共にサウンド実装に取り組み、私は主に技術面を担当しました。弊社(バンダイナムコスタジオ)では「NUSound 」という社内のオーディオミドルウェアがあるのですが、それをUnreal Engineにインテグレートする作業も担当しています。中西さんとは「こんなワークフローにしたいから、インターフェースはこうしよう」といったやりとりをしていました。過去携わったタイトルとしては入社してからだと『GO VACATION』というWiiのタイトルや、少し前だと『大乱闘スマッシュブラザーズ for Nintendo 3DS / Wii U』の開発にもオーディオプログラマーとして携わっています。
バンダイナムコスタジオ 森本直彦氏(以下、森本氏):
アニメーションを担当しました、森本と申します。アニメーションのセクションのリーダー的な立ち位置になります。いつもはアニメーションのデータを作るまでなんですが、『サマーレッスン』ではUnreal Engine 4が使われているということで、ブループリント(※)を作ってキャラクターの制御みたいなところも、勝手にやっちゃいました。過去関わったタイトルは、昔は『エースコンバット』を代表に家庭用ゲームもやっていたんですが、直近ではUnreal Engine 3を使った業務用タイトルを2本ぐらいやりました。今までは女の子キャラクターが中心となるようなタイトルには携わったことがない人間だったんですが、なぜか「お前Unreal Engineに詳しいんだろ」と上司に言われて巻き込まれることになりました(笑)。でも結果的にはすごく面白かったですね。
UE4の機能。ノードベースでスクリプトをゲームに視覚的に追加していくことができるため、プログラマー以外でも扱いやすい。
バンダイナムコスタジオ 斎田亮氏(以下、斎田氏):
ビジュアルの背景の方を担当しております、斎田と申します。今は『鉄拳』のほうでもUnreal Engine 4を使用させていただいていまして、DLCの制作を進めています。今までも比較的格闘ゲームに携わることが多く『ソウルキャリバー』シリーズやアーケードで出ている『機動戦士ガンダム エクストリームバーサス』といったタイトルに関わってきました。『ソウルキャリバー』の方もこの前発表があったように、最新作ではUnreal Engineを使用させてもらっています。そちらでもビジュアル面でもヘルプ的なところで関わらせてもらっています。
Unreal Engine 4のために集められた精鋭たち
河崎氏:
それではおもむろに質問させていただきます(笑)。僕が初めて『サマーレッスン』を見せていただいたのは、おそらく2014年ぐらいでした。PlayStation VRがまだMorpheusと呼ばれていた時代ですね。青物横丁の未来研究所の会議室で原田さんに呼ばれて、デモを遊びました。内容としては、少しだけ教科書を読んで、ひかりちゃんが肩の埃をとってくれるという程度の5分ぐらいのものでしたが、あの時の衝撃は今でも覚えていますね。「うわ、そこにいる」という感じで。ただ残念だったのが、モニターとMorpheusがリンクされていて、僕がどこを見ているのかが外からわかるんですよね。そういう理由で、ちょっと紳士を装ってしまったのを覚えていますね。
玉置氏:
当時は、片っ端からお世話になった人や見てもらいたい人にデモのプレイをお願いをしていました(笑)。100人は超えてるんじゃないかな。「あっ、こういう時はこういう反応をされるんだ」というのをみんなで見て、それが製品版に生かされました。
河崎氏:
あれはユーザーリサーチの一端だったんですね。今でこそVRの体験はできますけど、当時だと口で説明だけされても伝わらないですよね。
玉置氏:
そうなんですよ。一生懸命説明しても伝わらないんです。
河崎氏:
そのへんの意図もあって、早い時期に短めのバーティカルスライス(※)を作られていたんですね。
一部のエリアやステージを製品版に近いクオリティで完成させること。ゲーム開発では、ここからスケジュールや必要な工数などを見極め、本制作に入っていく。
玉置氏:
当時から「もし製品化するとしたら」というのは考えていたんです。ただ「キャラクターが本当に目の前にいて、距離感次第で緊張したりする」というレベルに仕上げられるだろうか、どのくらいパフォーマンスが出るだろうかとか、その辺がわからなかったので、試作の意味がかなり強かったですね。我々が普段ゲームを作っている中でも、こんなに先が見えない、正解があるかわからないというプロジェクトは珍しいんじゃないかなと思っていました。
河崎氏:
その後、2015年のTGSでデモをされましたね。
森本氏:
あの時点でもうUnreal Engine 4で動いていました。実はその部分には裏話がありまして。『サマーレッスン』の最初のプロトタイプを作ってると、すごいものになりそうだとなったんですが、いきなりプロジェクト化というわけにはならなかったんです。ポテンシャルを感じるのでなんとかしたかったんですが、本格的にスタートを切るには社内の検討や手続きがあるので、クリエイターは暇になっちゃった時期がありました。
僕はその時、別の技術研究を進めていて、リアルタイムのモーションキャプチャーができれば面白いと気付いて、色々試していました。そのデモには、手元にあった「ひかりちゃん」のデータを使ってたんですよ。アセットストアで買ってきたかのように(笑)。その後、人に見せれるぐらいの形になったので、色んな人に見せてたら玉置が「TGSでやりましょう」と言いまして、大きく動きだしました。
河崎氏:
なるほど。VRでももちろん珍しいですが、Unreal Engineでこういうタイトルが出るのは世界でも初かなと思います。
玉置氏:
そうですね。僕が学生時代だった頃を考えると、Unreal Engineの「Unreal」は『Unreal Tournament』シリーズを代表にゲームタイトルのイメージが強かったんですが、ここまできちゃったという感じですね(笑)。『サマーレッスン』は銃も持たない、走らない、オンライン通信もしない。
河崎氏:
Epic Gamesは毎年GDC(※)でデモやムービーを作るんですけど「今年は何人死ぬかな」と楽しみにしてるんです。
ゲーム・ディベロッパーズ・カンファレンスの略。毎年3月頃に米国サンフランシスコで開催される、ゲーム開発者による大型カンファレンス。
一同:
(笑)
河崎氏:
そういう中で、あえてUnreal Engineを選んでいただいたきっかけはなんでしたか。
玉置氏:
正直なところ、エンジンについては山本さんの言われるがままに採用しました(笑)。
山本氏:
一番の決め手はお城(Epic Citadel)のVRサンプルのデモでした。あのデモを見た時、臨場感を感じて「このクオリティで製品が作れるなら、これでいけるだろう」と思い選びました。見た目としてお手本となるサンプルがあるというのは大きかったんです。また開発環境としても、今まではビジュアルはエンジニアがシェーダーを叩いてそれをアートに渡して調整してもらうというフローが多かったんですが、Unreal Engine 4であればアートの人も勉強すれば色んな場所をいじれる自由度が高かったので、そういう意味でもVRの試行錯誤をする環境として最適だなと思い選びました。
*モバイル向けに配信されているEpic Citadelのデモトレイラー。
玉置氏:
補足すると、当時の事情としては着手してから完成させるまでに与えられた期間が短かったんです。3か月ほどで「本当にキャラがいる」という状況にしなければいけないというのがありました。スタートダッシュを早く切ることが当時すごく重要だったので、既存のサンプルが豊富かどうかは生命線でした。ゲームエンジンの選択が間違いだったから選び直すというのも許されない状況だったので、いかに信頼性の高いものを選ぶかがとても大事だったんです。
河崎氏:
山本さんはすでにUnreal Engineをよくご存知のようでしたが、ほかの方は『サマーレッスン』以前にさわったことはありましたか。
森本氏:
それで呼ばれましたので(笑)。
玉置氏:
詳しくは話せませんが、昔から色々あったそうですね。「『サマーレッスン』はUnreal Engineなんですよ」と言うと、大先輩の人たちが「昔こういうUnreal Engineのプロジェクトがナムコ時代にあってな」みたいな話が出てくるんですよね。
一同:
(笑)
河崎氏:
流石ナムコの歴史……。
田中氏:
実は私は今回初めてUnreal Engineを触らせていただきました。NUSoundはC++で作られているのですが、それをノードベースの開発ワークフローに組み込むには最初は試行錯誤が必要でした。ただ、徐々にUnreal Engineの設計思想を把握できてきて、そこを理解してからはだいぶスムーズになっていきましたね。個人的には職種間の無駄なやりとりが少なく済むのが一番の利点かなと思いました。開発のワークフローが大きく変わったなという印象も持ちましたね。
中西氏:
開発初期にオーディオシステムにどういうものを選んでいくか選択肢は色々ありました。Unreal Engine標準のオーディオを利用する方法もあるし、オーディオミドルウェアを使う選択肢もあります。ただ、立体音響などを使った独自の技術で再現したかったので、自社開発のオーディオミドルウェア(NU Sound)を入れたかったんです。ひと昔前は別のシステムをUnreal Engineに組み込むにはコードの改造が必要で組み込むのが大変だったところに、(Unreal Engineの)プラグインの仕組みができたおかげで、独自の立体音響技術やNU Soundをスムーズに導入できたのがよかったですね。そのおかげでこだわりのある音作りをすることができました。
森本氏:
私はUnreal Engine 3の頃にアーケードゲームを作ってました。特に最初にUnreal Engine 3にさわった時に、ゲームエンジン自体が初めてだったので、その文化の違いによる戸惑いを感じながらも生産性の高さに驚愕しました。一発で虜になりましたね。そういう経緯があって、Unreal Engine 4についても早い時期からふれていたので、このプロジェクトにはUnreal Engine 4がいいと個人的には思ってました。実際使っていてもどんどん使いやすくなりますしね。Unreal Engine 3でよかった点をそのままに、少しとっつきにくかった部分が大幅に改善され、ベストな開発環境のひとつになった印象ですね。
河崎氏:
あの……もうちょっと本音で話していただければ……忖度しなくても大丈夫ですよ(笑)。ありがとうございます。
一同:
(笑)
森本氏:
本音です、本音(笑)。系譜としては、ドーム型のガンシューティングゲーム(LOST LAND ADVENTURE)が まずあって、その後『タイムクライシス5』があってという流れがあって、それぐらいからUnreal Engine 3で試作しようといじってましたね。それぐらいからですね、Unreal Engineを使おうかという話になったのは。
斎田氏:
自分は『鉄拳7』の方から先にさわらせていただいていて、そちらは弊社として初のUnreal Engine4使用タイトルという形で関わらせてもらいました。『鉄拳7』も自分も立ち上げ当初から関わったではなく、途中から入った身なんですが、プロジェクトに入った途端に強力なツールであることはわかりましたね。やっぱりビジュアルの精細さと取り回しのやりやすさは、作る側からすると印象的です。エンジンの中で色々できることが多い分、そこを勉強するのは大変でしたが、一度覚えてしまえばかなり強力です。
内製のツールですと、DCCツール(※)などで直接中間ファイルなしでコンバートして実機で出すという形でした。どうしても最終出力の確認は、コンバートを通した後という形になっていたんですが、Unreal Engine 4では途中段階でビジュアル的な確認がすべてできるのが、今までの苦労を考えると非常にやりやすかったですね。背景では大量のアセットがあったりするので、その扱いもスムーズでした。
Digital Content Creationツールの略称。Autodesk社の3ds MaxやMaya等、3D CGモデルを制作するためのソフトウェアを指す。
セクションの枠を広げたブループリント
河崎氏:
先程おっしゃられたように、2か月や3か月という短期間で、かつUnreal Engine 4を勉強しなければいけないという立場の方もいらっしゃったと思いますが、その辺はスムーズに入られましたか。
玉置氏:
正直不安でした。当時は私もUnreal Engine 4をあまりさわっていない方の人間だったので、プログラマーの人から「ソースコードを書かずマウスだけで作るんです。」と聞いた時に、そういうスキルの転換をみんなができるのだろうかと危惧していました。2Dの時代から3Dの時代に移行するのが大変だったとか、CからC++に移行する時が大変だったという話と同じように、エンジンにおける「ブループリント」に慣れるのにすごく時間がかかるんじゃないかと心配してたんです。でもスタッフに聞くと「全然大丈夫ですよ、すぐ慣れますよ。」と言っていまして。
エンジニアのチームは山本のほかに二人プログラマーがいて三人体制でした。その二人はUnreal Engine 4をさわったこともないし、そのうちひとりは入社したての新人で大丈夫かなと思ってたんですが、1か月ぐらい経つとみんな頭の中で同じ論理を築けたのか、ソースコードでやっている時と同様のスムーズさになりましたね。
山本氏:
(プログラマーは)みんなそれほどツールにこだわりがなかったんです。こういうものを作りたいんだというところに重きを置いているスタッフだったので、そういう意味ではツールは柔軟に選べたかなと思います。個人的な意見ですが、Unreal Engine 3をさわっていた時はKismet(※)でグラフをつなぐのとUnreal Script(※)を使うのとを、交互に行ったり来たりするのが不便だったので、当時からどちらかに統合されるといいなと感じていました。Unreal Engine 4はすべてノードベースになり、すっきりしてよかったです。
Unreal Engine 3に実装されていたビジュアル・スクリプティングツール。現行のブループリントに比べると、機能的な制約や限界が多かった。
同じく、Unreal Engine 3に実装されていた独自言語。Unreal Engine 3の場合、スクリプティングのためのツールがKismet, Unreal Script, C++の3層に別れており、混乱を生じやすかった。現在のUnreal Engine 4ではブループリントとC++の2層に集約されている。
河崎氏:
そこはまさにおっしゃっていただいたとおりで、当時はKismetがあってUnreal ScriptがあってC++があるという三構造になっていて、どこでやるかという点がいつも問題になっていました。Unreal Engine 4に移る時にUnreal Scriptをもっとパワーアップしようという話が出た時に、じゃあKismetはどうするのという話があり、それなら独自言語はいらないでしょという流れになり、ブループリントに集約したんです。
ブループリントについてはEpic Gamesも同じ状況で、最初の内はプログラマーはみんな「そんな面倒くさいことやってられないからコード書くよ」という感じだったんですが、いざ使い始めるともうみんなブループリントに染まっちゃって。うちの製品はほとんどがブループリントで作ってますね。AIぐらいはコードでやってますが、ほかはブループリントですね。『サマーレッスン』は、ゲームロジックはほとんどがブループリントですか。
山本氏:
そうですね。『サマーレッスン』は幸運なことにそれほど複雑な処理などは必要なかったので。キャラクターも1体しか出てこないので、そこに注力できました。なので、ノードベースで試作も簡単ですし、製品としてのパフォーマンスも不足なく出ているので、すごくやりやすかったです。
河崎氏:
モーションやアニメーションの制御もブループリントですか。
森本氏:
ブループリントですね。僕はプログラマーでもないのに勝手に長大なブループリントを作って、それが製品にも乗っちゃっているんですけど、バグがなくてよかったなと(笑)。
一同:
(笑)
玉置氏:
当時はそういう話を聞くとワクワクしましたね。一般的に大人数でコーディングを進める場合はコード規約を立てるじゃないですか。だから、ブループリントにおけるコード規約も出てくるだろうと考えていました。それと、スパゲッティコードという表現ってあるじゃないですか。あれがブループリントだと視覚的に本当にスパゲッティなんですよね。そういうものに直面すると、いわゆる「Effective C++」等の本できれいに可読性のあるコードを書きましょうという啓蒙が進んでいったのと同様のことが、ブループリントでも必要になってくる。まさにそういう黎明期にあった悩みと未来への予感の両方が当時のブループリントの世界にはあって、自分にとってはワクワクしましたね(笑)。山本さんとは当時、「今Unreal Engineの逆引き辞典とか書いたら売れるんじゃないか」と話してました。ただ忙しくてそれどころじゃなかったんですが……。
山本氏:
C++だとよくオブジェクト指向の本とかあるので、それのブループリント版があれば結構な人がとっつきやすく考えることができるのかなと思ってました。
河崎氏:
Unreal Engine 4の逆引き辞典はもう日本語で出てます(笑)。
玉置氏:
そうなんです。だから出た時は「あー出ちゃったかー!」と思いました。そんな感じで、コード規約みたいなものは、ブループリントでも必要なんだとわかりました。
河崎氏:
大体、部屋や机が汚い人が書くブループリントはぐちゃぐちゃになるというセオリーがあるんです(笑)。性格が出ちゃうんですよね。
一同:
(笑)
中西氏:
プログラマーは、コードレビューみたいなことをしてたんですかね?。そのスパゲッティなブループリントを。
山本氏:
そこは僕が夜中にこっそり整頓して回ってました(笑)。
河崎氏:
アーティストやアニメーター、シェーダーの人がブループリントをがんがん組んじゃって、プログラマーからすると重いものになってないか怖いという話はよく聞きますね。最終的にプログラマーがもう一度見直すというやり方で進められているチームもあると聞きます。
玉置氏:
そもそもアーティストが(プログラム部分を)いじっているということが今までなかったので、そこができたのはすごいですよね。
田中氏:
これまでと責任範囲が変わったという印象がありますね。デザイナーがプログラマーを介さずに触れる範囲が増えたので、どこからどこまでを自分でやるのかという線引きを決めるのに最初の方は時間がかかった記憶はあります。一度決めてしまえばあとはスムーズでした。ただ、プロジェクトによって最適な線引きは違うんじゃないかなと思います。
中西氏:
今回は専属のオーディオプログラマーさんがいたので、自分はブループリントを書かないスタンスでソリューションを作ってもらったんですね。なので、基本的には組むのは田中くんにやってもらって、作る方に集中できたのかなと。
河崎氏:
Unreal Engine 4の設計思想の大事な部分のひとつに、なるべく各ファンクションの担当の方にできることを増やそうというのがありました。今までだと一旦仕様書に落としてプログラマーに渡してプログラマー待ちだったのが、ゲームデザインやアートが自分でいじれるようになったのがUnreal Engine 4の根本の設計思想なので、そこがお役に立てたのであればよかったかなと思います。
森本氏:
『サマーレッスン』のチームは、玉置くんがディレクター/プロデューサーとして最終権限を持ってるんですが、それぞれ個性の強いメンバーが揃っているんです。プログラマーだからコードだけ書きますとかアーティストだから絵だけ描くのではなく、自分の担当関係なく色んなことを言う人間が集まっていたので、思いついたことをそれぞれ自分で勝手に試すところがありました。そういう部分がブループリントとマッチしていると感じましたね。セクションの枠の中でやろうという発想はなく、こうやったらもっと面白くなるはずという意見が多く出ていました。
河崎氏:
玉置さんはそういう意味でも「正解がない」とおっしゃっていたんですね。
玉置氏:
そうなんです。Unreal Engine向きの人を集めると、気の強い人ばかりが集まりました(笑)。自己主張が強くて「自分でなんでもやってやる、プログラマーやプランナーに任せていられねえよ」という人が多かったので、結果それがプロジェクトの体制としてもよかったわけです。チームビルディングの観点でもUnreal Engine向きの人はプロジェクトに前向きに貢献するタイプが多いということに気づけたのがラッキーでした。
個人的にすごく面白かったことがあって、人が作った新しいものを見せてもらう時にはその人のデスクまで行くんですが、試作を画面で見せてもらうんです。これまで、そういう時に連れられて行かれる先はもっぱらプログラマーだったんですが、『サマーレッスン』では森本さんに呼ばれたりすることも多くて。色んな職種の人が「これ作ったんだけど入れない?」と呼んでくれるというのは、今までやってきて今回のプロジェクトで初めて経験したことなんです。
河崎氏:
すごくUnreal Engine 4を使いこなされているというか、一番いい使い方をしていただいているのではないでしょうか。
玉置氏:
みんな、我慢できないんです。プログラマーが実装するのを待ってられない(笑)。そういうのは今まではフラストレーションだったんですが、今回は自分で試作するという形になったのかなと思います。
河崎氏:
今までずっと一緒にやってきた人ではなく、バラバラの人が集まったチームだからこそできることですよね。
玉置氏:
そうなんです。結局既存のチームのメンバーのままでやると、これまで使ってたシステムやフローに最適化された運びになりやすいと思うんです。今回はUnreal Engine 4に最適化された新チームだったので、新しいこともやりやすく楽にできました。
「女の子の存在」を感じさせる距離感
河崎氏:
グラフィックの面では、やはり「女の子がそこにいる」という感覚を出すためのご苦労が一番多かったと思うんですけど、いかがでしょうか。
玉置氏:
いくつかあるんですけど、最初は「人間に見えるのか」という点が一番大きかったです。『鉄拳』や『ソウルキャリバー』で使ってるシェーダーをまんま使っても大丈夫なのかなと。当時、アニメのキャラクターをVRで見たりすると、これは画面の向こうで見たほうがいいやと思うことも多かったんです。かといって、写真をそのままデータ化したものは、生々しくて見てられない。どれくらいの塩梅がいいのかわからない状態で手探りでやっていくというのが、最初の問題でしたね。これはシェーダーの試行錯誤の段階です。
ここからはUnreal Engine 4と関係なくなってくるんですけど、距離感の部分が大変でした。距離については、絵コンテや字コンテなどドキュメンテーションができないんですよ。全員が同じイメージを持つためにはリハーサルをするしかない。会議室で机をどけて、広い空間を作っておじさん同士でひかりちゃんと先生役に分かれてシミュレーションしてました。この時は精神的に辛かったですね……。
一同:
(笑)
玉置氏:
その時の悲しみが後で生きてくるんです。やがて、モーションキャプチャーのスタジオでUnreal Engine 4を動かして、リアルタイムで映像を見れる環境が揃いました。ヘッドマウントディスプレイも持ち込んで、モーションキャプチャーしているアクターさんの距離感などもとれるシステムができました。それはおじさんたちの悲しみから生まれたものですね。
普通のゲームは、距離感ではなく画面の面積の何割を占めているかで考えるんですけど、奥行き何cmかという観点で考えるのは、VRゲームである『サマーレッスン』では特に重要でした。そこの詰めというのが、かなり難しかったです。そういうところでも、Unreal Engineがリアルタイムの描画が早かったというのが活きて、モーションキャプチャーのキーフレームをUnreal Engineで送るというシステムが比較的簡単にできたんです。そのおかげで、リハーサルにおける距離感決めはすごく楽になりましたね。
そうやってゲームを作っていって、次に考えるのは、お客さんにその魅力をどう伝えるかですよね。「目の前近くまで女の子が来るんです」と言っても、伝わりづらい。そこが難しかったですね。
その課題については、PV作成時に映画的な見せ方をするような工夫を入れ始めて、ひかりちゃんの時はしなかったんですが、アリソンちゃんの時ぐらいからカメラレンズで撮ったような映像をPVに混ぜていく戦術を使っていきました。Unreal Engine 4の機能で使ってないものを取り入れた撮影ロムを作って。そういうところでもお世話になりましたね。
河崎氏:
同じ素材で、VRコンテンツとは別に平面の動画を撮るためのものですか。
玉置氏:
そうです。VRのゲームってカメラアングルがないんですよ。こちらのアーティストが指定するのではなく、プレイヤーがカメラをつけるので、PVを作る時は本物のカメラマンさんが必要なんです。プロの写真家さんに来ていただいて、カメラの代わりにPSVRを持って撮影ロムで撮影していただく。その時にコントローラーでズームとかピントを変えたりとか、ピントおくりとかもできるんです。その辺も全部コントローラーの機能に入れています。それもUnreal Engine 4の仕組みを使って、コンソールを叩けばすぐにできます。助けられましたね。
山本氏:
エンジニアからしたら心苦しいんですが、コンソールコマンドで実装するのは簡単なので、なんでもかんでもコンソールコマンドで詰め込んでしまって、現場ではキーボードを使って打ってくださいとおまかせすることになりました。
Unreal Engine 4のエディタから呼び出す編集用コマンド。いわばデバッグツール。ここではゲーム内のユーザーインターフェースとして実装した訳ではなく、エンジン上のエディタから呼び出すコンソールコマンドを外部のカメラマンにも使ってもらったことに対し、「エンジニアとして心苦しい」と表現している。
玉置氏:
カメラマンさんの撮影が二日間あって、一日目に対応できなかったことも山本さんにお願いすると翌日からコンソールから打てるようにしてもらったりだとか、でもコンソールコマンドはそういうスピード性に寄与している部分がありました。こうした三段階の苦労があったなかで随時、Unreal Engine 4の機能に助けられました。
こんなこと言うのもあれなんですが、最初にそこまで考えてゲームエンジンを選んだわけではなかったので、Unreal Engine 4と出会えたのは運が良かったというところはあります(笑)。そこまで考えて選んでなかったんです。
山本氏:
そもそも当時は「本当に(Unreal Engine 4で)PS4のパッケージ作れるの?」という話にはなっていましたし。
玉置氏:
そうでしたね。fpsもちゃんと出るかわからないというような状況で、最終的にソースコード見れるからいいやという判断をしました。見切り発車感も甚だしかったですね(笑)。
森本氏:
当時はUnreal Engine 4のバージョンがガンガン上がってる時期で、未実装の機能がめっちゃありましたね。たとえば、当時のマチネで今のシーケンサー(※)。「シーケンサーというのが出ると聞いてるんですけど……。」という状態で。
どちらもUE4におけるシネマティックカットシーンを作るためのツール。現在は「マチネ」から「シーケンサー」に置き換わった。
河崎氏:
出る出る詐欺……。
一同:
(笑)
森本氏:
結構早い時期にそういうのがつくと聞いていたので、すごく期待してたんですが ……。
玉置氏:
そういう意味では『サマーレッスン』は変なプロジェクトで、水面下で開発して最後一気にPVを見せてゲームを販売という形ではなく、作り足しながらちょくちょくデモソフトとかで色んなところに展示してプレイアブルで出しているので、色んなバージョンのUnreal Engine 4と付き合っていかないといけないところがありました。そこは多少大変なところがありましたね。
中西氏:
サウンドのミドルウェアも変わりましたしね。最初のデモは他社のミドルウェアを利用していましたが、 最終的に自社のNU Soundになりましたね。
玉置氏:
バンダイナムコスタジオはUnreal Engine 4を割と使っている方の開発会社かなとは思うんですが、過去の資産もたくさんあるので、社内のライブラリのほうが使い勝手がいいとか、本当にピンチの時にその場で対応してくれるプログラマーがいるとか、そういう意味でも社内のライブラリを最終的に何個か使っていただく事になりました。インターフェイス用のライブラリもそうですね。そういったライブラリとUnreal Engineがインテグレーション(統合)できるかというのが今回のチャレンジではあったんですけど、そのへんは田中さんにしていただいて、UE4の強みとバンダイナムコスタジオが持っている強みを合体させたい、という狙いがありました。
田中氏:
Unreal Engine 4はソースがオープンになっているのも大きいですね。プラグインを作る時もドキュメントだけでは細かい仕様まで全ては網羅しきれないので、実際に動いているソースを見て「あっここか」と当たりをつけられるので楽でした。
河崎氏:
なかなかそう言っていただけることは少ないんです。うちのスタンスは基本「ソース見てください」なんですが、特に日本ではドキュメントないんですかという問い合わせも多いですね。なので、そう言っていただけるとありがたいですね。
玉置氏:
そのへんは、内製のライブラリの歴史が長く、ガッチガチに内製で作ってきた会社だからという感じもします。ソースコードとそれを書いたプログラマーがいるので、「ドキュメントを作るのもいいけど、急ぎだったらコード書いた本人に聞いたほうが早い」という文化でやってきている方が多いからかなと。
河崎氏:
うちも元々はそうなんです(笑)。ただ、ライセンシー様が増えるにつれ、やっぱりドキュメントが無いと困るという方も増えてきまして。5年ぐらい前にやっとその問題が広く認知されて、それ以来ドキュメント化を頑張ってます。