西川善司の3Dゲームファンのための「ガンスリンガー ストラトス」グラフィックス講座(前編)
日本の開発スタジオが国産ゲームエンジン「OROCHI」を使って魅せる次世代ジャパニーズゲームグラフィックス


バイキング本社




 6月初旬掲載の本連載にてシリコンスタジオの新ゲームエンジン「OROCHI」を紹介した。このとき、OROCHIベースで開発されているタイトルとして取り上げたのが、スクウェア・エニックス制作、バイキング開発の「ガンスリンガー ストラトス」であった。

 本作は、アーケードゲームであり、PS3、Xbox 360といった今世代機の性能に縛られない表現が多数盛り込まれているため、ある意味、一足早く次世代クラスのゲームグラフィックスを体験できる作品だということができるかもしれない。また、この作品を技術的視点で見ていくことで、国産ゲームエンジン「OROCHI」のポテンシャルを推し量ることもできるはずだ。今回は「ガンスリンガー ストラトス」のグラフィックスについて前後編でご紹介したい。

【著者近影】
「日本のゲームに元気がない」とか「日本のゲームスタジオは海外市場ばかりを意識し始めている」とか言われている昨今、「ガンスリンガー ストラトス」は久々のジャパンパワー炸裂のアーケードゲームだといえるんではなかろうか。FPSじゃなくてTPSスタイルとなっているところも日本人フォーカスな作りといえる。対戦ツールとしても魅力的で、この夏盛り上がること間違いなし。「ファイナルファンタジー」シリーズからゲストキャラとか参戦してきたら面白そう。二丁拳銃のキャラはいたよな、確か。ブログはこちら



■ シリコンスタジオの国産ゲームエンジン「OROCHI」採用の経緯

 スクウェア・エニックスは、2007年頃より「ロード オブ ヴァーミリオン」シリーズ、「ドラゴンクエスト モンスターバトルロード」といったアーケードゲームをリリースしており、次なるタイトルを検討していた中で、2010年春頃から「ガンスリンガー ストラトス」のプロジェクトが立ち上がったとされる。

 本格的な開発が始まったのは2011年になってからで、完成予定及び稼動予定として設定されたのは2012年夏。比較的規模の大きい開発プロジェクトの割には時間的余裕はなかったようだ。

尾畑心一朗氏(バイキング、代表取締役)。カプコンで約14年間にわたってアーケードゲームの開発に携わる。2008年に独立系開発スタジオ「バイキング」を設立。今作では開発側のプロジェクトリーダーを務める
稲田義信氏(バイキング、プロダクションリーダー、スーパープログラマー)。尾畑氏と同じくカプコンにてキャリアを積み、多数の著名アーケードゲームの開発に携わる。今作ではメインプログラマーを担当

尾畑氏:我々バイキングは、多様なプラットフォームに対してゲーム開発を行なっています。ゆえに、そのプロジェクトごとに最適な開発プロセスを選択するところから始まるわけです。今回のガンスリンガー ストラトスのプロジェクトにおいても、エンジンの選定から始めています。シリコンスタジオさんのグラフィックス系のミドルウェアである「YEBIS」、「DAIKOKU」の採用を検討している段階で「OROCHI」の存在を知りました。

稲田氏:欧米の著名ゲームエンジンは、そのエンジンが規定する開発スタイル、開発フローに則らなければならないんですが、我々バイキングにとってはこの要件は厳しいものがあるんです。OROCHIには、基本的なフレームワーク上のルールはありますが、それ以外は、我々バイキング流のやり方が持ち込めそうだという点を高く評価しました。そして、本作が、比較的スペックの高いPCアーキテクチャ上での開発となること、ガンコントローラのような特殊なハードウェアを用いること。そういった点に配慮しても、OROCHIは融通が利きそうだと感じました。それと何か問題が発生したときに、時差無しで日本語でサポートを受けられる、という点も決め手になったと思います。

 2012年7月4日、ゲーム開発者向けツール&ミドルウェアの総合展示会「Game Tools & Middleware Forum 2012」(GTMF2012)が開催され、「国産ゲームエンジン OROCHI の最新導入事例」と題された「ガンスリンガー ストラトス」とOROCHIに関連したセッションも行なわれた。

 講演の中で語られた技術トピックについては、今回の本連載の前後編でほぼ全網羅できていると思うが、それ以外の部分で講演で強調されていたのは、手厚いサポートの部分だ。OROCHIの場合は、エンジンを提供することがゴール地点ではなく、むしろスタート地点と考えていて、ビジネスモデル的にも、OROCHIのエンジンとしての機能だけでなく、そうした手厚い技術支援部分もまた「最大のウリ」として訴求されている。

 今回の「ガンスリンガー ストラトス」においては、開発チームがOROCHIをまず評価し、その過程で見えてきた不足機能部分を「要望リスト」の形でOROCHIチーム側へ返している。その後、OROCHIチーム側は、その要望リストを精査して、対応できる部分とできない部分を洗い出して返答。両者納得した形で契約へと進んでいる。

 こうしたサポート重視志向の流れは「ガンスリンガー ストラトス」においての特殊ケースなのではなく、OROCHIというエンジンのビジネスモデルがこうなっているのだという。


【GTMF2012「国産ゲームエンジン OROCHI の最新導入事例」】
GTMF2012での「国産ゲームエンジン OROCHI の最新導入事例」セッションの様子(左)。ガンスリンガー ストラトス(プロジェクト名:GUNS)におけるOROCHI採用の経緯(右)
新井タヒル氏(シリコンスタジオ、リサーチ&デベロプメント部、第1ソフトウェア開発グループ)。シリコンスタジオの新世代ゲームエンジン「OROCHI」の開発リーダーを務める

新井タヒル氏:「ガンスリンガー ストラトス」は、OROCHIの第一号ライセンシー作品ということ、そして同時にOROCHIが、当初は想定していなかったアーケードゲーム作品ということもあって、バイキングさん、スクウェア・エニックスさんと一緒になってOROCHIを鍛え上げていった、という実感があります。

 本連載「OROCHI」編でも触れているように、OROCHIには、パーティクルエフェクトミドルウェア「BISHAMON」、ポストエフェクトミドルウェア「YEBIS」が統合されているので、「ガンスリンガー ストラトス」のグラフィックスには当然、これらも活用がなされることとなった。「BISHAMON」「YEBIS」のそれぞれの機能については共に本連載で詳細に紹介しているので、そちらを参照頂きたい。


【OROCHIベースで開発された「ガンスリンガー ストラトス」】
フル日本語化されているOROCHIシステムツール群(左)。OROCHIシェーダーツール(右)
OROCHIモーションシーケンス編集ツール(左)。OROCHIオブジェクト配置ツール(右)
門井信樹氏(スクウェア・エニックス、プロデューサー統括部、プロデューサー)。スクウェア・エニックスのプロデューサーで、「ロード オブ ヴァーミリオン」シリーズなど、アーケードゲームのプロデュースを広く担当する

門井氏:「ガンスリンガー ストラトス」の映像を彩るド派手なパーティクルエフェクトのほぼ全てが「BISHAMON」によるものです。また、印象的なグレア、ライトブルームに代表されるHDRレンダリング表現、モーションブラーなどのポストエフェクトは「YEBIS」によって出しています。

 今作は「実在の街を舞台に、迷惑御免のハチャメチャなガンシューティングバトルを楽しむ」というのをコンセプトにしていたので「実在の街」を表現する以上は、みんなが見慣れている風景なワケですから、フォトリアリズムは重要視していた部分なんです。なので「フォトリアルなポストエフェクトを提供してくれる『YEBIS』が統合されているゲームエンジン」というのも、「OROCHI」採用の大きなポイントになりましたね。


【BISHAMONによるパーティクルエフェクト(動画)】
「ガンスリンガー ストラトス」におけるパーティクルエフェクトはBISHAMONによって実現されている

【BISHAMONの効果】
BISHAMONによるパーティクルエフェクトのみのテストショット(左)と最終映像(右)



■ 「ガンスリンガー ストラトス」のハードウェアスペック

 1990年代中盤くらいまではアーケードシステムというと、各ゲームメーカーが自社で専用システム基板を開発していたが、ゲームグラフィックスの主流がリアルタイム3Dグラフィックスに移行してからは、プレイステーション系やドリームキャスト系などの家庭用ゲーム機ベースのものが台頭し、最近では容易にハードウェア構成を変更できるPCベースのシステムが主流になりつつある。

 「ガンスリンガー ストラトス」も同様に、スクウェア・エニックスのグループ企業タイトーのPCアーキテクチャのシステム基板である「TYPE-X3」を採用している。TYPE-X3は2011年に発表されたばかりの新システムなので、「ガンスリンガー ストラトス」以外では、低年齢層向けのカードバトル・アーケードゲーム「超速変形ジャイロゼッター」があるくらいだ。

 なお、TYPE-X3のスペックについては、2011年開催のAMショー2011のタイトーブースにて開示が行なわれており、基本仕様としては以下のように発表されている。

CPU Intel Core i5 2400
CHIPSET Intel Q67 express
VGA AMD RADEON HD 6770
MEMORY DDR4 2GB
HDD 160GB(2.5インチ)
USB USB3.0×2基+USB2.0×2基
SOUND 7.1ch HD AUDIO
NETWORK 1Gbps×2ポート
SERIAL 1ポート
電源 600W
OS Windows Emebedded Standard 7 64bit/Windows XP Embedded SP3 32bit

 なお、TYPE-X3では、ゲームタイトルごとにハードウェア構成の変更が可能であり、オプションパーツとして以下がラインナップされている。

CPU Intel Core i3/2120、Core i7/2600
MEMORY 最大16GB
VGA NVIDIA GeForce GTX560Ti
HDD 最大3TB
SSD 16GB

 「ガンスリンガー ストラトス」では、TYPE-X3の基本仕様に対し、CPUをCore i5-2400(3.1GHz/4コア/4スレッド)、メインメモリを8GB、グラフィックスカードをNVIDIA GeForce GTX 560Ti(ビデオメモリ1GB)を選択している。トータルスペックを見ると。それこそ家庭用ゲーム機で言うところの「次世代機」を連想してしまいそうなくらいのハイスペックぶりだ。

 さらに特記すべきなのがディスプレイ装置で、パナソニック製の60インチサイズのフルHD(1,920×1,080ドット)解像度の業務用プラズマディスプレイを採用していることだ。昨今のアーケードゲームシステムとしても、かなり贅沢な大画面・高解像度スペックが与えられており、プレイされているゲームをギャラリーとしてみているだけでも楽しそうだ。なお、現状、ガンスリンガー ストラトスでは、スペックを下げた、廉価版の筐体の設定はない。

【ガンスリンガー ストラトスの筐体写真】
鈴木孝司氏(バイキング、テクニカルプログラマー・ゲームデザイナー)。家庭用ゲーム開発、アーケードゲーム開発の双方に従事し、国内外の最新技術に造詣が深い。今作では技術全般のディレクションを担当

鈴木氏:かなりのハイスペックのシステムでしたが、我々開発者は、性能はあればあるだけ使い切ってしまうたちで(笑)、実際、このスペックをほぼ使い切ってしまいましたね。というか、現状の「ガンスリンガー ストラトス」32bitシステムでは、もう、TYPE-X3の高性能の余裕はほとんどありません(笑)。開発最初期には『メモリも4GBなんて使い切れない』なんて嬉しい悲鳴を上げていましたが、今となってはいい思い出です(笑)。

 TYPE-X3のスペックからすれば、DirectX 11世代プログラマブルシェーダー5.0(Shader Model 5.0:SM5.0)のグラフィックス技術を使えるはずだが、「ガンスリンガー ストラトス」では、開発期間が短かく、既存のコンテンツパイプラインを利用することが優先されたため、DirectX 9世代SM3.0ベースでのグラフィックスになっている。

 また、OSはWindows Emebedded Standard 7 64bitを採用しているが、一部のミドルウェアが64ビットに対応していなかったこともあり、「ガンスリンガー ストラトス」は32ビットアプリケーションとして構成されている。

稲田氏:ほぼ、ハードウェアのスペックを使い切ってはいますが、今後の本作のスペックアップの機会があった時には、そうしたTYPE-X3の残された性能部分を活用していきたいですね。





■ 「ガンスリンガー ストラトス」のグラフィックススペック

 「ガンスリンガー ストラトス」のグラフィックスはPS3やXbox 360と同世代のDirectX 9世代SM3.0世代ベースで制作が進められたとはいっても、ハードウェアスペックやパフォーマンス自体はPS3やXbox 360と比較して遙かに高いため、そのグラフィックススペックは非常に贅沢だ。ある意味、次世代ゲームグラフィックスを一部先取りしているといってもいいかもしれない。

 レンダリング解像度は1,920×1,080ドットのフルHD相当。アンチエイリアスはとくに適用せず。開発当初は、4xMSAAとポストプロセス型アンチエイリアス手法のFXAAの両方を使用していたが、フルHD出力としたことでそれほどジャギーは目立たないと判断し、パフォーマンスを優先して「なし」となった。

 フレームレートは60fps(毎秒60コマ)。ただし、設計としては可変フレームレートになっており、一部の武器使用時やキャラクターカスタマイズにより派手な追加アクセサリーを身に付けた場合には、厳密な計測上で60fpsを割る場合があるが、プレーヤーにストレスがのしかかることはないように調整されている。なお、入力、更新といったゲームメインはグラフィックスとは切り離された60Hzキープで設計されている。

【ゲーム中のワイヤーフレームショットと最終映像】
1フレームあたりの総ポリゴン数は300万

 1フレームあたりの総レンダリングジオメトリ量は可視ポリゴンのみで250万ポリゴンほど。ゲーム世界は、ゲームデザイン上は、一定境界以上はプレーヤーは進めないクローズドワールドになっているが、非常に広く、しかも精密に制作されているため、1シーンの総ポリゴン数は3,000万近いという。確かに今世代の家庭用機の常識を越えたジオメトリ量である。

 また、今作では、ダイナミックなシーン破壊がウリとなっているので、大規模な破壊が発生したときには、瞬間的に1フレーム当たり400万ポリゴン以上のレンダリング負荷が発生することもある。さらにいうと、この背景の破壊モデルは破壊前と破壊後をGPU上の頂点バッファに全て持たせている構造となっているため、ビデオメモリの使用量も相当に大きい。

門井氏:「ガンスリンガー ストラトス」は、ゲームセンターに来てもらってプレイしてもらうゲームですから、家庭用ゲーム機では体験できない新鮮で魅力的なものでなくてはならないんです。ですからハードウェアはディスプレイも含めてかなりよいものを選択していますし、グラフィックスに関しても、家庭用機と比較しても各段に上質なものにしています。ガンコントローラにしても二丁拳銃ですし、しかも二丁拳銃を縦に横に合体させて撃つという、家庭用のモーションコントローラでは実現不可能なギミックを搭載しました。「ガンスリンガー ストラトス」の家庭用ですか? ありえないというよりも実現がかなり難しいと思いますね。

【各キャラクターのワイヤーフレームショットと最終映像】
風澄徹
片桐鏡華
羅漢堂旭



■ グラフィックスエンジンはOROCHIが提供するLight Pre-Passレンダリングを利用

 ガンスリンガー ストラトスのグラフィックスレンダリングパイプラインは、「OROCHI」が提供するLight Pre-Passをほぼそのまま採用している。

【OROCHIのグラフィックスエンジンのフロー図】
左がライティングまでの流れ。右が不透明オブジェクトのシェーディングフェーズ、半透明オブジェクト処理、最終合成までの流れ

 Light Pre-Passレンダリングとは、最近流行のDeferred系レンダリングテクニックの1種だ。Deferred系レンダリングには幾つかの亜流手法があるが、共通しているのは、最初にジオメトリ・レンダリングを行なってしまい、後段での材質表現のピクセルシェーダーを動作させる際に必要な中間パラメータ群を算出してしまう点だ。この出力には、MRT(マルチ・レンダー・ターゲット)と呼ばれる、1回のレンダリングで複数のレンダーターゲットに出力してしまうGPUの特殊機能が利用される。Deferred系レンダリングにはDeferred Rendering(Deferred Shading)とLight Pre-Pass Rendering(Deferred Lighting)の2タイプがよく利用され、このうち「OROCHI」では後者を採択している。

 「OROCHI」が採用したLight Pre-Pass Renderingでは、MRTでライティングに必要な最低限の中間パラメータをテクスチャに出力し、このパラメータを用いてライティングだけを先に行なって、材質表現のためのピクセルシェーディングはさらに後段で行なう。ライティングを先行させるから「Light Pre-Pass」というわけだ。

【Light Pre-Passレンダリング】
鏡面反射項(左)、拡散反射項(右)
環境光のみ(左)、点光源(武器発射の閃光)(右)
最終映像

 一方、「KILLZONE 2」などが採用したDeferred Renderingでは、MRTで必要な中間パラメータを一気に複数のテクスチャ(DirectX 9世代GPUでは4枚まで、DirectX 10世代以降のGPUでは8枚まで)に出力してしまい、後段のレンダリングパスで、高度な材質表現ピクセルシェーダを動作させ、各テクスチャに出力された中間パラメータを用いてシェーディングを実践させる。

 いずれのDeferred系レンダリングにおいても、GPUの性能が許す範囲で動的光源数を無制限で配置できるという共通した利点があり、これがリッチなライティング効果をもたらしてくれる。

 「ガンスリンガー ストラトス」では、基本的に、リアルHDR(High Dynamic Range)レンダリングパイプラインを採用しており、レンダーターゲットにはαRGB各16ビット浮動小数点(FP16)の64ビットバッファを採用するが、Light Pre-PassによってMRT出力される法線情報と鏡面反射強度情報(スペキュラパワー)にはαRGB各8ビット整数の32ビットバッファを割り当てている。

 鈴木氏:「ガンスリンガー ストラトス」の開発では、基本的にはOROCHI側のグラフィックスエンジンをそのまま使っていますが「建物の裏にキャラクターが回り込んだときに建物を半透明で描く処理系」、「キャラクターのワープエフェクト」、「ゲームフィールドにおける移動可能範囲を示す境界バリアの描画」といった部分は、特殊描画処理系として我々自身で拡張して実装しています。マテリアルのシェーダー設計もOROCHI内のツールを用いてデザインしています。


【ガンスリンガー ストラトス開発チーム側で独自実装したグラフィックス表現】
ワープエフェクト(左)、バリアエフェクト(キャラが近付くと表示)(右)

 「ガンスリンガー ストラトス」では、ダイナミックに背景を破壊していくので、環境光がもたらす陰影、いわゆるAmbient Occlusion(AO)を頂点などに焼き込んでいく手法が使えない。そこで、動的なAOの付加のためにScreen Space Ambient Occlusion(SSAO)の導入がグラフィックスエンジン側に求められた。

 SSAOについては本連載の「inFAMOUS 2」編に詳しいが、簡単に解説すると、SSAOとはレンダリング結果のデプス(深度)バッファを探査し、窪んでいると判断できる箇所(に対応するレンダリング結果)に"陰"色を付けていく疑似GI(Global Illumination:大局照明)系のポストエフェクトだ。

新井氏:SSAOはYEBISの機能としても提供されておらず、当初、OROCHIのグラフィックスエンジンにも搭載されていませんでした。しかし、ガンスリンガー ストラトスのプロジェクトからの要望にこの機能をOROCHIのグラフィックスエンジンに統合しています。

【Screen Space Ambient Occlusion】
左はSSAOのみのショット。「ガンスリンガー ストラトスでは、SSAOの出力は、平行光源、点光源、スポットライト等のシャドウを出力してから行なわれる。右は最終映像からSSAOを取り去ったテストショット
最終映像。SSAOは環境光による陰影を疑似的にもたらす

 SSAO以外に、「ガンスリンガー ストラトス」開発チーム側のリクエストで、YEBIS側に光筋(ゴッドレイ)表現のリクエストがあったそうだが、これも最終的にはYEBIS側の機能拡張の形で対応がなされた。シリコンスタジオより6月初旬に発表された「YEBIS2」には、この光筋表現機能は標準搭載されているが、この搭載は「ガンスリンガー ストラトス」のプロジェクトがきっかけになったと推察される。


【光筋表現(動画)】
光筋表現が印象的なプレイ動画
【YEBISの効果】
YEBIS適用なしの映像(左)、色調調整(右)
トーンマッピング(露出のシミュレーション)(左)、グレア効果(右)
周辺減光(左)、広く右方向に溢れ出ているのが光筋エフェクト(右)。こちらが最終映像

 また、キャラクター表現に特化した機能として、髪の毛の陰影処理のための「異方性反射」表現、および「Alpha to Coverage」への対応などが、OROCHI側のグラフィックスエンジンでの対応がリクエストされ、実際に、OROCHI側で実装が行なわれている。

 「異方性反射」は、本連載の「Agni's Philosophy」編でも触れたような、人間の髪の毛のような「透過率が低い材質で出来ているが、強度の高い光に対しては独特な反射光や散乱光を返す」素材の表現に適した反射モデルだ。

 「Alpha to Coverage」(AtC)は、直接的には、ポリゴン(プリミティブ)単位でしかアンチエイリアスが効かないMSAA手法を拡張する機能になる。AtCは実際にはGPU側の機能で実現されるもので、DirectX 9世代ではGPUごとの特殊機能として提供されていたが、DirectX 10で標準機能として採用された経緯がある。

 AtCを有効化すると、MSAA処理が、ポリゴンに適用されたテクスチャの内容の透明部分と不透明部分の境界にまで配慮されて行なわれるようになる。直接的にはテクスチャの透明と不透明の境界が滑らかに描き出される効果が得られるわけだが、副次的に、透明要素と半透明要素が混在したポリゴン(オブジェクト)が折り重なる際の表現が整然と美しく描き出せる効果が得られるのだ。ガンスリンガー ストラトスでは、これが帯状のポリゴンを多層に植えた髪の毛の表現において威力を発揮したようだ。

【異方性反射】
髪の毛の材質表現に有効な異方性反射
【Alpha to Coverage】
左がAlpha to Coverage OFF、右がAlpha to Coverage ON。折り重なった部分の美しさの違いに着目

 「ガンスリンガー ストラトス」では、「OROCHI」には標準では組み込まれていないミドルウェアがいくつか利用されている。その1つが「Umbra」で、これは不可視なジオメトリ(ポリゴン)をレンダリング前に排除するオクルージョンカリングを担当するミドルウェアになる。これに加え、物理シミュレーション関連のミドルウェアとして「HAVOK DESTRUCTION」、「HAVOK CLOTH」も組み込まれている。こちらは後編で詳しく解説する。

新井氏:HAVOK DESTRUCTION、HAVOK CLOTH、UMBRAといったミドルウェアの組み込みも当初の「OROCHI」は想定していませんでしたが、「OROCHI」開発チーム側で、これらのミドルウェアを組み入れて協調動作させるためのカスタマイズを施しました。こうした一連のノウハウは、後の他社さんのプロジェクトにも応用できるようになっています。ガンスリンガー ストラトスのプロジェクトを通して「OROCHI」は相当鍛え上げられたといえますね。

 後編では、影生成、物理シミュレーション、モーション表現などの話題を取り扱う。

(C)2012 SQUARE ENIX CO., LTD. All Rights Reserved.

(2012年 8月 2日)

[Reported by トライゼット西川善司]