今回の記事は、PSVITA(プレイステーション・ヴィータ)実機に、自作C#プログラムで文字を表示出来た!!という話について書かせて頂きたいと思います。
プログラムそのものはテスト用の超超ちっちゃいモンですけれど、PlayStation Suite Studio(PssStudio)で作った自作プログラムが動かせた事そのものが嬉しいかなぁと。
そもそも、最新鋭バリバリの市販のゲーム機において「メーカーが公式に自作プログラムの実行を認めている」というのが、この上もなく大きい事だなぁと。
ヴィータのプログラミングには、言ったら当然かも知れませんが、独自の作法があるわけで、SDK付属のマニュアルの冒頭をしっかり読まないと変な落とし穴に引っかかりそうな感じです。まぁ、何事もそうかも知れませんけれども。
とにかく、まずは欲張りたいのは山々なれど、とにかくヴィータさんの実機に文字を出すという小さな一歩をシッカリと実現しよう。
本当に小さいけれども、初めてやる者にとっては「月への第一歩」にだって引けはとらない大きな一歩ですもんね。
おおざっぱに言うと、ヴィータに画面を表示する時は、「シーン(Scene)」と呼ばれる基本的な場所を定義して、そのSceneの中に、表示したい物体を配置して行く・・・というような形になります。
ヴィータでPlayStation Suiteアプリを実行するには、開発用のWindowsパソコンの環境を整えるだけではだめで、本体にPSストアから無償配布している「PS Suite Dev」をインストールしておく必要があります。
この中でアプリが動くという形になるんですね。
単純にPS Suite Devを実行するだけだと、こういう初期画面が表示されます。
これから、ここに、USBケーブルで開発パソコンに接続して開発したアプリを転送するわけですね。
ヴィータを接続した状態にて、開発パソコン上のPssStudioの「実行」-->「アプリケーションを選択して開く」を選ぶと、デバッガやエミュレーターの他に、いよいよ大本命のプレイステーション・ヴィータその人(人じゃないけど)が表示されています!!
ヴィータには、アカウント認証によって、ユーザー個人用のIDが配布されているのが分かりますね。この仕組みによって、自分専用ならば自作ソフト開発を認めるよっていう、ゲーム機としては画期的な判断が下されたわけですかね。
ヴィータとの接続状態のPssStudioです。
画面(Scene)を定義して、そこにテキストを表示する・・・というプログラムがヴィータに転送されたわけです。
さて、本当に実機の5インチ有機ELモニタに表示されるのだろうか・・・いかんせん初めてだと期待と不安でゴチャマゼな気分ですね。
と、いうわけで、ヴィータさん実機に作ったテキストが表示されました!!
本当にちっっちゃい事ですけど、実機で、メーカーが公式に認めている自作プログラムが動いたわけで、なんか時代が変わったなぁと感慨深いものがありますね。
ちなみに、有機ELのこの黒を見てください。本体の黒と完全に一体化している真の黒ですねー
スクリーンショットはこんな感じ。
開発のパソコンの液晶よりも、ヴィータの有機ELの鮮明さが遥かに上回るので、こんな単なるテキストだけでもギョッとなるんですよ。
これっぽっちでもそんなんだから、プロのゲーム開発の現場でなんか、最初はさぞかし「うぉぉぉ」って轟音のような歓声が響いたんでしょうね。
プロの現場で使われている開発機の高性能な液晶モニタでも、おそらくヴィータの有機ELモニタの美しさには太刀打ちできないと思う。
ちなみにスクリーンショットを撮影して、コンテンツ管理でパソコンにファイルを転送しようとすると、PS Suite Devは終了するように求められます。
まぁ、同時にメモリを使わせつつ安定した動作は保証できないという事でしょうけど、OSのバージョンアップが行き着く所まで行ったら、この終了する仕様は無しにして欲しい気はしますね。まぁ、開発はめちゃくちゃ大変だろうから、すぐにとかは言い出せません。
PS Suite Devも、ヴィータOS上で実行される専用アプリの一つという位置づけなので、ちゃんと「ライブエリア」を持っています。
何度も書いていますが、このライブエリアという設計は見事ですよね。
アプリ実行の前に、この1ステージがあるからこそ、初物のOSでもここまでやれているんだろうし、何よりも発展性を感じますね。
しかし、内容はともかくとして、自分で作ったアプリが本当にヴィータ実機で動いているんだなぁ・・・しみじみ。
PS3がLinuxをやめた時とか、ソニー何やってんだろ、もう・・・とか悲しくなってしまったけれど、それを何倍も何十倍も挽回して余りあるエクストラオーディナリーなPlayStation Suite。
今後の発展に、心から期待いたします。