Game Developers Conference(GDC) 2010現地レポート

Microsoft、「Windows Phone 7 Series」のゲーム機能を披露
MSの開発プラットフォームは「XNA 4.0」がスタンダードに。関連セッション情報もレポート


3月9~13日 開催(現地時間)

会場:サンフランシスコ Moscone Center


 米Microsoftは、GDC2010において、開発プラットフォームの最新版「XNA Game Studio 4.0」を発表するとともに、新たなターゲットプラットフォームとなる「Windows Phone 7 Series」のゲーム関連機能を紹介した。

 「Windows Phone 7 Series」は、「Windows Mobile Series」に続く2月15日に発表されたばかりのスマートフォン向け次世代プラットフォーム。Webやアプリ、ゲームなど各種サービスの「ハブ」となる機能を盛り込む。北米では2010年末より各サードパーティメーカーから「Windows Phone 7 Series」を搭載するスマートフォン端末が市場投入される予定だ。

 また、GDCの開催に合わせて発表された「XNA Game Studio 4.0」は、Microsoftが個人開発者や各ゲームデベロッパーに提供している.Netアーキテクチャーのゲーム開発プラットフォームの最新版。従来のバージョンではWindows PC及、Xbox 360、ZUNEをターゲットプラットフォームとしていたが、「4.0」で新たにWindows Phone 7 Seriesがサポートされることが明らかになった。

 本稿では、GDC 2010にあわせてMicrosoftが実施したプライベートミーティング及びGDCセッションの内容を通じ、「Windows Phone 7 Series」のゲーム機能、そして「XNA Game Studio 4.0」によるゲーム開発情報についてご紹介する。




■ 「Windows Phone 7」のゲームでXbox LIVEの実績を獲得!
 非同期進行型のマルチプレーヤーゲームもサポート

MicrosoftのCharlie Kindel氏(手前)と、Scott Holden氏
「Windows Phone」の試作機。デモゲームを走らせている
同様のゲームがWindowsとXbox 360で動作。このプログラムについては、各プラットフォームでソースコードはほぼ同じものだ

 「Windows Phone 7 Series(Windows Phone)」は、従来の「Windows Mobile」プラットフォームに比べ、様々な機能が強化されている。その中でもゲーム機能は力が入れられており、特にXbox LIVEの新たなプラットフォームとなることが大きなポイント。Windows Phoneを組み合わせることで、Xbox LIVEのソーシャル機能が大幅に強化されることになる。

 Microsoftが実施したプライベートミーティングでは、Windows Phone 7担当パートナーグループ プログラムマネージャ であるCharlie Kindel氏と、XNAプロダクトユニットマネージャーのScott Holden氏によるデモンストレーションと機能説明を受けることができた。

 まず、Windows Phoneのゲーム機能についてまとめておこう。トップメニューは矩形タイル状のメニューアイテムが目的別に並んだユーザーインターフェイスになっており、その中の「Games」という項目から、あらゆるゲーム機能にアクセスすることになる。

 ゲーム機能はXbox LIVEと連動しており、Xbox 360上で作成したアバターの画像を見ることができるほか、ゲーマースコアなどの各種ユーザー情報も共有され、この画面上で確認することが可能だ。もちろんフレンドリストも共有されており、メッセージを送ったり、Windows Phoneの端末を起動しているフレンドをマルチプレーヤーゲームに誘うこともできる。

 Kindel氏に見せてもらったマルチプレーヤーゲームの試作版では、オセロ的なボードゲームをリアルタイム進行、あるいは非同期的進行でプレイできることが説明された。非同期的進行というのは、1手を操作して相手のターンになったら、ゲームを中断し、あとで再開することができるというシステムだ。長考が発生するようなターンベースのゲームを、空き時間を利用してフレンドと少しづつ進めていくようなことができる。

 3Dゲームにも注目しよう。今回見ることができたのは、Facebookのバトルゲーム「Battle Punks」の移植版と、Windows Phoneのために新たに開発された「The Harvest」というクォータービュー型の3Dシューティングアクションゲームだ。

 「The Harvest」は自社製ではなくサードパーティー製ということだが、特によく出来ていて、Xbox LIVE Arcadeで販売されてもおかしくないような本格的なゲームになっている。800×480ドットという画面解像度をフルに活用した美しいグラフィックスも見ごたえがある。ただし試作版のためか、フレームレートは15~20程度とやや低め。Holden氏によれば「デベロッパーにSDKを提供してわずか3週間で出来上がったもの」だという。

 このゲーム開発についてWindows Phone最大の強みは、WindowsやXbox 360で膨大な蓄積のある「XNA Game Studio 4.0」を利用できる点だ。XNAではクロスプラットフォーム開発をサポートしており、Windowsで製作したものをWindows Phone向けに簡単に移植できるという。各プラットフォームでユーザーインターフェイスが異なるため全コード共通というわけには行かないが、Holden氏は「多くのケースで9割程度のコードを共有可能」と話していた。

 となれば、現時点でXbox LIVE Arcadeや、Xbox LIVE インディーズゲームで提供されているXNAで開発された数百以上のゲームタイトルが、Windows Phoneに移植されるポテンシャルを持つということだ。そのほかにも、日本の有名ゲームデベロッパーを含むいくつものスタジオが、Windows Phone向けのゲーム開発に関心を示しているという。

 現時点では、各ゲームの販売モデル、課金手段などは未発表。WindowsやXbox 360で展開している開発者コミュニティ「XNA Creaters Club」のように、個人開発者がWindows Phone向けのゲームを公開する場や、ダウンロード販売する方法も気になるところだ。これについてKindel氏は「検討中の部分もあります。決まっている部分については今後発表していく予定です」と述べるに留めた。ひとまず、「XNAでスマートフォン向けのゲームが作れる」という点が今回のGDCにおける唯一の決定的な情報という格好だ。


【The Harvest】
Windows Phone向けに3週間で作られたというゲームのプロトタイプ。グラフィックスは繊細で美しく、クオリティが高い。2枚目のスクリーンでは、「実績」のロックが解除されている様子もわかる

【Battle Punks】
こちらはFacebook向けのゲームを移植した「Battle Punks」。3Dで表現されたキャラクターをカスタマイズし、フレンドのキャラクターと戦わせることができる



■ ゲームの開発環境は「XNA Game Studio 4.0」がスタンダードに
 開発情報関連2セッションの内容をご紹介

Windows Phoneのゲーム開発情報=「XNA」という扱いだ
Windows Phoneでは、画面のスケーリングと回転がパフォーマンスロス無しに利用することができる

 ここからはGDCの会場で行なわれたWindows Phone関連の技術セッションの内容についてお伝えしよう。いずれのセッションも、「XNA Game Studio 4.0」に関わる開発情報を提供しており、MicrosoftがWindows Phoneのゲーム開発プラットフォームとして「XNA」を事実上の標準に設定していることが読み取れた。

 ひとつめのセッションは、題して「Overview of Game Development for Windows Phone」。マイクロソフトの技術スタッフが、Windows Phone向けのゲーム開発情報の概要を伝える講演だ。

 その中で、「Windows Phone 7 Sereis」が.Netアーキテクチャーのプラットフォームであり、マネージドコードのみを実行できること、そして、その開発プラットフォームとして「XNA 4.0」が利用できることが基本情報として提供された。

 続いて、「XNAを使ってWindows Phone向けのゲームを作る方法」が具体的に解説された。基本的に、「XNA 4.0」で製作したゲームはそのままWindows、Xbox 360、Windows Phone上で動作させることができる。ただし、入力装置の仕様が異なること、各プラットフォームで使えるグラフィックス機能の違いなどから、あらかじめターゲットの性能を考慮することは必要である。

 グラフィックス面では、大きなところとして解像度の違いがある。WindowsおよびXbox 360での1,280×720ドット以上の解像度は「HiDef」プロファイル、Windows Phoneの解像度である800×480ドット、またそれ以下は「Reach」プロファイルと呼ばれ、「XNA」上で区別されるようだ。

 Windows Phone上では、WindowsやXbox 360相当のシェーダー機能は利用することができない。ポリゴン1枚の描画に利用できるテクスチャー数は2枚まであり、PCプラットフォームで言えばDirectX 5~7相当の能力を備えている。2枚のテクスチャーは、1枚はデフューズ、もう1枚はライトマップという使い方を標準として想定しているようだ。また、XNAでサポートする各種のレンダリング効果を加える「Effect」のうち、Windows Phoneではシェーダーを利用するカスタムエフェクトが利用できない。

 Windows Phoneならではのアドバンテージとしては、解像度のスケーリングがパフォーマンスロスなしに利用できるという点が挙げられている。これは専用のスケーラーを搭載しているためで、プログラマが線形補間法のスケーラーを独自実装するよりも遥かに高品質の拡大・縮小表示が可能だという。これは、より低い解像度でレンダリングを行ない、それをフルスクリーンで表示してパフォーマンスを稼ぐといった目的で使えるものだ。

 一通りの情報が説明されたのち、「XNA Game Studio 4.0」を使ってのゲーム開発が実演された。このデモではターゲットプラットフォームをWindows Phoneであると想定して、ジャイロセンサーによる入力値を画像オブジェクトの座標に反映させ、画面上を移動させるという内容。解説つきで10分ほどのコーディング作業が行なわれ、すぐにWindows Phone上で動作する場面を見ることができた。このような生産性の高さが「XNA Game Studio 4.0」の利点だという。

基本のフレームワークに数十行のソースコードを書き加えることで、Window Phone上で動作するインタラクティブアプリケーションを作成。生産性の高いプログラミング環境が「XNA」の強みだ




・「Effect」機能で素敵な3Dグラフィックスを演出。
 ただしフィルレートは限定的。スケーラーを賢く使え!

メモリーアロケーションを避けてパフォーマンスアップ、といった具体的なレクチャーが行なわれていた
Windows Phoneで利用できる「エフェクト」はこの5種類

 上記に続いて行なわれたプログラムトラックのセッション「Optimizing Performance of Modern Games for Windows Phone」では、Windows Phone上で見栄えの良い3Dゲームを構築する際のパフォーマンス的な留意点や、プログラミングテクニックが紹介された。

 この講演の半分ほどは、.Netの特性であるガベージコレクターのパフォーマンス的な影響や、それを回避するための小技、あるいはループ処理をクロック効率のよい書き方に置き換える方法、列挙子を使えば中間言語への変換の再に特定のセンテンスがswitch構文に変換され高速に実行される……といった、ごくごく専門的な話が紹介された。

 その後に触れられた、グラフィックス機能についての紹介が興味深い。「XNA」では3Dモデルやポリゴンを描画する際、プリセットされた「エフェクト」を使って、様々なレンダリング結果を得ることができる。シェーダープログラムをごくごく抽象化したものと考えていい。このうちWindows Phoneで利用できるのは、「Basic Effect」、「DualTextureEffect」、「AlphaTestEffect」、「SkinnedEffect」、「EnvironmentMapEffect」の5種類だ。

 それぞれの内容については下図でご紹介しよう。ごく基本的なシングルテクスチャー、ライティング付きの描写から、2枚のテクスチャーを用いたライトマップ描画、デプスアルファテスト、スキンアニメーション、環境マップといったこれらの「エフェクト」は、グラフィックス技術の世代的には古いものだが、そもそも画面が小さいため、十分なクオリティに見える。

BasicEffectDualTextureEffectAlphaTestEffect
SkinnedEffectEnvironmentMapEffect


オーバードローが増えてパフォーマンスに低下が見られたら、解像度を下げることによりフレームレートが維持できる

 ただし、Windows Phone向けのゲーム開発では「フィルレートの枯渇」に大いに気を付ける必要があるようだ。セッション中に行なわれたデモでは、ネコ型のビルボードを大量に画面に表示し、描画パフォーマンスの低下を示した。アルファチャンネル付きのポリゴンが大量にオーバードローされると、目に見えてフレームレートが低下することがわかる。

 これを回避する方法として、描画が重くなってきた際に解像度を下げるというテクニックが紹介された。Windows Phoneプラットフォームに搭載される解像度変換用のスケーラーは、一切負荷をかけることなく高品質のスケーリングを実現する。デモで使われた映像では、およそ4分の1の解像度でも、十分な品質が保たれていた。動きの激しいシーンほど、低解像度での描画が効果的になりそうだ。負荷が下がれば、また解像度を上げれば良い。

 今回のGDCでは、このように「Windows Phone 7 Series」のゲーム開発に関連した話題が取り扱われ、関連セッションは概ね満員の盛況だった。多くのデベロッパーの関心を集めてているということで、ローンチ時のゲームコンテンツが充実してくることを期待しておきたい。


(2010年 3月 14日)

[Reported by 佐藤カフジ]