• ベストアンサー

★C++(DirectX) vs Java(Java3D)★

公開頒布するゲームの作成を考えていますが,その前に・・・ 手段としてJava+Java3Dで行う方法とC言語+DirectXでプログラムを行う方法があるようで・・・ 一般に売られているコンピュータゲームにはDirectXを含むものが多いため,後者の組み合わせでゲームを作っているのかなと勝手に思っていますが,実際のところどうなんでしょうか? 改ざんを防ぐためにはDirectXを使ったほうが良い等があるのでしょうか? ちなみに,JavaもC言語も学習していますし,作るゲームのジャンル(RPG,STG)などは考えず,さまざまなゲーム作成をしたいと考えています.

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

  • ベストアンサー
回答No.2

 こんにちは。  Javaは使用した事が無いので、速度的に如何かは分からないのですが、此の言語では「速度が遅すぎて遊びものにならない」と言う致命的な事実が発覚した日には泣くに泣けないと思うので、C/C++とDirectXの組み合わせを選択しておくのが最も無難な気がします。  私が専門学生当時、卒業製作でVisualC++4.0とX68000アセンブラのどちらかを選択し、ゲームを作成しました。私の班はC/C++の難易度に耐え兼ねて、X68000アセンブラの方へ逃げましたが、VisualC++4.0を選択した殆どの班はDIBSECTION等による描写でした。その当時DirectXの情報や資料が殆ど無かった為です。  しかし、其れは過去の話で、今現在ではDirectX関連の書籍など、少し大きめの本屋に行けば、数え切れない程陳列されています。その殆どがVisualC++とワンセットで書かれているものです。  単純に検索しても一目瞭然? です。勿論の中には使用する事と直接関係無いものも含まれます。  google検索エンジン  DirectX 30,900,000件  Java3D 976,000件  以上の事から情報の流通量だけでも、明らかにDirectXの方が上だと思います。ただ、ネットの情報は便利ですが、話が飛び飛びである事も多いので、理解を深めて使う為には、使用方法や要点が整理された書籍も必要になると思います。  私は海外製のPCゲームでFPSを好んでいますが、確証は無いものの、最早あの様な代物はC/C++でもない限り、動かないかなと。  体験談で言えば昔、擬似3Dのバイクレースゲーム(懐かしのハングオン見たいな代物)をVisualBasic5.0とDirectXで作成していました。  「右・左」へハンドル操作して曲がる計算処理のどちらを先に書いたかによって、右の効きが良くなったり、左の効きが悪くなったりと、散々でした。  堪り兼ねて、C/C++に移行し其処でやり直しました。スクロールの精度を2倍、障害物の表示数を10倍以上に増やしても、VisualBasic5.0より遥かに早かったです。

puyoer
質問者

補足

参考にさせていただきました★ ありがとうございます!

その他の回答 (1)

回答No.1

ゲームは速度重視です。 大半はC/C++ではないでしょうか。 Javaは速度面に不安があります。 (最近はそうでもないらしいですが) メモリ使用量も半端ないですし。 配布するのがPCゲームなら選択肢はC/C++しかないと思います。

puyoer
質問者

補足

動作的には実感するところがありますね! 参考になりました。 ありがとうございます!

関連するQ&A

  • CかJavaか

     これからプログラミング言語を勉強しようと思って何言語をしようか迷っております。それはC言語かJavaかです。  何が目的かといいますと、ゲームの作成やちょっとしたアプリケーションの開発です。(Web用ではありません。) Javaでも開発できるそうなのですが、大体はC言語(系)で開発しているのですよね? あともうひとつ、携帯電話用のアプリってJavaでしか開発できないんですか?Cでは不可能ですか? ちなみに、私が今までやってきたのはJavaScriptとPHPぐらいです。よろしくお願いします。

  • DirectXとC言語でシューティングゲームを作るには

    DirectXとC言語(とVisualC++)を使って PC用の2Dのシューティングを作ろうかと考えています。 (派手なエフェクト等を使う予定なのでDirectXと C言語とVisualC++を少し習っているので扱いやすいかなと) ですがゲームというものは全く作ったことが無く ウィンドウを作成してDirectXGraphicsを…(以下略) とかどのように組めばいいのかわからないのです。 そこで色々とサイトや本を探して勉強しようと考えたのですが DirectXとC以外の言語でのシューティング作成サイトや 本も別の言語での作成方法あったり古いもの(グラフィックが…)や 一から作り方を解説している、というものはなく 結局ゲーム作成どころではなくなってしまいました。 (私の見過ごしかもしれませんが…) なのでこちらにてお伺いさせていただいたのですが このようなシューティング作成の解説をしているサイトや 書籍というものは無いのでしょうか? おそらくDirectXを勉強しろと言われるかもしれませんが シューティングを作るのみで、また時間も限られていますので…(汗 もしご存知であれば教えていただければ嬉しく思います。 よろしくお願いします。

  • 基礎からC・C++を学習し、DirectXへの道

    私はゲームにおけるプログラミングを理解したく、C・C++を勉強したいと思っています。 しかしC言語についてはまったく知識がありません。過去にBASICで音楽をつくったりEXCELでVBAをいじった程度のド素人です。 いちおうゲームに関する技術は一通り理解しています。CGソフトでのモデリング、マッピング、アニメーションもできます。 専門用語になりますが、いちばんできるようになりたいのは「シェーダの作成」です。レンダリング部分を自在にいじれるようになりたいのです。 このような状況で、C・C++を学習するにはどうしたらよいでしょうか?私は普段は会社勤めですのでできれば都内で学習できる学校に通いたいと思っています。 ゲーム全般の学習ができなくても、C・C++がある程度理解できるようになれば、あとはDirectXやOpenGL、Cgfxなどの専門書で理解できるのでしょうか? Cの基礎からの学習方法だけのアドバイスでもかまいません。よろしくお願いします。

  • JavaからCへ

    僕は今までJavaを勉強していたのですが、 つい最近になって、C言語に手をつけ始めました。 Javaを知っていればC言語は結構とっつきやすいのではないかと思って始めたのですが、Javaに慣れすぎたせいか、C言語の文法がどうもしっくりきません。 特に関数あたりが・・・・。 C言語の関数って、Javaでいうところのメソッドですよね? 僕はそのように解釈しているのですが、あまり自信がないので、ご存知の方がいましたらどなたか教えてください。 あと、Javaを学習した人のためのC言語の本、もしくはC言語を学んだ人のためのJavaの本がありましたら教えてください。

    • ベストアンサー
    • Java
  • ゲーム作りたいがC言語かJAVAか迷う。

    私は将来、ゲーム・デザイナーになりたくて、プログラミングの勉強をしたいと思っています。それに向けて、学習するべき言語というのはCなのかJAVAなのかでまよっているのです。よくプログラミング言語など似たようなところがあり、ひとつの言語を身につければ他の言語も身につきやすいともいいますが、なるべく効率的に学んでいきたいですし、一番使用されることの多い言語を選びたいです。私が作りたいのは携帯電話用の比較的簡単なゲームでなく、ある程度大掛かりなというか、本格的なゲームを開発してみたいという思いがあります。これは特殊な例かもしれませんが、例えばコンピュータ将棋のプログラムなどではほとんどC、C++で開発されています。JAVAなどで作成されたソフトは見かけませんでした。やはり、JAVAの利点もあるでしょうが、結局、一番普遍的なというか、汎用性のあるプログラミング言語としてはC言語を選択するのが最良の策かなと考えています。これは妥当な筋道なのかとお尋ねしたく質問させていただきました。

  • JavaとCはどちらが速い?

    質問タイトルどおりですが、JavaとC言語ではどちらが 速いでしょうか? プログラムを作成しようと考えているのですが、 解析のスピードを重視するプログラムを作成するので JavaとCでどちらのほうが速いかによって、どちらの 言語でプログラミングしようか迷っています。

  • CとJava両方学習するべきか?

    プログラミング初心者です。 回答よろしくお願いします  まず前もって説明させてもらうと、進出したい分野はオンラインゲームや仮想空間です。  高橋麻奈 やさしいJava を2ヶ月ほど学習しクラスの概念に入ったところです。 ところがネットでゲーム開発はC/C++ が一般的と知って夜中にいてもたってもいられなくなりTUTAYAで 柴田望洋 明解C言語 を買ってきました。 気持ちとしてはCに乗り換えようと思うのですが、Javaに費やした2ヶ月あまりの時間も正直惜しいです。現場に両方使える方がたくさんいらっしゃってそのことが評価されていたり、オンラインゲームや仮想空間などの分野で両方使えることが便利なら、このままJavaも勉強を続けようかとも思っています。それとも初心者のうちから複数の言語の勉強に手をつけるのは困難でしょうか? そこで質問です。 私はCに乗り換えてJavaはやめる。 CとJava両方学習する。 どちらの選択をしたほうがよいでしょうか? 初心者ゆえのズレている質問かもしれませんが 回答よろしくお願いします

  • DirectX 9.0c について

    DirectX診断ツールでのDirectXバージョンは確かに9.0cになっているのに、必須動作環境がDirectX 9.0c以上のゲーム等をプレイしようとすると、起動に失敗します。 他の必須動作環境は全て満たしていて、9.0c以上のゲームになると必ず失敗します。 以前、誤ってDirectX8.1をインストールしてしまい、その時から今の状態が続いています。 その後再び9.0cをインストールしたのですが、なぜか問題が解消されません。 解決方法、またはアドバイスをよろしくお願いします。

  • java→Cについて

    参考書でjavaで書いてある内容をC言語に直したいと思っているのですが、 javaでのBigInteger、また、それにともなうBiginteger.toByteArray、Biginteger.addをどのように表記すればいいか悩んでいます。 なにかいい方法はないでしょうか?

  • JAVAからC/C++にシフトしたいのですが・・・

    はじめまして。 質問があります。 JAVAを4年ほどやってきたのですが、理由があってC/C++ を学習することになりました。GoFに関するパターンやマルチスレッ ドに関する知識は、C/C++でも生かせるでしょうか? JAVAはオブジェクト指向言語なので、ある程度はC++を理解 する分にはつぶしがきくとは思うのですが、甘いでしょうか? どうかアドバイスをお願いします。

専門家に質問してみよう