【CEDEC2015】PS4参入の発表から一年…「ハイエンドゲームで世界を目指す」Cygamesの次なる挑戦 エンジンの内製経緯や開発の現状について

 
2015年8月26日(水)~28日(金)に、パシフィコ横浜(神奈川県横浜市)で国内最大のゲーム開発者向けカンファレンス「コンピュータ・エンターテインメント・デベロッパーズ・カンファレンス 2015」(以下、CEDEC 2015)が開催。

本稿では、3日目(8月28日)に実施されたセッション「Cygamesの挑戦! ~ハイエンドゲームで世界を目指す~」を取材。『神撃のバハムート』を筆頭に、『グランブルーファンタジー』や『ナイツオブグローリー』など、数々のモバイルゲームの企画・開発・運営を行うCygames。同社は、昨年の「CEDEC 2014」にてプレイステーション4への参入を発表し、新たな開発拠点として2015年4月には大阪Cygamesを設立した。本セッションでは、ハイエンドグラフィック情報を中心に、東京・大阪それぞれの会社で行っているハイエンド開発の現状と展望について語ってくれた。
 
 

■「PS4参入」の電撃発表から一年


はじめにCygames 取締役CTOの芦原栄登士氏が登壇し、同社の企業紹介と本セッションのアジェンダについて解説してくれた。

2011年5月に設立されたCygamesは、これまでブラウザのソーシャルゲーム『神撃のバハムート』をはじめ、『グランブルーファンタジー』、『リトル ノア』、『ドラゴンクエストモンスターズ スーパーライト』(提供:スクウェア・エニックス)などモバイルで数々のヒット作を生み出しており、累計登録ユーザー数は5000万人を突破。

去年の「CEDEC 2014」でプレイステーション4の参入を電撃発表し、大きな話題を集めた。芦原氏は、参入経緯について、社是にもある「最高のコンテンツを作る会社」に沿い、「最高のコンテンツをハイエンドのなかでも開発するため取り組んでいく」と語ってくれた。 
 

ここからは、東京・大阪でそれぞれが現状実施している技術研究と今後の展開に関する講演に移った。

東京からは、GPGPUで計算されたパーティクル群をLeap Motionで操作し、それらをOculus RiftによるVR空間でも楽しむことができるコンテンツについて、概要と実装におけるポイントを紹介。大阪からは、大阪Cygamesの紹介、物理ベースレンダリングとImageBasedLightingなど現行のグラフィック技術への取り組み、内製ゲームエンジン開発とのハイエンド開発の今後の展望について紹介してくれた。

 

■Cygamesの挑戦 東京編「GPGPU」



東京本社からは、Cygamesでネイティブアプリ開発及び技術研究担当に就く金井大氏が登壇。同氏は、ゲーム開発を軸にしてVR、ゲームエンジン、グラフィックスなど、幅広い分野の研究開発に従事。

直近の同社の取り組みとしては、VRの展示会「OcuFes 2015夏」に出展し、腕の動きを検知できるデバイス「Leap Motion」を活用した3Dペイントの仕組みを展示した。「指先で物を削ったり、回転させたり、何か形を作ることができる。これをOculus Riftを被って色々な視点から物づくりができるコンテンツを展示した」と金井氏。

さらにこれを応用したのが、「VRろくろ」(仮称)。画面右下の「ろくろ」ボタンを押すことで、その名の通り、陶芸のろくろのように壺などを作ることができる。当日「OcuFes 2015夏」で出展したところ、お昼くらいから列が絶えない状態になるなどの人気を集めたという。
 




▲「VRろくろ」のスペック:CUDAを使っている都合上、GeForce GTX TITAN X、Nvidia製のものしか使えないが、Cygamesで試したところGTX770という低スペックのものでも編集は簡単に動いたようだ。
 
そんな「VRろくろ」では、GPGPUを使っている。GPGPUとは「General-purpose computing on graphics processing units」の略称で、GPUの演算資源を画像処理以外に応用し、汎用化する技術とのこと。金井氏は「グラフィックボードなので、たくさん挿せばそのぶん性能が上がります」と言葉を添えた。

今回、GPGPUを活用して「VRろくろ」を開発した理由に、金井氏が研究開発チームに所属していることも起因しているという。そもそも年々GPUの性能は向上しており、汎用プロセッサとしてのGPU需要が上がって、金井氏いわく「PCやコンシューマ、スマホなどプラットフォーム問わず適応されていく」とのことだ。また、研究題材としては、メタボールやパーティクル処理を選択し、これらは一般的で資料も多いのが特徴という。

「VRろくろ」の具体的な目標では、メタボールをGPGPU処理にてリアルタイム処理することを掲げている。リアルタイムで処理するため、レンダリングまでは60fpsまでが必須、そしてパーティクル処理もGPGPUで行う。昨今、様々なところでゲームエンジンが使われていることもあり、今回はUnityで動かすことを選択。
 

▲GPGPUの選択肢:UnityのためCompute Shaderかと思いきやCUDAを選択。理由に「資料も多く開発効率が非常に良いため」としている。
 
続いてメタボールのポリゴン化について説明。メタボールとは、3次元グラフィックスで曲面を表現する手法のひとつ。おもに球体など単純な曲面を持つ複数の立体を融合して、滑らかな曲面の表面を持つ立体を定義する方式のことで、金井氏いわく「『ターミネーター2』に出てくるようなもの」と分かる人だけが分かる内容で説明してくれた。
 

▲図で描写。マーチングキューブス法とは、勾配をポリンゴ化してくれる特許技術で、3次元のボクセルデータをポリゴン化できる。ただ、高解像度ボクセルのポリゴン化は処理負荷が高いため、このポリゴン化をGPGPUで行うことに。
 
そして、メタボールをUnityでレンダリングしていく。流れとしては、上記のマーチングキューブス法でポリゴンの頂点データを生成する。その後、頂点データをテクスチャに書き込み、Unity上でダミーMeashを用意し、vertex shaderでLodして頂点データをフェッチするという。

「本当はコマンドバッファとかを使うと、自前でポリゴンを描くこともできるだが、結局ゲームエンジンが持っている豊富な機能など、ベーシックなところが全く使えなくなってしまう。そのため、手間だが1回Meashを経由して、Unityの機能で描画することにこだわった」と金井氏。結果的に、メタリックな表現やスペキュラが強いシェーダに適応でき、Unityがほかに持っているシェーダも使えるようになった。

それでは、GPGPU化はどう進めたのか。まずはUnityのC#で書いて、アルゴリズム的に最低限なことだけを実施する。続いて、ネイティブプラグイン化(CPUで処理)、SIMD対応、ここまでの対応をすると現実的なパフォーマンスになってくるという。その後に、UnityのComputeShaderやCUDA対応をしていく。
 

▲図で表現:GPUにたどり着くには、Native PluginからCUDAを読んで、CUDAからGPUにアクセスしていく。



▲この時点で「Leap Motion」を活用した実験。ここから手触りが良くなってくる。

思いのほか手触りが良いことに気づくと、ここから本格的な作り込みが進んでいく。まず粒子(パーティクル)の動きを改善するため、SPHという粒子法を実装してGPGPU化。さらにメタボールを直接的に編集できるよう研究を進めていく。また、せっかくここまで動けるようになったこともあり、VRにも対応して「OcuFes2015」の出展も決定。
 
Oculus Riftとの組み合わせでは、金井氏の考えとして粘土をこねるインターフェースにしたかったが、「粒子の制御が思ったより難しい」ため、指先で制御するような現在のインターフェースになった。また、FBXへの保存機能も追加。
 

▲VRろくろギャラリー:当日の「OcuFes2015」では、小さいお子さんがニヤニヤしながら遊んでいたこともあり、技術の凄みが幅広い層に伝わったようだ。
 
GPGPUを実際に使用してみて「やはり高速」だったと語る金井氏。ただ、CPU側のコードをそのまま持っていけるわけではなく、そこは通常の並列化と同じのようだ。しかし、CUDAならではの最適化もあり、スレッドがある程度のグループ化もされて、それを共有化されるShard memoryなども存在。とはいえ、CPUとGPU間のデータコピーはネックという。

Unity+CUDAでは、デバッグの大変さを語った。GPUコードにbreakを貼ったりできないほか、CUDA単体で動く環境を用意すれば格段に楽になるが、ネイティブプラグインの経由も挙げた。レンダリングまでのパイプラインとして、UnityでStandard Shaderを使いつつ、動的に頂点を作るのが手間。レンダリングパス制御は今後の課題とした。Oculus RiftとLeap Motionへの対応は問題なく実装できたという。
 
 

■大阪Cygamesの挑戦 「内製ハイエンドゲームエンジン」



続いて大阪Cygamesからは、ハイエンドグラフィック技術を中心にAI/サウンド/物理など幅広くR&Dの立場として技術的な部分を担当する岩崎順一氏(写真左)と、同じくグラフィック周りを担当する堀端彰氏(写真右)が登壇。

現在大阪Cygamesでは、内製ゲームエンジンの開発を行っている。名前は「Cyllista Game Engine」(サイリスタゲームエンジン)。Cygamesとillumination、接続詞のistを合わせて造語となっている。

2015年8月現在で「Cyllista Game Engine」が対応しているプラットフォームは、Windowsとプレイステーション4(PS4)のふたつ。おもにWindowsで開発していて、徐々にPS4のほうにも対応していくようだ。なお、今後はAndroid、iOS、Linuxなどのほか、「可能であればXbox oneにも対応していきたい」とのこと。

そもそもCygamesは、何故ハイエンドのゲームエンジンを内製することになったのか。そのひとつが「開発の柔軟性向上効率化」という。同社では開発の柔軟性の向上と効率化に重きを置いているため、今回の「Cyllista Game Engine」でサポートしていくことを考えている。また、万が一不具合が起きた場合、原因を探るとき完全に中身が見えている状態は良いことのようだ。
 

また、エンジンを自社開発にすることで、開発の選択肢が増えることもメリットとして挙げた。もちろん、Unityなどの既存のゲームエンジンも引き続き採用していくが、そこにもうひとつ別の選択肢があってもいいのではないか、という思いがあるという。

内製エンジンを作るうえで、さらに重視しているのが社内全体のスキル向上。多くのプログラマーやアーティストがゲームエンジンの開発に携わることで、根本的な内部知識を得たり、新たな発見や技術を社内で積極的に共有できるメリットも兼ね備えているとのこと。


▲CTO芦原氏の言葉。最高のコンテンツはを作るためには、最高の技術から生まれることを意味している。「技術を高めるのは、ひとりだけが技術が高くとも意味がない。全員でレベルを高めていくべきで、それらをエンジンを通じて応用できればベストだと思っている」と岩崎氏。
 

▲一方でこちらは大阪Cygamesのポリシー。「これから成長を続けていくうえで、本社に負けないように、かつユーザーの皆様に還元していく気持ちを込めて、この言葉に決めました」とのこと。


▲具体的に現在大阪Cygamesで行っている技術開発。
「ゲーム業界の技術トレンドを網羅」することをコンセプトに持っている。

 
また、岩崎氏は「ハイエンド環境でしか出来ない表現がある」ことも述べた。たとえば、大量オブジェクト制御などを筆頭に、サウンドやアニメの制御。高性能だからこそ出来るものは、当然様々なところで出てくるものだ。モバイルでも今後GPU・CPUのスペックも向上していくことを考えると、社内環境を整備して、高性能な技術に対応できるように進めていくという。ちなみに、直近の制作概要は下記の通り。
 

 
 
また、物理ベースレンダリングでは、イメージベースの実装ムービーを公開してくれた。


▲「東京本社には技術力の高いスタッフが多数おり、クオリティの高いグラフィックを実現」。





 
▲「標準的なものは実装しているが、まだまだ全体を通してライティングの仕組みも作っていく予定」。


▲OculusVRにもネイティブ対応済み。
 
このほか、リアルタイムGI(グローバルイルミネーション)についても現在技術検証中。完全動的なGIシステムで、静的ベイクタイプのビジュアルなど複数の技術を検証しており、今後正式に実装を予定している。最後にSIMD自動ベクトル化についても触れた。
 


講演の最後には、再び芦原氏が登壇し、「Cygamesでは、これからも最高の技術を持って最高のコンテンツを作っていく。もちろんブラウザベースのソーシャルゲームやネイティブアプリも開発していくが、これに留まらずどの分野でも最高のコンテンツが作れるようにしていく」と述べて、講演を締めくくった。

なお、Cygamesでは7月より「Cygames Engineers’ Blog」を開設。前述した物理ベースレンダリングのことも掲載されている。更新情報については、同じく開設されたCygamesのエンジニア公式Twitterで確認しよう。

Cygames Engineers’ Blog
@tech Cygames
 


▲また、同社ではゲームエンジニアを募集中。芦原氏は「やる気がある人や新しい時代を切り開きたい人、歴史に残るゲームを作りたい人、そして何よりも最高のコンテンツを作りたい人、ぜひ一緒にゲームを作っていただければ幸いです」とコメントした。
 
(取材・文:編集部  原孝則)