ついにベールを脱いだ!PS SuiteをVitaで試す!
PlayStation Suite Open Beta
PlayStation Suite はソニーコンピュータエンタテイメント(SCE)が提供する、新しいコンテンツ配信の取り組みであり、PlayStation Vita や Sony 製 Android 端末を中心とするエコシステムの総称です。
これまで、PLAYSTATION3 や PlayStation Vita のようなゲーム専用端末では、SCE と法人契約した企業にのみ開発ツールが提供され、個人や小規模な組織がゲーム専用端末にコンテンツを提供することは困難でした。ところが PlayStation Suite では Developer Program for PlayStation Suite という安価(年間99$相当)な契約だけで、PlayStation Suite に対応する端末用のプログラムを開発できるようになります。契約の詳細は発表されていませんが、おそらくは iOS (iOS Developer Program)と同じようなビジネスモデルを採用するのではないかと予想します。そして、PlayStation Suite にはゲーム専用端末である PlayStation Vita が含まれています。
先日、PlayStation Suite は Open Beta として一般公開されました。Open Bata の期間中は、誰もが無料で PlayStation Suite コンテンツの開発を体験できます。このプログラムは正式版が公開されるまで続けると発表されており、正式リリースは 2012 年後半予定となっています。それ以降は PlayStation Vita などの端末でプログラムを動かすには有料の契約が必要になるので、実機でプログラムを動かしたいのであれば、今から触っておくべきでしょう。
PlayStation Suite に配信するゲームやアプリケーションは PlayStation Suite SDK を用いて開発します。PlayStation Suite SDK はゲームやアプリケーションなど、PlayStation Suite 配信するコンテンツを開発するための統合開発環境です。コンパイラやエディタ、エミュレータなど必要なツールが一通り含まれているため、インストールするだけで開発に取り掛かれます。PlayStation Suite SDK は Developer Program for PlayStation Suite 公式サイトからダウンロードできます。
PlayStation Suite SDK で開発されたコンテンツは PlayStation Vita や PlayStation Certified ライセンスを取得しているスマートフォンやタブレットなどの端末で実行できます。開発者は PlayStation Suite SDK でコンテンツを開発し、PlayStation Store を通じて配信します。FAQ によればコンテンツは有料のみで、将来的にはゲーム内課金などにも対応すると発表しています。
プログラムを PlayStation Vita や PlayStation Certified 端末で動かすには、端末側に PlayStation Suite Development Assistant をインストールしておく必要があります。PlayStation Suite Development Assistant は Developer Program for PlayStation Suite 公式サイトからダウンロードできます。端末のブラウザで http://www.playstation.com/pss/developer/ にアクセスし、ダウンロードページから PlayStation Suite Development Assistant をダウンロードすると、自動的にインストールされます。
PlayStation Suite SDK には PlayStation Vita のデバイスドライバが含まれているため、USB で PlayStation Vita と PC を接続すれば、開発したコンテンツを実機でデバッグできます。PlayStation Vita などの端末でデバッグする場合は、端末側で PlayStation Suite Development Assistant を起動した状態で実行してください。
コンテンツを開発するには PlayStation Suite SDK に含まれている PlayStation Suite Studio を用います。PlayStation Suite Studio は MonoDevelop と呼ばれるオープンソースの統合開発環境をベースにカスタマイズしています。開発言語には C# が使われます。
PlayStation Suite は、スマートフォンを中心にクロスプラットフォームに対応したゲーム開発ツールとして普及している Unity と似たアーキテクチャを採用しています。Unity 標準の開発環境も MonoDevelop なので、Unity でゲームを開発している人にとっては PlayStation Suite SDK も基本は同じ開発環境なので扱いやすいでしょう。
ゲームやアプリケーションを作成するには「ファイル」メニューの「新規」→「ソリューション」を選択してください。図5のような「新しいソリューション」ダイアログが表示されます。
ダイアログ左側にあるリストから「C#」→「PlayStation Suite」項目を選択すると、中央のリストに PlayStation Suite 関連のプロジェクトが表示されます。ここから「PlayStation Suite アプリケーション」を選択し、下部の「名前」テキストボックスに任意のプロジェクト名を入力して「OK」ボタンを押してください。コンテンツを起動する基本的なコードを含むプロジェクトが生成されます。
この時点で、コードを編集しなくてもコンパイルして実機て実行する最小限のプログラムが含まれています。「実行」メニューの「Start Debugging」項目(デバッグモードで実行)、または「Start Without Debugging」(デバッグ無しで実行)を選択すると、プログラムをコンパイルし、コンテンツを実行します。
既定の設定では PC 上のシミュレータを使って実行されます。実機を持っていなくても PC 環境だけで PlayStation Suite SDK による開発を体験できます。実機に転送するには、ツールバーにある実行環境を選択するコンボボックスで、接続されている端末を選択してください。
図6のようなコンボボックスがツールバーに表示されているはずです。表示されていない場合は「ビュー」メニューの「ツールバー」→「PSS」のチェックを確認してください。
「PlayStation Suite Simulator」項目が選択されている場合は PC 上のシミュレータで実行します。PlayStation Vita などの端末が PC 接続されていれば、コンボボックスの一覧に端末名が表示されています。それを選択した状態で実行すれば、自動的に対象の端末にデータが配置され、コンテンツが実行されます。
「Device is offline.」というダイアログが表示され「Please start the PlayStation Suite Development Assistant on the device ~」というメッセージが表示されている場合、端末側で PlayStation Suite Development Assistant が実行されていません。 上記の手続きで PlayStation Suite Development Assistant が正常にインストールされていれば、ホーム画面にアイコンがあります。PlayStation Suite Development Assistant を起動した状態でデバッグしてください。
using System; using System.Collections.Generic; using Sce.Pss.Core; using Sce.Pss.Core.Environment; using Sce.Pss.Core.Graphics; using Sce.Pss.Core.Input; namespace TestGame { public class AppMain { private static GraphicsContext graphics; public static void Main (string[] args) { Initialize (); while (true) { SystemEvents.CheckEvents (); Update (); Render (); } } public static void Initialize () { // Set up the graphics system graphics = new GraphicsContext (); } public static void Update () { // Query gamepad for current state var gamePadData = GamePad.GetData (0); } public static void Render () { // Clear the screen graphics.SetClearColor (1.0f, 0.0f, 0.0f, 1.0f); graphics.Clear (); // Present the screen graphics.SwapBuffers (); } } }
コード1は自動生成されたソースコード AppMain.cs を少し改良し Render() メソッド内の SetClearColor() メソッドの引数を書き換え、画面を赤色でクリアしています。これを PlayStation Vita で実行したところ、上の写真のように画面が赤で塗りつぶされました。
これまでも、個人の開発者がゲーム専用端末向けにコンテンツを配信できる試みとして、Microsoft の Xbox 360 で配信されているインディーズゲームなどが存在していました。これは XNA Game Studio を用いて開発する XNA Framework 対応ゲームを Xbox Live で配信するという仕組みであり、PlayStation Suite は、Microsoft が XNA で取り組んできたことの SCE 版とも言えるでしょう。
ゲーム開発者にとっては、主要なゲームプラットフォームが個人レベルの開発者に解放されることになります。これまでは閉ざされていたゲーム専用端末でしたが、今後はスマートフォンと同じように、一定の審査を受けることで誰もがコンテンツを配信できるようになりそうです。これは、大きなチャンスでしょう。