- PR -

Javaはゲーム開発に向いてない?

投稿者投稿内容
MUTTI
会議室デビュー日: 2005/07/11
投稿数: 2
投稿日時: 2005-07-11 10:42
こんにちは。
初投稿しました。
私は今Javaでゲーム開発をしているのですが、
よく、Javaはゲーム開発に向いてない、
処理が遅い、普通のゲームプログラマならC++だ。
などと聞きます。
私はそうは思いません。
私はゲームを何本か作りましたが、
他の言語に比べて処理が重たいと感じたことはあまりありません。
今3Dに挑戦していますが、Javaでも十分いけると思います。
みなさんはどう思いますか?
hiro
常連さん
会議室デビュー日: 2005/03/10
投稿数: 32
投稿日時: 2005-07-11 10:57
この会議室はJavaについて議論する場所であるため、
Javaについて否定的な発言は得られないと思います。

私はゲームの開発をしたことはありませんが、Javaでのゲーム開発に興味があります。
ゲームに向いているいないは主観も入ると思うのですがどうでしょうか?
私の意見は、向いていると思います
iモードとはじめとする携帯ゲームもJavaで書かれていますし(auは除く)
http://sourceforge.net/projects/java-game-lib
にはゲーム用のフレームワークも存在しています。

一時期JavaはJITの性能から遅いとの烙印を押されてしまいましたが、
CPUの性能向上JITの性能向上からそれほど遅いとはいえなくなってると思います。
(初期起動の遅さは仕方ないのでしょうが・・・・)

冒頭に書きましたが、ここを読むほとんどの方はJavaに対して好意的だと思います。
もし、賛否両論を聞きたければほかの会議室に投稿するほうがよろしいかと思います。


がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2005-07-11 11:38
どもです。がると申します

引用:

MUTTIさんの書き込み (2005-07-11 10:42) より:
私は今Javaでゲーム開発をしているのですが、
よく、Javaはゲーム開発に向いてない、
処理が遅い、普通のゲームプログラマならC++だ。
などと聞きます。


んっと。「何を基準に」向き不向きを考えるか、になるのですが。
処理速度を厳密に考えるのであれば、確かにJavaはC++より遅くなる
要因を孕んではいます。

理由は「Javaは中間コードまではコンパイルされているが最終的な
処理は実行時に行う」から、になります。
ただまぁこれは「比較して」のお話で。
実際には「要求されている処理速度が出せるかどうか」が問題に
なるので、比較としてのお話は、意味がありそうで実は結構
無意味です :-P

なので
引用:

私はそうは思いません。
私はゲームを何本か作りましたが、
他の言語に比べて処理が重たいと感じたことはあまりありません。
今3Dに挑戦していますが、Javaでも十分いけると思います。


という発言にも正当性が出るわけですね。

まぁ「本当に古い人間」なら「ニーモニック書かんでどうする?」とか
言ってきそうですし :-p
# C++ってのも個人的には引っかかる。
# 速度を考えるなら最低でもCでしょ?

後はまぁメモリ周りですかね。Javaに限らないのですが、OOP言語は
原理的には「無限のメモリ」が前提になるので :-P
そういったラインで、特に古い世界や「ぎりぎりの」世界では、Java
よりはCなりニーモニックなりのほうが、メモリ管理は楽です。

ってな感じでどうでしょうか?
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-07-11 12:05
引用:

MUTTIさんの書き込み (2005-07-11 10:42) より:
私は今Javaでゲーム開発をしているのですが、
よく、Javaはゲーム開発に向いてない、
処理が遅い、普通のゲームプログラマならC++だ。


それはJavaでも必要な処理性能を満たせるソフトウェアを作っているからでしょう。単純に処理性能を比較するのであれば、JavaがC++に劣るのは客観的な事実かと思います。仮にJavaでもC++でも満たせる要件であっても、ゲーム開発全般においてJava<C++という不等号が成り立つなら、私はC++を選択します。

ただし処理性能が全てではないはずですし、JavaがC++に勝る具体例があるなら「Javaだっていけているぜ!」となるかも知れませんが。でもMUTTIさんの主張には、JavaがC++に勝るという例は示されていないんですよね。

#@IT Cafe向きの話かもしれない。

_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
MUTTI
会議室デビュー日: 2005/07/11
投稿数: 2
投稿日時: 2005-07-11 18:44
色々な意見を聞くことができ、とても参考になりました!
確かに、投稿する会議室を間違えたみたいですね・・・。
Javaの話題ということでJavaSolution会議室に投稿してみました。

これからもJavaでゲーム作って行こうと思います!
処理性能が全てではないですよね!


[ メッセージ編集済み 編集者: MUTTI 編集日時 2005-07-11 18:45 ]
a-san
ベテラン
会議室デビュー日: 2004/06/01
投稿数: 53
投稿日時: 2005-07-12 22:57
J2SE1.4の頃、シューティングゲームを作ってみました。
http://www.hcn.zaq.ne.jp/no-ji/game/game.htm
それ以前は確かに遅かったのですが、1.4からはいい感じです。(^o^)v
H/Wの性能を生かすAPIがあればJavaでも結構イケルと思ってます。
Linuxでも動くし。←Java肯定派

ya
大ベテラン
会議室デビュー日: 2002/05/03
投稿数: 212
投稿日時: 2005-07-12 23:41
というか一番のネックはGCとカスタムな型をスタックにつめないことでしょうな。中間言語だからとかはあまり関係なく。総じていえばカスタマイズできないメモリ周り?

# 結局のところGC系の言語では共通する弱点なので
# Javaのみではないのです。@IT Cafeのほうがよかったと思う。
kalze
ぬし
会議室デビュー日: 2003/10/23
投稿数: 406
お住まい・勤務地: 東京・東京
投稿日時: 2005-07-12 23:45
ゲーム制作屋なんで顔だしてみました。
実際にJAVAで組んだことないのと、詳しくないのでポイントだけ。

動かすマシンがPCなら別にJAVAでもよいとおもいます。
コンシューマ機だとやりたくても無理ですけど。

まぁJAVA3Dも結構早くなっているようですし。
(あんまり詳しくは知らないので無責任ですが)

ただ、どういうゲームなのかといった点でやはりC(C++も混じるでしょうが)でってのはあるかとおもいます

スキルアップ/キャリアアップ(JOB@IT)