ニュース
カプコンの新世代ゲームエンジン「Panta Rhei」はMantleに対応。AMDのイベントで開発者がその理由と利点を解説
しかもそこでは,カプコンの新世代ゲームエンジン「Panta Rhei」(パンタ レイ)開発チームから,テクニカルディレクターの伊集院 勝氏が登壇。驚くことに,Panta RheiのMantle対応を明らかにしたのだ。
カプコンのゲームエンジン開発チームは,Mantleのどこに,どんなメリットを見出したのか。伊集院氏による発表の概要をまとめてみたい。
ブラックボックス化したDirectXの問題を解決するためにMantle対応を選択
PlayStation 3(以下,PS3)やXbox 360が据置ゲーム機の主流となる時代が到来したとき,欧米のゲームスタジオがゲームエンジンを積極的に活用し,開発の軸としていったのに対し,日本のゲームスタジオはこの流れに乗り遅れるケースが多かった。
その後,日本のゲームスタジオは,海外製を含む他社製ゲームエンジンを利用するスタジオや,ゲームエンジンの自社開発に乗り出すスタジオに分かれたが,ここで重要なのは,カプコンが「ゲームエンジンの重要性」を,いち早く,しかも具体的な形で,日本のゲーム開発シーンへ示したことにある。
さて,そんな先見の明があったカプコンのゲームエンジン開発部隊は,PlayStation 4(以下,PS4)&Xbox One時代の到来に向けて,いち早く新世代エンジンの開発に着手。そして,ソニー・コンピュータエンタテインメントが2013年2月に行ったPS4発表のイベントで発表されたのが,「万物流転」という意味を持つ名のゲームエンジンだったわけだ(関連記事)。
MT Framework時代に入ってからのカプコンは,Windowsプラットフォームでもゲームをリリースすることに力を入れていたが,その流れはPanta Rheiにおいても継承される予定だ。ただ,そんなPC版を開発するときに,「従来的なDirectXベースの開発では,限界や不満を感じる部分が多くなってきた」そうで,伊集院氏はその代表例として,DirectX経由の描画機能呼び出し(Draw Call)時の冗長性を挙げている。
DirectX 11とそれ以前のDirectXでは,APIを経由して各種パラメータを設定してから描画を行うのだが,それからあとの処理系はDirectX側が担当するので,ゲームプログラム側からはブラックボックスになってしまう。そのため,CG業界で「アーティファクト」(artifact)と呼ばれる,開発者の意図と異なる描画結果や予期しない現象が発生しないよう,「Draw Call経由で設定された描画プロセス」を,いちいちチェックする必要がある。
他方で,PS4やXbox Oneのようなゲーム専用のマシンであれば,ゲームプログラム側で各種パラメータを設定でき,描画コマンドの組み立ても“自前”で行える。そのため,ブラックボックス部分がほぼなくなって,「描画プロセスの整合性チェック」も不要になるのだ。
「ゲーム専用機並みの透過性を持ったAPIを,PCゲームでも使いたい」。Panta Rhei開発チームではそのようなモチベーションが高まり,最初の選択肢として,Mantleが候補として浮上したのだと,伊集院氏は振り返っていた。
いま「最初の選択肢」と紹介したことで,ピンときた人もいるだろうが,Mantle対応は,DirectX 12対応を見据えたものとのこと。まずはMantle対応を進め,そこで得たノウハウをDirectX 12対応に生かす計画なのだという。AMDのイベントという場を考慮して,DirectX 12への対応は強調されなかったものの,カプコンとしては当然のことながら,DirectX 12を視野に入れているわけである。
なお,余談気味に続けると,イベント後,伊集院氏に「MT FrameworkをMantleへ対応させる予定はないのか」と聞いてみたところ,返ってきた答えは「直近の予定はないが,将来的には分からない」だった。
Mantle対応のPanta Rheiは何をもたらすのか
イベントにおいて伊集院氏は,Mantleに対応したPantaa Rheiで可能になる表現の事例を,いくつか紹介してくれた。その1つが「相互に干渉するオブジェクト表現の増加」だ。
それがMantleに対応すると,CPUとGPUの双方を効果的に活用できるようになる。そのため,据え置き型ゲーム機と同じような実装が可能になり,現行のDirectXのような“後ろ向きの調整”をしなくて済むようになるという。
なぜ,Mantleだとそれが可能になるのか。それにはいくつかの要因があるが,代表的なものとは,グラフイックス描画とGPGPUの非同期一斉処理が可能になる点が挙げられるだろう。
現行のDirectXでは,APIを通じたグラフィックス描画の実行とGPGPU処理の実行は,どちらかが終わってからしかできない仕組みになっている。そのため,グラフィックス描画とGPGPU処理が走っているとき,どちらか一方の負荷が低い場合,シェーダプロセッサは順番待ちで“遊ぶ”ことになってしまうのだ。
「Graphics Core Next」(以下,GCN)世代のAMD製GPUは,(GPUコアごとに「同時に発動できるGPGPUタスクの数」が異なるものの)描画コマンドとGPGPU処理の発動とを,非同期にどんどん仕掛けられる。そして,GCN世代のGPUが持つこの特性を活かせるMantleであれば,“遊んでいる”シェーダプロセッサに対して,グラフィックス描画処理なりGPGPU処理なりを,どんどん送り込めるようになるのだ。
実のところ,いま述べた「グラフィックス描画処理とGPGPU処理の非同期実行」は,PS4やXbox OneでのGPUプログラミングスタイルでは当たり前のことである。それゆえ,同じようにプログラムできるMantleを使いたかった,というのが開発チームの本音ではないだろうか。
なお,そのほかにも伊集院氏は,Mantle対応Panta Rheiで可能になる事例として,高度な間接照明表現や流体表現,実写のようにフォトリアルなキャラクター表現などを挙げていた。
ドラゴンが吐く炎を例にとした高度な流体表現や間接照明表現の事例 |
“超フォトリアル”とでもいうべきキャラクター表現の事例 |
現在のところ,Panta Rheiベースで開発中として公表されているタイトルは,アクションRPG「deep Down」だけだが,カプコンとしては今後,大作の開発を,主にPanta Rheiベースで行っていくらしい。伊集院氏は「カプコンから登場する今後のタイトルにご期待ください」と述べていたが,果たして何本が,Mantleをサポートすることになるだろうか。
カプコン独自のゲームエンジン「Panta Rhei」と「deep down」の技術的詳細に迫るCEDECセッションレポート
- 関連タイトル:
Mantle
- この記事のURL: