イベント
「Android Bazaar and Conference 2011 Summer」開催,ソーシャルメディア各社のAndroidへの取り組みは?
Unity3Dの採用が広がるスマートフォン向けゲーム
昨年の段階では,スマートフォンの大半を占めていたのはiPhoneだが,今回の各社のセッションでは,AndroidとiPhoneの比率について「ほぼ1対1」,あるいは「今年10月にはAndroidが逆転するだろう」といった発言が出ていた。Androidユーザーの急増を背景に,各社ともAndroidへの取り組みを加速させており,今回のイベントでも代表的なソーシャルメディア各社がAndroidに関するセッションを開催していた。
開発寄りの話が多いことからセッションの詳細は割愛するが,各社とも取り組み方には独自の部分もあるので,以降では各社ごとの取り組みのポイントをまとめつつ紹介していくことにしよう。
ミクシィ サービス本部プラットフォームサービス開発部開発グループマネージャ田中洋一郎氏 |
mixiのAPIやSDKに関する取り組み。APIを外部に公開して3年が経過し,さまざまなプラットフォームに対応するSDKもリリースされている |
国内の大手SNS,ミクシィはソーシャルゲームの分野でも「サンシャイン牧場」というタイトルで先鞭をつけたソーシャルメディアだ。Androidへの取り組みを解説したのは,同社の田中洋一郎氏である。
ミクシィがAPIを外部に公開してから3年,現在では充実したAPI群を擁するSNSに成長している。スマートフォン向けSDKとしては,昨年の9月にiPhone/iPad向けのmixiアプリ for Touchを,そして今年5月にはmixi API SDK for Androidをリリースしている。
APIの整備を始めてから時間が経過していることもあり,多数のAPIを擁するミクシィだが,今後はOAuth 2.0の上に構築された”mixi Graph API”を中心に推していくことを考えているという。
OAuthというのは,認証と権限の管理をサーバーとやりとりするプロトコルだ。サーバー上のリソース……例えば日記とか写真などを利用するのに,いちいちログオン作業や許可をアプリ作成者が与えるのは煩わしいもの。OAuthを用いるとログオンと許可を一元化することができ,ユーザーの利便性が向上する。
mixi API SDK for Androidを作成するにあたって工夫したのは,OAuthに使う認証用の秘密鍵の扱いだという。「Androidアプリはリバースエンジニアリングがしやすい。そのため,できるだけアプリにAPIにアクセスするための秘密鍵を持たせたくない」(田中氏)。秘密鍵がリバースエンジニアリングで抜かれてしまうと詐称が可能になり,重大な問題を引き起こすわけで,そのあたりをどうするかがポイントだったそうだ。
Androidではアプリにパッケージ署名が与えられる。mixi公式Androidアプリに与えられる署名のハッシュ値をミクシィのサーバーに登録してもらい,パッケージ署名のハッシュをやり取りすることで,アプリに秘密鍵を持たせることなく身元検証を行う方法を開発したそうだ。
ちなみに,現状ではRESTfulなmixi APIのレスポンスはJSONの生データが返される仕様であり,JSONのパースは自分で行う必要があるそうだが,そのあたりを容易にするラッパーを田中氏自らオープンソースで開発しているそうだ。githubにプロジェクトがあるので,興味がある人は開発に協力してほしいと呼びかけていた。mixiのSDKは誰でも利用が可能なので,興味がある読者はプロジェクトのページを覗いてみるとよいだろう。
SNSやソーシャルゲームを展開するグリーからは,GREE Android SDKに加え,Unity Plugin for GREE SDKが紹介された。セッションを担当したのは同社の佐藤大介氏である。
GREE Android SDKの特徴は,ユーザーインタフェースコンポーネントが提供されているという点だ。「単なるAPIではなくフレームワークに進化させている」(佐藤氏)というように,SDKには,SNSブラウザ機能や,Activityクラスを拡張したAppActivityが提供されているという。
また,「スクリーンショットを撮ってつぶやくことができる」のも大きな利点だという。Androidでは,セキュリティ上の理由から,スクリーンショットを得るのが容易ではない。GREE Android SDKではActivity(一言で説明するのは難しいのだが,ざっくり“画面”と考えていただきたい)を拡張したAppActivityを画面用に使用するので「関数一つ呼ぶだけで,スクリーンショットが撮れる」(佐藤氏)そうで,プレイヤーがゲーム中に画面を撮ってSNSに載せるといったことが簡単にできるのも大きな利点と語っていた。
佐藤氏はUnity3Dについて「従来のスクリプト言語を使ってiOS/Androidの両方で動作するアプリが作成できる」ことが大きなメリットだと述べる。また,価格も高くはなく,400ドルでiOS/Androidそれぞれに対応した開発環境を揃えることができるのもメリットだそうだ。
そんなUnity3Dに対応する,「Unity Plugin for GREE SDK」を開発したという。すでに同社の「CosmoLightning」というタイトルで利用されているそうで,開発負担を軽減させるためにもUnity3Dや,その他のミドルウェアに対応していきたいと佐藤氏は語っていた。
ディー・エヌ・エーからは,同社独自のゲームエンジンngCoreを利用したソーシャルゲーム開発の事例が紹介された。担当したのは岸 弘倫氏だ。
ngCoreはJavaScriptでゲームコードを記述できる「ソーシャルアプリの開発に適したゲームエンジン」(岸氏)だ。「現在は2Dベースで,スプライトエンジンなどが実装されている」という。
ゲームエンジンngCoreの特徴。なんといってもJavaScriptでゲームコードが書けるというのが最大の特徴だろう |
ngCoreで開発されたタイトル。岸氏は「アクアコレクション」というゲームの開発を担当したとのこと |
JavaScriptを利用するため,とっつきやすく開発工期が短期で済むのがngCoreの利点で,アクアコレクションはスタートから約5か月で公開するというスピード開発が可能になったそうだ。
JavaScriptというと速度が遅そうな気もするが,岸氏は「端末の進歩もあり,そこそこ速くなっている」とのこと。ご存じの読者もいるかもしれないが,JavaScriptはSmallTalkというオブジェクト指向の元祖の言語に倣っている部分があるなど,強力なオブジェクト指向の機能を持っており,そういった言語仕様もメリットになると岸氏は述べていた。
また,今後の展開としてサーバー側で動作する「ngServer」の開発を進めていることを明らかにした。現状ではサーバー側プログラムにはPerlを使っているそうだが,学習コストの面からもJavaScriptで記述できるようにしたいとのこと。JavaScriptは「過渡期的な技術のような気もする」と語りつつも,現状では学習コストが低いこと,デバッグのしやすさといった点から,当面は推していくつもりのようだ。
サイバーエージェント 技術部門執行役員アメーバ事業本部ゼネラルマネージャ 長瀬慶重氏 |
iPhone対Androidのアクセス数の推移。Androidが急伸しており,Amebaでも近々,同数になると長瀬氏は予測する |
サイバーエージェントではスマートフォン向けAPIも提供の予定 |
Amebaブログなどを擁するサイバーエージェントは,いまのところスマートフォン向けSDKなどをリリースしていないが,現状での取り組みや今後の予定といったところを長瀬慶重氏が説明していた。
利用者の女性比率が高いというAmebaだが,アクセスに占めるAndroid端末の比率は急上昇しており「(今年の)9月には半々,保守的に見ても10〜12月に半々になるだろう」と予測する。サイバーエージェントがリリースしているAndroidアプリは現在のところ8本あり,今後もAndroidの開発に力を入れていきたい」と長瀬氏は語っていた。
サイバーエージェントが抱える開発者からも,スマートフォン開発に転身させている例があるそうだ。「10〜15名ほどをスマフォ開発者に転身させた。もともとサイバーエージェントではサーバー側はオールJavaで開発していたので,AndroidのJavaに違和感はなかった」そうである。
そんなサイバーエージェントでも,とくに注目しているミドルウェアとしてUnity3Dを挙げる。野菜を育成するカジュアルゲーム「くるくる☆ベジタブル」というタイトルをUnity3Dベースで開発したそうだが「開発期間は1か月でプロトタイプを作成,2か月で仕上げた」といい,パフォーマンスに関しても「フレームレートは50くらい出ている」そうで,Unity3Dはすごいと長瀬氏は語る。
長瀬氏は,ユーザーインタフェースの作成や日本語対応,2Dゲームの開発が面倒などとUnity3Dの問題点も指摘していたが,社内でも多くの開発者がUnity3Dに取り組んでいるそうである。
また,2Dゲーム向けにはCOCOS2Dというミドルウェアにも注目しているとのことで,とくに同社が抱える豊富なFlash開発者がCOCOS2Dの採用を進めているそうである。
サイバーエージェントが内製した「くるくる☆ベジタブル」というゲームにUnity3Dを採用,わずか3か月で開発できたという |
2DにはCOCOS2Dの採用も進めているとのこと。iPhoneでスタートしたエンジンだが,クロスプラットフォームのCOCOS2D-xもリリースされている |
「ネイティブが重要」と,OSのネイティブ開発に精通する重要性を強調する長瀬氏だが,一方でこれらのミドルウェアを活用することで,AndroidやiOSの共通化を図り開発効率を高めていくことを考えているようだ。
以上,4社の取り組みを簡単に紹介したが,今回のセッションではUnity3Dを取り上げる企業が多かったのが印象に残った。紹介した2社のほか,電通が担当したセッションでもUnity3Dの仮想現実アプリ用プラグインのリリースがアナウンスされており,筆者が参加したセッションでは5社中3社がUnity3Dを取り上げていたことになる。やはり,iOSとAndroidの双方に対して同じソースコードでゲームをリリースできることが,ベンダーにとって大きな魅力になっているのだろう。
ちなみに,Unity3Dは条件付きながらフリーでも利用が可能だ(注:Android対応版は有料のみ)。筆者も,ちょっと触ってみようかななどとも思っている。興味がある読者はサイトからダウンロードしてみるといいのではないだろうか。
- この記事のURL: