• ベストアンサー

C++C#ゲーム開発においての差違は?

昔はC++&DirectXが基本というイメージがありました。 でも最近、C++.NETとかC#なんて言語があります。 DirectXの方も、Managed DirectXとかXNAという選択肢があるそうですね。 そこで質問です。 これらをどう組み合わせるのがディファクトスタンダードなのか、またそれぞれの長所・短所を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答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#になります。 今のところ学生/初心者向けの色合いが強いと思います。

sankaku197
質問者

お礼

まずご指摘ありがとうございます。 C++.NETはC++/CLIのつもりで書いてました、正しくはC++/CLIですね。 XNAについてもManagedの後継のようなものだと勘違いしてました。 ネイティブコードよりマネージコードの方が速いという主旨の記事があたので、てっきりC++はもう実用的な言語ではないのかと思い今回の質問をしたのですが。 どうやら、C++&DirectXで良いようですね。 回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • monova
  • ベストアンサー率68% (68/100)
回答No.2

XNA は Managed DirectX の後継という認識でも間違いないと思います。 Managed DirectX の思想を受け継いで、XNA が開発され、Managed DirectXは、 開発が中止されています。 NO.1様が的確に回答されていますので、補足的に回答します。 現状では、マイクロソフトはXNAに寄る開発を推奨しています。 特に、ゲームの開発はXNAを推しています。 XNAは、プラットフォームが変わってもコンパイル仕直すだけで 各々のプラットフォームに対応できる事が謳われており、移植の 工数が減る事を利点としています。 特に、Windowsから Xbox360 への移植(もしくはその逆)に有利だと されています。また、次世代のXboxもXNAに寄る開発環境を 継承するとアナウンスされています。 ただ…XNAで作られた実行ファイルは一部、出力が遅くなる事が あります。 そうした場合は、 C++ で書き直したりする事もあります。 ハードをダイレクトに制御したい場合も、C++ の方が 有利なシーンも出てきます。 また、XNA の環境をサポートしていないプラットフォームに 移植する際、工数が増加してしまう場合が多いです。

sankaku197
質問者

お礼

おー、まるっきり勘違でもなかったみたいで。 ただなるほど、あくまで移植(特にXbox?)を視野に入れた場合の選択肢なんですね。 >XNAで作られた実行ファイルは一部、出力が遅くなる事が >また、XNA の環境をサポートしていないプラットフォームに >移植する際、工数が増加してしまう場合が多いです。 この辺りも考慮すると、私にはあまり魅力的な環境ではなさそうです。 回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C#やゲームプログラミングにお詳しい方へ

    C#でゲームプログラミングをしようと思っています。 ネット上で調べてみると、Managed DirectXやXNAなどを使った方がいいと書いてありました。 これらはゲームを作る際に必ず必要なのでしょうか。 またC#でゲームプログラミングをする際に、必要なもの、オススメの物などがあれば教えて頂きたいです。 ※例えばテトリスのようなちょっとしたミニゲームを作る場合、.NET Frameworkだけではできないのでしょうか。

  • C#で3Dゲームを作ることについて

    最近、C++でDirectXをやっているのですが、C#に慣れ親しんだせいか、C++のエグさに失神しそうです。 そこでお聞きしたいのですが、「C#とXNA」「C#とDirectX直接」のようなものは、 「C++とDirectX直接」と比べて、速度はどれくらい違うものでしょうか? 作りたいゲームは3DのFPSゲームみたいなやつですが、 さすがに数千円のFPSゲームのようにハイスペックを要求するものではないです。 それこそピンキリだとは思いますが、個人的な感想などでも構いませんので、暇なときにご回答ください。

  • XBox360用の開発環境ライブラリXNA

    お世話になります。 XBox360用の開発環境ライブラリXNAがあると聞きました。 C++でXBOX360のゲームが作れるそうです。 そこで質問なのですが、C++で作ったソースをそのままXNAに移行できるかどうか知りたいのです。 一応、DirectXで製作したゲームのソースは持っています。 そのソースをXNAでそのまま使えるのでしょうか? 宜しくお願い致します。

  • 課題研究で3Dゲーム製作

    約8ヶ月後に学校で課題研究の発表があります。 そこで私は3Dゲームを製作することにしました。 まず、この期間で3Dゲームを作るとなると開発環境は何が一番適当でしょうか? 自分が考えてたものは  ・C/C++とDirectX(C言語はほぼ勉強済み。C++、DirectXは初めて)  ・C#とXNA(C#、XNAともに初めて) のどちらかにしようかなと思っています。 自分はFPS又はTPSの3Dのアクションゲームを作りたいと思っています。 作成するにあたっていい講座サイトや書籍などもないでしょうか?

  • C言語とJava

    C言語とJavaのそれぞれについて長所、短所を教えて下さい。

    • ベストアンサー
    • Java
  • VisualのC関係についての質問。

    最近、本を読んで、Visual C++ .NETとVisual C# .NETがあるということを知りました。 これらは、プログラミングしてはとても難しいと言う事もわかりました。 しかし、私はこれらを学んで見たいのですが、 とても難しい言語ということなので、 どうせならいいものを学びたいです。 そこで、Visual C++ .NETとVisual C# .NETの長所と短所を教えてください。 本ではVisual C# .NETの方が進んでいるということなので、 Visual C# .NETを学ぼうと思うのですが、 Visual C++ .NETにできて、Visual C# .NETではできないことはなんですか? Visual C++ .NETとVisual C# .NETに詳しい方々。 ぜひともご回答お願いします。

  • C++とゲームプログラミング

    ■C言語とWin32APIでしばらくコーテイングしていましたが、 最近、C++言語を始めた者です。 ■勉強の為、C++とWin32APIで書かれゲームプログラムを探しています。 ■DirectXなどは使用してない物を希望します。 適当なHP(教材)を教えて下さい。

  • VB.NETとC#の違い

    JOBで使用する開発言語をVB.NETにするかC#にするかで迷っています。 画面アプリと裏タスクという構成ですが、 今までは画面=VB、裏タスク=Cという固定概念でしたが、このままでよいのか疑問です。 下記は私なりに調べてみた比較なのですが、 ●従来Cの短所とされてきたこと ・画面設計のし易さ  C#はVBと同じようにVisualStudio上で簡単に設計できる。イベントドリブンも可能。 ・言語のとっつき易さ C#でASPを組んだ経験もありますので大して抵抗はありません。                しかも、VB6.0→VB.NETの移行は従来のVB5.0→6.0へ移行ほど安易ではない。 ●従来Cの長所とされてきたこと ・処理速度     VB.NETと差が無いような記事も見たことがあります。 こう考えるとC#とVBの差が、どんどん縮んできており、長所短所を見出すことができません。 いったい違いって何でしょうか、ご存知の方、ご教示いただきたくお願いいたします。

  • CとJAVA

    いずれ、CとJAVA両方使えるようになりたいのですが、等しいくらいどちらもやりたいです。 なのでどちらから手をつければいいか決められないでいます。とりあえずなにか作りたい!っていう希望はあります。そして情報系の学科に進むつもりでいるので。 プログラミングはまったくの初心者ですが、一般的にJAVAは文法的にC言語に似た言語、JAVAの方がとっつきやすい、っていうのはよく聞きます。でも最終的にはプログラミング関係の就職も考えているので大変でも努力は惜しまないつもりです。 そこでC言語とJAVAそれぞれについての長所、短所を教えて欲しいです。もっと踏み込んで、(将来性も考えて)どちらから手をつければいいかのご意見をもらえればと思います。 ご意見お待ちしています!

  • JAVA と C について

    これから JAVA の勉強を始めようかと 考えています. C は昔からやっています. JAVA と C を比べたときの 長所,短所を教えてもらえませんか? プログラミングの使用は グラフィカルなシミュレーションを 行いたいと考えています. ちなみに C では OpenGL を使っています. JAVA も OpenGL が使えるんですよね? OS は Windows も Linux も使います.

このQ&Aのポイント
  • scansnap homeのscanボタンを押しても、表示されるのは添付のscansnap managerの画面です。
  • https://www.pfu.fujitsu.com/imaging/downloads/manual/ss_webhelp/jp/help/webhelp/topic/ope_screen_scan.htmlにあるようなグラフィカルな画面は表示されません。
  • 名刺を両面読み取りしようとしても、読み取りモードの変更ができません。scansnap homeのインストール方法が間違っている可能性があります。
回答を見る