PC開発に関しては(XboxとZuneを除く)、
XNA と C# DirectX の違いは何ですか? C# DirectX は XNA よりも大きな利点がありますか (速度、ロイヤリティなどの点で)?
この 2 つは、速度が管理されていない C++ DirectX と比べてどうですか?
ゲームプログラミングに関して、業界はどこに移行していますか?
アンマネージ コードを書くのが得意なら、おそらく DirectX の上にもっと高速なグラフィック エンジンを書くことができるでしょう。ただし、愛好家にとっては、XNA は2D と 3D の両方のゲーム開発で十分なパフォーマンスを発揮します。
これは、Xbox 360 で XNA ビルドのレーシング ゲームを実行するChannel 9 の優れたビデオです。フル HD でも問題なく動作します。XBox Live Arcade ゲームのいくつかは、XNA コミュニティによって開発されています。
C# DirectX に関する限り、私が思い出したように、管理された DirectX は、XNA が基本的にそれを置き換えるため、正式にサポートされなくなりました。私が間違っている可能性があります。
XNA と Managed DirectX のパフォーマンスの違いは、本質的には同じであるため、ごくわずかです。XNA には、記述する必要があるボイラープレート コードの量を減らすための便利なビットがいくつかあります。
Xna Game Studioのものは、ゲーム中心の問題の解決に焦点を合わせていますが、Xna Game Studioのもののパフォーマンスは、適切なメトリックが表示されない管理されたDirectXよりも悪いと言っているポスターには疑問があります。
MSの外部の独立したグループが、SlimDxと呼ばれるプロジェクトを作成しました-http ://slimdx.mdxinfo.com/ ゲームではなくアプリケーションを作成している場合(他の質問ではないと思います)、それは価値があるかもしれません検討中。
業界は依然としてゲームの根性にC++を多用していますが、XBoxライブのコミュニティゲームセクションでXNA Game Studioを使用して完全に管理されたコードで記述され、XBoxアーケード自体でリリースされたゲームのリリースは成功しています。コミュニティゲームでどれだけの人が作ったかについて、すぐにいくつかの興味深い統計が来るはずです。
多くの定価ゲームはC++を使用するものもありますが、実際のゲームロジックにはLuaのようなものがあります...そしてLuaは驚異的なスピードで知られていません!
C#は優れた学習曲線を持っており、業界のツールプログラマーによって使用されています。これは、あなたのベルトの下にあると便利な言語です。C ++は優れた言語ですが、関数型コードを作成するにはより多くの規律が必要です。そして、新しい人に自分自身をぶら下げるためのより多くのロープを与えます。C#は動的に変更され、コンパイル時ではなく実行時にループを展開するなどの処理を実行できます。優れたC#は、優れた読み取り可能なC ++と同じか、それよりも高速ですが、使用方法を知っている必要があります。非常にタイトなループでは、特定の状況でC++とアセンブラーが勝つ可能性があります。多くの場合、C ++を使用するゲームでは、カスタムアロケータは、通常のアロケータによって引き起こされる断片化を支援するために独自のメモリ戦略で作成されます...そのようなことはのCLRによって処理されます。
ゲーム開発に取り掛かり、言語を決定することを検討している場合(つまり、行間を読むことは、その質問の行で行っている場所のようです)、使用するのに最適な言語は、終了した言語です。 C ++、Objective C、C#、Flash、Silverlightなど、最後に表示するプロジェクト。言語が変化し、好意的になり、好まれなくなると、採用担当者はさまざまな言語の実証済みの習得を探すことがよくあります。彼らが現在使用しているもの-そして完成した仕事のポートフォリオはそれをするでしょう。
現時点では、Microsoft は Metro スタイル アプリで XNA をサポートする予定はないようです。XNA および現在非推奨の「管理された DirectX」に代わるものはSharpDxです。これは、Metro スタイル アプリの作成に使用でき、XNA、SlimDX、および Windows API コード パックに対して有利にベンチマークされています。