ページ 11

ゲームに向いている言語は?

Posted: 2009年6月04日(木) 20:14
by nn
市販されているゲームはC++で作られているときいたのですが、
実際のところ、ゲームに向いている言語って何なのでしょうか?
JAVAは作りやすいですが、キーイベントなどが個人的に反応が悪い気がします(特に連打とかしたとき)
CやC++はJAVAに比べると作りにくい(個人的に)と思うのですがJAVAのような不具合がないきがします。
一体、どの言語が一番いいのでしょうか?

Re:ゲームに向いている言語は?

Posted: 2009年6月04日(木) 20:30
by MNS
ほとんどの場合、C,C++がゲーム開発には向いています。
なぜなら、ゲーム開発で重要視されるのは言語速度だからです。
Javaはプログラミング言語の中でも遅い言語の一つです。
あまり速度が求められないゲームを開発する上では、
Javaは悪くないと思います。
(キーイベントなどは自作できるのではないでしょうか?)

市販のゲームなどは、ほとんどがC,C++で開発されているはずです。

Re:ゲームに向いている言語は?

Posted: 2009年6月04日(木) 23:48
by dic
半人前以前の私が言うのもなんですが
ゲームのジャンル次第ですね
処理速度を求めるならC/C++
あまり速度を問わないならVB
ブラウザでゲームさせたいならJAVA
でしょうか

言語にも長所短所はあります
また、開発者の向き不向きもありますので
一概には言えないと私は考えてます

Re:ゲームに向いている言語は?

Posted: 2009年6月05日(金) 23:03
by nn
回答ありがとうございます。
やはりJAVAは処理速度が遅いんですね・・・
ところで疑問に思ったことがあるのですが、
異なる言語で1つの作品をつくることはできないのでしょうか?
例えば、処理速度が求められる部分だけをC++で、それ以外をJAVAでのように。

Re:ゲームに向いている言語は?

Posted: 2009年6月05日(金) 23:10
by たかぎ
> 異なる言語で1つの作品をつくることはできないのでしょうか?
> 例えば、処理速度が求められる部分だけをC++で、それ以外をJAVAでのように。

JNIを使うなどすれば可能です。
ただ、GCレスライブラリを開発するぐらいの覚悟がなければ、思ったほどの効果は得られないかもしれません。

Re:ゲームに向いている言語は?

Posted: 2009年6月06日(土) 11:11
by たいちう
「Java 実行速度」でぐぐると色々出てきますが、
初期のJavaが遅かったため、実際以上に「Javaは遅い」という
印象を持っている人が多いように思います。

Javaでの開発を勧めるわけではありませんが、処理速度を理由に
Javaが使い物にならないと結論付けるのはどうかと思う。
遅かったとしてもせいぜい2~3割程度で
(根拠は特にありません。私の印象です。)、
マシンスペックやプログラムの作りの方がよほど影響が大きいでしょう。


dicさん
> あまり速度を問わないならVB

今現在VBしか知らない人なら別ですが、
VBのメリットは殆どないのではないかと思います。

Re:ゲームに向いている言語は?

Posted: 2009年6月06日(土) 12:06
by たかぎ
> 遅かったとしてもせいぜい2~3割程度で

起動の遅さは間違いありませんが、走り出せばそんなもんだと思います。
ただし、それはJavaの処理内容と同等のものをC/C++で実装した場合の話です。

C/C++の強みは、高速化のためにエラーチェックなどを"意図的に行わない"ことができるところにあります。
配列の範囲チェックやNULLポインタのチェックなどを勝手に行ってくれれば安全かもしれませんが、エラーが発生しないことをプログラマが適切に保障できるのであれば無駄な処理でしかありませんから。

ある意味、CとC++の関係も似たところがあるのですが、JavaとC++の決定的な違いは、C++は不要な動作をプログラマの意思で除去できるのに対して、Javaはそれが不可能または非常に困難な点にあります。

もう一点、リアルタイム性の問題もあります。
ゲームなので人命に関わるようなことはありませんが、勝手なタイミングでGCが走って露骨な処理落ちが起きるようなものは許せないでしょう。

Re:ゲームに向いている言語は?

Posted: 2009年6月06日(土) 12:21
by バグ
トピからズレるので恐縮なのですが…

>たかぎさん
安定した挙動をさせる為に、勝手なGCが起こらないように、プログラマー側で定期的にGCを行なうというのは対策にはならないのでしょうか?

Re:ゲームに向いている言語は?

Posted: 2009年6月06日(土) 12:42
by たかぎ
> 安定した挙動をさせる為に、勝手なGCが起こらないように、プログラマー側で定期的にGCを行なうというのは対策にはならないのでしょうか?

System.gcメソッドの動作はJVMの実装依存ですのでいまいち信用できませんが、ある程度の対策にはなると思います。

Re:ゲームに向いている言語は?

Posted: 2009年6月07日(日) 15:25
by nn
回答ありがとうございます。
実際、作ることは可能なんですね。
しかし、皆さんのお話を聞いていると自分はまだそのへんのレベルには
至っていないようなので、もっと基礎をしっかり固めようと思いました。
どうもありがとうございました。