お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2010/09/02 00:00

イベント

[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ

今給黎 隆氏(バンダイナムコゲームス 第1スタジオ 技術サウンドディビジョン 技術部 技術開発課 ソフトウェアテクノロジスト)
画像集#002のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ
 CEDEC 2010の2日めとなる2010年9月1日には,日本のゲーム業界における重要人物の一人,バンダイナムコゲームスの今給黎 隆(いまぎれ たかし)氏によるセッションが開催された。

 題は,「メニーコア対応ゲームエンジン」。似たような題名のセッションは,初日にもインテルの菅原清文氏が行っているが,あちらがCPUや開発ツールベンダーからの提案とすれば,こちらはゲーム開発現場からの提案ということになるだろうか。
 ゲームプログラマーとして名高い氏がマルチコアをどう活かそうとしているのか,セッションの内容をお届けしたい。


「ハードウェアはメニーコア化する。

その流れに(エンジンを)合わせたほうがいい」


 さて,今給黎氏は「日本のゲーム開発は海外に後れを取っている。『CEDECよりGDCのほうが進んでいるよね』などと言われるようになって久しい」と切り出した。その状況を踏まえたうえで,「欧米にどうやって勝つかを考えていくのが正しい方向だ」(同氏)。

 では,そのために何をすべきなのか? 氏は「(ゲームの)新しい流れを作っていかなければならない。どうせならハードウェアが進む方向に流れを合わせたほうがいい。そこでマルチコアに対して新しい流れを作り出そう,というのが今回の講演のテーマだ」と説明する。

どうやって海外に勝つのか。ハードウェアが進んでいる方向に合わせた新しいゲームを考えるべきというのが今給黎氏の主張だ
画像集#003のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ

画像集#004のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ
今給黎氏が予想する10年後のプロセッサ。このスライドで示される「汎用コア」はいわゆるCPUコア,「特殊コア」はGPU(もしくはGPGPU)コアのようなものを指すと考えてほしい。「Cell」におけるPPEとSPE,という理解でもおそらく大丈夫だ
画像集#005のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ
PCプラットフォームでは,すでに数百という数を超えて「特殊コア」を搭載している。今給黎氏は個人的に利用しているという「ATI Radeon HD 5870」の例を挙げながらGPUの事情にも触れていた
 ハードウェアが進む方向がマルチコアにあるというのは,インテル菅原氏のセッションでも説明された内容だ。簡単にいえば,昔のようにプロセッサの動作クロックを向上させることが難しくなったため,代わりにコアの数を増やすことで性能を引き上げる方向へ進んでいる,というわけである。
 「18〜24か月ごとにトランジスタの集積度が2倍になる」という半導体業界の法則,通称「ムーアの法則」が今後も生き続ける場合,「10年後には64(基)の汎用コアと,512(基)の特殊コアといった構成になる可能性がある」と,今給黎氏は半ば冗談としながらも推測を述べる。そんなメニーコアプロセッサを使いこなすゲームというものがどんなものになるのか,大いに興味を引かれるところではあるのだが,そもそもの話として,ゲームをメニーコアシステムで有効に動作させる方法が見つからなければ,その時代を迎えたときにどうしようもない。

 インテルの菅原氏は,メニーコアへの対応をコンパイラが支援するという例を紹介していた(関連記事)。菅原氏のセッションに参加していたという今給黎氏も,「コンパイラが自動的にやってくれるのが理想」と述べていたが,しかし「新しいゲーム専用機のローンチタイトルを作るときには,だいたいコンパイラがバグっていたりする(笑)」。開発環境が整っていないのが常態化しているため,自力で実装せざるを得ないケースが多いという現実があるわけだ。

 そこで今給黎氏は,マルチコアシステムに向けたゲームエンジン側の実装について,いくつかのテクニックを紹介する。プログラマーでないと理解できない部分もあるため,本稿では簡単にかいつまむに留めるが,ある処理をより細かな処理に分ける古典的なプログラム作法――これを「分割統治法」というのだが――を使って処理を分割しスレッドに割り当てるとき,複数のスレッドを管理する技法や,スレッドに分けた処理がすべて完了したことを判定する技法といった,実戦的なものが中心に解説されていた。

分割統治法を用いて処理を細かく分け,プロセッサに割り当てていく。コンパイラに任せられるようになってきている部分もあるが,新世代ゲーム機の立ち上げ時には開発環境が整っていないことが多く,結局は自分達でやるしかないと今給黎氏
画像集#006のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ

 面白いのは,処理をどこまで細かくするかという,「粒度」に関する今給黎氏の考えだ。インテル菅原氏は初日のセッションで「自然な粒度に分けないとオーバーヘッドが大きくなる」と説明していたのだが,今給黎氏はこれに異を唱え,「コア数によって適切な粒度は変わってくる。『自然な粒度』なんてものはない」と断言。「将来的には非常に細かい単位で分けていくことになるのではないか」という見通しを示していた。

「将来的にはとにかく粒度を細かくしていくことになるだろう」と氏は予測する
画像集#007のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ

 粒度を細かくすると処理のオーバーヘッドが出やすくなり,オーバーヘッドが顕在化してくると,その対策が難しくなると予想されるため,どの程度の粒度が望ましいかはなかなか難しいところだ。例えば,粒度とバス負荷は関連することが多く,粒度を細かくし過ぎると,バス側の負担が増え,総合性能が低下する可能性が高くなる。

外部バスの速度は2005年頃を境に伸びが鈍化しつつあるというスライド。バスへの負担はボトルネックになりやすく,「メモリを使わない演算を行う必要が出てくる」(今給黎氏)
画像集#008のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ
 実際,今給黎氏もバスについては触れていた。
 下に示したスライドは,二次元格子状のバスでプロセッサ間が接続されているような例。このとき,細分化された処理が相互に情報のやり取りを行うなら,情報のやり取りを行うプロセッサ同士が最短距離で接続されるように処理を割り当てていけば効率が上がるはずだ。
 今給黎氏はツリーを二次元格子にフィットさせるケースで説明していたが,粒度を細かくすると効率的なフィッティングは難しくなり,バスに大きな負担を生じさせる可能性が高まってくるだろう。

プロセッサ間が2次元格子状のバスで接続された例。このような「バスに対して分割した処理」をフィッティングする場合,「バスの最短経路」について考慮する必要が出てくるかもしれないと今給黎氏は指摘する
画像集#009のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ

 話を戻すと,粒度はバスの事情なども考慮して大きさを決めていく必要があるわけで,確かに「自然な粒度」を決定するのはなかなか難しい。現実的には,こうした部分をミドルウェアなりコンパイラなりに任せてしまうのが効率的だったりするのだが,今給黎氏が指摘するように,新世代ゲーム機の立ち上げ時にはコンパイラやミドルウェアに頼ることができない場合も多い。それゆえ,プログラマーが頭を悩ますことになるのだろう。


「AIで制御される3300万体のキャラクター」

が登場するメニーコアゲームなら欧米に勝てる!?


 では,「欧米に勝てる,メニーコアに合ったゲーム」とは何だろう?
 今給黎氏はその可能性の1つとして,表情認識をゲームに応用するアイデアを提示していた。顔認識なら現在も行われている例はあるが,表情まで認識できるようになるとゲームに新しい可能性をもたらすかもしれない。
 さらに「多くのキャラクターを別々のAIで動かすゲームはメニーコア向きだろう」と今給黎氏は指摘する。多くのキャラクターや建物を使って,巨大都市を構築するといったこともメニーコアで可能になるかもしれないというのだ。

AIで制御される多数のキャラクターやディテールを造り込んだ巨大都市はメニーコアに向いていると今給黎氏
画像集#010のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ

 多くのキャラクターが画面を埋めるようなゲームならもうあるんじゃ……と思った人もいるだろうが,今給黎氏が考える「多数」という概念は半端ではない。その数3300万だ。1キャラクターあたり32bytes分のパラメータ(ステータス)を持つとすると,トータルで1GBのデータ量になるという計算である。「非常にマッシブなデータになる。ここまでやればゲームが変わってくるのではないか」(同氏)。

画像集#011のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ
32bytesのステータスを各キャラクタが持つとして,それを3300万体作ると1GBのデータ量になる。ここまでやればゲームが変わってくるかも?
画像集#012のサムネイル/[CEDEC 2010]「ハードがメニーコア化するなら,それに合わせるべき」。重鎮・今給黎 隆氏が説く「メニーコア対応ゲームエンジン」のススメ
ただ出すだけでは面白くないので,キャラクターを階層化する。すると新たな展開が見てくるはずと今給黎氏は説く

 3300万体ものキャラクターが画面に出てくると,1体1体は塵芥(ちりあくた)と変わらなくなる。「そこで,描画には流体シミュレーションや統計力学といった物理シミュレーションのテクニックを応用してみては」と今給黎氏は提案していたが,そこまで来ると,AIと物理シミュレーションとの関わりがちょっとイメージしづらい。氏はデモを準備していたが間に合わなかったそうで,その点は残念だった。


 説明を一通り聞いただけだと,どんな可能性があるのかイメージしづらいが,CPUの概念が変わるだろう将来,ゲームの常識を一変させるようなものが登場する可能性は確かにある。「新たなハードウェアが新たなゲーム体験をもたらす」ことが,今後も続いていくことを期待したい。
  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月01日〜11月02日