― 特集 ―
Microsoftに訊く,XNA Game Studio Expressの狙い

Text by 米田 聡 / Photo by kiki 

 Microsoftは先に,ゲーム開発ツール「Microsoft XNA Game Studio Experss」(以下XNA Game Studio Express)を発表した。2006年9月時点ではβ版を配布中だ。2006年内には正式公開される予定で,これを利用することにより,DirectX 9ベースのゲームを簡単に制作できると謳われている。
 そのXNA Game Studio Expressについて米本社のマーケティングディレクターに直接話を聞く機会を得た。そこで今回は,気になるこのツールの正体,そして,PCゲーム/ゲーマーにとってどんなメリットがあるのかについて,ここで一度まとめてみたい。

XNA Game Studio Expressとは何なのか

CEDEC 2006の基調講演で紹介された,XNA Game Studio Expressのイメージ

 では,XNA Game Studio Expressとは何なのか。その前に「XNA Game Studio」について説明すると,これは,ゲームを開発するためのフレームワーク(≒土台),ライブラリ(≒部品),ツール(≒道具)をまとめものだ。XNA Game Studioがあれば,自力でさまざまなタイプのゲームを制作できる。XNA Game Studioで作成したゲームはそのままPC上で動作するうえ,自由に配布・販売可能なほか,Microsoftが主催する「Creators Club」に年間99ドルの会費を払って入会すると,Xbox 360上でも開発および動作させられるようになるとされている。
 XNA Game Studioには,大規模な開発チーム向けのProfessional版も用意されているが,今回紹介するXNA Game Studio Expressは,基本セットという位置づけ。そして,ここで注目すべきは,(すでに4Gamerで何度か紹介しているように)XNA Game Studio Expressが無料ということだ。

 動作条件は,Windows XP&DirectX 9が動作していること。そして,「Microsoft Visual C# 2005 Express Edition」(以下Visual C#)がセットアップされていることである。
 Visual C#は,.NET開発言語の一つである「C#」のMicrosoft純正開発ツールだ。以前は高価なスイートを購入する必要があったが,最新版となる“2005”では,基本セットのExpress版のみ,無料で利用できるようになった。XNA Game Studio Expressは,Visual C#に組み込んで利用することになるため,あらかじめVisual C#をセットアップしておく必要があるというわけだ。ちなみにVisual C#は日本語版公式ページから,XNA Game Studio Expressは英語版公式ダウンロードページからそれぞれ入手できる。

 

それぞれVisual C#(左)とXNA Game Studio Express(右)のダウンロードページ

 

 さて,Visual C#を使う時点で想像がつく読者もいると思うが,XNA Game Stduio Expressはマルチプラットフォームに向けたアプリケーションやコンテンツを制作するためのフレームワークである「Microsoft .NET Framework」ベースで動作する。ただし,Visual C#をインストールすると,.NET Frameworkは自動的にインストールされるので,別途「.NET Framework SDK」をにセットアップする必要はない。
 また,.NET FrameworkはCLI(Common Language Infrastructure)という,ハードウェアやOSの違いを吸収するエミュレータのような働きをする「仮想マシン」を含んでいる。これにより,.NET Frameworkの動作する環境であれば,.NET FrameworkベースのアプリケーションはハードウェアやOSを問わず動作するようになっている。XNA Game Studio Expressで制作したゲームがXbox 360上で動作するのは,これが理由だ。Microsoftは,将来的にWindows Mobileを採用する携帯端末上でもXNA Game Studioで制作したゲームが動くようにするというロードマップを公開しているが,その根拠もここにある。

 また,C#は,JavaやJavaScriptなどに似た言語だが,実行時にはネイティブコードとして実行されるため,JavaやJavaScriptに比べて,かなり高速で動作してくれる。WebプログラミングなどでC#に触れていれば,何もないところからゲームを作り始めるよりは,苦労せずにゲームを作れるというわけだ。

 

より正確を期すと,プログラムはCLI上で動作し,実行時に,動的にCPUのネイティブコードへ変換される。

 

 いずせにせよ,XNA Game Studio Expressの正体は,「無料で利用できる二つのソフトをWindows XPにインストールするだけで,PC(やXbox 360)のゲームを開発できるようになるツール」と考えておけば間違いない。

β版でできること

XNA Game Studio Expressをインストールした状態でVisual C#を起動したところ

 やや抽象的なので,実際のβ版を使って,何ができるのかを見てみよう。  インストールしたら,スタートメニューから「XNA Game Stduio Express」を起動する。すると,「XNA Games」プロジェクトが開いた状態でVisual C#が起動するはずだ。
 ……とまあ,ここまでは誰でも辿り着けるはず。この先はコーディング(=ゲーム制作)に入るわけだが,ここはひとまず,制作の雰囲気だけでも味わうべく,サンプルを動かしてみたい。

 XNA Game Studio Expressには,「Starter Kit」と呼ばれる動作サンプルが用意されている。Starter Kitは,デモであると同時に,ソースコードも用意されており,ゲーム制作の叩き台としても利用可能だ。「Starter Kitに改造を加え,オリジナルのゲームに仕上げていく」という開発スタイルも採れるわけである。

 

メニューから「Spacewar Starter Kit」を選択

 ちなみに,2006年9月時点で入手できるβ版で用意されているStarter Kitは,「Spacewar」のみ。メニューから「ファイル」→「新しいプロジェクト」と進み,「Spacewar Starter Kit」アイコンを選択して[OK]ボタンを押す。すると,しばらくして“Spacewarプロジェクト”が開くので,メニューから「デバッグ」→「デバッグなしで実行」を選択すると,“Spacewarというゲーム”が起動する。

 

Spacewar Startar Kitのプロジェクトが開いた状態。左ペインにツリー表示されているのがStarwarのソースコードやデータだ。ここで「デバッグ」→「デバッグなしで開始」を選択する

 

左:Spacewarの起動画面。「Xbox 360 Controller for Windows」を利用すると,問題なく操作できる。他社製ゲームパッドの場合,一部の機能が働かないことがあるので注意

中央:ジョイパッドのBボタンを押すと古典的なSpacewarがスタートする。DECのPDP-1上で1962年に初めて作られたというシューティングゲームの元祖的存在だ……が,さすがに画面は寂しい

右:スタート画面でゲームパッドのAボタンを押すとキャラクタが3DになったSpacewarがスタートする。見た目が変わるだけだが,それだけでも今風なゲームに見えるわけだ。なお,古典的Spacewar,現代風Spacewarともゲーム本体部のソースは共通で,キャラクタを切り替えただけでルックスの違いを実現している。こうしたソースを簡単に作れるのもXNAの特徴のひとつ,というわけである

 

XNAの狙いと将来の展望をMicrosoftに訊く

 以上,XNA Game Studio Expressの概要を駆け足で紹介してきた。一言でまとめるなら,C#という(比較的)習得が容易な言語を用いてゲームを制作できることと,無料で誰でも利用できることが大きな特徴,といったところだろうか。……正直,Spacewarというサンプルだけでは,何をしたいのか見えないという人が少なくないと思うが。
 そこで冒頭の話に戻るわけだが,このXNA Game Studio Expressで,いったい何をしようとしているのか,Microsoftへ直接質問してみることにした。話を聞いたのは,Microsoft本社のXboxゲームデベロッパグループ マーケティングディレクターのDave Mitchell(デイヴ・ミッチェル)氏と,日本法人であるマイクロソフトのXbox事業本部 ゲームテクノロジー部 プログラムマネージャの藤木清輝氏である。

 

4Gamer.net:

 初めまして。早速なのですが,XNA Game Studio Expressがリリースされるまでの経緯を,教えていただけますか?

藤木清輝氏:

藤木清輝氏(マイクロソフト Xbox事業本部 ゲームテクノロジー部 プログラムマネージャ)

 XNAを初めて公にアナウンスしたのは2004年のGDC(Game Developers Conference)です。足かけ2年が経ち,ようやく製品をリリースできる段階になったところですね。すでに発表していますが,2006年末までには正式リリースの予定です。また2007年春には,大規模なゲーム開発に向けた有償のProfessional版をリリースするスケジュールになっています。

4Gamer.net:

 XNA Game Studioというツールを提供する狙いは何なのでしょう?

藤木清輝氏:

 それにはまず,XNAのビジョンを説明する必要がありますね。XNAにはそもそも,「ゲームの開発コスト肥大化を解消する」という目的があります。

4Gamer.net:

 最近,よく耳にするようになってきたキーワードですね。

藤木清輝氏:

 ええ。例えばゲーム業界は過去にアタリショックを経験していますし,映画業界でも,制作費の高騰によって業界全体が一時縮小してしまう問題が発生したことがあります。こういった危機を引き起こさないために,ゲームの生産性を高める必要がある――というところから,XNAというコンセプトはスタートしています。
 そして,XNAプロジェクトを進めていくうちに,「これはアマチュアにとってもゲームを作る強力なツールになり得る」という話になりました。そこからつながっていった結果が,一般向けの無償版である,XNA Game Stduio Expressというわけです。

4Gamer.net:

 なぜ,アマチュアというか,一般の人をゲーム開発に取り込もうとしているのでしょう? 従来のデベロッパからは出てこないようなアイデアを期待してのことですか?

Dave Mitchell氏(Director of Marketing, Xbox Game Developer Group, Microsoft)

デイヴ・ミッチェル氏:

 それもあります。ただ,それだけでなく,開発者やユーザー間のつながり,コミュニティメンバー間でプレイし合うなどといった新しいゲーム文化を創造したいと考えています。
 これまで,ムービーや音楽では,コミュニティから優れたコンテンツが生まれてきましたが,XNAでもこれを目指したいのです。XNA Game Studio Expressであれば,学生や一般の方,あるいは小規模のゲームデベロッパが,それほどコストをかけずに優れたゲームを開発できますし,Creators Clubに加入すれば,追加のStarter Kitやテクニカルサポートも入手できます。ムービーや音楽と同じように,ゲームにおいても「コミュニティ」発の素晴らしいコンテンツが生まれることを期待しているのです。

4Gamer.net:

 XNA Game Studioシリーズでは,開発言語として,Webアプリケーションの開発によく用いられているC#を採用していますね。最近はWebアプリケーションのプログラマが増えていますし,Flashなどでゲームを作る人も増えています。そのような人達をゲームに取り込む狙いがあったりしますか?

デイヴ・ミッチェル氏:

 XNAプロジェクトは幅広いユーザー同士のコミュニティを作り,新しいゲーム文化を創造することが目標です。ゲーム開発を学ぶ教育プランなどへの展開も考えられるでしょう。XNAは将来を見越した長期的なプロジェクトなので,それこそご指摘のような,FlashやShockwaveを使っている特定の誰かに向けたツールではありません。

4Gamer.net:

 もっと広い層に向けたものというわけですね。
 日本では過去に,類似のプロジェクトがいくつかありました。例えば,ソニー・コンピュータエンタテインメントはプレイステーション向けに「ネットやろうぜ」を立ち上げたり,プレイステーション2用にはLinuxを提供したりしていますが,残念ながら,成功したとはいえない結果に終わっています。失礼を承知でお話しすれば,XNA Game Studio Expressが同じ結果に終わる可能性も,ゼロではないと思うのですが。

藤木清輝氏:

 私は以前ゲームデベロッパに在籍していたのですが,ご指摘のとおり,「ネットやろうぜ」などが立ち上がるたびに「これで一般の人もゲームが作れるようになるんだな」と思ったものです。ただ,乗り越えるべきハードルがあまりにも高すぎました。この点XNA Game Studio Expressは,それらと比べてハードルが非常に低い。過去の試みと比べて圧倒的に簡単という点が大きな違いだと思います。

4Gamer.net:

 「ハードル」について言えば,確かにハードルは低いかもしれないですが,Starter Kitとして提供されているSpacewarは,言ってしまえば「古典的な2Dゲームを3Dっぽくしただけ」のサンプルです。「この程度しかできないの?」と受け取られかねないわけですが,実際にはどの程度のレベルのゲームを作れるのでしょうか?

デイヴ・ミッチェル氏:

提供が予定されている「Marble」というStarter Kitのデモ。重力のある3D空間でボールを転がすようなゲームになっている

 現在(2006年9月時点)のβ版には,確かにStarter Kitは一つしか用意されていません。これは,ある程度C#プログラミングに慣れた中級者向けの,いわばテクノロジーデモに近いものですね。正式公開版では,初級,上級を含め,最低でも三つのStarter Kitが付属する予定です。
 また,年末には,もう少し具体的なゲームのサンプルとして,RTSのStarter Kitをフルソースコード付きでリリースします。シューティングゲームのStarter Kitも予定していますよ。

4Gamer.net:

 シューティングというのはFPSのことですか?

デイヴ・ミッチェル氏:

 ええ。

4Gamer.net:

 開発中のもので構わないので,その,RTSやFPSを作れるStarter Kitのデモを見せていただきたいのですが。

デイヴ・ミッチェル氏:

 残念ながら,現時点ではお見せできません。ただ,XNA Game Studio Expressの正式リリース後は,年間8本程度,定期的にStarter Kitを提供していきますので,楽しみにしていてください。これらを利用すれば,見栄えのする3Dゲームを容易に制作できるようになるはずです。
 また,これは無償ではありませんが,弊社のパートナーからもXNA Game Studioに対応した製品がリリースされます。例えば,GarageGamesの「Torque X」(トルクエックス)がそうですね。Torque Xでは,それこそゲームジャンル別に,キャラクターデータや挙動のデータなども提供されるので,ゲーム開発はより簡単になるはずです。

GarageGamesの公式サイトにあるTruque X紹介ページ。現在はまだ提供が始まっていないが、XNA Game Studio Expressの正式リリース後に販売が始まる予定。画面の左に見えるのは,横スクロールシューティングの見本で,このようにキャラクターのデータなどが用意されている

これはGarageGamesが提供しているTorque Game Engineのデモ。Torque Game Engineは3Dグラフィックスを利用したFPSやアドベンチャーなどを制作できるゲームエンジンで,Torque XはこれをベースにしたSDKである

タイトル ミドルウェア/開発ツール
開発元 各社 発売元 各社
発売日 - 価格 製品による
 
動作環境 N/A

【この記事へのリンクはこちら】

http://www.4gamer.net/specials/xna_interview/xna_interview_01.shtml