汚さずにポテチを食べたい。ストラトス」グラフィックス講座(前編)日本の開発スタジオが国産ゲームエンジン「OROCHI」を使って魅せる次世代ジャパニーズゲームグラフィックスバイキング本社6月初旬掲載の本連載にてシリコンスタジオの新ゲームエンジン「OROCHI」を紹介した。ストラトス」であった。360といった今世代機の性能に縛られない表現が多数盛り込まれているため、ある意味、一足早く次世代クラスのゲームグラフィックスを体験できる作品だということができるかもしれない。この作品を技術的視点で見ていくことで、国産ゲームエンジン「OROCHI」のポテンシャルを推し量ることもできるはずだ。ストラトス」は久々のジャパンパワー炸裂のアーケードゲームだといえるんではなかろうか。FPSじゃなくてTPSスタイルとなっているところも日本人フォーカスな作りといえる。対戦ツールとしても魅力的で、この夏盛り上がること間違いなし。「ファイナルファンタジー」シリーズからゲストキャラとか参戦してきたら面白そう。二丁拳銃のキャラはいたよな、確か。ストラトス」のプロジェクトが立ち上がったとされる。本格的な開発が始まったのは2011年になってからで、完成予定及び稼動予定として設定されたのは2012年夏。比較的規模の大きい開発プロジェクトの割には時間的余裕はなかったようだ。尾畑心一朗氏(バイキング、代表取締役)。カプコンで約14年間にわたってアーケードゲームの開発に携わる。2008年に独立系開発スタジオ「バイキング」を設立。今作では開発側のプロジェクトリーダーを務める稲田義信氏(バイキング、プロダクションリーダー、スーパープログラマー)。尾畑氏と同じくカプコンにてキャリアを積み、多数の著名アーケードゲームの開発に携わる。尾畑氏:我々バイキングは、多様なプラットフォームに対してゲーム開発を行なっています。ゆえに、そのプロジェクトごとに最適な開発プロセスを選択するところから始まるわけです。ストラトスのプロジェクトにおいても、エンジンの選定から始めています。シリコンスタジオさんのグラフィックス系のミドルウェアである「YEBIS」、「DAIKOKU」の採用を検討している段階で「OROCHI」の存在を知りました。稲田氏:欧米の著名ゲームエンジンは、そのエンジンが規定する開発スタイル、開発フローに則らなければならないんですが、我々バイキングにとってはこの要件は厳しいものがあるんです。OROCHIには、基本的なフレームワーク上のルールはありますが、それ以外は、我々バイキング流のやり方が持ち込めそうだという点を高く評価しました。本作が、比較的スペックの高いPCアーキテクチャ上での開発となること、ガンコントローラのような特殊なハードウェアを用いること。いった点に配慮しても、OROCHIは融通が利きそうだと感じました。それと何か問題が発生したときに、時差無しで日本語でサポートを受けられる、という点も決め手になったと思います。ストラトス」とOROCHIに関連したセッションも行なわれた。講演の中で語られた技術トピックについては、今回の本連載の前後編でほぼ全網羅できていると思うが、それ以外の部分で講演で強調されていたのは、手厚いサポートの部分だ。OROCHIの場合は、エンジンを提供することがゴール地点ではなく、むしろスタート地点と考えていて、ビジネスモデル的にも、OROCHIのエンジンとしての機能だけでなく、そうした手厚い技術支援部分もまた「最大のウリ」として訴求されている。ストラトス」においては、開発チームがOROCHIをまず評価し、その過程で見えてきた不足機能部分を「要望リスト」の形でOROCHIチーム側へ返している。その後、OROCHIチーム側は、その要望リストを精査して、対応できる部分とできない部分を洗い出して返答。両者納得した形で契約へと進んでいる。ストラトス」においての特殊ケースなのではなく、OROCHIというエンジンのビジネスモデルがこうなっているのだという。最新導入事例」セッションの様子(左)。ストラトス(プロジェクト名:GUNS)におけるOROCHI採用の経緯(右)新井タヒル氏(シリコンスタジオ、リサーチ&デベロプメント部、第1ソフトウェア開発グループ)。ストラトス」は、OROCHIの第一号ライセンシー作品ということ、そして同時にOROCHIが、当初は想定していなかったアーケードゲーム作品ということもあって、バイキングさん、スクウェア・エニックスさんと一緒になってOROCHIを鍛え上げていった、という実感があります。ストラトス」のグラフィックスには当然、これらも活用がなされることとなった。「BISHAMON」と「YEBIS」のそれぞれの機能については共に本連載で詳細に紹介しているので、そちらを参照頂きたい。ストラトス」】フル日本語化されているOROCHIシステムツール群(左)。OROCHIシェーダーツール(右)OROCHIモーションシーケンス編集ツール(左)。OROCHIオブジェクト配置ツール(右)門井信樹氏(スクウェア・エニックス、プロデューサー統括部、プロデューサー)。ストラトス」の映像を彩るド派手なパーティクルエフェクトのほぼ全てが「BISHAMON」によるものです。印象的なグレア、ライトブルームに代表されるHDRレンダリング表現、モーションブラーなどのポストエフェクトは「YEBIS」によって出しています。今作は「実在の街を舞台に、迷惑御免のハチャメチャなガンシューティングバトルを楽しむ」というのをコンセプトにしていたので「実在の街」を表現する以上は、みんなが見慣れている風景なワケですから、フォトリアリズムは重要視していた部分なんです。「フォトリアルなポストエフェクトを提供してくれる『YEBIS』が統合されているゲームエンジン」というのも、「OROCHI」採用の大きなポイントになりましたね。ストラトス」のハードウェアスペック1990年代中盤くらいまではアーケードシステムというと、各ゲームメーカーが自社で専用システム基板を開発していたが、ゲームグラフィックスの主流がリアルタイム3Dグラフィックスに移行してからは、プレイステーション系やドリームキャスト系などの家庭用ゲーム機ベースのものが台頭し、最近では容易にハードウェア構成を変更できるPCベースのシステムが主流になりつつある。ストラトス」も同様に、スクウェア・エニックスのグループ企業タイトーのPCアーキテクチャのシステム基板である「TYPE-X3」を採用している。ストラトス」以外では、低年齢層向けのカードバトル・アーケードゲーム「超速変形ジャイロゼッター」があるくらいだ。TYPE-X3のスペックについては、2011年開催のAMショー2011のタイトーブースにて開示が行なわれており、基本仕様としては以下のように発表されている。32bitなお、TYPE-X3では、ゲームタイトルごとにハードウェア構成の変更が可能であり、オプションパーツとして以下がラインナップされている。560Ti(ビデオメモリ1GB)を選択している。トータルスペックを見ると。それこそ家庭用ゲーム機で言うところの「次世代機」を連想してしまいそうなくらいのハイスペックぶりだ。特記すべきなのがディスプレイ装置で、パナソニック製の60インチサイズのフルHD(1,920×1,080ドット)解像度の業務用プラズマディスプレイを採用していることだ。昨今のアーケードゲームシステムとしても、かなり贅沢な大画面・高解像度スペックが与えられており、プレイされているゲームをギャラリーとしてみているだけでも楽しそうだ。ストラトスでは、スペックを下げた、廉価版の筐体の設定はない。(バイキング、テクニカルプログラマー・ゲームデザイナー)。家庭用ゲーム開発、アーケードゲーム開発の双方に従事し、国内外の最新技術に造詣が深い。鈴木氏:かなりのハイスペックのシステムでしたが、我々開発者は、性能はあればあるだけ使い切ってしまうたちで(笑)、実際、このスペックをほぼ使い切ってしまいましたね。ストラトス」32bitシステムでは、もう、TYPE-X3の高性能の余裕はほとんどありません(笑)。開発最初期には『メモリも4GBなんて使い切れない』なんて嬉しい悲鳴を上げていましたが、今となってはいい思い出です(笑)。9世代SM3.0ベースでのグラフィックスになっている。ストラトス」は32ビットアプリケーションとして構成されている。稲田氏:ほぼ、ハードウェアのスペックを使い切ってはいますが、今後の本作のスペックアップの機会があった時には、そうしたTYPE-X3の残された性能部分を活用していきたいですね。360と比較して遙かに高いため、そのグラフィックススペックは非常に贅沢だ。ある意味、次世代ゲームグラフィックスを一部先取りしているといってもいいかもしれない。レンダリング解像度は1,920×1,080ドットのフルHD相当。アンチエイリアスはとくに適用せず。開発当初は、4xMSAAとポストプロセス型アンチエイリアス手法のFXAAの両方を使用していたが、フルHD出力としたことでそれほどジャギーは目立たないと判断し、パフォーマンスを優先して「なし」となった。フレームレートは60fps(毎秒60コマ)。設計としては可変フレームレートになっており、一部の武器使用時やキャラクターカスタマイズにより派手な追加アクセサリーを身に付けた場合には、厳密な計測上で60fpsを割る場合があるが、プレーヤーにストレスがのしかかることはないように調整されている。入力、更新といったゲームメインはグラフィックスとは切り離された60Hzキープで設計されている。【ゲーム中のワイヤーフレームショットと最終映像】1フレームあたりの総ポリゴン数は300万1フレームあたりの総レンダリングジオメトリ量は可視ポリゴンのみで250万ポリゴンほど。ゲーム世界は、ゲームデザイン上は、一定境界以上はプレーヤーは進めないクローズドワールドになっているが、非常に広く、しかも精密に制作されているため、1シーンの総ポリゴン数は3,000万近いという。確かに今世代の家庭用機の常識を越えたジオメトリ量である。今作では、ダイナミックなシーン破壊がウリとなっているので、大規模な破壊が発生したときには、瞬間的に1フレーム当たり400万ポリゴン以上のレンダリング負荷が発生することもある。いうと、この背景の破壊モデルは破壊前と破壊後をGPU上の頂点バッファに全て持たせている構造となっているため、ビデオメモリの使用量も相当に大きい。ストラトス」は、ゲームセンターに来てもらってプレイしてもらうゲームですから、家庭用ゲーム機では体験できない新鮮で魅力的なものでなくてはならないんです。ハードウェアはディスプレイも含めてかなりよいものを選択していますし、グラフィックスに関しても、家庭用機と比較しても各段に上質なものにしています。ガンコントローラにしても二丁拳銃ですし、しかも二丁拳銃を縦に横に合体させて撃つという、家庭用のモーションコントローラでは実現不可能なギミックを搭載しました。ありえないというよりも実現がかなり難しいと思いますね。Pre-Passをほぼそのまま採用している。左がライティングまでの流れ。Pre-Passレンダリングとは、最近流行のDeferred系レンダリングテクニックの1種だ。Deferred系レンダリングには幾つかの亜流手法があるが、共通しているのは、最初にジオメトリ・レンダリングを行なってしまい、後段での材質表現のピクセルシェーダーを動作させる際に必要な中間パラメータ群を算出してしまう点だ。この出力には、MRT(マルチ・レンダー・ターゲット)と呼ばれる、1回のレンダリングで複数のレンダーターゲットに出力してしまうGPUの特殊機能が利用される。Lighting)の2タイプがよく利用され、このうち「OROCHI」では後者を採択している。Renderingでは、MRTでライティングに必要な最低限の中間パラメータをテクスチャに出力し、このパラメータを用いてライティングだけを先に行なって、材質表現のためのピクセルシェーディングはさらに後段で行なう。Pre-Pass」というわけだ。10世代以降のGPUでは8枚まで)に出力してしまい、後段のレンダリングパスで、高度な材質表現ピクセルシェーダを動作させ、各テクスチャに出力された中間パラメータを用いてシェーディングを実践させる。いずれのDeferred系レンダリングにおいても、GPUの性能が許す範囲で動的光源数を無制限で配置できるという共通した利点があり、これがリッチなライティング効果をもたらしてくれる。Pre-PassによってMRT出力される法線情報と鏡面反射強度情報(スペキュラパワー)にはαRGB各8ビット整数の32ビットバッファを割り当てている。ストラトス」の開発では、基本的にはOROCHI側のグラフィックスエンジンをそのまま使っていますが「建物の裏にキャラクターが回り込んだときに建物を半透明で描く処理系」、「キャラクターのワープエフェクト」、「ゲームフィールドにおける移動可能範囲を示す境界バリアの描画」といった部分は、特殊描画処理系として我々自身で拡張して実装しています。マテリアルのシェーダー設計もOROCHI内のツールを用いてデザインしています。Occlusion(AO)を頂点などに焼き込んでいく手法が使えない。Occlusion(SSAO)の導入がグラフィックスエンジン側に求められた。Illumination:大局照明)系のポストエフェクトだ。新井氏:SSAOはYEBISの機能としても提供されておらず、当初、OROCHIのグラフィックスエンジンにも搭載されていませんでした。ストラトスのプロジェクトからの要望にこの機能をOROCHIのグラフィックスエンジンに統合しています。左はSSAOのみのショット。スポットライト等のシャドウを出力してから行なわれる。右は最終映像からSSAOを取り去ったテストショット最終映像。ストラトス」開発チーム側のリクエストで、YEBIS側に光筋(ゴッドレイ)表現のリクエストがあったそうだが、これも最終的にはYEBIS側の機能拡張の形で対応がなされた。ストラトス」のプロジェクトがきっかけになったと推察される。【YEBISの効果】YEBIS適用なしの映像(左)、色調調整(右)トーンマッピング(露出のシミュレーション)(左)、グレア効果(右)周辺減光(左)、広く右方向に溢れ出ているのが光筋エフェクト(右)。Coverage」への対応などが、OROCHI側のグラフィックスエンジンでの対応がリクエストされ、実際に、OROCHI側で実装が行なわれている。Philosophy」編でも触れたような、人間の髪の毛のような「透過率が低い材質で出来ているが、強度の高い光に対しては独特な反射光や散乱光を返す」素材の表現に適した反射モデルだ。Coverage」(AtC)は、直接的には、ポリゴン(プリミティブ)単位でしかアンチエイリアスが効かないMSAA手法を拡張する機能になる。10で標準機能として採用された経緯がある。AtCを有効化すると、MSAA処理が、ポリゴンに適用されたテクスチャの内容の透明部分と不透明部分の境界にまで配慮されて行なわれるようになる。直接的にはテクスチャの透明と不透明の境界が滑らかに描き出される効果が得られるわけだが、副次的に、透明要素と半透明要素が混在したポリゴン(オブジェクト)が折り重なる際の表現が整然と美しく描き出せる効果が得られるのだ。ストラトス」では、「OROCHI」には標準では組み込まれていないミドルウェアがいくつか利用されている。その1つが「Umbra」で、これは不可視なジオメトリ(ポリゴン)をレンダリング前に排除するオクルージョンカリングを担当するミドルウェアになる。CLOTH」も組み込まれている。こちらは後編で詳しく解説する。CLOTH、UMBRAといったミドルウェアの組み込みも当初の「OROCHI」は想定していませんでしたが、「OROCHI」開発チーム側で、これらのミドルウェアを組み入れて協調動作させるためのカスタマイズを施しました。した一連のノウハウは、後の他社さんのプロジェクトにも応用できるようになっています。ストラトスのプロジェクトを通して「OROCHI」は相当鍛え上げられたといえますね。後編では、影生成、物理シミュレーション、モーション表現などの話題を取り扱う。