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

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

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

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

LINEで4Gamerアカウントを登録
[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2013/03/30 01:00

ニュース

[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南

GTC 2013で披露されたSHIELDの実機。GDC 2013でも複数台が出展されていた
画像集#002のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
 NVIDIAが開発中の携帯ゲーム機型Android端末,「Project SHIELD」(開発コードネーム,以下 SHIELD)。先週開かれた「GPU Technology Conference 2013」では,SHIELDの実機が(イベント参加者なら)誰でも触れる状態で公開されたが(関連記事),ここ「Game Developer Conference 2013」(以下,GDC 2013)でも,複数の実機が出展されて,自由に遊べるようになっていた。

 そんな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対応アプリ作成のポイントが紹介された。

画像集#003のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
Andrew Edelsten氏(Manager, Tegra Deveroper Technologies, NVIDIA)
画像集#004のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
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」に匹敵すると熱弁した。もちろん,プロセッサとメモリを性能を計測するベンチマーク一発ですべてを語るわけにはいかないのだが,基本性能にかなりの自信を持っていることはうかがえる。

画像集#005のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
Tegra 4/1.9GHz搭載のリファレンスシステムと,Ultrabookや他社のモバイル向けSoC搭載システムとを比較したベンチマークテスト結果。Tegra 4の性能はCore i5-3317Uに匹敵し,Sandy Bridge世代の「Core i5-2467M/1.6GHz」や他社製SoCなどを圧倒するとしている


SHIELD用ゲームでタッチパネルのサポートは不要!?


 というわけで本題。Edelsen氏の話で興味深かったのは,SHIELD向けにアプリを開発するにあたっての,SHIELD固有の注意点だ。

SHIELD向けアプリでは,タッチスクリーンのサポートは必要ないという
画像集#006のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
 まず,SHIELDのディスプレイについてEdelsen氏は,「SHIELD(向けアプリ)では,タッチスクリーンのサポートは必須ではない。ゲームはコントローラで操作できるように作ればいい。PCのようなマウスクリックのサポートも不要だ」と言い切る。
 ただ,そのとおりにアプリを作ると,Androidアプリの基本的なルールである「タッチスクリーンのサポートは必須」から,大きく外れてしまう。これは衝撃的な発言だ。

画像集#007のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
「Controller is King」と書かれたスライドでは,SHIELD向けアプリのコントローラ操作やUI設計についてのポイントが列挙された
 さらに,「SHIELDでは画面上に,仮想スティックのような細々したガジェットを置く必要はない。その分だけ画面が広く使えるので,優れたユーザー体験が可能になる」とEdelsen氏は主張する。ゲームパッド部が標準搭載されているのだから,タブレットやスマートフォン向けの操作系は不要,というわけである。

 ユーザーインタフェースに関しても,タッチスクリーンをサポートしなくていい代わりに,「メニューが選択されたら色を反転させるなど,ユーザーが理解しやすい仕組みを作る」とか,「[戻る]ボタンは使わず,画面上に「Exit」という選択肢を用意しよう」といった,具体的なアイデアが出された。

 しかし,ここまでSHIELD向けに作ると,そのアプリは,完全に「Androidアプリの基本」から逸脱した,SHIELD専用アプリになってしまう。NVIDIAはSHIELDを,「ピュアなAndroid機」であると主張しているが,Edelsen氏の話を聞く限り,ゲームパッド付きの汎用Android端末ではなく,SHIELD専用アプリの動くゲーム機として扱ってほしいというのがNVIDIAの本音なのだろう。

 なお,氏からはそのほかにも,ゲームパッド部の面白い機能についても説明があった。いわく,「SHIELDには,ボタンの割り当てを変えたり,ボタン操作をオーバーレイしたりする機能がある」とのことだ。
 たとえば,画面をスワイプするだけで,「[A]ボタンを押し,続けて[X]ボタンを押す」といった操作を再現するような,一種のマクロ的な機能も用意されているそうだ。実用性はともかくとして,ゲーム機本体が,アプリを問わないマクロ機能を持っているわけで,これはとても珍しい。

SHIELD向けのアプリを作るなら,Tegra Android Development Kitがお勧めとのこと。将来的にはSHIELD向けのサンプルプログラムなども含まれるはずだ
画像集#008のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
 なおEdelsen氏によれば,SHIELD向けアプリの開発には,NVIDIAが提供している「Tegra Android Development Kit」を使うのがお勧めとのことだ。Androidの開発環境を整えるのは意外に面倒だが,Tegra Android Development Kitには,SHIELD向けアプリの開発に必要なもの一式が揃っており,まとめてインストールされる仕組みになっているとアピールしていた。
 実のところ,筆者も以前に使ったことがあるのだが,なかなか便利で感心した覚えがある。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の拡張機能についても説明した。具体的な拡張機能は下に示したスライドのとおりだ。

「ゲーム機並みのグラフィックス」を実現するために用意された,Tegra 4のOpenGL拡張機能
画像集#009のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南

 上のスライドにある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やゲーム機で一般的なソフトシャドウの表現も可能になったそうだ。

PCFを使ったソフトシャドウのサンプル画像。右がTegra 4のもので,とくに影の品位が上がっていることが分かる
画像集#010のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南

 さらに,Tegra 4では16bit半精度浮動小数点(Half Float)のカラーバッファやテクスチャがサポートされるほか,「sRGB」(standard RGB)形式の色空間をサポートすることにより,「HDR」(High Dynamic Range)表現も可能になると,Hodgson氏はサンプルを示しながら解説した。とくにTegra 4によるHDR表現は,「驚くべき品質であり,光の表現なども大きく変わってくる」(同氏)とのことだ。

Tegra 4によるHDR表現のサンプル(写真の左半分がHDR使用時)
画像集#011のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南


Tegra 4 GPUの特徴とは?


 機能面の強化に加えて,Tegra 4のGPUコアは性能向上も大きな特徴となっている。

Tegra 4に統合されるGPUコアのブロック図。DirectX 9世代に相当するパイプラインで,おおまかに頂点シェーダとラスタライザ,ピクセルシェーダの3ステージで構成される
画像集#012のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南

頂点シェーダはプリミティブあたり60サイクルのスループットを備える
画像集#013のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南
 まず頂点シェーダ(Vertex Shader)は,「プリミティブ(≒ポリゴン)あたり60サイクルのスループットを持つ」とHodgson氏。頂点キャッシュも備えており,コンスタントに高い性能を発揮できるのが特徴とのことだ。続くラスタライザは,「1クロックあたり8フラグメント」という性能値が示されている。

 Tegra 4で「フラグメントシェーダ」(Fragment Shader)と呼ばれるピクセルシェーダ(Pixel Shader)は,「VLIW」(Very Large Instruction Word)方式を採用する。VLIWは,複数の命令をひとまとめにして,1サイクルで処理するのが大きな特徴。GPUの世界では,Radeon HD 6000世代までのAMD製GPUが採用していたことでも知られている。

Tegra 4 のフラグメントシェーダ。スライド左にある命令の組み合わせ,たとえば4個のMAD(関和)命令や,2個のDP(内積)と1個の加算(A)+MFU(マルチファンクションユニットによる超越演算)といった組み合わせを,1サイクルで処理できる
画像集#014のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南

 そのほかにも,「Tegra 4では『lowp precision』が使えることも特徴である」と,Hodgson氏は強調していた。氏はlowp precisionの説明をとくに行わなかったので,16bit精度の浮動小数点を指しているのではないか,と推測するほかないのだが,ともあれ「lowp precisionはテクスチャサンプラにとって,最適な入力形式である」とのことだ。

 謳い文句はともかく,肝心の性能はどうなのだろう? Tegra 4とTegra 3のGPU性能を比較した結果が,下のスライドで,それによれば,頂点シェーダやフラグメントシェーダの演算性能は,Tegra 3比で8倍程度まで向上しているという。

Tegra 4とTegra 3のGPU性能をざっくりと比較したスライド。
画像集#015のサムネイル/[GDC 2013]タッチパネルは対応しなくていい? Androidの掟破りが連発された「Project SHIELD」向けゲーム開発指南


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:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月26日〜12月27日