ニュース
[GDC 2011]解像度もサイズも性能も異なるAndroid端末でアプリの互換性を保つ「7つのルール」
これまでも例年,行われてきたものの,話題の中心はコンシューマゲームだった。それに対し,今年はとくにGoogleの動きが際立っている。初日の「Google Day」に続き,2日めとなる北米時間2011年3月2日も「Android Day」と銘打たれており,終日,Android関連のセッションが行われていたのだ。
昨年あたりから躍進ぶりが目立つAndroidについては,ゲーム開発者の注目度も高いのか,朝早くから長蛇の列ができ,会場は席に隙間のないくらいびっしりと来場者が詰め込まれていた。
今回はそのなかから,Android Dayの最初に行われたセッション「Building Aggressively Compatible Android Games」(Android用のゲームで積極的に互換性を確保する方法)の内容を取りあげてみたい。
Android用ゲームで互換性を確保するため
アプリ開発者が守るべき7つのルール
iPhoneとAndroid端末は似て非なる存在であり,iPhoneは機種数が絞り込まれ,仕様もさほど異ならないのに対し,Androidでは,採用する各社がそれぞれ異なる仕様の端末を数多く出しているのが大きな特徴だ。
そんなAndroid端末ではあるが,「より積極的に互換性をとっていくためには,7つのルールを守る必要がある」というのが,Pruett氏のセッションにおけるポイントだ。以下,順にまとめてみよう。
1.さまざまな大きさの解像度に対応すべし
AndroidのUIには,解像度を自動的に変更する機能が備わっているが,ここで,端末ごとにある解像度の違いを吸収するには,「OpenGL ESのViewPort()関数が勝利のカギ」であると,Pruett氏は主張する。ただし,画面アスペクト比の違いによって表示範囲が変わることがあるので,それは別途注意する必要があるとも氏は付け加えていた。
2.入力装置の多様性にも対応すべし
ここでは,「Control Setup」でキーの構成やバーチャルゲームパッド,トラックボールなどを設定できるようにしておく方法が,多くの局面で有効だと,Pruett氏はいう。
3.テクスチャのフォーマットに気をつけるべし
「ETC2はさらによいフォーマットだが,現時点ではサポートされていないので,いまはETC1を使うべきだ」(同氏)とのことである。
4.画面の向きに気をつけるべし
縦横の違いや逆向きなどへの対応については,「とにかくローテーションフラグを確認すべき」とPruett氏。これに関しては。NVIDIAの作った関数がとても便利なものとして紹介されていた。5.さまざまな機種でテストすべし
とはいえ,全部の端末をテストするのは無理なのも確か。Googleでは,G-1などといった最初の世代のほか,「Nexus One」や「Droid」「XOOM」など,最近登場した特徴的な機種を中心にテストを行っているという。
6.最新版のSDKを使い,最も古い機種用にコンパイルすべし
最新のSDK(Software Development Kit,ソフトウェア開発キット)でも,古いバージョンをターゲットにすることはできるので,コンパイル時に指定する最小の要求スペックは,それこそAndroid 1.5など,できるだけ古いものにしておくのがポイントだと,Pruett氏は指摘する。Javaのリフレクション(※実行時にサポートしている機能などを調べるもの)で処理を分けるなどの対応がよいらしい。
7.素材は高解像度で用意しておくべし
7つと言いつつも,Pruett氏はこのほか,「ファイルサイズは小さく」「SDカードにアプリを置くことを想定しよう」「メモリ効率に気をつけよう」「新機能を使う前に市場の大きさを考慮しよう」といった注意もしていた。互換性に気を配ることで,作ったゲームの市場ががらりと変わったりもするので,ビジネスとしてゲームを作るうえでは非常に重要なセッションだったといえるだろう。
ちなみにこのセッションだが,終わった後,来場者へのプレゼントとして,「Nexus S」かXOOM,どちらかが配られるという太っ腹ぶりでも注目を集めた。Googleさん儲かってるんだなあ。
- この記事のURL: