XNA Game Studio 2.0

GameFest 2007でXNA Game Studio 2.0のアナウンスがありました。XNAチームブログに詳細がありますが、ここでは個人的な意見(つっこみ?)を交えて説明してみたいと思います。

 

XNA Game Studioの新機能

  • 全てのバージョンのVS 2005で動作するようになる
    • これで仕事でVS2005にはあるけど、XNA GSEでは使えなかった、マルチスレッドのデバッグや、デバッグ時に自動的にローカル変数を表示してくれたり、更に個人的に外せないはキーボードマクロとか使えるようになります。
  • Xbox 360との接続するための手続きが簡単になった
    • ノーコメント
  • コンテントビルドが使いやすくなる
    • ノーコメント
  • コンテントパイプライン用のプロジェクトテンプレートを追加
    • コンテントパイプラインの拡張コードを書くときには色々と煩雑な手続き多かったので、これでカスタマイズするのが楽になるかも?
  • コンテントプロセッサーにカスタムパラメーターを追加することができるようになる
    • 現バージョンでは、複数のテクスチャ処理用のプロセッサーがありましたが、これをひとつのプロセッサとしてパラメーターによって処理方法を変えるといったことができるようになります。また、今まではちょっとしたパラメーターでもXMLファイルから読み込むコードを書く必要がありましたが、カスタムパラメーターの導入で簡単になります。

 

XNA Frameworkの新機能

  • Xbox Live!のサポート
    • Xbox Live!を通しての、Xbox 360間はもちろん、Xbox 360とWindows間で動作するネットワークゲームを作るのに必要な機能があります
    • 機能的にはロビーへの参加、セッションの生成、ゲーム中のデータパケットのやりとりなどを簡単にできるようになっています。
    • System Linkもサポートしているので、Xbox Live!を介さないでLAN上でも動作します。
  • 新しいXACTエディター
    • DirectX SDKに付属しているのがアープデートされてるので、追いつかないとねいけませんしね(笑)
  • Windows Form上で動作するようになった
    • これでレベルエディターとか、非ゲームアプリも手軽に作れるようになります。
  • GraphicsDeviceの仮想化
    • デバイスのリセットや再生成を意識せずに使えるようになります。
    • 新しく追加されたGame.LoadContentメソッド内でデバイスがリセット時か生成時か気にしなくて良いのはもちろん、グラフィクス、非グラフィクスのリソースかを気にしなくてもよくなります。
  • Windows、Xbox 360間でのRenderTargetの振舞いの統一化と、Xbox 360上でのMRT(Multiple Render Target)のサポート
    • ポストプロセス系の処理、特にブルームとかの処理をしているとWindowsとXbox 360上での振舞いの違いを考慮しないといけないのでプログラムが煩雑になってしまうという問題を解決します。
  • GameComponentを階層構造にするのが簡単になる
    • ゲームを作るときに、タイトル画面、メニュー画面、ゲーム画面といった数種類の画面を行き来する必要があるのですが、この時にそれぞれの画面をGameComponentとして使い、その中で更に複数のGameComponentを扱うようにすると各画面の管理が簡単になります。現バージョンではGameComponentCollectionが、このシナリオを想定していない作りになっているので実現するのが難しかったという問題を解決します。

 

と、いった感じです。リリース時期は年末を目指していて、リリース時期が近づくにしたがった更に詳細な情報がリリースされます。