将来のリアルタイムレンダリング

2009年12月23日水曜日

日記

t f B! P L

Unreal Engine 3で作られたRainbow Six: Vegasの画像。実はここで紹介したゲームの幾つかも同エンジンだったりする。ラストレムナントとかミラーズ・エッジとか他多数)

現在最も成功しているゲームエンジンはUnreal Engine 3なんだけど、だからこれを使ったゲームがとても多い。
その生みの親がTim Sweeneyという人ですが、この人が過去に次世代のゲームについて語った記事がある。

- Unreal Engineの生みの親Tim Sweeney氏が語る2012年から2020年にかけてのゲーム開発環境とは

将来的には,コア数がたくさんになることが既定路線となっているのは周知のとおり。
それとともに,プログラマの生産性を上げることが重要だと説く。Epic GamesのCEOでもあるので経営的な視点を含むのも当然ではあるが,作らなければならないものが2倍になっても開発費は倍になったりしないから,生産性を上げていくことが必須であるとする。ゲームの世代が進むごとに,作業量は指数関数的に増大するものの,投入できる人員や予算は,せいぜい線形にしか増えていかない。

「マルチスレッドのプログラムを書くには,普通のプログラムの2倍のコストがかかる」というのは,Sweenwy氏がよく語っていることだが,PLAYSTATION 3のCellだと5倍,GPUだと10倍のコストがかかるとしている。つまり,マルチスレッドのプログラムをいかに簡単にするかが,今後のゲーム開発での重要な問題ということになる。先に挙げたPOPL 2006での講演もそのあたりの問題意識に根差したものといえるだろう。

これから先のグラフィックスについて語る前に,2008年現在の状況を氏は簡単にまとめた。曰く,

大きなフレームバッファ
複雑なパイプライン
ほとんど固定機能

といったあたりがご不満のようだ。
シェーダは,もともとグラフィックス処理を連続的に行うことを目的として作られており,ランダムアクセスを苦手としている。汎用的なプログラムを書くには,これが障害となっているようだ。
また,GPUがプログラマブルであるのは確かだが,それをあえて「固定機能」的と呼んでいた。シェーダ自体はともかく,パイプラインがきっちり決まっているので固定機能のようなことしかできず,結果としてどのゲームを見ても同じようにしか見えないという。また,こういった固定機能だと,仮にシェーダが20倍の性能になったとしても,見た目的には2倍も綺麗になったりはしないものだと氏は語る。まあ,同じようなゲームに見えるのはゲームエンジンの責任って気はしなくもないのだが。
さらに,MSAAの品質にも不満があるようだ。実際,SSAAと比べると,アンチエイリアスされてない部分が明らかに残るので,手抜き処理ではやはり限界はあるということか。
こうしたことを踏まえて,将来的には,ソフトウェアレンダリングのほうがよいのではないかというのが,氏の意見である。

固定機能ではそろそろ表現に限界が見えているようで、よりフォトリアリスティックを目指すとしたら、今のラスタライズ系のでは限界があって、リアルタイム・レイトレーシングなどに向かわないとならない。
実際、ハードウェア方面も徐々にこちら側に対応するように変化してきているし、NVIDIAなどのグラフィック関係の会社は既にエンジンを作っている。
今後10年もこの業界はもの凄く技術的に変化して行きそうな気がします。
そういえば昔の3Dゲームはソフトウェアレンダリングがあって、昔のゲームタイトルだとグラフィックの設定項目でそれを選ぶことができたなあ。
当時はDirectXは主流じゃなくて、OpenGLとかソフトウェアレンダリングとか、後は3dfx社のGlideとかがメインだった。
私も過去にはVooDoo使っていたので、Glideにはお世話になりましたよ。

- Tom Clancy's Rainbow Six® Vegas (Steam)
- The Last Remnant™ (Steam)
- Mirror's Edge (Wikipedia)

このブログを検索

人気の投稿

ツイート

QooQ