ニュース

【GDC 2014】「Killzone: Shadow Fall」は次世代技術のショウケース!

PS4ローンチタイトルに使われたグラフィックス技術、そして知恵と工夫に注目

3月17日~3月21日開催(現地時間)

会場:San Francisco Moscone Convention Center

 GDC 2014の注目といえばやっぱり次世代機がらみのポストモーテムセッション。特にPS4のローンチタイトルとなったFPS「Killzone: Shadow Fall」では関連セッションが3つも開催され、次世代ゲーム開発についての知見が幅広く共有されていた。

 その中でも作中で使われた技術要素について包括的なトークが行なわれたのが、“Taking Killzone Shadow Fall Image Quality into the Next Generation”というセッションだ。講演者はGuerrilla Gamesのリード技術者Michal Valient氏。2011年に始まったプロトタイプの制作から、2013年末のローンチまでに、作中にどのような技術を実装してきたかが事細かに解説され、実装テクニックについても詳しく触れられた。

 ローンチの瞬間からPS4の性能を最大限に引き出した「Killzone: Shadow Fall」。次世代ゲーム技術のショウケースともいうべき本作はまた、ユニークな知恵と工夫によって快適なゲーム性を実現しているタイトルでもある。その中身を見ていこう。

【Killzone Shadow Fall - Launch Trailer | PS4】

開発期間2年半。詳細不明のハードで前作を遥かに超えるゲームを開発せよ

Guerrilla GamesのMichal Valient氏
前作の10倍~100倍にもなるゲームワールドの規模
すべての光源をエリアライトとして実装
マップ上に配置されたライトプローブ。基本は自動生成による
パーティクルライティングの効果

 「Killzone: Shadow Fall」の開発が始まったのは2011年の4月。PS4の性能を最大限に生かす映像クオリティを実現しつつ、ローンチタイトルとして限られた期間での開発が宿命付けられた。ところが、開発が始まった当初はPS4の性能が明確ではなかったため、開発を続けながら実装可能なフィーチャーを見極めていくという難しい問題もつきまとっていたという。

 デスマーチも覚悟の開発が始まった。開発開始から1年後にPCベースの内部評価用デモが完成。これをもとに技術要素を固めていき、2013年2月のPS4発表に向けて実機上での急ピッチの開発が進められた。ここから2013年11月の発売まで、総開発期間は2年半あまり。

 開発の困難をさらに増していたのが、前作以前に比べてはるかに向上したコンテンツの情報量だ。マップの広さは前作「Killzone 3」に比べて10~100倍。最大のマップは8kmもの長さだ。モデルの頂点数およびテクスチャーの詳細度はPS3時代に比べておよそ4倍。1キャラクターで4万ポリゴンに達し、テクスチャーはマテリアルあたり6~12枚も使用、という基本スペックになっている。

 これを実機上で動作させるために設計されたのが、Guerrilla内製エンジンのバージョン4だ。ライティング、シェーディング、リフレクション、エフェクトといった映像表現全般に次世代機向けの技術が実装され、本作ならではのグラフィックス品質が実現した。その技術要素はどれも近年の次世代ゲーム開発における技術トレンドをキャッチアップ、PS4向けにさらに洗練されたものとなっている。

 描画システムには物理ベースのレンダリングを採用し、アーティストによるフレキシブルな調整とフォトリアリズムを両立。全ての光源はボリュームを持つエリアライトとして実装された。大局照明(GI)には当初ライトマップを使用するつもりであったが、最終的にはライトプローブを用いるイメージ・ベースド・ライティング(IBL)を採用。オブジェクト破壊などダイナミックに変化するステージを質感豊かに照明している。

 GPGPUを用いたレイマーチングによるボリュームライティングや、同じくGPGPUによるレイトレースを用いたリアルタイムの反射表現も実装し、厚みのある映像を実現。ただ、これらはとても計算負荷が高いため、本作では前フレームの結果を再利用し、変化の起きた部分だけを再描画する“Reprojection”と呼ばれる独自のテクニックを多用することで高いパフォーマンスを確保している。

 この「前のフレームを再利用する」というアイディアは非常に応用性が高い。例えばリアルタイムの反射表現は1/4画素数で処理されているのだが、1フレームごとに異なる画素を処理し、過去3フレームの結果を合成することでフルHD解像度の映像品質を再現した。反射イメージはたいていの場合、反射面の粗さを反映して少しぼやけた画質となるため、1/4解像度の描画結果を時間軸上で組み合わせても、エッジがブレるなどの違和感が目立つことは少ないのだ。

マップ/キャラクターの3Dモデルスペックが大幅に向上
GIのためのライトプローブは、まずマップ全体の表面をボクセル分割して配置。黄色い点はライトプローブ境界での急激な色変化を防ぐため、アーティストが配置した補完用ライトプローブ
ボリュームライトは3次元の拡散バッファによる光拡散表現にも対応
過去フレームの再利用でパフォーマンスアップ。合成方法に一工夫入れることで品質も犠牲にしない
キューブマッププローブによるによる静的な反射表現と、スクリーンスペースのレイトレース法によるリアルタイムの局所反射表現を併用

映像品質を下げずに60fpsマルチプレイを実現せよ

シングルプレイは30fps、マルチプレイではfpsを倍増して良好なレスポンスを確保
過去フレームを再利用して1080p映像を作り出す
スライドだとわかりづらいが、マルチプレイとシングルプレイは十分に同等の品質に見える

 同様のアイディアが、マルチプレイモードの快適性にも大きく貢献しているのが面白いところだ。本作ではシングルプレイで30fps、マルチプレイで60fpsという、異なるフレームレートターゲットが設定されているのだが、いずれも解像度は1080pを確保。しかしマルチプレイ時のフレームレートを確保するために映像品質を落とすことはしたくなかったというValient氏。ではどうしたか。

 それが、前フレームの再利用による“Temporal 1080p”というテクニックだ。30fpsから60fpsへ、倍のスピードアップが必要。ならば半分の解像度でレンダリングすればいい。しかしフルHDのイメージ品質は確保したい。そこで、1フレームごとに偶数ピクセル、奇数ピクセルと描画する位置を変えつつ、各フレームを960×1080でレンダリング。出力の際、前フレームのイメージを合成することで1080p品質を再現しているというわけだ。

 ただし、単に合成するだけでは動きによってはエッジ部分に破綻が起きる場合があるため、実際には現在のフレームと以前のフレームで比較を行ない、色域が近く、動きに連続性があるなど「安全なケース」でのみピクセルの再利用を行なっているようだ。これにより出力イメージはまるで最初から1080pであったかのように安定した品質となる。

 このような、単に技術力というよりは発想の勝利を感じさせるテクニックも使うことで、「Killzone: Shadow Fall」は従来にない高品質な映像と快適なゲームプレイという2つの柱を両立させた。次世代ゲームはかくあるべしという範を示せたことでも、本作はPS4ローンチタイトルとしての使命を果たしたように思える。

地面に張り付く弾痕や汚れ、雨といった表現はGバッファのユーザーチャンネル1枚を汎用的に使って表現している
アンチエイリアスにも“Reprojection”のアイディアを利用。過去16フレーム分のフレームバッファを使いエッジを補間
Amazonで購入

(佐藤カフジ)