ニュース
[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
そんなGDC 2013の4日めとなる北米時間2013年3月28日,NVIDIAは,SHIELD関連のセッション,「NVIDIA Project SHIELD: Redifining AFK」(NVIDIA Project SHIELD:AFKを再定義する)を持った。
読者の多くには説明不要だろうが,講演タイトルにある「AFK」は,「Away from Keyboard」(離席中)の略語だ。ただNVIDIAは,本来の「離席中」という意味ではなく,「キーボードから離れて,ストリーミングでPCゲームをプレイできる」という意味でSHIELDにおけるAFKという言葉を定義しようとしており,実際,頻繁に使っている。そのため今回もタイトルになっているというわけだ。
ただ,実のところ本セッションで,ストリーミング周りの話にはほとんど触れられなかった。今回のテーマは,SHIELD向けアプリケーションの開発についてである。
「Tegra 4の性能はIvy Bridge世代のCore i5に匹敵」
講演を担当したのはNVIDIAのAndrew Edelsten(アンドリュー・エデルセン)氏とPaul Hodgson(ポール・ホジソン)氏だ。まずはEdelsen氏から,Tegra 4やSHIELDの概要と,SHIELD対応アプリ作成のポイントが紹介された。
Andrew Edelsten氏(Manager, Tegra Deveroper Technologies, NVIDIA) |
Paul Hodgson氏(Manager, Tegra Deveroper Technologies, NVIDIA) |
Tegra 4やSHIELDの概要は2013 International CESにおけるNVIDIA主催カンファレンスのレポート記事を参照してもらうとして,ここではEdelsen氏が示した,Tegra 4や,ARMアーキテクチャを採用する他社製SoC(System-on-a-Chip)と,IntelのUltrabook向けCoreプロセッサの性能とを,クロスプラットフォーム対応のベンチマークソフト「Geekbench 2」を用いて比較したというグラフを取り上げよう。
Edelsen氏はこのグラフを示して,1.9GHzで動作するTegra 4の性能が,Ivy Bridgeベースの2コア4スレッドモデル「Core i5-3317U/1.7GHz」に匹敵すると熱弁した。もちろん,プロセッサとメモリを性能を計測するベンチマーク一発ですべてを語るわけにはいかないのだが,基本性能にかなりの自信を持っていることはうかがえる。
Tegra 4/1.9GHz搭載のリファレンスシステムと,Ultrabookや他社のモバイル向けSoC搭載システムとを比較したベンチマークテスト結果。Tegra 4の性能はCore i5-3317Uに匹敵し,Sandy Bridge世代の「Core i5-2467M/1.6GHz」や他社製SoCなどを圧倒するとしている |
SHIELD用ゲームでタッチパネルのサポートは不要!?
というわけで本題。Edelsen氏の話で興味深かったのは,SHIELD向けにアプリを開発するにあたっての,SHIELD固有の注意点だ。
ただ,そのとおりにアプリを作ると,Androidアプリの基本的なルールである「タッチスクリーンのサポートは必須」から,大きく外れてしまう。これは衝撃的な発言だ。
「Controller is King」と書かれたスライドでは,SHIELD向けアプリのコントローラ操作やUI設計についてのポイントが列挙された |
ユーザーインタフェースに関しても,タッチスクリーンをサポートしなくていい代わりに,「メニューが選択されたら色を反転させるなど,ユーザーが理解しやすい仕組みを作る」とか,「[戻る]ボタンは使わず,画面上に「Exit」という選択肢を用意しよう」といった,具体的なアイデアが出された。
しかし,ここまでSHIELD向けに作ると,そのアプリは,完全に「Androidアプリの基本」から逸脱した,SHIELD専用アプリになってしまう。NVIDIAはSHIELDを,「ピュアなAndroid機」であると主張しているが,Edelsen氏の話を聞く限り,ゲームパッド付きの汎用Android端末ではなく,SHIELD専用アプリの動くゲーム機として扱ってほしいというのがNVIDIAの本音なのだろう。
なお,氏からはそのほかにも,ゲームパッド部の面白い機能についても説明があった。いわく,「SHIELDには,ボタンの割り当てを変えたり,ボタン操作をオーバーレイしたりする機能がある」とのことだ。
たとえば,画面をスワイプするだけで,「[A]ボタンを押し,続けて[X]ボタンを押す」といった操作を再現するような,一種のマクロ的な機能も用意されているそうだ。実用性はともかくとして,ゲーム機本体が,アプリを問わないマクロ機能を持っているわけで,これはとても珍しい。
実のところ,筆者も以前に使ったことがあるのだが,なかなか便利で感心した覚えがある。TegraやSHIELDだけでなく,汎用的なAndroidアプリ開発にも役立つツールなので,興味のある人は一度NVIDIAのデベロッパプログラム公式ページを開いてみるといいだろう。
Tegraデベロッパプログラム公式ページ
Tegra 4のOpenGLには多数の拡張が入る
Edelsen氏による開発環境の概要に続いて,Hodgson氏が,Tegra 4のGPUで使えるOpenGLのさまざまな機能について,かなり突っ込んだ解説を行った。
Hodgson氏が繰り返し強調していたのは,「Tegra 4なら,最新のゲーム機と同レベルか,それ以上のグラフィックスを実現できる」という点だ。ここでいう「ゲーム機」とは,PlayStation 3(以下,PS3)やXbox 360のこと。Tegra 4は,PS3やXbox 360世代相当かそれ以上の機能を持っていると,Hodgson氏は言っているわけである。
Hodgson氏は,高品質なグラフィックスを実現するための,OpenGLの拡張機能についても説明した。具体的な拡張機能は下に示したスライドのとおりだ。
上のスライドにあるAPIの一覧は,接頭辞によって下記のように区別される。
- OES:組み込み向けの「OpenGL ES」で定義している拡張機能
- EXT:OpenGLで定義している拡張機能
- NV:NVIDIAが定義している拡張機能
なぜこんなことになっているかというと,OpenGL系の場合,ベンダーごとに機能を拡張できるほか,何をサポートするかについても,ベンダー側の裁量が認められているからだ。現実問題として,このあたりはアプリ開発におけるOpenGLの少々面倒なところで,「ある拡張に対応したGPUなら綺麗なグラフィックスが実現できるのに,その拡張に対応しないGPUでは動かない」といったことが,往々にして起こりうる。
閑話休題。スライドで示された拡張について簡単に説明しよう。まず「OES_depth24」は,レンダーバッファの深度として24bitを使う拡張だ。Hodgson氏が言うには,「Tegra 3は16bitだった」とのことである。また「EXT_shadow_samples」により,カスケードシャドウマップ(Cascaded Shadow Maps)が使えるようになった。
そのほかに,ハードウェアで「PCF」(Percentage Closer Filtering,4点近傍比率フィルタリング)がサポートされ,PCやゲーム機で一般的なソフトシャドウの表現も可能になったそうだ。
さらに,Tegra 4では16bit半精度浮動小数点(Half Float)のカラーバッファやテクスチャがサポートされるほか,「sRGB」(standard RGB)形式の色空間をサポートすることにより,「HDR」(High Dynamic Range)表現も可能になると,Hodgson氏はサンプルを示しながら解説した。とくにTegra 4によるHDR表現は,「驚くべき品質であり,光の表現なども大きく変わってくる」(同氏)とのことだ。
Tegra 4 GPUの特徴とは?
機能面の強化に加えて,Tegra 4のGPUコアは性能向上も大きな特徴となっている。
Tegra 4で「フラグメントシェーダ」(Fragment Shader)と呼ばれるピクセルシェーダ(Pixel Shader)は,「VLIW」(Very Large Instruction Word)方式を採用する。VLIWは,複数の命令をひとまとめにして,1サイクルで処理するのが大きな特徴。GPUの世界では,Radeon HD 6000世代までのAMD製GPUが採用していたことでも知られている。
そのほかにも,「Tegra 4では『lowp precision』が使えることも特徴である」と,Hodgson氏は強調していた。氏はlowp precisionの説明をとくに行わなかったので,16bit精度の浮動小数点を指しているのではないか,と推測するほかないのだが,ともあれ「lowp precisionはテクスチャサンプラにとって,最適な入力形式である」とのことだ。
謳い文句はともかく,肝心の性能はどうなのだろう? Tegra 4とTegra 3のGPU性能を比較した結果が,下のスライドで,それによれば,頂点シェーダやフラグメントシェーダの演算性能は,Tegra 3比で8倍程度まで向上しているという。
Android端末でありながら,専用アプリが必須
デベロッパの取り込みは成功するのか?
以上のように,Tegra 4は機能・性能ともに向上していると見て間違いはなさそうだ。しかし,そのポテンシャルを発揮したゲームを開発するには,おそらく,Tegra 4独自の拡張機能を駆使した,Tegra 4に特化した作り込みが必要になる。
また,NVIDIAではSHIELD向けアプリに対して,Androidの作法を逸脱したユーザーインタフェースへの対応を推奨している。つまり,SHIELDの魅力を引き出すグラフィックスやユーザーインタフェースを持ったアプリというのは,Android用に作られてはいるが,事実上SHIELD専用のアプリとならざるを得ないだろう。
「ピュアなAndroid機」を謳いつつも,専用アプリが増えなければ魅力を発揮しきれないSHIELD。いかにしてSHIELDにデベロッパを取り込むのか。NVIDIAの正念場はこれからだ。
Project SHIELD公式Webページ(英語)
Game Developer Conference公式サイト
- 関連タイトル:
SHIELD
- この記事のURL: