- PR -

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

投稿者投稿内容
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-07-13 00:23
私もJavaでのゲームの作成は行った事がないですが、
やっぱりGCが一番ネックじゃないかなと思います。

リアルタイムのアクションゲームで、GCが発生した時ってどうなるんでしょうか?
GCの発生を抑制する為に、例えば1面から2面に切り替わるタイミングで
意図的にSystem.gc()を実行するとか、色々な方法はありそうですが・・・

この辺は知識がないので適当に思ったとおりに書いていますが、
Javaでのゲーム開発者の意見やテクニックが聞きたいです。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2005-07-13 07:19
速い・遅いとは別に、実行環境の問題が大きいと思います。他のアプリケーションに比べると、ゲームはたくさんの人に遊んでもらうことが重要ですから、「遊ぶ前に『Java ソフトウェア』をダウンロードしてインストールしてください」、と言うのは敷居が高いと思います。
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2005-07-13 07:51
この会議室ではさんざん語られた話ですが、こういう誤解には反論したくなるわけで。
引用:

unibonさんの書き込み (2005-07-13 07:19) より:
速い・遅いとは別に、実行環境の問題が大きいと思います。他のアプリケーションに比べると、ゲームはたくさんの人に遊んでもらうことが重要ですから、「遊ぶ前に『Java ソフトウェア』をダウンロードしてインストールしてください」、と言うのは敷居が高いと思います。


配備の問題に関しては、私はJava PluginとJavaWebStartで解決していると思っています。
JREのインストールはJava Pluginによって、Java製ソフトウェアのインストールと実行、更新は
JavaWebStartによって自動的に行われます。
もしご存じでなければ、こちらをご覧ください。JavaWebStartを使ったアプリケーションの例です。
http://v2c.s50.xrea.com/

そのほか、JREをインストールせずアプリケーションと同じ場所にコピーして、
実行時はJava VMをネイティブプログラムでラップして実行するものもあります。
この場合、インストールの手順は非Javaのネイティブアプリケーションと同じです。
Oracleの管理ツールはこうしています。
また、近頃JCEの2005年7月28日問題で騒いでいるソフトウェアがいくつかありますが、
そういったものもこれに含まれますね。

どれもゲームではないですが、配備は問題ではないという反例として提示させていただきます。

[ メッセージ編集済み 編集者: koe 編集日時 2005-07-13 08:15 ]
a-san
常連さん
会議室デビュー日: 2004/03/15
投稿数: 30
投稿日時: 2005-07-13 12:47
たしかにGCが発生すると、一瞬ぎこちない動きになったりします。
そのため必要なオブジェクトは最初にnewし、要らなくなっても破棄せず再利用するような作りにしました。
kalze
ぬし
会議室デビュー日: 2003/10/23
投稿数: 406
お住まい・勤務地: 東京・東京
投稿日時: 2005-07-13 13:20
反論というほどのものではないですし、実際に作ってみたのではなく、紹介されているサイトを見てみたりした程度の感想レベルです。

引用:

koeさんの書き込み (2005-07-13 07:51) より:
配備の問題に関しては、私はJava PluginとJavaWebStartで解決していると思っています。
JREのインストールはJava Pluginによって、Java製ソフトウェアのインストールと実行、更新は
JavaWebStartによって自動的に行われます。
もしご存じでなければ、こちらをご覧ください。JavaWebStartを使ったアプリケーションの例です。
http://v2c.s50.xrea.com/

そのほか、JREをインストールせずアプリケーションと同じ場所にコピーして、
実行時はJava VMをネイティブプログラムでラップして実行するものもあります。
この場合、インストールの手順は非Javaのネイティブアプリケーションと同じです。
Oracleの管理ツールはこうしています。
また、近頃JCEの2005年7月28日問題で騒いでいるソフトウェアがいくつかありますが、
そういったものもこれに含まれますね。



ターゲットユーザーなどにもよるかとおもいますので、その辺は差し引いてもらって。
同梱したとしても、そのゲームそのもの以外をインストールを嫌がる、またはめんどくさがるユーザーって以外に多いものです。
紹介されている後者のほうならソフトのインストールと同時に全部やってもらえるようだし、ソフト起動したときのみ動くようだし個人的にはまぁいいかなとおもいます。
前者のほうは、多少手間は省けるといっても印象としてはたいして変わらないので、敷居が高く感じます。

Oracleの管理ツールとか業務(仕事)でとなると敷居の高さの許容範囲は仕事だから仕方ないと上がりますが、遊びの場合はそこまで高くならないのではないかと。
当然、そのソフトに対するユーザーのモチベーションにも影響されますが。

Java自体についてというわけではなく、特にゲームに限った場合、
これまでの仕事の経験上からそんな風に思った次第です。
(ホント大変なんです^^;)

個人的には、なにかソフトみつけてもJREいるからとってこいとかいれろとかいわれた時点でそのソフトあきらめます・・・
めんどくさいから・・
_________________
人生は趣味だ。いや、趣味が人生か?

[ メッセージ編集済み 編集者: kalze 編集日時 2005-07-13 13:24 ]
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2005-07-13 20:59
ゲームの種類によると思いますけどね。

ゲーセンにあるような、シューティングやアクション、3Dなど、がんがん画面が展開しまくるようなのはJavaよりもっと向いている言語があると思います。(むかしなつかしゼビウスやインベーダーみたいなのんびりしたやつは別として。)

RPGやシミュレーションなんかはJavaに向いていると思いますね。

せん
ぬし
会議室デビュー日: 2002/03/04
投稿数: 397
投稿日時: 2005-07-13 21:12
引用:

RPGやシミュレーションなんかはJavaに向いていると思いますね。


# ゲームの開発という事を全然しらないので興味本位なのですが、

Javaに向いている、というのは「その程度ならJavaでも問題ないよ」という意味なんでしょうか?
それとも、上記はJavaで開発するメリットが何かしらある、ということなんでしょうか?
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2005-07-13 21:34
せんさん。こんにちは。
私もゲーム業界とはまったくかかわりのない人間なのであしからず。

Javaに向いていると思う理由は、オブジェクト指向向きだなと思ったからです。
そういうとアクションとかシューティングとかジャンルは関係ないだろとか言われそうですが、そういわれればそうだと思います。

でもゲーセンやプレステなんかでよくあるポリゴンだらけや派手な画面のゲームをJavaで作っているとも思えず、Javaで作るのも不可能だとは思いませんが現実的には向き不向きがあるかなあと思いました。

Javaを直接実行できるCPUチップ(名前なんだっけ?)とかJTRONとか、OSも含めてリアルタイムな環境が提供されるならば別でしょうけどね。

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