後藤弘茂のWeekly海外ニュース

Epic Gamesのトップが次世代ゲームプラットフォームについて語る



●ゲームプラットフォームの未来

 ゲームハードウェアとソフトウェアの将来はどうなるのか。パシフィコ横浜で開催されたゲーム開発カンファレンス「CEDEC」で、Epic GamesのCEOであるTim Sweeney(ティム・スウィーニー)氏がこうしたテーマで講演を行なった。タイトルは「加速する次世代: ティム・スウィーニーが語るゲームの未来」だ。

 興味深いのは、Sweeney氏が2008年にも、CEDECで将来のゲーム機の技術に関する講演を行なっていること。そして、2008年から2012年の間に、Sweeney氏のビジョンに変化が見えること。Sweeney氏のゲームハードウェアビジョンの変化は、そのまま、ハードウェア業界の状況の変化を反映しているように見える。

Epic Gamesの概要Epic GamesのTim Sweeney(ティム・スウィーニー)CEO

 Tim Sweeney氏の率いるEpicは、ゲームエンジンソフトウェアの最大手だ。ゲームの土台となるソフトウェアライブラリであるゲームエンジンの中は、Epicの「Unreal Engine」は多くのゲームタイトルに使われるポピュラーなエンジンだ。現在のゲーム開発の主流はエンジンモデルで、少数のエンジンメーカーがゲームエンジンを開発、多数のゲーム開発者がエンジンのライセンスを受けて、その上に自社のゲームを構築するスタイルとなっている。エンジンモデル利点は開発効率で、開発者にとっては、少ない開発労力で一定水準以上のゲームを開発するための重要な手段となっている。

エンジン開発にかかる期間が長期化

 ゲームエンジンは、ライブラリだけでなく、専用の開発ツールも含めた統合的なプラットフォームになっている場合が多い。クロスハードウェアプラットフォーム対応も多く、ゲームソフトウェアスタックでは、ミドルウェア的な役割も担っている。しかし、ハードウェアの性能を引き出しつつ、ハードウェアの抽象化が求められるエンジンの開発は難しく、時間がかかる。そのため、ゲームエンジン開発にはリードタイムが必要となる。

 CEDECでは、EpicのUnreal Engineの場合に、次世代ゲーム機のスペックを想定して年単位のリードタイムで次世代エンジン開発を先行スタートさせていることを説明した。現在の「Unreal Engine 3」の場合は、2003年に開発をスタートして、最初のゲームが登場したのが2006年。3年のリードタイムで、Xbox 360に間に合わせた。そして、2008年の講演時には、次世代エンジン4の場合は、2008年から開発をスタートして、2013年がターゲットだと説明していた。実際に、Epicはすでに「Unreal Engine 4」自体の開発と平行して、ショーケースとなるUnreal 4ベースのタイトル開発を始めており、ほぼ予定通りのペースで進んでいる。

 こうして見ると、Epicは新しいゲーム機が登場すると、その1~2年後から次世代ゲーム機のためのエンジン開発をスタートさせていることがわかる。エンジン開発に5年かかることは、ハードウェア側の開発とほぼ同時期にスタートさせなければならないことを意味する。ハードウェアベンダー側の構想がまとまり切らないうちにスタートするため、ハードウェア技術トレンドの“読み”が大切となる。

●ハードウェアとプログラミングのビジョンを語るTim Sweeney氏

 Epic GamesのTim Sweeney氏は、およそCEOらしくないCEOだ。経営者然としたところがなく、テッキーなエンジニアの雰囲気をまとったカリスマプログラマーだ。実際に、ミーティングなどでは、ほとんど技術の話しかしない。そして、Sweeney氏が特徴的なのは、常に次の世代のハードウェアとプログラミングについて考え語っている点。現状では、ゲーム業界きってのビジョナリーで、そのために、Epicがゲームエンジンのファーストランナーで居続けることができている。

 Sweeney氏のビジョンが発揮された講演の1つが、2006年の「Symposium on Principles of Programming Languages(POPL 2006)」で行なった「The Next Mainstream Programming Language: A Game Developer's Perspective」というスピーチだ。このカンファレンスは、ゲーム系ではなく、プログラミング言語の学会で、このプレゼンテーションは当時、ゲーム以外の業界でも、かなり話題となった。

 プレゼンテーションを見ると、Sweeney氏はゲームコードを走らせるプラットフォームが超並列化して行くことを予見し、Unrealの場合は80%のCPUユーセージを並列化が可能だと語っている。また、(ソフトウェア)トランザクショナルメモリや、プログラミングには関数型言語(例としてHaskellを挙げていたが、同時にHaskellに好ましくない点もあると説明している)がフィットすることなどを語っている。

 このPOPL 2006での講演などが、Sweeney氏の一連のビジョンの展開のスタート地点だと思われる。2008年のCEDECでは、Sweeney氏はさらに踏み込んで、CPUコアとGPUコアのコアアーキテクチャレベルの融合を語った。CPUコア側で言えば、シンプル化してメニイコア化し、GPU型の新しいベクタユニットを組み込むようになるとったビジョンだ。そして、グラフィックスはフルプログラマブルなユニットで実行されるようになり、専用ハードウェアはなくなり、グラフィックスハードウェアは単にディスプレイコネクタだけになってしまうと言うのがこの時のビジョンだ。

 ここで新しいベクタユニットと呼んでいたのは、ベクタロード/ストアやマスクレジスタによるベクタフローコントロールを備えたベクタだ。また、ここでもSweeney氏は関数型プログラミングが有効であることを語っている。ただし、一般的なプログラマの場合は、C++で書いて、コンパイラが自動的に並列化することが望ましいともコメントしていた。そして、こうしたハードウェアの進化を受けて、グラフィックスはソフトウェアレンダリングへと回帰するというのがこの時のビジョンだった。この時のCEDECでは、他のセッションでも、関数型言語やLLVM (Low Level Virtual Machine)についてのディスカッションがあり、言語が大きな話題となった。

 ちなみに、この時点では、ソニー・コンピュータエンタテインメント(SCE)が、トランザクショナルメモリを備える「Haswell(ハスウェル)」と、新ベクタを備える「Larrabee 3」(Atomコア+16Way SIMD)を採用したPlayStation 4を計画していた。Sweeney氏のスピーチは、そこれを意識していたと推測される。エンジンモデルが主流となった現在のゲーム開発では、ゲーム機はゲームエンジンがないと立ち上がらないため、ゲーム機ベンダー側もEpicにはかなり早い段階から接触していたと推測される。

●どちらかと言えば大人しい今回のSweeney氏

 今回のCEDECでのSweeney氏の講演では、こうした革新的なビジョンの大半は姿を消した。単に隠しただけと見ることもできるが、フォーカスは相対的にもっと地味な部分に移った。講演の中でSweeney氏は、Unreal Engine 4への取り組みについて説明。昨年(2011年)のGDC(Game Developers Conference)で公開した技術リサーチデモ「サマリタン(Samaritan)」について説明した。

技術研究のデモ「サマリタン」

 その上で、今年(2012年)のE3でメディア向けに公開(一部開発者にはGDCで公開)したUnreal Engine 4自体のデモ「エレメンタル(elemental)」について説明をした。エレメンタルで明らかになったUnreal Engine 4の大きな特徴は、リアルタイムのグローバルイルミネーション(Global Illumination:GI)を実現したことや、ここ1~2年に興隆してきたディファードレンダリングになったことなど。

 処理が極めて重いグローバルイルミネーションは、これまではプリコンピュテーションでデータを用意しないと実現できなかったが、それをリアルタイムで実現している。リアルタイムGIは、次世代の据え置きゲーム専用ハードウェアとPCゲームの重要な技術トレンドとして浮上している。E3時にメディアに見せたデモは、NVIDIAのKepler(ケプラ)アーキテクチャのGeForce GTX 680を使っていた。ハードウェアとしては、GeForce GTX 680レベルのパフォーマンスを予見していることになる。

Unreal Engine 4デモ「エレメンタル」

 こうして見ると、今年(2012年)のSweeney氏の講演は、2008年のCEDEC時と比べると、革新性がずっと薄い。実際の次世代ハードウェアが見えてきたら、解答はこうなったのかも知れない。例えば、SCEを見ると次世代へのLarrabee採用は立ち消えとなり、AMDプラットフォームになった。いずれにせよ、Sweeney氏は、もはや次世代プラットフォームについて、以前ほど革新的な予見をしてない。

●ゲームプラットフォームの新しい方向性

 代わって強調されているのが、ゲームを走らせることができるプラットフォームがユビキタス化するというビジョンだ。2008年の講演でも、将来はどのプラットフォームでもゲームを走らせることができるようになるという予見を示していたが、それほど強調されなかった。

 今回は、Sweeney氏は、PCとモバイル、コンソールにまたがってフィーチャセットが収れんして行くと説明した。DirectX 9~11世代グラフィックス、マルチコアCPU、オンライン配信モデルが共通のフィーチャとなり、その上でゲームを走らせることができるようになる。ポイントは、それによって、ゲームは、これまでの長い間のフラグメンテーション状態から、ようやく脱出できるという点だ。PCでは、ネイティブコードと、Webプログラミングモデルのフラグメンテーションも崩れる。

 これは、現在のモバイルハードウェアの状況や、Webプログラミングの状況を見ていると予測できる展開だ。Epic自身も、モバイルではiOSやWebプラウザはFlashと、マルチプラットフォーム展開を進めており、「Unreal Everywhere」を現実化しつつある。

 さらに面白いのは、Sweeney氏が将来性のある革新技術として、Kinectやsiri、AR、GPSによるジオロケーションの利用、クラウドコンピューティング、OnLiveやGaikaiなどのクラウドゲーミング、マイクロトランザクションなどのバーチャル経済型のビジネスモデルなどを挙げたこと。

GPSなどのセンサー、Kinect、クラウドといった技術
AR(拡張現実)を使った技術

 Epic Gamesと言えば、ゴリゴリのハードコアゲームの世界の雄。しかし、そのトップのSweeney氏が、興味を抱いている技術は、現状ではソフトな路線のゲームの世界と親和性が高い。今回は、まだこうした技術については列挙した程度で、具体的なビジョンとして熟成はされていない。しかし、次にSweeney氏が語る時は、こうした領域が、明確なビジョンとして描かれるだろう。