XNA開発終了の方向性

Unityの大前さんのつぶやきから発見。GDCに向けた情報が色々出てきている中。
“Microsoft ‘phasing out’ XNA development framework”

http://www.develop-online.net/news/43140/Microsoft-phasing-out-XNA-development-framework

<粗訳>

DirectX ‘no longer evolving as a technology’
「DirectXはもはや技術として革新的でない」

多数の開発者に送信された電子メールによって伝えられる情報としては
「マイクロソフトは、XNA開発フレームワークを段階的に廃止」

CVGなどによると、Action=Reaction LabのCTO(最高技術責任者)Roy Promit(以前にマイクロソフト、Nvidia, 1dayStudiosで働いていた)のブログポストによると、

電子メールでMicrosoftは「DirectXは『もはや技術として革新的でない』と述べ、XNA Game Studioを『活発な開発状態にない』、結果XNAは2014年4月1日の時点で解雇(axed)されるだろう」伝えているという。

この動きは、今後もDirectXの技術とマイクロソフトの今後の関与についての問題を提起している。

開発者向けの電子メールを読むと
「XNA/DirectXの専門家はXNA Game Studioおよび/または DirectX の開発に焦点を当てるコミュニティのリーダーを認識させるために作られた」
「現在、XNA Game Studioは活発な開発状況にない、そしてDirectXはテクノロジーとしてもはや進化していません。 与えられた個々のテクノロジーとともに与えられた地位、更なる価値と関わりは、MVPコミュニティに与えられません。 つまり、2014年4月1日XNA/DirectXは、MVP賞プログラムから完全に引退します」

この動向は、DirectX技術とのマイクロソフトの将来の関係について疑問を提起しています。

XNAは伝統的にインディーズ開発者に使われてきました。それが無料の開発ツール一式で、他の様々なプラットフォームよりもプログラムしやすいことを提供してきたからです。開発フレームワークはXbox 360、WindowsPhone、Zuneに使われています。

以前のゲームはFez、Flotilla、Terraria、Bastionといった技術で開発されています。

ある開発者は、アマチュア開発者がXboxで機能している完全に機能しているゲームをするために余分の知識を必要とするとすると、XNAの除去がマイクロソフトの次のXboxコンソールの上でXbox Live Indie Gameサービスにとって終わりを意味する可能性があるという懸念を表明しました。

彼らは「実行できる何かを作るために、我々は必要な多くの追加知識が必要になり、XNAは管理(managed)された言語であったということです。これはつまり、XBLIG経由でXboxOS全体をクラッシュさせるよりも難しいということです。これは『正規の(proper)ゲーム開発者』がローレベルのAPIをつかうということと同じことではありません」と述べています。

「だれも死にゆくテクノロジーを学びたくありません、XNAの魅力の大きい部分はXbox LIVEの上でゲームを売る見通しがあるということでした。たとえそれが最も商業的に分別のある行為ではなかったとしても。もし技術の擁護団体がなかったとしても、我々は次世代機でXBLIGがないマイクロソフトを支持しない、採用(adoption)とインセンティブがないXNAを誰も牽引しないことを学ぶべきだ」
</粗訳>

もはや革新的でない、ということはいろいろなカンファレンスやデモを見ていても感じる。
まだやることは沢山あるけれど、APIに落としていることは少ない。
個人的にはシェーダーとかもっとAPI化、フレームワーク化しろよと思う。

というか、リアルタイムグラフィックスにどんな技術的革新を求めているかにもよるのだけれど、この10年でDirectXが実現してきたことは、ビデオゲームというプラットフォームのすべてにローラーをかけて荒地を平地にするような「プラットフォーム化」だったのだからしようがない。

グラフィックスの革新というのはエクスペリエンスに大きく影響がある。Kinectのようなインタラクション技術、DirectPlay、DirectInputのようなヒューマンインターフェース技術、フォースフィードバック技術もそうだ。でも「マーケットで売る許可」は技術ではないけれど、プロではないゲーム開発者にとっては「ドキドキするエクスペリエンス」であることは間違いない。

そんな状況で起爆剤になったであろうKinectSDKもGameStudioに関連したデモやサンプルは極端に少ない。
Windows8、WPFばかりなのである。

(なのでXNAのデモを頑張って書いていたりするわけなのですが)

当のPromit Roy (Technical Lead at Action and Reaction Lab, @promit_roy)は「GLに移行するな」とも言っている
DirectX/XNA Phase Out Continues

DirectX/XNA Phase Out Continues

You’ll understand if I am not in a hurry to start coding for your newest framework.

Before things get out of hand: No, you should not switch to OpenGL. I get to use it professionally every day and it sucks. Direct3D 11 with the Win8 SDK is a perfectly viable choice, much more so than OpenGL for high end development. None of the contents of my frequent complaints should imply in any way that OpenGL is a good thing.

物事が収集つかなくなる前に:OpenGLに切り替えを急ぐ必要はない、日常的にOpenGLを使ってハイエンドプロジェクトをこなしている側としても、Direct3D11+Windows8の組み合わせで完璧でいける組み合わせ。

ということで、まあ参考になる意見。

でもやっぱり、教育者としては「先日の教育関連のMTGでもXNA力説しなくて正解だったな」と思うわけです。
XNAでC#でゲームらしきものを書けるエンジニアを大量生産したとしても、余り意味があることではなく、それぐらいなら、おなじC#でもフォームアプリケーションとかで色々できる人を養成したほうがよっぽど社会の役に立ちます。

いま学ぶならWindows8 SDKでStoreに並べるところまでを学んでほしい。

ちなみに白井研的にはHLSLが終了されるとシェーダー技術を教育しづらくなるので辛いです。

それにしてもゲームエンジンはどこに向かうのか…。
・インタラクション(Kinect、タッチパネル、oF等を超えたい)
http://openframeworks.jp/
・インタラクティブなサウンド関係のAPI強化
・ソーシャル連携機能強化
・Windows8との連携強化
・大規模データベースとの連携、テスト機能
・グラフィックスのツール化、スクリプト化

ガチなシェーダー技術をどこに残すかが課題だな…そうなるとやっぱりOpenGL ESなのかも?

 

【追記】

facebook上でつぶやいているのももったいないので。

プロプライエタリなゲーム開発者が「細かいところに手が回らないと使えない」って力説するから、そういう小回り以降は全部開発者にまかせていってしまうのだけど、実際には「このシェーダー使える!」とか「数学よくわかんねんだけど、このエンジン使うとなんとなく動くね」とかそういった部分をエンジンとかAPIがうまく設計できていたりすると「使いたくなる環境」にはなると思うんですよ。それは同時に教育的な環境とも言える。

#Microsoft kodu Game Labのことではないですよ

http://research.microsoft.com/en-us/projects/kodu/

[browser-shot url=”http://research.microsoft.com/en-us/projects/kodu/” width=”600″]

でもいまのXNAって小中学生がkoduでできる以上のことを何か提供しているんだろうか。
もちろんAAAタイトルとは別ですが、舞台としては何も変わっていない。

去年、Laval Virtualで子供限定koduゲームジャムやってましたが、素晴らしい出来。

kodu game contest in Laval Virtual 2012 France