![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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ランキング
-
JavaMailを使う前のTomcatの設定
-
Java開発って何ですか?
-
ストラッツ(Struts)って本当に...
-
JavaScriptの開発環境について
-
Web開発について
-
C言語を教えてお金を得たい
-
AndroidとJavaの違いについて
-
ログイン機能について
-
JAVAを勉強したいの
-
Visual C++ Express Edition 20...
-
JAVAを使う理由を教えてください。
-
Webアプリケーション開発を学ぶ...
-
EclipseとStrutsについての質問
-
VB.NET(VS2005)での開発環境...
-
システムエンジニアを目指して...
-
VB6で開発されたアプリをVB2008...
-
職業訓練ITコースの選択で迷う。
-
開発環境の値段について
-
Java 2 Standard Edition, v 1....
-
Webアプリケーションを開発する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
「C#ができればJavaもできる」...
-
プログラミング開発経験とは?
-
オブジェクト指向について
-
プログラミング言語について
-
この便利な時代に開発環境すら...
-
文字列に半角スペースがあるか...
-
フリーソフトの作成言語
-
JAVAを使って管理システムを構...
-
TOMCATとANDROIDSTUDIOの違い
-
WeblogicでStrut...
-
JavaMailを使う前のTomcatの設定
-
PowerBuilderの知識が必要です。
-
今でも、TomcatとApacheの連結...
-
iPodでゲームソフトを製作する方法
-
AndroidとJavaの違いについて
-
プリクラの様な画像処理(webカ...
-
android開発環境アンインストール
-
コマンドボタンの文字が消える!
-
Javaでバッチ処理
おすすめ情報