No.1ベストアンサー
- 回答日時:
業務レベルの話をしますと
Windows版のパッケージゲームがC#で開発される事は、ほとんどありません。
何年か前に、.NET Framework(C#)で作られたパッケージゲームがアメリカで発売され
話題になったことがありますが、話題になるぐらいマイナーだということです。
C++/CLIからも .Net Frameworkを呼び出す事は可能なので、Managed DirectXとして使う事もできるんでしょうが、
普通パッケージゲームソフトで.Net Framework自体使う事がほとんどありません。
(C#や.Net Frameworkを使うと他のプラットフォームへの移植性が下がりますし、
ユーザーにも.Net Framework環境が必要になる等のデメリットが考えられます。)
DirectX SDK April 2005のサンプルにはManaged(C#とVB)のサンプルが入っていましたが
現在のSDK(March 2008)では消えていますね。
Windowsパッケージゲームソフトの開発環境のシェアはC/C++(というかVisual C++)とDirectX
の組み合わせが90%以上だと思います。
※C++.NETという言語は存在しません。以前 「Visual C++.NET 2003」という製品名はありましたが
2005年以降リリースされたVisual C++の製品名は「Visual C++ 2005」、「Visual C++ 2008」となっています。
※XNAはDirectXの種類ではなくゲーム開発のためのツール或いは環境であり、開発言語はC#になります。
今のところ学生/初心者向けの色合いが強いと思います。
まずご指摘ありがとうございます。
C++.NETはC++/CLIのつもりで書いてました、正しくはC++/CLIですね。
XNAについてもManagedの後継のようなものだと勘違いしてました。
ネイティブコードよりマネージコードの方が速いという主旨の記事があたので、てっきりC++はもう実用的な言語ではないのかと思い今回の質問をしたのですが。
どうやら、C++&DirectXで良いようですね。
回答ありがとうございました。
No.2
- 回答日時:
XNA は Managed DirectX の後継という認識でも間違いないと思います。
Managed DirectX の思想を受け継いで、XNA が開発され、Managed DirectXは、
開発が中止されています。
NO.1様が的確に回答されていますので、補足的に回答します。
現状では、マイクロソフトはXNAに寄る開発を推奨しています。
特に、ゲームの開発はXNAを推しています。
XNAは、プラットフォームが変わってもコンパイル仕直すだけで
各々のプラットフォームに対応できる事が謳われており、移植の
工数が減る事を利点としています。
特に、Windowsから Xbox360 への移植(もしくはその逆)に有利だと
されています。また、次世代のXboxもXNAに寄る開発環境を
継承するとアナウンスされています。
ただ…XNAで作られた実行ファイルは一部、出力が遅くなる事が
あります。
そうした場合は、 C++ で書き直したりする事もあります。
ハードをダイレクトに制御したい場合も、C++ の方が
有利なシーンも出てきます。
また、XNA の環境をサポートしていないプラットフォームに
移植する際、工数が増加してしまう場合が多いです。
おー、まるっきり勘違でもなかったみたいで。
ただなるほど、あくまで移植(特にXbox?)を視野に入れた場合の選択肢なんですね。
>XNAで作られた実行ファイルは一部、出力が遅くなる事が
>また、XNA の環境をサポートしていないプラットフォームに
>移植する際、工数が増加してしまう場合が多いです。
この辺りも考慮すると、私にはあまり魅力的な環境ではなさそうです。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) VisualStudioSetup.exeの設定について(Rustのインストールの準備として) 2 2023/04/17 12:54
- Microsoft ASP ASP.NETや.NET、C#とかVBとか 2 2022/05/16 21:16
- 日本語 日本語の文法について質問です 11 2023/07/25 09:58
- 英語 another の使い方、otherなどの使い方がわかりません。 大学に入って英文法を研究している先 3 2022/08/03 21:23
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- 統計学 t検定を繰り返してはいけない理由について教えて下さい。 2 2022/05/15 12:37
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
- 数学 この問題を分かりやすく説明してくれませんか。 中学2年生の連立方程式の問題です。 わからなくて困って 4 2023/08/25 13:30
- 英語 以下の英文法の四択問題について質問です。 The Internet service provider 1 2023/02/01 19:50
- その他(プログラミング・Web制作) python 3.10で 同じlistに同じ構文で同じデータ代入した結果が異なる現象発生 7 2022/06/18 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
オブジェクト指向について
-
Eclipseソース開発画面の行番号...
-
C言語によるバイナリファイルの...
-
Mac、Javaのライブラリ追加場所...
-
JAVAを使って管理システムを構...
-
Linux上でのゲーム開発環境につ...
-
プリクラの様な画像処理(webカ...
-
高度なPS3ソフトの作る上で...
-
Javaでゲームコントローラーを...
-
Eclipseのダウンロード
-
コマンドボタンの文字が消える!
-
JSPファイルで生じるエラーをど...
-
vba クリップボードクリアにつ...
-
Javaでのエラーについて
-
gitでバージョン指定してダウン...
-
IISワーカープロセスが原因でCP...
-
バイナリファイルの著作権など...
-
使用しているJUnitのバージョン...
-
VBAの「for i=1 to cells(…」...
-
JavaとAndroidアプリ(Java)違...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
オブジェクト指向について
-
プログラミング開発経験とは?
-
JavaMailを使う前のTomcatの設定
-
「C#ができればJavaもできる」...
-
この便利な時代に開発環境すら...
-
プログラミング言語について
-
eclipseでtomcatを使うには
-
JAVAを使って管理システムを構...
-
文字列に半角スペースがあるか...
-
今でも、TomcatとApacheの連結...
-
Javaでバッチ処理
-
PowerBuilderの知識が必要です。
-
ファイルアップロード時の文字...
-
PL/SQLを使った開発について質...
-
Linux上でのゲーム開発環境につ...
-
C言語によるバイナリファイルの...
-
Java案件で、業務内容に製造以...
-
TOMCATを使用したStrutsについて
-
androidアプリ開発における白黒...
おすすめ情報