イベント
NVIDIAのAndroidゲームデベロッパ支援は第2段階へ〜揃ってきた「開発時の勘所」情報と開発ツール類
ただ,ほかのプラットフォームからAndroidプラットフォームへゲームを移植する場合には,アプリケーションレベルでのメモリや電力の管理が重要になる。Android OSはモバイルデバイスに最適化されており,メモリや電力の動的な制御をより積極的に行うことで,消費電力をできる限り削減しようという設計になっているためだ。
Android 3.0(Honeycomb)におけるアプリケーションの動作サイクル。理解しやすくなるよう,本文の箇条書きでは表記を若干変えている |
アプリケーションの起動における内部の動き |
- アクティブ:メインタスクとして動かす
- ポーズ:動作をいったん停止する
- レジューム:動作を復帰させる
- ストップ:動作を停止する
- キル:完全に動作を終了し,占有していたメモリを明け渡す
など,一連の動作サイクルが存在する。ゲームアプリケーションでも,これら一連の動作サイクルを正しく理解し,ポーズ状態になったらレンダリングデータやゲームデータを一時保存してメモリをムダに使わないようにしたり,すばやくゲームに復帰できるようにしたりすることが重要になるのだ。
ホームボタンが押されたときの動作。アプリケーションは動作を停止し,メモリの利用を最小限に抑える。ただ,アプリケーションは終了していない |
こちらはメモリが不足したときの動作。アプリケーションは即座に停止し,メモリを解放するようになっている |
同社のPaul A. Hodgson氏は,「CPUやGPU,パネルの解像度に色数までもが異なるAndroid端末間の違いを吸収するためには,EGLインタフェースを利用し,OpenGL ES 2.0へ最適化することが重要だ」と述べている。
また氏は,最適化にあたって,NVIDIA製のツール「PerfHUD ES」の利用を勧める。本ツールは,TegraベースのAndroid端末を無線LANかUSBでPCと接続すると,アプリケーションの動作をリアルタイムでモニタリングできるようにするものだ。PerfHUD ESを使えば,シェーダの利用効率を最適化してグラフィックス品質と消費電力のバランスの“落としどころ”を探ったりできるという。
CPUやGPUのどちらでグラフィックスを行ったほうが効率的かを分析できるパフォーマンスツールも提供中であるなど,Tegra対応デバイスに向けた開発環境が充実していることも氏はアピールしている。
NVIDIAはTegraプラットフォームに向けた最適化ツールとしてPerfHUD ESを提供。本ツールではメモリやCPUの利用状況,あるいはグラフィックス処理におけるボトルネックの確認などが行えるようになっている | |
続・PerfHUD ESのメリット。シェーダの利用効率を高め,性能を向上させたり,省電力化を推進したりすることもできる |
テクスチャ圧縮の標準が存在しないOpenGL ES環境では,テクスチャ処理の最適化も重要なポイントになるというスライド |
CPUとGPUのどちらで処理うべきか分析できるツールも提供している。頂点処理をCPUに分散することで,パフォーマンスの向上が図れるという |
Android端末が切り開く「新しいゲームのあり方」
NVIDIA Tegra Game Devcon 2011では,Androidプラットフォーム向けのゲーム環境に関し,NVIDIA以外の企業による講演もあった。
同社は,Androidなどのモバイル端末でAR技術を利用するためのソフトウェア開発キット「Unifeye SDK Mobile」や,ARブラウザ「junaio」をリリースしているが,AR技術の研究開発を担当するBen Blachnitzky氏いわく,「Unifeye SDK Mobileでは,“Quake IIファイルフォーマット”として知られるMD2形式の3Dレンダリングデータに対応しており,ハイスペックのスマートフォンなら,1フレームあたり1万5000ポリゴンの3Dデータを実行でき,現実世界をゲームプレイの場にできる」とのことだ。「1万5000ポリゴン/フレームだから,タブレットの解像度なら敵キャラクターにして6体くらいだろう」(Blachnitzky氏)。
また,次期Unifeye SDK Modleでは,顔認識や顔のトラッキング,さらなる高品位な3Dレンダリングをサポートする予定だそうで,「顔の認識やトラッキング技術をゲームに応用した場合,プレイヤーがどの角度から画面を覗いているかと,マップビューの角度を連動できるようになるため,より自然なコントロールが可能になる」(同氏)そうである。
Unifeye Mobile SDKのAPI |
ARブラウザとしてはjunaioを提供する |
次期Unifeye Mobile SDKでは,顔認識や顔トラッキング,より高品位な3Dレンダリングをサポートする計画という |
AR技術を使えば,街をまるごとゲームプレイの場として利用できるなど,ゲームの世界が変わるとBlachnitzky氏 |
拡張現実ゲームの例1
AR技術を使った拡張現実ゲーム「The adidas Neighborhood」。スポーツ関連製品メーカーであるadidasの販促用(?)で,靴をコントローラ代わりにガンシューティングを行える
拡張現実ゲームの例2
Nokiaの携帯電話向けに開発された,AR対応ゾンビシューティング「Zombie ShootAR」。すでにAndroidへの移植も完了しているとのことで,現実世界をゲームプレイの場にする一例として紹介された。「Tegraを搭載するAndroid環境では,もっとさくさく動く」とのことだ
Tegraを用いたGPUコンピューティング環境の整備も進んでいる。AccelerEyesという企業は,モバイル端末にGPGPU環境を実現するC/C++ライブラリ「Jacket Mobile NDK(libJacket)」を開発し,現在,βテスターを募集中だ。
AccelerEyesは,GPGPU機能をモバイル端末のカメラ入力と組み合わせることで,ナチュラルモーションインタフェースの実装が可能になるとしており,CUDAに対応していないTegra 2プラットフォームでCUDAの一部機能を利用可能にするライブラリも用意している(※NVIDIAのKeith Galacy氏は,将来のTegraでCUDA対応を果たす計画があると明言している)。
また,3D立体視に対応するカメラを搭載したスマートフォン「Optimus 3D」やタブレット「Optimus Pad」を発表済みのLG Electronicsは,「複数のゲームデベロッパから,3D立体視対応カメラをユーザーインタフェースとして組み込んだゲームタイトルの開発表明を受けている」と述べていた。プロセッサレベルでの3D立体視対応を果たす次期Tegra「Kal-El」(カルエル,開発コードネーム)に向けて,弾みがつきそうな気配もある。
……NVIDIAは,「Tegraに対応したゲームタイトルの数を,2011年中に100以上とする」目標に向け,ゲームデベロッパの支援活動を強化していると言われる。その足がかりとなっていたのは,PCやゲームコンソール向けタイトルの移植と,クロスプラットフォーム環境におけるマルチプレイに関するサポートだった。
だが,すでに多くのデベロッパがAndroidプラットフォームへの参入を果たした現在にあっては,Tegraの強みを活かしたゲームタイトルやユーザーインタフェースの実現こそが,市場で優位性を確立する足がかりと考えているのだろう。開発環境や,パートナー企業の動向を見るからに,NVIDIAのAndroid関連ゲームデベロッパ支援活動は,第2フェーズへ移行した印象だ。
- 関連タイトル:
Tegra
- この記事のURL: