ゲームを作ろう: Tankster と Windows Azure Toolkit for Social Games ~ クラウドカバー Episode 52
クラウドカーバー Episode 52 は、ソーシャルゲーム作成のための基盤 Windows Azure Toolkit for Social Games と、そのサンプルゲームである Tankster の紹介です。
さて、いつもの通りニュースから。
◆ Microsoft Delivers New Cloud Tools and Solutions at the Worldwide Partner Conference
マイクロソフトのパートナー向けカンファレンス WPC(Worldwide Partner Conference)にてさまざまなクラウド関連のニュースが発表されたました。
中でも大きなニュースとして取り上げているのは Windows Azure Marketplace の発表。これによって、PaaS である Azure をスケーラブルなプラットフォームとして利用しながら、SaaS ビジネスを展開しやすくなります。
◆ Extending the Windows Azure Accelerator for Web Roles with PHP and MVC3
クラウドカバーの準レギュラー的存在、Nathan Totten による Windows Azure Accelerator において PHP と MVC3 を使用するための追加のスタートアップタスクの紹介。
このスタートアップタスクを、Windows Azure Accelerator のプロジェクトに追加して Azure 上にデプロイすることで、PHP アプリも Accelerator 経由で Azure 上に配置できるようになります。
◆ Announcing: SQL Azure July 2011 Service Release
SQL Azure において 7月にサービスリリースとして共同管理者や、地理データの強化など、機能追加が行われました。また、SQL Server の次期バージョン Denali との基盤共通化に向けた一環として、データベースエンジンのバージョン番号が上がっています。
これにともない、SQL Server の Management Studio (SSMS)で SQL Azure に接続した際、あるいはアプリケーションにおいて SQL Server management Object(SMO)を使用している場合は、Management Studio の更新、および SQL Server 2008 R2 用のパッチ適用が必要になります。
特に SSMS は多くの開発者の方が利用していると思いますので、ぜひ今すぐにでもアップデートをお願します。
ということで、今回の本題、Windows Azure Toolkit for Social Game の紹介。
Build Your Next Game with the Windows Azure Toolkit for Social Games
(”Windows Azure Toolkit for Social Gamesでゲームを作ろう” もあわせてどうぞ)
さっそくこの Toolkit を使用して作成された Tankster のサイトにアクセスして、ゲーム開始。
Tankster は、Toolkit を使用して作られた HTML5 なソーシャルゲーム。Windows Azure のストレージ、コンピュートサービスを使用し、ACSによる Live ID もしくは Facebook アカウントによるログインが可能なゲームになっています。
ユーザーが行ったアクションは一旦キューに登録され、Woker Role がそれを処理したのちに、更新されたゲームの状態をストレージに記録しています。
マルチユーザーなオンラインプレイが可能、ということで、Wade が IE9 を2つ立ち上げて対戦!
チャット機能で会話も可能です。
右プレーヤーの攻撃が2回実施されてしまうというバグがあったり、
ドキュメントがまだそろっていない、
なんてこともありましたが、、PREVIEW ということで大目に見てください。
さて、この Tankster、ピュア HTML5 ということで、Windows Phone、iPad でも動作確認済み。また、今後ソーシャルゲーム基盤として必要なユーザーやアクションなどの情報にアクセスするための API を整備し、チューニングも行うということで、ぜひご期待ください。
この Toolkit は現時点では Tankster のコードに組み込まれる形で提供されています。CodePlex の Toolkit のページでダウンロードを行うと、必要なデータが展開されます。
展開されたフォルダにある StartHere.htm を開けばドキュメントが開き、ローカルPCで Tankster を動作させるための手順を確認できます。また、setup.cmd を実行すると、ローカルPC で必要となるソフトウェアのチェックおよびインストール、ならびに環境のセットアップを行ってくれます。
PREVIEW なので、最初の場面以降はコマンドラインですが
Tankster では、クライアントがゲームロジックを持ち、サーバーではゲーム状態を管理しています。ユーザーのアクションは Azure ストレージ(キュー)に保存され、Woker Role が処理を行い、ゲーム状態を Blob に記録します。そして、最終的な結果は SQL Azure に記録される。大雑把にいってそんな感じのアーキテクチャのようです。
ユーザー(クライアント)が増えた場合、ゲーム状態の確認のために参照を行うのは Blob になるためスケールしやすくなっています。
では、ローカルPCにある Tankster を F5 でローカル実行してみましょう。
ほどなく立ち上がってくるので開始すると、
武器選択の画面に。IEに表示されているアドレスが 127.0.0.1 ですね。
楽しげにゲームに興じる二人。
ということで本日の本題、Windows Azure Toolkit for Social Game の紹介はおしまい。
Azure 上で Social Game を作ってみたい、という方はぜひ本Toolkit をお試しください!
最後は、いつもの Tip of the Week。
今回の Tip は Windows Azure Platform の管理ポータルのアップデート。
Windows Azure Platform Management Portal Updates Now Available
今回のアップデートで日本語が使用できるようになったのをご存知の方も多いかと思いますが、
Tip で紹介するのは、右クリック!
右クリックで操作メニューが出るようになったほか、インスタンスの削除がワンクリックでできるようになりました!(これまでは停止してその後削除の、2アクションでした)。
ということで、クラウドカバー Episode 52、Tankster と Windows Azure Toolkit for Social Games の紹介は終わりです。
それでは!