フォト

Google AdSense


  • AdSense
無料ブログはココログ

« オライリーからGPUプログラミングの洋書が出るみたい | トップページ | AMD GPU PerfStudio 2のリモートデバッグってRadeon1枚でよかったのか... »

2012.01.12

Windows 8のARM版(タブレット)で3Dゲームを開発するのってどうやるんだろう...という話題

CESではWindows 8のARM版をNVIDIAとかQualcommとかがタブレットでデモしていたけどアレ向けの3Dゲームを開発するにはどうやって作るんだろうというのが疑問としてわいてきました。

まず、ARM版はx86やx64とバイナリが非互換だということは当然なことなので、やっぱり.NETなアプリケーションで作るのでしょうか?

・・・と思って色々と検索していたら、Windows 8のMetro styleのアプリ開発の導入の文章をみつけました。

ARM版は基本的にMetro UIだけのようなのです。Metro UIはx86とかでもアプリケーションは動くはず(バイナリは非互換でそれぞれのプラットフォーム向けにビルドし直す必要はあるとは思いますが)なので読んでみました。

Getting started with Windows Metro style app development
http://msdn.microsoft.com/en-us/library/windows/apps/br211386.aspx

そうしたら意外とあっさりと"Choose your language and technology"という項目に書かれていました。

You can use the language and technology of your choice to create Metro style apps. Choose a Metro style app using JavaScript for app logic and access to all the rich capabilities of modern devices, combined with the power of HTML5 and CSS3 to design the user interface. Metro style apps using C++, C#, or Visual Basic use XAML markup for the user interface, with native C++ or managed C# or Visual Basic for app logic. Metro style games with C++ use Microsoft DirectX 11.1 with native C++ and HLSL to take full advantage of graphics hardware.

HTML5とかCSS3は今回は関係ないので、読んでいくと

. Metro style apps using C++, C#, or Visual Basic use XAML markup for the user interface, with native C++ or managed C# or Visual Basic for app logic.

ふむふむ、従来のVisual Studioで開発できる言語は使えるようですね。それからXAMLね。ネイティブとマネージど両方いけますよという感じみたいですね。さて、肝心の3Dゲームについては、そのあと

Metro style games with C++ use Microsoft DirectX 11.1 with native C++ and HLSL to take full advantage of graphics hardware.

お、普通にC++とDirectX 11.1ですか、それからHLSLというわけで馴染みな感じですね。今、DirectX 11でゲームを開発している開発者はそのままARM版のタブレット向けのアプリケーション開発には容易に移行できそうですね。DirectX 11.1とあるのですが、完全にDirectX 11.1のフル機能が使えるのかFeature Level 9(DirectX 9.0ハードウェア向け)などで動かすのかはわかりませんが、それはまぁどっちでもいいですね。

もう一つネットを検索していたところ、Windows 8のアプリケーションを開発するVisual Studio 11について書かれたVisual C++チームのblogの"Game Debugging in Visual Studio 11"というエントリを見つけました。

Game Debugging in Visual Studio 11
http://blogs.msdn.com/b/vcblog/archive/2011/11/08/10235150.aspx

頭から読んでると、最初の文章で

We believe Metro style games and graphics-intensive apps present a huge opportunity for developers on new devices such as tablets. The primary API for accessing the full power of the underlying graphics hardware on Windows is DirectX 11 (including Direct3D and Direct2D).

と書かれています。最初の文章

We believe Metro style games and graphics-intensive apps present a huge opportunity for developers on new devices such as tablets.

を見るとMetro style gamesと新しいデバイス、つまりタブレットということが書かれています。タブレットと言ったらここではARM版と言うことだと思います。つづいて、

. The primary API for accessing the full power of the underlying graphics hardware on Windows is DirectX 11 (including Direct3D and Direct2D).

ということで、DirectX 11がハードウェア性能を引き出すための主要なAPIだということを書いています。

XNAのような仕組みが提供されるかはわかりません(Windows Phoneのこともあるので個人的には提供されるだろうと思っています)が、ひとまずDirectX 11自体は使っていって良さそうです。

もう一つ考えなくてはいけないのがDirectX 9.0のこと。DirectX 9.0で作っていた開発者はタブレットを考えると移行を考えなくちゃいけないのかということですが、それについては今回は情報を得られず。

ただ、現在のDirectX 9.0アプリケーションのバイナリは動かないことは間違いないと思います。気になるのは、ARM向けにDirectX 9.0アプリケーションはビルドができるのかどうか?個人的な予想ではARM向けのSDKは提供されず、ビルドできないと思ってます。

ちょっと話題が変わりますが、Windows 8では他のプラットフォームにあるようなApp Storeができます。これには、ソフトウェア開発者にとって色々とビジネスのチャンスがあると思います。そうなるとゲームも色々とチャンスがあるとは思うのですが、いちいちC++でDirectX 11で書くということをしたくない開発者は多いと思います。そうなるとUnityやUnreal Engine(UDK)とかを使う選択肢があると思うのですが、Unityの場合、現在のWindows版はDirectX 9.0で動いているのでグラフィックス部分をいつDirectX 11に対応させるかが気になります(もしくはWindows Phoneのように対応しないか)。

そんなわけでタブレットでもDirect3D11開発ができると言うことであれば、Metro styleのアプリケーションの開発などはちょっと調べていきたいと思います。

« オライリーからGPUプログラミングの洋書が出るみたい | トップページ | AMD GPU PerfStudio 2のリモートデバッグってRadeon1枚でよかったのか... »

Programming」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« オライリーからGPUプログラミングの洋書が出るみたい | トップページ | AMD GPU PerfStudio 2のリモートデバッグってRadeon1枚でよかったのか... »