開発の概要や、プッシュ通知ができるライブタイルなどWindows特有の機能を追加する方法、事前審査テスト時の注意点なども。
iOS、Android、Webへも書き出し可能なマルチプラットフォーム展開ができる「Unity」は3Dデータを含むゲームを簡単に作れるゲーム開発プラットフォームとして有名だ。UnityをWindows 8でも展開するためのセッション「Unity on Windows 8」がゲーム開発者向けカンファレンス「CEDEC 2013」で行われたので、本稿ではその様子をレポートする。
マイクロソフトが提供する「Windows 8」にはさまざまな新機能があるが、その中でも特筆すべきは「Windowsストア」の存在だ。デバイスとサービスの会社への変革を進めるマイクロソフトにおいて、さまざまなデバイスで動くアプリを、手軽に全世界に配信できるWindowsストアの存在は、開発者にとって大きなものだ。
そのWindowsストアに、最新のUnity 4.2を使ったアプリが登録できるようになった。これにより、表現力の高いゲームアプリだけではなく、3Dコンテンツを表示するような図鑑をUnityでオーサリングすることも可能になる。さらに、Windows 8特有のライブタイルや「Windows Azureモバイルサービス」を、Unityコンテンツから利用できるのだ。
日本マイクロソフト デベロッパー&プラットフォーム統括本部 クライアントテクノロジー推進部 テクニカル エバンジェリストの大西彰氏は、Unityで作ったコンテンツにWindowsならではの機能を組み込む方法をデモを中心に解説した。
UnityでWindows 8アプリを作る流れは、他のプラットフォームと変わらない。まずは通常のUnityコンテンツを作成し、ビルドの際にVisual Studioを利用し、その際にWindowsストア向けのビルドを行い、パッケージングの後にWindowsストアへ申請を出せばよい。
大西氏はまず、Unityでの基本コンテンツを作り、Unityから「Windows Store Apps」向けにジェネレートする手順を紹介した。
基本的にはジェネレートしたものをVisual Studioで開き、ビルドをすればいいのだが、デフォルトの状態では作成されたプロジェクトのターゲットが「ARM」となっているため、それを「x86」向けに変更した後、ビルドすることが必要だとのことだ。これにより、Windows 8デバイスにタッチコントローラがあれば、それを利用して操作が可能となる。もちろん、キーボードでもマウスでも操作が可能だ。
このとき、大西氏は「性能が低いデバイスを用いてデバッグをした方がよい。『Remote Tools for Visual Studio 2012』を使うと、同一ネットワークにあるデバイスでリモートデバッグが可能なので、これを活用してほしい」と述べた。
ここまでは、基本のUnityコンテンツ開発手法だ。ここから、Windows 8特有の機能を付けて仕上げる。具体的には、ライブタイル対応などのプッシュ通知機能だ。「例えばゲームにおいて、アイテムの特売などのキャンペーンを実施するなどのタイミングで通知を送るような仕組みを用意したい場合、ライブタイルは効果的」(大西氏)。
これを実現するには、プラグインをいくつか追加する必要がある。このときのポイントとして、Unityエディタ/ストアアプリのクラスライブラリが別バージョンとなっている点を把握する必要がある。
具体的には、Unityエディタ向けには.NET 2.0のクラスライブラリを、Windowsストア向けには.NET 4.5のクラスライブラリをそれぞれ導入しなくてはならない。これを間違えるとジェネレート時に赤い文字でエラーが出てくる。
デモではアプリをタップするとメッセージをアップデートし、tile.UpdateTile()で指定した文字列をライブタイルに表示する方法を紹介した。
次に、サービスとしてのマイクロソフトを活用するデモが行われた。Windows AzureモバイルサービスはWindows、Android、iOS、およびWebなどを対象としたアプリケーションのバックエンドを想定したインスタンスで、管理コンソールから登録すると、すぐに使えるサービスだ。
デモでは、UnityのコンテンツからWindows Azureモバイルサービスへ情報をストアする手順が紹介された。
UnityでWindows Azureモバイルサービスを利用するためには、OSSで提供されている「Azure Mobile Service for Unity 3D」を使う。プラグインとしていくつかの.dllファイルを追加し、Azureの管理コンソールで指定されたURL、アクセストークンを用い、ソースコードに1行追加する程度で利用が可能だ。
これを用いると、ゲームにおいてハイスコア情報を共有するなどの対応が簡単に行える。デモは文字列を保存するものだったが、JSON文字列にすれば、さまざまなデータが格納可能だという。
最後の仕上げはWindowsストアへの登録だ。これも難しいことはなく、生成されたパッケージを管理コンソールから登録するだけでOKだ。
Windowsストアに出店されるには審査を通る必要があるが、Windowsストアアプリ開発には、WACK(Windows App Certification Kit)が用意されていて、事前にローカル環境で審査基準の検証テストが行える。
しかし、「現時点のUnity 4.2においては、JavaScriptおよびBooスクリプトは検証をパスしないという制約があるので注意しよう」(大西氏)とのことだった。
3Dコンテンツを容易に扱えるUnityと、マイクロソフトが提供する開発環境、そしてデバイスを使って特徴のあるコンテンツが作れるというセッションの最後に、大西氏は「UnityがWindowsでそのまま使え、さらにはWindowsストアにすぐに登録できる。世界中に配信できるのは大きなチャンス。スタートアップ向けのBizSparkや学生向けのDreamSparkプログラムなどを活用してぜひこのチャンスを生かしてほしい」と述べた。
Copyright © ITmedia, Inc. All Rights Reserved.