5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

JAVAでゲーム作成

1 :JAVA初心者・・・:04/01/17 22:47 ID:eiE+Mw3o
はじめまして!!
今年に入ってからJAVAでゲームを作ってみようと勉強しています。
どなたか宝さがしゲームを作るうえで参考になるゲームとツール知りませんか??
知っていたら教えてください。<(_ _)>ぺこり

2 :名前は開発中のものです。:04/01/17 23:27 ID:0FaRZJy1
<!-- ↓ここから広告領域なので読む必要なし↓ -->

3 :名前は開発中のものです。:04/01/17 23:28 ID:SlsoEbWJ
仕様くらい書けば

4 :JAVA初心者・・・:04/01/17 23:40 ID:eiE+Mw3o
仕様としてはキャラクターを動かして宝を掘り出すもの。
簡単に言ってFF9の「ここほれチョコボ」みたいなゲームを作ってみたいんですが・・・


5 :名前は開発中のものです。:04/01/18 00:44 ID:XSSGnEvY
Javaアプレットのゲームの限界は!
http://pc2.2ch.net/test/read.cgi/gamedev/1005230153/

6 :名前は開発中のものです。:04/01/18 03:40 ID:xQYRMcWk
javaキタ━━━ヽ(∀゚ )人(゚∀゚)人( ゚∀)人(∀゚ )人(゚∀゚)人( ゚∀)ノ━━━!!!!

7 :名前は開発中のものです。:04/01/18 16:59 ID:H8pFBH5o
<!-- ↑ここまで広告領域なので読む必要なし↑ -->


8 :名前は開発中のものです。:04/01/18 21:39 ID:UVnVh3bY
なんでわざわざJavaでやる必要が

9 :JAVA初心者・・・:04/01/19 04:18 ID:7ZOz3AkQ
まずは基本からということで・・・
といってもJAVAの初心者っぷりもさることながら他の言語はもっと初心者なんですよ・・・


10 :名前は開発中のものです。:04/01/19 04:27 ID:8nvGc2op
初心者というのは免罪符みたいなもんだよな

11 :名前は開発中のものです。:04/01/19 06:29 ID:Ad+eoa4O
なにはともあれ、頑張れ>>1

12 :名前は開発中のものです。:04/01/19 13:33 ID:qF6v1RAu
{
{{
}
}
}

13 :名前は開発中のものです。:04/01/19 16:03 ID:PrE1yRFQ
>12はコンパイルとおるのか知らないが
Javaだと逆コンパイルされるから
困るのだが

14 :名前は開発中のものです。:04/01/19 16:09 ID:p6Sy815k
>>8
javaよりゲーム製作に適した言語て何? C? LGP?

教えてエロイ人。

15 :名前は開発中のものです。:04/01/19 16:24 ID:PrE1yRFQ
>8
のわざわざの意味がよくわからん

16 :名前は開発中のものです。:04/01/19 17:33 ID:OR3w5krE
>>14
シーピッピッ
まぁ俺も初めはJAVAでもいいと思うよ。

>>13
見られて困るようなコード書くことあるんか? JAVAで。


17 :名前は開発中のものです。:04/01/19 18:23 ID:KiZt+2Kr
javaは遅いからでしょう。>わざわざ
しかしハードウエアが十分高速になっているいま、
小手先の高速化の意味もなくなり、JAVAでファミコン程度の
ゲームが作れるのではないかと。
>1さん
はどんなゲームが作りたいの?

18 :13:04/01/19 18:32 ID:PrE1yRFQ
>16
謎解きのような要素があるゲームの場合、
見られたくないと思う。
曖昧化で読みに<<なるとは思うのだが。
gcjに期待している。
しかし、本気でやろうとするなら、
C++かとも思う。

19 :14:04/01/19 19:51 ID:zdd2LOg2
本気ならC++か・・・
漏れにはムリポ。

20 :名前は開発中のものです。:04/01/19 20:13 ID:iJxq6NbL
C++が一番ゲームを作るのに適した言語というのは禿げしく同意だが
ホンキでと言うのはまた意味合いが違うんじゃないかなぁ?
言語とゲームの質は必ずしも比例しないし。
以前は市販のゲームでもVBが使われたりしてたし。
今のよりも面白いのも多い。
まぁグラフィック重視なら言語の質が大きくゲームの質に左右されるが。

21 :JAVA初心者・・・:04/01/19 22:11 ID:7IYz/cdm
>17
ぼくは宝探しのゲームを作ってみようと思ってます。
FF9に「ここほれ!チョコボ」ってあったじゃないですか。
あんなかんじの仕様にしたいんですけど初心者にもできますかね?

22 :名前は開発中のものです。:04/01/19 23:01 ID:PrE1yRFQ
FF9は知らないが
わたしが考えるほとんどの面白いゲームは
JavaでもVBでも十分実装できると考える。
Javaを勉強してからなら
C++に移行することも容易だろう。
FF9を知っている人、Javaでもできそうですか?

23 :名前は開発中のものです。:04/01/19 23:09 ID:2e5dYW17
>あんなかんじの仕様
ここがさっぱり分からねえ

24 :名前は開発中のものです。:04/01/20 00:01 ID:G0/Tg/e/
1.4をベースにやれば、
Javaでもそれなりの物は作れるよ。
ただWeb上には、1.4やJava2D,3Dに
関する情報は少ないね。

25 :名前は開発中のものです。:04/01/20 00:01 ID:sm0AsaXz
>>21
あーもう、作ってから言えよ。

26 :名前は開発中のものです。:04/01/21 01:20 ID:bCirSG3a
Java Games Forums
ttp://www.javagaming.org/cgi-bin/JGNetForums/YaBB.cgi

のYour Games Hereあたりを見るとJavaでどの程度のことができるかわかると思われ。

27 :名前は開発中のものです。:04/01/22 20:59 ID:0mnJ/A1K
おら、はJavaでとりあえず動く見た目貧弱Verを作ってから
C++で本格的に作ってる

28 :名前は開発中のものです。:04/01/23 20:21 ID:Dv25JVg6
よ〜し、Javaで作ってみるか。

29 :名前は開発中のものです。:04/01/24 01:24 ID:xJ1RLhst
ところで、1はどこ行ったんだ?
まさか、この程度で挫折したりしないよな?
まだいるなら、ちょっとなら教えてやってもいいぞ。

30 :名前は開発中のものです。:04/01/25 03:06 ID:dBW/oKY7
1じゃないけど参考になった。
ただ参考書見ながらやってるけど結構ムズイ。

31 :JAVA初心者・・・:04/01/25 23:03 ID:ZzuGhGCl
風邪ひいてダウンしてました。皆さんも風邪には気をつけてください。
ゲーム作成のほうは全くもって進んでいません。
もう少しがんばってみようと思います。
あきらめるのはまだ早いですよね☆

32 :名前は開発中のものです。:04/01/26 09:11 ID:reTPUXlQ
どうやって配布するか悩むね
やっぱりappletが気軽でいいかな

33 :名前は開発中のものです。:04/01/27 01:32 ID:sQv8HBub
Javaで作るメリットは実行するプラットフォームを選ばないこと。
(Microsoft J#.NETは別物だが)
VM上だったら、WinでもMacでもLinuxでも動くから、大勢の人に
見て貰える。

34 :名前は開発中のものです。:04/01/27 01:38 ID:sibdAbiu
シェア的にはWinで見れれば充分すぎるほど大勢だと思うけどね

35 :名無しさんは14才:04/01/27 17:40 ID:cLPNkE7t
わーい。Javaスレだ−。

もう一年も放置しちゃった作りかけのゲーム、再開しようかなあ。
初期1.4で作り始めてたけど、しらんまにJava3Dリリースされちゃってるし、
1.5とか出てきちゃったあたりが悲しいけど。
でも一から作り直そうとすると、またきっとどこかで挫折するし(根性なし)。


36 :デフォルトの名無しさん:04/01/27 21:07 ID:pftlihys
>>33 さいしょっから JRE入ってればそうね。

37 :名前は開発中のものです。:04/01/27 21:07 ID:H0qZbH7/
マ板の14才か?

38 :名前は開発中のものです。:04/01/28 00:35 ID:pX/OL80S
WindowsでコンパイルしたものもMacで動かせるんだっけ?

39 :名前は開発中のものです。:04/01/28 08:18 ID:AkBX6X9I
>>35
なんか作ってみれ。
好きなもの作れるのは今だけだぞ。

40 :名無しさんは14才:04/01/28 11:17 ID:WHT4gwoV
やってみます。まったりと。
古いソース引っ張り出してきました。
懐かしいなあと思いつつ、内容忘れまくり。
たいした量書いてたわけじゃないけど。

ついでに、ツクール2000の支援ツールがまるごと消滅しているのに気づいた。
いつ消えたんだろ。……スレ違いだけどショック。

41 :名無しさんは14才:04/01/28 11:22 ID:WHT4gwoV
>38
できますよん

42 :名無しさんは14才:04/01/29 10:45 ID:PBoapCYE
いまいち盛り上がらないね。
あんまりJavaでゲーム作ろうと思う人いないのかなあ。
私はマカーだから、いろんな人にやってもらおうとか思うと自動的にJavaになるんだけど。
Winの人は環境いっぱいあるし、やっぱ興味ないのかな。

>37
そうですよ。最近あんまり行ってないけど。
すっ飛ばしててごめん。

43 :名無しさんは14才:04/01/30 16:10 ID:0UGkyqKs
お休みだ−。やたー。
この週末にメイン関数かけるようにがんばろ。

44 :名前は開発中のものです。:04/01/30 20:58 ID:ycVqZs1N
がんばれー

45 :名前は開発中のものです。:04/01/31 01:01 ID:fqyHycYw
>>42
私はWinですがSDL,OpenGLのJavaラッパーを使って何かゲームを作ってみようと計画中ですyo!

46 :名前は開発中のものです。:04/01/31 01:34 ID:ig+JRzZI
>>42
Javaでゲーム作ろうと思う人は
あんまりいないだろうな。
俺は、作ってるけどな。


47 :名前は開発中のものです。:04/01/31 10:17 ID:w5l48wti
>>46
公開しよーぜ

48 :名無しさんは14才:04/01/31 22:12 ID:hh2D93X9
なかなかメインにたどりつかない……。
モノ作るのって大変だね。わかってはいたけど。

最低スペックの目標はセレロン400MHzくらい……にしたいなあ。
挫折したらG4-700MHzくらいの予定。

49 :名前は開発中のものです。:04/02/01 15:08 ID:MnR+Lyp0
私も久しぶりに何か作ってみようかな…
いつも悩むのは、速度調整をどうするかってところ。
ミリ秒単位で確実に時間を計る方法が見つからなくて、
30FPSとかで安定して動作させられないんです。

50 :名無しさんは14才:04/02/01 21:08 ID:fOPkl1f+
ああ、今日もメインにたどりつかず……。

>49
普通はTimerでだいたい10msecくらいまでは測れるんじゃないかな。
それ以下は物理的に無理なハードが多い気がする。
安定動作は、う〜ん。
遅延時間が大きくなったらFPSを落とすとかはダメかしら?

51 :名前は開発中のものです。:04/02/01 21:14 ID:BE2pVZMt
仮にアプレットなどで公開をするつもりなら、
初めから10〜15FPSで遊べるように作ればいい。
2Dでムリに30、60FPSと出す必要なし。

52 :名前は開発中のものです。:04/02/01 21:17 ID:lw1srjwx
>>49
ハードウェア依存なので不可能
FPSに依存しないように作るべし

53 :名無しさんは14才:04/02/03 00:05 ID:6rtDLibz
たしかBio100%の人が「マリオは偉大だ」って言ってたけど、
今、わたしはツクールも偉大だと思っていたりして。
……来年の夏ごろの公開を目指そう。

54 :名前は開発中のものです。:04/02/03 15:55 ID:5vbFE2g9
普通、ゲーム開発するなら、まずツール類を作るものだ。
というわけで、ツクール程度が作れなければ話にならんよ。

55 :名無しさんは14才:04/02/03 19:01 ID:6rtDLibz
そうだよねぇ。
先は長そうだし、まったりまったり。
ツクールはDelphiだよね。
あのデータファイルの圧縮は単純だけど意表をついていて、チョット感動した。

56 :名無しさんは14才:04/02/03 22:42 ID:6rtDLibz
がーん!
Javaを1.4.1から1.4.2にアップデートしたら、ゲーム中で描画される文字の色が変わった!
どこかで初期化忘れてるんかなあ。あうあう。

57 :名無しさんは14才:04/02/04 00:06 ID:LWgzCY+W
配列作ったくせに、要素newするの忘れてた。超おバカ。
でもついでに文字色変更のエスケープシーケンスのバグ退治完了♪

58 :49:04/02/04 21:07 ID:6w0e1fuL
ちなみに過去に作ったプログラムではこうしていたよ。
メイン処理を半無限ループでぶん回す昔ながらのやりかた。
その1は実行環境によって極端な誤差が出でしまうんだ。

その1
 スレッド1 while(終了条件){メイン処理;wait();}
 スレッド2 while(終了条件){wait(33);notify();}

その2
 while(終了条件){
  メイン処理;
  sleep(待ち時間);
  if(1秒に1回){
   直前の1秒間の描画回数をチェックして待ち時間を調整;
  }

59 :名無しさんは14才:04/02/05 00:00 ID:3xSHt1O0
>49サンのやりたいことはTimer#scheduleAtFixedRate()でできると思うんだけどどうかな。
わたしは画面の描画これでやってます。
アクションとかじゃないから正確である必要とかゼンゼンないんだけどね。

60 :49:04/02/05 21:29 ID:Qsr/iS2M
ありがとう。早速Timer、TimerTaskクラスをチェック、
どれくらいの精度が出るかテストプログラムを組もうと
した矢先、気が付くと
> 導入されたバージョン:
>    1.3

_l ̄l○ アプレットで作ってるんだった…
exception: java.lang.ClassNotFoundException: java.util.TimerTask
※IE6.0 + MicrosoftVM で実行

61 :名無しさんは14才:04/02/05 22:59 ID:3xSHt1O0
そっか。アプレットじゃ使えないんだ。
知らなかった。ごめんね。

62 :名前は開発中のものです。:04/02/05 23:55 ID:DW9dyzsn
>>60
appletを動作させるためのHTMLタグで
sunのVMを使うように指定すれば使えます

ツールを利用すれば特に悩まないと思います
appletでTimerTask等が使えることは確認しときました

http://java.sun.com/j2se/1.4/ja/docs/ja/guide/plugin/developer_guide/html_converter.html

63 :49:04/02/07 00:08 ID:UiLI4Lv9
重ねてありがとう。
ヘタレな自分には即実装というわけにはいかないけど、TimerTask自体の
性質についてテストしてみます。
スレッドの作成を乱発しているせいか、「動きがカクる」頻度が>>58の2よりも
高いような気がします。
ドキュメントに「固定頻度実行」と書いてあるとおり、処理落ちが発生した
直後は遅れを取り戻すために速い回転でrun()が呼ばれるようです。

64 :49 テスト:04/02/07 00:12 ID:UiLI4Lv9
import java.applet.*;
import java.awt.*;
class TimerTaskA extends java.util.TimerTask
{
 public Component compenent;
 public int count;
 public void run(){
  Graphics gr = compenent.getGraphics();
  if(gr != null){
   gr.clearRect(0, 0, 100, 16);
   gr.drawString(count/100+"."+count%100, 4, 14);
   gr.drawRect(count%100, count/100+20, 1, 1);
   count++;
   gr.dispose();
}}}
public class TimerTestApplet1 extends Applet
{
 java.util.Timer timer;
 TimerTaskA timerTask;
 public void init(){
  timer = new java.util.Timer();
  timerTask = new TimerTaskA();
  timerTask.compenent = this;
  timer.scheduleAtFixedRate(timerTask, 0, 10);
 }
 public void destroy(){
  timer.cancel();
}}


65 :名無しさんは14才:04/02/07 12:53 ID:fA3+Cn/e
さあ気をとりなおして、今日こそメイン!

66 :名前は開発中のものです。:04/02/08 20:53 ID:P+SbX93B
Javaで作る2Dゲーで床とか壁の判定する時って、やっぱしifの類で
「自キャラ座標が壁の座標と一致したら、ボタン操作無効」
として一個一個地道にやってくしかないんでしょうか?
質問系スレが無いんでここで・・・。意見聞かせて下さい。

67 :名前は開発中のものです。:04/02/08 21:24 ID:gFVP5jpw
答えはYES。ただ、どれだけ簡単にできるかはその人しだい。


68 :名前は開発中のものです。:04/02/08 21:37 ID:bR1dx6jB
>>49

ゲーム処理用のスレッド内で、System.currentTimeMillis()を監視する、とか。


69 :名無しさんは14才:04/02/08 21:42 ID:jDa33yn9
うーん。歩くのって意外と難しい。
どうしてもスケートやってるみたいになってしまう。

70 :名無しさんは14才:04/02/09 02:46 ID:VUMO8CDO
ようやく自然に歩くようになったけど……重い。
10キャラを10fpsで歩かせると、すでに800M〜1GHzクラスのハードがいるなあ。
やっぱりJava3Dやらないと厳しいかしら。

71 :名無しさんは14才:04/02/09 02:47 ID:VUMO8CDO
うう、夜更かししすぎた。今日はもう寝よ。

72 :名無しさんは14才:04/02/09 14:11 ID:+ZIoUGKf
MacとWinでCPU利用率が倍くらい違うなあ。Winで実行するなら1.8GHzくらい必要っぽい。
何でこんなに違うのかしら……?

73 :名前は開発中のものです。:04/02/09 14:54 ID:4GHKSFKN
sleepを上げれば改善される可能性がある

74 :49:04/02/09 22:57 ID:/GqD/yBB
>>66
ボンバーマンのように壁の大きさが全部同じなら、
2次元配列に壁データを入れておくことになるね。
進行方向の要素を数点調べて、全部空なら移動
できると。

ドンキーコングの1面のような面構成だったり、
動く床がメインの構成なら、66のように総当りで
調べていくのが良いと思います。

>>68 System.currentTimeMillis()
ミリ秒単位の時間をきっちり返す実装には
なっていないようです。

75 :名前は開発中のものです。:04/02/10 01:33 ID:ttbTnUhw
>>64
スケジュールやるときfixedはやめとけ
スワップ入ったときいっきにはやまわしになるから

1.4でいいのならTimerTask+フリップやればほぼ垂直同期とった綺麗なの動いてるよ
垂直同期はビデオの設定によるけどね

俺作るとjavaのゲーム(1.4.2なら)全然おもくないんだけど
500MHzもあれば大概40fps以上はいける


76 :名無しさんは14才:04/02/10 13:08 ID:xCsQuF6a
あ、スワップのことぜんぜん考えてなかった。
固定遅延で、自動調整しよっと。

でも40fpsってすごい……というか、わたしがオバカなコード書いてるだけか。

77 :名前は開発中のものです。:04/02/10 13:29 ID:ttbTnUhw
どういったゲームかにもよるね

ゲーム自体の処理が重いのならそれの改善は厳しいかもしれないけど
描画自体は思ったよりネックにならない
2Dゲームの場合はね

600MHzあれば60fpsもだいたいCPU使用率70%以下で回る

ポイントはVolatileImageつかわないことか
あれは透過関連うまく動かないはずだからスプライト量増えれば増えるほど厳しい
メモリの中で処理して結果をバックバッファに書き込み、フリップとすればいい
そしてそのメモリの中で作るバッファの作成は
Image work = gf.getGraphicsConfiguration().createCompatibleImage(320,240,Transparency.OPAQUE);
って感じで作ればいい

速度を重視するなら16bppあたりのフルスクリーンモードに切り替えてこの320*240のバッファを
2倍にして書き込むだけ
640*480のソフト描画はDirectXでも厳しいのでやめるがよろし

フルスクリーンモードとウインドウモードの2つ用意した方がいいよ

78 :名無しさんは14才:04/02/10 14:01 ID:xCsQuF6a
VolatileImage、こんな便利なImageがあったなんて!
……存在知らずに、自分で作っちゃったよ。すごいマヌケ。

重たいのは多分透過色を含む大きなImageをガンガン重ねて合成してるからだと思います。
きちんとクリップして無駄な描画省けば、少しは軽くなるかも。
640x480はDirectXでも重いのかぁ。困ったな。ていうか、見透かされてる……。

助言ありがとうございます。
画面サイズだけは絵描きさんの要望で削れないのですが、がんばって工夫してみますね。

79 :名前は開発中のものです。:04/02/10 14:31 ID:ttbTnUhw
2DSTGじゃないのなら30fpsでもいいんじゃないかな
2DSTGだけは最低限40fpsってところ

640*480の描画は1GHzくらいを対象にしているのなら問題ない
たぶん開発中にまた世の中のマシンの平均スペック上がっていく
1年後には1GHzを要求スペックにしても問題ないような気がする

VolatileImageしらないってことはフリップとかやってなかったのか・・・
んじゃ、ここおしえておくか
http://www5.airnet.ne.jp/sakuraba/java/laboratory/JDK1.4/contents.html
いっておくけどこれ結構前の文章
べつに最近高速化された訳じゃないのだ
みんなjavaのグラフィックスまわりには注目してないのかねぇ


80 :名無しさんは14才:04/02/10 15:45 ID:xCsQuF6a
作っちゃったよ、とか言って、大嘘でした。
説明よく読んだら、VariousImageは作ってたものとはぜんぜん違うものだった。ふう。

直描画できたんですね。URLありがとうございます。勉強しなきゃ。
ぜんぜん知らなかったです……って、SDKドキュメントの新機能の章にもしっかり書いてあるなあ。
読んでないのバレバレじゃん。
明日一日かけて、画像周りのクラス書きなおそっと。

わたしが作ってるのは2DRPGです。一応ツクール+αレベルが目標。
とりあえず、Javaだから遅い、とか言われないようにがんばるつもり。

81 :名無しさんは14才:04/02/10 15:47 ID:xCsQuF6a
×VariousImage
○VolatileImage

Variousは自分で作ってた方だった。うー、ボケすぎ。

82 :名前は開発中のものです。:04/02/10 18:36 ID:ttbTnUhw
2DRPGなら30fpsでもいいし
むしろ戦闘エフェクトあたりは重い方が溜があるかんじでいいかも
バテンカイトスは絵は綺麗でもそのへんがイマイチなのが大杉なんだよね

Java2Dのαブレンドは通常合成はあっても加算合成はないようなので
自分で実装することになるかもしれない

83 :49:04/02/10 20:23 ID:anba1aLx
イメージが湧かないのでサンプルを作ってみました。アプレットです。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/6003/sample/wall1/
描画周りは最も単純な手法で、アプレットのgetImageで読み取ったGIFファイルを、
同じくcreateImage(width,height)で作成したバッファに描画しています。

私は「フラっとページを訪れた人が軽く遊んでいくゲーム」を目指しているため、
初心者がオールインワン型のWindowsパソコンを買って何も設定を変えていない
状態で、追加プラグインをダウンロードせずに動かなければならないという
条件を自分につけています。
そこで、描画効率、動作速度の安定、効果音・BGMの再生、セーブデータの保存方法
にはいつも悩まされます。

みなさんが想定しているターゲットユーザ・配布方法はどんな感じですか?

84 :名前は開発中のものです。:04/02/10 20:37 ID:eScm2IF2
>>83
Pen3 1GHzでもJ2SDK1.4.2だとFPS=32, INTERVAL=24出たよ。
あと、隊列を組むのは正面衝突したときに先に処理した方だけが反転するからでは。
↓な感じ。
衝突前:人→←人
衝突後:人→人→


85 :名前は開発中のものです。:04/02/10 21:37 ID:ttbTnUhw
超低電圧版PentiumM1GHzで
J2SE1.4.2
fps32/interval29
CPU使用率10%くらい

軽いやね

86 :49:04/02/10 23:14 ID:anba1aLx
調子良く動いているみたいですね。名無しさんは14才さんのように
ある程度大きな画像を扱うとなると、この方法ではきつそうです。

話は飛びますが、音の再生のサンプルを作ってみました。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/6003/sample/sound1/
データの通信量を極力少なくし、かつ多くの環境で再生させる方法って無いでしょうか?

87 :名前は開発中のものです。:04/02/10 23:23 ID:ttbTnUhw
画像はごまかしごまかしでも1.1で扱えるからいいけど
サウンド周りがまともになったのは1.3からだしなぁ
きびしいやね


88 :49:04/02/10 23:24 ID:anba1aLx
>>84
なるほど、二人とも振り返るようにまじめに処理しないと、
自然に動き回ってるようには見えないわけだ。

89 :49:04/02/10 23:30 ID:anba1aLx
>>87
周波数も8000Hz固定だし、なんだかブツブツ音が途切れる感じ。
短い音を連続再生すると遅延も発生します。
ミニゲームを作る分には、それでも十分なんですけどね。
実行環境がヘタレな方がライトクリエイター(?)には有利というし。

90 :名前は開発中のものです。:04/02/10 23:48 ID:ttbTnUhw
今だとランタイムのインストール簡単にさせることできるから
俺は苦労したくないな
http://www.java.com/ja/download/windows_automatic.jsp

サウンドだけはどうしようもなくてJava2に逃げたへっぽこの話なんで
我が道突き進んでくれぃ

ほんと全く解決不可能だった
効果音だけならまだいいけどねぇ

91 :名無しさんは14才:04/02/11 00:38 ID:UcjbfHdV
FPS 28 INTERVAL 1くらいでした。

で、描画周りを全部書き直して、かなりの高速化に成功。
というか、元のが無駄が多かったんですけど。
400MHzくらいあれば10〜20FPSで普通に動きそうな感じ。
これから処理増やしていくとどうなるかわからないけど。

VolatileImageでもう少し早くなりそうなんですが、
わたしのところではcreateCompatibleVolatileImageの中でなぜか
しばらくするとOutOfMemoryErrorが出ます。
他のパソコンで試したらエラーは出なかったので、とりあえず相性かなぁ
とあきらめました。
BufferStrategyも試してみたけど、かえって遅くなっちゃったので保留です。

92 :名前は開発中のものです。:04/02/11 01:17 ID:OWgEanPU
ループの中ででかいVolatileImageガンガン生成してるとか?
その変数のスコープをみてみるべし

BufferStrategyはバッファサイズを2にしてフリップ処理をしてますよね?
これ、DirectX・・・というかビデオまあ割の知識あるならわかるけど
ほとんどの環境で垂直同期とります
単純にベンチとるとマシンパワーが低い場合fpsは少し落ちますが
ティアリングのない綺麗な描画になります



93 :名無しさんは14才:04/02/11 13:04 ID:UcjbfHdV
最初はでっかいVolatileImage作りすぎたせいだと思っていろいろ変えてみたんだけど、
どうやらそうじゃないみたい。
最終的には640x480を毎秒10回だけ生成して、古いのはすぐにflush&null代入
としてみたんだけど、やっぱりおんなじエラーになりました。
描画方法変えてBufferStrategyを使えばVolatileImageは使わないですむようにしたので、
とりあえず問題解消です。解消というか、逃げただけだけど。

話し変わりますけど、MacのVMはダブルバッファリングとかしなくても
画面がちらつかないんですよ。
パフォーマンス調べようと思ってバッファリングしない版を試しにWinに持って
いったら、画面ちらちらでひどかったのでびっくりして元に戻しました。

94 :名前は開発中のものです。:04/02/11 13:52 ID:OWgEanPU
VolatileImageでの不具合がでた環境って具体的にはなんだ?
ビデオチップあたりが聞きたい

MacってMacOSXか?
あれはOS自体がウインドウバッファをちらつかせないように描画しているから
Windowsみたいなのとだいぶ違う

OSXのほうがシンプルでいいけどね
つーか、今GUI新設計したらだれでもそう作ると思う


95 :%96%bc%96%b3%82%b5%82%b3%82%f1%82?P%82S%8d%cb:04/02/11 14:04 ID:UcjbfHdV
カードはGeForce FX 5200です。32MB。
やっぱりMacOSXのVMの問題なのかなあ。WinのSunVMでは問題でませんでした。

96 :名無しさんは14才:04/02/11 14:05 ID:UcjbfHdV
がーん!名前が化けた。

97 :名前は開発中のものです。:04/02/11 14:14 ID:OWgEanPU
基本的にヒープメモリが不足してなければ大丈夫
VolatileImageはVRAM足りないとヒープメモリ使うから

vi.getCapabilities().isAccelerated()

って感じで調べてみるといい

MacOSはその辺の実装が違うのか、デフォルトのメモリMAXサイズが小さいのか
MacOSの起動時のオプション違うかもしれないからわからないけど
ヒープサイズの可能性も高そうだから
-Xmx128M
とヒープメモリの設定してみては?


98 :名無しさんは14才:04/02/11 14:22 ID:UcjbfHdV
ヒープの方は大丈夫だと思います。
Runtime.freeMemoryの戻り値は、OutOfMemory出るときも十分あったし。
なんでエラーになっちゃうのがわたし的には不可解。
isAcceleratedとかヒープの設定は後で試してみますね。

99 :名無しさんは14才:04/02/11 14:54 ID:UcjbfHdV
isAcceleratedを試してみました。
残念?ながら常にtrueで、OutOfMemoryが出るときもfalseにはなりませんでした。

貼ってもしょうがないけど、こんな感じ。
java.lang.OutOfMemoryError
at java.nio.Bits.reserveMemory(Bits.java:619)
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:95)
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:285)
at apple.awt.DataBufferNIOInt.getBufferOfSize(DataBufferNIOInt.java:135)
at apple.awt.DataBufferNIOInt.<init>(DataBufferNIOInt.java:31)
at apple.awt.IntegerNIORaster.createNIORaster(IntegerNIORaster.java:26)
at apple.awt.CGraphicsConfig.createCompatibleImage(CGraphicsConfig.java:54)
at apple.awt.OSXOffScreenSurfaceData.createData(OSXOffScreenSurfaceData.java:33)
at apple.awt.OSXVolatileImage.createHWData(OSXVolatileImage.java:77)
at apple.awt.OSXVolatileImage.initAcceleratedBackground(OSXVolatileImage.java:87)
at sun.awt.image.SunVolatileImage.<init>(SunVolatileImage.java:98)
at apple.awt.OSXVolatileImage.<init>(OSXVolatileImage.java:70)
at apple.awt.CGraphicsConfig.createCompatibleVolatileImage(CGraphicsConfig.java:48)
at jp.gr.java_conf.nocon.reday.base.UserInterface.paint(UserInterface.java:116) //JFrame.paintをオーバーライド
at javax.swing.JFrame.update(JFrame.java:392)
まだ続くけど以下略。
これはバグパレード行きかも。

100 :名前は開発中のものです。:04/02/11 15:11 ID:OWgEanPU
paintってもしかして毎フレームVolatileImage確保してるの?
それは問題ある希ガス

101 :名無しさんは14才:04/02/11 15:20 ID:UcjbfHdV
がーん!毎フレーム確保しちゃいけないの?
……使い回しやってみます。

102 :名無しさんは14才:04/02/11 15:28 ID:UcjbfHdV
同じVolatileImage使い続けるようにしたら怒られなくなりました。
ああ、ぜいたくは敵だったのね……。

エラーも出ないし、処理も速くなりました。
本当にありがとうございます。
がんばって完成めざしますね。

103 :名無しさんは14才:04/02/12 17:30 ID:7aKkxoTY
日記を書いているような気がする今日この頃。

今日は画面のスクロールに挑戦中♪
あっさりできるかと思ってたら、意外と強敵。
画面更新通知のイベントがループしてハングしてるし……困った。

104 :名前は開発中のものです。:04/02/12 17:50 ID:b4hZT/7C
イベントって自分のフレームワーク内のことだよね?
Swingの描画イベントは無視していいよ


105 :名無しさんは14才:04/02/12 19:30 ID:7aKkxoTY
あ、そうです。自前のイベントです。
Swingのイベントはぜんぜん見てなかったり。

スクロールの契機に「絵が移動しました」イベント流用してるからいけないんだなあ。
「わたしを見て!」イベントを新設しよっと。

106 :名無しさんは14才:04/02/13 18:10 ID:hMwbcsup
イベントはいまいちイメージがわかなかったので、
Cameramanインターフェース作成ちゅう。
我ながら安直なネーミングだなぁ。
そんな感じで、明日くらいにはぐりぐりスクロールできる予定。

……進みが悪い日はいまいち書くことがないね。

107 :名無しさんは14才:04/02/14 15:14 ID:/FZU4ECn
スクロール完成♪

今気づいたけど、topを見てるとメモリ消費量が毎秒40kB位ずつ増えていくのが危険な予感。

108 :名前は開発中のものです。:04/02/14 16:36 ID:AfuYsNqY
メモリーリークじゃなければメモリ使用量は気にしなくていいと思う
RuntimeのFreeMemoryあたりでGC動いてるか監視するのがいいね

109 :名無しさんは14才:04/02/14 21:28 ID:/FZU4ECn
freeMemoryみてるとGCはちゃんと動いてるっぽいのでとりあえず大丈夫かなあ。
totalMemoryが変わらないのに、topの表示だけが……謎。

明日はマップでもつくろ。

110 :名前は開発中のものです。:04/02/14 22:01 ID:N1atDb5V
>>109
プロファイラを使うと良さげ。

エクリプスならこの辺を参考に。
ttp://www.atmarkit.co.jp/fjava/rensai2/eclipse2_06/eclipse06_1.html
ttp://eclipsewiki.net/eclipse/index.php?Profiler%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3
非エクリプスならJINSIGHTとか。
ttp://www-6.ibm.com/jp/developerworks/java/jinsight.html

111 :名無しさんは14才:04/02/14 23:59 ID:/FZU4ECn
すいません……Xcode使いなもので。
付属のSampler使ってみたら、VM自体の解析してくれてガッカリ。

今夜はpopcapで遊んでました。ああ、わたしのおさかなさんが……!

112 :名前は開発中のものです。:04/02/15 04:18 ID:KU5gbX0i
pure javaのプロファイラだとこの辺りが有名かも。

hprof+HAT(最近はあまり使われていない気がする)
ttp://developer.java.sun.com/のどこか
HPjmeter(実は使ったことない)
ttp://docs.hp.com/ja/2858/web0-1251.html

113 :名無しさんは14才:04/02/16 16:45 ID:SnyaQpG/
全然関係ないけど、今日は宿題忘れてピンチだった。

>112さん、どうもです〜。
PureJavaのもあったのね。今度使ってみます。

今はマップエディタ作るか悩み中。
ツクールのマップ読めるようにしようと思ったけど、
実際読めるように作ったらたら使用許諾違反だしなあ。

テキトーに作ってXMLか何かに落とせばいいかしら(←安易)。

114 :名無しさんは14才:04/02/16 18:48 ID:SnyaQpG/
たらたら♪

115 :名無しさんは14才:04/02/18 23:31 ID:X0zbF4LW
マップ作りは置いといて、GarageBandで遊んでました。
で、思ったんだけど、JavaってそのまんまじゃMP3とかの再生できないよね。
無条件に使えるMIDIのデータはいまいち手に入んないしAIFFはデータばかでっかいし。
JMFの追加必須とかはヤだしなあ。

116 :名無しさんは14才:04/02/20 07:48 ID:nxvtS631
地面の上に芝生があってその上にわたしがいて、
わたしを操る運命は神様が作り、時の流れが握っている。
隣の芝生が青いのも運命のチカラで、
隣に行ったわたしは元のわたしじゃないかもしれない。
でもそれは結局運命。

運命とわたしの関係で悩み中。おぶじぇくとしこう?
……てゆうか、新しい宗教みたい。Java神様。
へんな宗教のおばさんがきたら教えてあげよ♪

117 :名前は開発中のものです。:04/02/20 08:34 ID:O3GxsjmG
?(゚Д゚;三(;゚Д゚)??

118 :名前は開発中のものです。:04/02/20 20:06 ID:5YVWqqkD
ついにデムパか・・・

119 :名前は開発中のものです。:04/02/20 21:25 ID:iQWnf5FG
ここまでまじめにつきあってきたがとうとう悟りを開いたか


120 :名無しさんは14才:04/02/20 22:17 ID:nxvtS631
がーん!わたしすっごいマジメだったのにぃ。

121 :名無しさんは14才:04/02/24 00:31 ID:cCMRhn9d
まったりの日々……。

ところで、二点Point a = new Point(aX,aY)とPoint b = new Point(bX,bY)があるとき
dx = b.x - a.x; dy = by - ay;であるベクトル(だっけ?)dを作りたいんですけど、
dは何のクラスで作るべきなんでしょ?
最初dつながりでなんとなくDimensionにしてみたけど、みょ〜に違和感。
結局Pointにしちゃってるんだけど、これも微妙に違うような……。

122 :名前は開発中のものです。:04/02/24 00:45 ID:CkCDH7ui
2値だけならPointで問題ない
が、名前が気にくわないとか拡張しちゃう予定があるとか考えると
Pointを内蔵するか継承、もしくは新規に作ってしまうほうがいいかも

123 :名前は開発中のものです。:04/02/24 04:52 ID:hhdjFz7F
muu

124 :名前は開発中のものです。:04/02/24 13:02 ID:a+AOgXxf
Java3D悪くないね。Direct3DRMみたいで。
これからはJava3D+VRMLでいくなり。

125 :名前は開発中のものです。:04/02/24 13:05 ID:a+AOgXxf
>>電波御釜
Vector2dとか

126 :名無しさんは14才:04/02/24 20:16 ID:cCMRhn9d
電波はしょうがないかなとか思うけど、オカマはちょっと悲しい。
ていうか、もしかしてさらし上げ?

>122さんのいう通り、Pointの名前変えて使おうかな。
Vector2dも手だけどdoubleまではいらないし、winの人とかはvecmath使える環境の人少なそうだし。
みなさんどうもでした♪

127 :名前は開発中のものです。:04/02/25 14:04 ID:m/Y8IXxl
Javaって演算子オーバーロード出来ないのな。
vector1.add( vector2 );ってダサすぎ。かなりガッカリ。
XMLみたいにプリミティブ型を定義出来るようにするとか
せめてfloat4とかfloat4x4とか用意するようにすてほすィィ

128 :名無しさんは14才:04/02/25 17:03 ID:ARHG1qlf
クラス設計ヘンだったかなあ。地面をうまく管理できない……。

129 :名前は開発中のものです。:04/02/25 18:47 ID:XE+PtX5j
>>127
1.5でできるようになってなかったっけ?
うろ覚えなので自信なし。

130 :名前は開発中のものです。:04/02/26 11:05 ID:R1Qiwg/0
>>129
演算子オーバーロードはない。
しかも、SUNは今後の導入にも否定的。

131 :名前は開発中のものです。:04/02/26 14:10 ID:wf+RKCVI
>>130
本来複雑すぎるC++に対し〜っていうポリシーはわかる。
まあ仕方ないかって感じだね。(その割にはGenericsとか入れてるが。)
つうかfloat4などのプリミティブなベクトルクラスはどの言語でも必須だと思うなあ。
せっかくどのCPUにもSIMDユニットが付いている時代になったんだし。
仕様もCgをまんまパクれば問題なし。

132 :名前は開発中のものです。:04/02/26 14:25 ID:1jY9CYNa
まあ、ゲーム作るヤツも含めて、数値計算するヤツは
大人しく他の言語を使えってこった。

by iアプリ開発者_| ̄|○

133 :名前は開発中のものです。:04/02/26 14:57 ID:R1Qiwg/0
>>131
>float4などのプリミティブなベクトルクラスはどの言語でも必須だと思うなあ。

その辺りはJITで片付けるべき、というよりその為のJITでしょ。
まあ、JITの掛け方に関する指定も出来た方が嬉しいんだけどね。

134 :名前は開発中のものです。:04/02/26 15:37 ID:KERBVAki
Genericsの場合は型をより強化するためのもので
自然じゃないのかなぁ


135 :名前は開発中のものです。:04/02/26 17:48 ID:wf+RKCVI
>>133
いや、単にfloatやdoubleなどスカラー型だけを使う言語のプログラムを
SIMD使ってコード生成しろってのは厳しい話。つーか無理だよ。



136 :名前は開発中のものです。:04/02/26 18:03 ID:33s9KynI
>>135
ttp://java.sun.com/j2se/1.4.2/1.4.2_whitepaper.html
SSE and SSE2 Instruction Sets for Floating Point Computation
って項目があるから一応対応はしているらしい。

137 :名前は開発中のものです。:04/02/26 18:46 ID:wf+RKCVI
>>136
信じられないが、本当みたいだね。
ttp://www.mit.msn.to/misc/j2sdk1.4.2.html
ここなんて2.11倍だってさ。うそくせーしんじらんね。

138 :名前は開発中のものです。:04/02/26 19:06 ID:wf+RKCVI
>コマンドラインオプション「-XX:UseSSE=0」を指定します。
こんなのもあるみたい、後で実験しる。

139 :名前は開発中のものです。:04/03/01 03:33 ID:24Kq2JSz
jxta使ったゲーム出しても
初期設定できるかな?



140 :名無しさんは14才:04/03/02 12:48 ID:W0CJyzOg
飲酒運転の車に特攻されてムチウチになりました。
しばらくお休みします。

はあ……うつだわ。

141 :名前は開発中のものです。:04/03/02 16:18 ID:dWkMRuu+
うわーお大事に・・・

142 :名前は開発中のものです。:04/03/03 01:24 ID:9bM7JDER
アプレットの領域内を一回クリックしないと
動作しないのですが、どうにかなりませんか?

143 :名前は開発中のものです。:04/03/03 08:57 ID:x4jnmRCC
キーボードのこと?
フラッシュも同じだけどカレントオブジェクトがあわないとどうしようもないやね
1つのhtmlに複数のアプレットとかflashおけるから
一番手っ取り早いのはスタートにクリック使うこと

java2使うのならwebstart使えばもっといい

144 :名前は開発中のものです。:04/03/03 20:19 ID:80+x+sMk
製作者様、携帯アプリ版にて活躍してください

145 :名前は開発中のものです。:04/03/03 23:10 ID:x4jnmRCC
マルチポストうざいよ

146 :名前は開発中のものです。:04/03/04 03:35 ID:2BAkZRo7
>>142
ページ内にアプレットが1つしかないなら、
public void init()
{
  ・・・
  requestFocus();
}

147 :名前は開発中のものです。:04/03/10 19:03 ID:p7KT4QmV
アプレットを使ってゲームを作ろうと思うのですが、
ブラウザに標準ではいってるVMって相当昔のバージョンのやつですよね?
Swingは使わないほうがいいですよね?

148 :名前は開発中のものです。:04/03/10 19:18 ID:JpSEaJ5h
>>142
>>146に加えて、フォーカスがないときは
アプレットをクリックしると表示されるようにする。

149 :名前は開発中のものです。:04/03/10 19:20 ID:JpSEaJ5h
>>147
MSJVM Removal Tool 1.0
http://slashdot.jp/article.pl?sid=04/03/09/2053231&topic=43&mode=nested
> SuperSouya 曰く、 "2004年3月6日(現地時間)にMicrosoftからMSJVM Removal Tool 1.0
> 英語版がリリースされました。対象製品はWindows95以降で3802,3805,3809,3810の何れか
> のMSJVMがインストールされている製品。(ダウンロード先) 近々日本語版などの各国版も
> リリースされそうですが、MSJVMはもともとJRE1.1ベースで動かしているものですから、や
> はり古いのは否めません。早くSunの純正Javaをダウンロードして、MSJVMとはお別れした
> ら如何でしょうか?"

こんな情勢なので、ブラウザ搭載のVMはもはや切り捨て可。

150 :名前は開発中のものです。:04/03/10 21:47 ID:vACEgT2n
というかXPの細かいバージョンですでに入ったりはずれていたり
大手メーカー製はsunのが入っていることも多い

awtにこだわってへっぽこなものができあがるよりは
ランタイムを入れさせようと思わせるくらいいいものができればいいだけ
ゲームならスタンドアロンアプリでいいのでは?

バージョンアップやキャッシング、アプリ保存先など
ユーザーに意識させないのならwebstartが一番いいだろうね



151 :名前は開発中のものです。:04/03/10 23:22 ID:VMr1zM6p
でもなんだかんだで、MSVMは普及しているから、
そっちに束縛されちゃうんだよなー
MSVM用とSun用のやつをつくりゃいいんかな。


152 :マンドリルGG:04/03/12 04:07 ID:REoMxxxE
全画面にする方法があるんですって?どうやるんでしょう。
JAVAが全画面になったらそれでブラクラ作れちゃいそうなんですけど
それもどうなんだろう・・・

153 :名前は開発中のものです。:04/03/12 04:17 ID:m4my9cdB
>>152
http://www-6.ibm.com/jp/developerworks/java/030704/j_j-mer04293.html

154 :名前は開発中のものです。:04/03/12 09:51 ID:UUWjIaOC
>>152
JAVA=アプレットって勝手に思いこんでないか?
アプレットは一形態

155 :名前は開発中のものです。:04/03/12 13:50 ID:VtIucxmf
Java≠アプレットはもちろんだけど、
Javaゲーム≒アプレットな気がする。
Javaアプリのゲームってあまり知らんのよね。実態を。



156 :名前は開発中のものです。:04/03/12 19:27 ID:QvZkadFE
>>155
ビジネスになっているのは携帯のだけだからね。


157 :名前は開発中のものです。:04/03/12 21:04 ID:UUWjIaOC
その携帯も台数を考えると対応アプリはとんでもないという

javaのゲームでもGR3あたりは有名でないか?

158 :名前は開発中のものです。:04/03/12 21:05 ID:Ol13wq4L
Javaゲーム≒携帯アプリ
だね。アプレットはすでに忘れ去られた技術。
ブラウザでやりたかったらFLASHでもやっと毛。

というか、前この板のJavaスレのどこかでで全画面の
ガンダムシューティングのJavaゲームが紹介されてたよ。

159 :155:04/03/12 23:28 ID:VtIucxmf
そうか、携帯アプリか。
そういやそうだね。
Vアプリを作ろうとして挫折した記憶が…


160 :名前は開発中のものです。:04/03/12 23:46 ID:WpHSVG5N
しかし携帯はjavaであってjavaでないからなぁ

161 :名前は開発中のものです。:04/03/13 04:20 ID:0sBXXC0f
どっちだよ!

162 :名前は開発中のものです。:04/03/13 11:34 ID:srIyiQ4d
> 全画面にする方法があるんですって?どうやるんでしょう。
ttp://www5.airnet.ne.jp/sakuraba/java/laboratory/JDK1.4/Graphics/FullScreen/FullScreen.html
ここ読んでやってみれば?
フルスクリーンはセキュリティーとかで弾かれるかもな。
いや、API見てないから知らないけど。

このページに限らず、このサイト全部読んどけ。
Javaの技術に関してはかなり面白いと思う。

163 :名前は開発中のものです。:04/03/15 23:05 ID:0uDVHd94
サウンド関係のプログラムについて調べてるんですけど、Javaでmp3再生ってできるんですか?
どなたか参考になるプログラム教えてください。

164 :名前は開発中のものです。:04/03/15 23:46 ID:A/mpVyyf
http://www.javazoom.net/javalayer/javalayer.html

165 :名前は開発中のものです。:04/03/16 00:11 ID:UNFHFgYR
>>164
参考資料ありがとうございます。
調べてみます。

166 :名前は開発中のものです。:04/03/17 07:08 ID:I5WkpdTE
Javaは結構長いことやっているものの、ゲーム製作には未だ手を付けた事がなく
このスレッドを読んで作ってみたいと思い立ったのですが
作る場合の設計の定石やノウハウが全くなく、これから色々調べようと思っているのですが
スレッドや描写などのゲーム製作関係のサンプルや技術が載っている本やサイトでオススメはありませんでしょうか?

167 :名前は開発中のものです。:04/03/17 07:35 ID:pgzvTr9I
ゲーム自体をjava以外で作ったことあるなら何も悩むことはないはずだ
ゲームのコアの処理は言語はあんまり関係ないから
ゲームというものがどういうものかわからないのであれば
大量にあるC言語とかのサンプルを参考にすべし


168 :名前は開発中のものです。:04/03/18 14:06 ID:ihwgITWG
個人的に、JavaよりC++やPerlの方が覚えるのが楽でした。
オブジェクト指向はやっぱり後回しの方がいいのかも。

169 :名前は開発中のものです。:04/03/18 14:15 ID:NRJ2PXu3
ゲームだとリスト構造とか大量にでてくると思うけどここがjavaは使いやすい
Cとかだとメモリ管理で死ぬときがある


170 :名前は開発中のものです。:04/03/18 20:38 ID:ymGNyYl1
Javaのコレクションはキャストしないといけないから激しく使いにくかったが、
1.5からテンプレートが導入されて良くなったね。
って、1.5はまだ正式リリース前か。

Cから虎へ〜JDK1.5について!Part2
http://pc2.2ch.net/test/read.cgi/tech/1079438337/

171 :(;´Д`)/ヨワjava:04/03/21 22:11 ID:KgBL98Y5
ゲームプログラミングを始めようと思って、今年の3月発売の、
Javaゲームプログラミング アルゴリズムとフレームワーク
という本を買ってみました。
ソースはあまり読み易い物では無かったのですが、ゲーム制作に必要な
要素(処理)を知る事が出来た(かも

172 :名無しさんは14才:04/03/31 16:08 ID:oiKfdr4p
そろそろ復活。
心配してくれた人、どうもでした。
怪我はもっと前に治ってたけど、いまいちやる気でなくて。

復活だけど、このスレ普通に伸びてるから、別のところに引っ越します。

173 :名前は開発中のものです。:04/05/20 23:20 ID:myCQ7NmX
>172
復活おめでとうございます。
久しぶりにきてみたら、14才さんがいてびっくり。
って引っ越しですか・・残念です

174 :名無しさんは14才:04/05/25 11:14 ID:/o9Rv7SJ
こんにちは♪ていうか、どなただろ。
はっ!まさかママン!……なわけないか。


175 :名前は開発中のものです。:04/05/28 17:28 ID:NAsJERHF
>>174さん
ただのロム人です(^_^;
14才さんのゲームは何処に行けば見れるんでしょうか(?_?)

176 :名無しさんは14才:04/06/02 10:11 ID:FbDl9Zmu
ごめんね。まだ公開してないからどこいっても見られないの。
キャラクターがてくてく歩いてるだけだから、ゲームになってないしー。
もう少し進んだら公開したいなーと思ってるんだけど、このペースだといつになることやら。

177 :名前は開発中のものです。:04/06/23 21:41 ID:EdKiKd3Y
もう、進行の終わったスレかもしれませんが…

名無しさんは14才 さんは、どのスレに移動したのでしょうか?
知ってる方、教えてください。

178 :名前は開発中のものです。:04/06/25 19:00 ID:y005C6ts
漏れがこのスレ再利用しようかな...

179 :名前は開発中のものです。:04/06/25 19:27 ID:Z8PdllMf
やる気があるのならレス番800以上もあまってるんだから再利用したほうがいいかもね。

1.4使っていれば2DゲームならJAVAを利用するメリットも大きいし
JREを組み込めばユーザーにはネイティブアプリと違いは分からないし、
Swingとかのコンポーネントだと重さとかネイティブじゃないのがばれるかもしれないけど、
フルスクリーンアプリならその心配もないし。


180 :名無しさんは14才:04/07/01 15:45 ID:PcO6Pm3v
>177
厨房スレですよん。でもあっちもまったり放置中。
ちまちまかいてるけど、もう半年近く見た目が変わってないので滅入り気味。
夏休みになったら、もうちょっと進む……予定。


181 :名前は開発中のものです。:04/07/01 21:06 ID:Cut2ni94
ぶっちゃけるとRPGは時間ばかりかかるのでアクション系パズル系といった
小粒をたくさん作って技術磨いた方がいい
まぁ、マップシステムは一度は手を出しておいた方がいいとは思うけどね


182 :名前は開発中のものです。:04/07/10 22:09 ID:v2MyCjQy
ダブルバッファリングというか、createImageについて聞きたいんだけど
アプレットじゃなくてアプリケーションで
コンストラクタに
doubleBuffer = createImage(640, 480);
gBuffer = doubleBuffer.getGraphics();
〜裏バッファに描画〜
と書いて
paint関数内で
g.drawImage(doubleBuffer, 0, 0, this);
とやっても何も表示されないんだけど、どうしてだろう?

全部をpaint関数内に
doubleBuffer = createImage(640, 480);
gBuffer = doubleBuffer.getGraphics();
〜裏バッファに描画〜
g.drawImage(doubleBuffer, 0, 0, this);
とやると上手くできる。
createImageをpaint関数内で使わないとどうやってもできない。
検索でよく出てくるアプレットのサンプルでは
init関数内でcreateImageしてるんだけどなあ・・・。

183 :名前は開発中のものです。:04/07/10 22:53 ID:0Y8AoUvE
アプリケーションならBufferedStrategy使え
せっかく垂直同期とれるんだし

あとcreateImageで作るイメージは高速描画されないよ

DirectXによるアクセラレーション期待するなら
BufferedStrategyやVolatileImage使うべし

そこまで行かなくてもそれなりにDDB等で高速化したいのなら
createCompatibleImageでやるべし

>>182のレベルから考えるとそれ以前の話気もするが
裏バッファに描画は本当に出来てるの?ImageIOあたりで
ファイル書きだししてごらん


184 :名前は開発中のものです。:04/07/10 23:33 ID:GFqbLRra
仕様を
用意
しよう

185 :182:04/07/11 02:40 ID:4Tmsd7Ye
>>183
コンストラクタでの処理を止めて、専用のメソッド作ってやってみたら出来ました。
ありがとうございます。

ところで、BufferStrategyが作るバッファというのは、どこでサイズを指定するのですか?
検索してみても、サイズを指定していると思われる部分がないのですが。

186 :名無しさん@そうだ選挙に行こう:04/07/11 11:39 ID:KRMgaTqc
>>185
それってたぶん解決してないぞ
コンストラクタでやってもまったく問題ないし
マシンとかによってタイミング的にたまたまうまくいっただけかと
描画がうまくいかないってのはイメージを描画してるの?
よくある話としてイメージのロードを待っていないとかはどうかな?

バッファはウインドウサイズ
通常フルスクリーンだから640*480とか800*600とかになる
ウインドウモードならウインドウのサイズになるがinsetsがあるので
初心者には単純にはお勧めできない

ダブルバッファというのは表の描画面と同じサイズを用意するものだからね
そして切り替えはフルスクリーンだと自動的にフリップに、ウインドウモードだと
ブリットになってくれる


187 :182:04/07/11 19:17 ID:4Tmsd7Ye
>>186
あれから色々考えてみましたが、やはりコンストラクタが原因のようです。
コンストラクタ内だと、まだインスタンスが生成されていないために処理が上手くいかないようです。

Image、VolatileImage、BufferStrategyの全てでダブルバッファリングを行い
640*480ほどの画面を1ドット単位でスクロールさせてみたのですが、なんか
どれを使っても画面がたまにちらつく感じになるんですけど、こんなもんですかね?
640*480だと大きすぎるのだろうか。
常時ちらつくわけでもないんですが。たまにチラチラとなります。

188 :名無しさん@そうだ選挙に行こう:04/07/11 20:08 ID:KRMgaTqc
コンストラクタというだけではなにをしたいのかがわからんぞい
コンストラクタだからダメということはない

640*480でスクロールだけならCPU使用率2,3%くらいですむよ

ちらつきは垂直同期取るのでまったくなし
使い方おかしいと思うけど?


189 :名前は開発中のものです。:04/07/12 23:24 ID:hxZfdR1t
Java3Dをインストールしてみたが、
これって、配布に問題あるんじゃない?
サンマイクロに登録しないといけない。しかも英語で。
まだ実用化できるレベルではないと思うのだが…

190 :名前は開発中のものです。:04/07/12 23:38 ID:4aXKEpAM
今はおとなしくJava2Dで収まる程度で我慢しましょう
もしくはSDLあたりとかJNIで組みましょう


191 :名前は開発中のものです。:04/07/13 00:04 ID:T4MwyCgg
>>189
Xith3D
http://www.xith.org/tiki-index.php
Aviatrix3D
http://aviatrix3d.j3d.org/index.html
JOGL
https://jogl.dev.java.net/

好きなものをどうぞ。

192 :189:04/07/13 22:09 ID:Ppv9qnfp
>>191
おお、すごいですね。
ただ英語なので少しずつ翻訳しながら読んでみます。。。

193 :名前は開発中のものです。:04/07/14 02:02 ID:u8ckWnIl
Xith3DやAviatrix3Dって、3Dグラフィック機能だけに注目すれば
joglをもとにしたOpenGLラッパーライブラリだと捉えられると思うのですが、
Java3Dと比較するとそれらを採用するメリットはどのあたりにあります?

194 :名前は開発中のものです。:04/07/16 01:11 ID:SKc7EKZg
数ヶ月前位にJAVA始めた(標準API位はそこそこ使えるくらいです)んですが
何年か後でもゲーム作れるようになりたいな等と考えているのですが
まずはGUI(SWINGとか?)あたりから勉強すればよいのでしょうか?

195 :名前は開発中のものです。:04/07/16 07:47 ID:R92f/gQd
>>194
標準なAPIがそこそこ使えるんだったら、GUIを勉強するのもいいんじゃないでしょうか。

196 :名前は開発中のものです。:04/07/16 09:39 ID:8UZgIl4t
>>194
ゲーム作るんだったら、Appletかフルスクリーンの一般的なゲームか携帯アプリの3タイプぐらいに
分かれるけど、流行の携帯アプリなんかはどうでしょう?

197 :名前は開発中のものです。:04/07/16 10:15 ID:P3vfVqR3
正直携帯アプリはオススメできないな
キャリアで3種類に分かれるし
そのキャリアごとでも複数のバージョンに分かれる

なにより大概開発環境は1.3.1を用意しないといけないこと

速度もメモリも制限多すぎて初心者が手を出すのはどうだろう

一般的な普通のゲームつくればいいんじゃない?
javaっていわれないとわからないようなやつが理想

198 :194:04/07/17 01:04 ID:Fmqvf01D
こんばんは>>194です。
レス遅くなってすいません。

携帯アプリも楽しそうなんですがいかんとも漏れの携帯JAVA動かないっす_| ̄|○
Jポンだし・・・

何からやっていいかわかんない位の素人なんで
これをやるには何を学ぶってのがいまいちぴんとしてませんが
とりあえず明日は休みなんで最近Java書籍コーナーにならんでる
ゲーム本開発系の本でもいろいろと立ち読みするとこから始めて見ますね

レス下さった皆様ありがdです。

199 :名前は開発中のものです。:04/07/17 01:22 ID:znPg9lBj
そういやどこだったかでjavaの知識あまり無くてもすぐにゲーム作れるライブラリってのみたな


200 :名前は開発中のものです。:04/07/18 12:27 ID:982Rpxpt
JAVA検定2級受けてきた。やばい、落ちるかも。

201 :名前は開発中のものです。:04/07/19 02:54 ID:qRKRiKGC
eclipse使ってしこしこゲーム作ってるんですが、
ひとつ重大な疑問が。
exeファイルを生成するにはどうしたらいいんでしょうか?
元VB派だったので、実行ファイル化する機能がeclipseにも
付いているものとばかり思ってました。

202 :名前は開発中のものです。:04/07/19 10:44 ID:Njk4hhxw
vbできるならそれでjavaw.exeをよぶの作るとかすればよろし

どっちにしろjreが必要なのでインストーラセットにするか
同梱するかが必要だけど、この質問くるということはかなりのjava初心者とみた
java初心者スレの過去ログにこの質問大量に見つかるはずだから見てみるといい




203 :名前は開発中のものです。:04/07/19 13:23 ID:84bjiiMx
exeにしなくてもダブルクリックで起動できるよ。

204 :名前は開発中のものです。:04/07/20 00:36 ID:ZADw7o8l
>>202 >>203
ありがとう。でも考えてみると、Javaって
ゲーム製作に向いていないのかもしれない。(携帯、アプレットを除いて)
どうしよう。他の言語に乗り換えようかな。

205 :名前は開発中のものです。:04/07/20 00:57 ID:OA5Qnkhn
「ゲーム製作に向いているかどうか」を基準にするならツクール系専用ツールを使えばいい。

要はその言語で「作り上げる気があるかどうか」だよ。

実際「向いている」とは思わないが、最近は作りやすくなってるよ。
ゲーム向きな資料は他の言語に比べて探しにくいかも知れないけど、がんがれ。

206 :名前は開発中のものです。:04/07/20 08:45 ID:0/Tm17Iq
言語でゲームに向いてる向いてないってのはあるのか?

HSPやVBのようなものでゲームがたくさん作られていることから
Javaだから特別向いてないってことはない

そもそもダブルクリックレベルの話をしていることから
むしろJavaのほうが取っつきはいいと思うぞ

とりあえずどの辺が向いてないか考える前にやってみることだ
たぶん99%は間違ってる

207 :名前は開発中のものです。:04/07/20 23:07 ID:YNJ+j7r3
でもJavaは配布が面倒そうだね。
JREごと配布して、ユーザには起動用の.batか.exeを叩いてもらうのが使いやすいかなあ。

208 :名前は開発中のものです。:04/07/21 00:01 ID:sjxTaSqB
俺はゲーム以外もexe起動で同梱のjreをよぶようにしてる
一般ユーザーからはネイティブとの違いには気がついてないようだ

batでほとんど足りるんだけど、batを知らない人もいるからね


209 :名前は開発中のものです。:04/07/23 22:16 ID:mbqPJPUB
考え抜いた末、PHPでゲームを作ることにしますた。

210 :204:04/07/28 01:12 ID:pigNDSyn
204ですが、いろいろ他の言語もあさってみたけど、
やっぱりJavaでいきます。今eclipseの本かって来ました。がんがります。

211 :名前は開発中のものです。:04/07/28 02:03 ID:H/vRL8q2
javaといわなきゃわからないようなゲームもあるしなんとでもなるさ
言語は問題じゃない


212 :名前は開発中のものです。:04/07/28 02:04 ID:H/vRL8q2
肝心なこと書き忘れた

がんがれ


213 :名前は開発中のものです。:04/07/28 04:03 ID:pxSB7uFP
JAVAでマップパーツをまとめた画像を読み込んで
それをバラバラにして特定のパーツを呼び出すのは
どうすればいいのでしょうか?

214 :名前は開発中のものです。:04/07/28 04:11 ID:pWvKd6xA
>>213
Graphics.drawImage(Image, int, int, int, int, int, int, int, int, ImageObserver)じゃダメなのか?

215 :名前は開発中のものです。:04/07/28 04:26 ID:pxSB7uFP
>>214
public void abc(int x int y){
Graphics.drawImage(Image, 0, 0, 30, 30, 0+30*x, 0+30*y, 30+30*x, 30+30*y, ImageObserver)
}

30*30のパーツだとするとこれでいいのですか?
abc(0,0);
これでImage[0][0]が呼べるのかな。

216 :名前は開発中のものです。:04/07/28 04:43 ID:pWvKd6xA
>>215
いや、そういうことじゃなくてチップ番号と座標を対応させて一枚の画像から必要な部分だけ
その都度スクリーンに描画するようにすれば、読み込んだ画像をバラバラにして管理する
必要はないんじゃないのか?

217 :名前は開発中のものです。:04/07/28 04:52 ID:pxSB7uFP
>>215
そのやり方がよく分かりません。
まだまだ勉強不足のようです。


218 :名前は開発中のものです。:04/07/28 09:48 ID:H/vRL8q2
たしかその一部のイメージの描画はアクセラレーションきかないはずだ
アクション系ならロード時にイメージを新規に作ってそこに描画した方がいいぞ

注意すべきはロードするイメージはVolatileImageではなくて
コンパチブルイメージを使うこと

http://shin.cside.com/product/shingl/index.htm
このライブラリを使ってる人とのやりとりと日記みてわかった


219 :名前は開発中のものです。:04/08/30 23:48 ID:ERs1bP5f
Javaでネットワーク2DRPGを作成しています。
サーバプログラムは参考になるソースを見つけたのでそれを元に作成しています。
クライアントプログラムはいまいち参考になるソースが見つからず、
自己流で作成していましたが、停滞気味です。
クライアントプログラムの作成の参考になるソースや記事等有りましたら、
ご提示いただけると幸いです。

220 :名前は開発中のものです。:04/08/31 14:25 ID:Z2xpHABT
サーバープログラムの参考になるソースどこか教えてください。

221 :名前は開発中のものです。:04/08/31 19:02 ID:eG4/8KZG
>>219
どの部分で行き詰まっているのかかいてもらわんとなんともいえん

>>220
ネットワークの仕組みが分かってるかどうかだよな
まずはTCPベースでいろいろやってみるといいよ
小規模やリアルタイム性が問題にならないのならそのままでもいい

この2者ともまだ言語的にJavaかどうかのレベルではないなー

222 :名前は開発中のものです。:04/08/31 23:28 ID:bWsLtK/e
>>220
全体的な構造は、下記のソースコードを参考にして作成しています。
(エミュレートサーバプログラムです)
ttp://sourceforge.net/projects/l2j/
ttp://sourceforge.net/projects/tupi/

>>221
全体的にこんな構造で作成するといったものが分からず、適当に作成しているため、
特にアーキテクチャと言うものが存在しない状態で、
何とか動いているようだけど、ソースはすでによくわからない状態になっています。
このような状態なので、何か機能を追加するにもなかなか進みません。
ネットワークゲームのクライアント作成に関して、
何か参考になるリソースを教えていただけないでしょうか?
今プログラムは、複数の人がマップを歩けるといった状態です。

223 :名前は開発中のものです。:04/09/01 00:45 ID:JSL7Dn8l
そこまでできているならあとはそのパケットの種類を増やすだけじゃないの?

とにかく機能をプラグイン的に開発で追加できるようにしておいたほうがいい

特に大規模になるRPGならなおさらだが、STGや格闘なんかもこのプラグイン開発が非常に有効だ

だらだら書いたコードは自分の書いたものであっても後からはかなり追いにくくなるしね

224 :名前は開発中のものです。:04/09/01 00:52 ID:jkCSki8i
クライアントの作り方が良く分からないという段階で、
このような大規模(に見える。ソースを見たわけではないので)
サーバのアプリを参考にしてもどうにもならんと思う。

まずは、サーバとクライアントにどのように分けられているかを考えて見ることをお勧めする。

ゲーム作る前に、チャットサーバとチャットクライアントをTCPで作ってみなされ。
それが出来れば、そこに書いているようなプログラムは
ある程度想像できるとおもうが。

要するにチャットでクライアントから送信する文字列の代わりに
クライアントでのキャラクタの操作を送ればいい。
サーバはクライアントから受け取った全ての情報を
全てのクライアントに送り返すだけ。
(ここでは敵キャラとかも居ない前提だから)

まぁ30人ぐらいなら問題なく動くと思うよ。
ちゃんとクリッピングする必要はあるけど。

225 :名前は開発中のものです。:04/09/01 01:43 ID:7oUT+/5j
>>223
ご指摘の通り、だらだらとその場限りのコードを書いているので、
コードが難読化してきました。
プラグインですか。そういう方向性も考えて、
できるだけモジュール化して少しでも読みやすい形に変えていくしかないでしょうか...

>>224
以前、多人数チャットプログラムは作成したことがあります。
チャットとネットワークゲームのギャップは大きいです。
今は全員にブロードキャストしていますが、そのうちAOI (Area of Interest)も考えていきたいと思います。


226 :名前は開発中のものです。:04/09/01 17:01 ID:ISPB1QLl
単発質問スレだろ。
とっとと削除依頼出して来いよ。

227 :名前は開発中のものです。:04/09/02 07:45 ID:Y1Yx8GTH
お前が出してこればいいだろカス

228 :名前は開発中のものです。:04/09/02 19:10 ID:cCoZW+h9
いや、有用です。
jreって同梱して配布してもいいんですか?

229 :名前は開発中のものです。:04/09/02 19:17 ID:u4jYIec6
ライセンスにちゃんとかいてあるだろ
アプリと一緒なら大丈夫と

細かいところはちゃんと自分で読めよ
日本語でかいてあるんだから


230 :名前は開発中のものです。:04/09/05 18:37 ID:JFvG5Cpo
http://www13.org1.com/~taro/typing/frame.html
↑アプレットで作ったタイピングゲーム。
データはたぶんCGIで処理されてランキングを競える。
はまった(σ・∀・)σ

231 :名前は開発中のものです。:04/09/05 19:08 ID:3h4b8ntN
そもそもjreってどうやって添付するの?


232 :名前は開発中のものです。:04/09/05 19:17 ID:GEDEt6J2
jreってのはwinでsunのインストーラしか使ったこと無いやつはわからんだろうが
一定のディレクトリ構成で解凍できていればそれだけで動く

jreのパス/bin/javaw.exeを実行すればそのjreのファイルを使って動いてくれるよ


233 :名前は開発中のものです。:04/09/06 00:04 ID:w3gEzBit
起動するだけならManifest入りのjarじゃ駄目?
jre+exeにするメリットがよくわからない。誰か教えてプリーズ。

234 :名前は開発中のものです。:04/09/06 00:23 ID:Ce27N6UB
>>233
クリックだけで起動できるようにしておけば十分だというのはプログラマ側の意見。
Winユーザは「起動はhogehoge.exeをダブルクリック」とかいうイメージを持っているから、
Win向けならexeも用意しておくのが親切だろうと思う。

235 :名前は開発中のものです。:04/09/06 00:32 ID:mbfLc7Vo
>>234
あるいは、JWS使ってデスクトップにアイコンを置くか、かな。

236 :名前は開発中のものです。:04/09/06 11:28 ID:i7I+EB4B
winユーザなんて低脳は相手にしてないからいいよ

237 :名前は開発中のものです。:04/09/06 12:20 ID:ZBANa6io
FPSを実装する場合、Threadのrun()の中でThread.sleep()使うだけでもいいんでしょうか?
たとえば、sleep(10)とすれば20msごとにrun()(1フレームの処理)が実行されるので50FPSになりますか?

それともrun()の中を無限ループにしてThread.sleep()を使わずif文で

if (System.currentTimeMillis() - temp > 20) {
  temp = System.currentTimeMillis();
1フレームの処理
}

とした方がいいでしょうか?
どんな性能のマシンでも大体50FPSを保つようにしたいと思っているんですが。一般的な
方法はどうやるのでしょう。ヒントお願いします。

238 :名前は開発中のものです。:04/09/06 18:38 ID:+gWz+dMO
>>233
ユーザーにJREが入ってるのを期待するという時点で使いにくい
ネイティブアプリと同じ感覚で使うならコレ

しかも、ユーザーのJREを無理矢理上書きしないことと
稼働確認したバージョンが入っていることで安心感がある

セットアッププログラム使えば簡単にデスクトップにショートカット作ったりできるしな


239 :名前は開発中のものです。:04/09/06 18:41 ID:+gWz+dMO
>>237
タイマ管理ならメインルーチンはなんらかのObject.wait()で待機
そしてTimerTaskのFixedのほうでnotify()
これで一定間隔で綺麗な時間管理が可能

いろんなのをためしたがコレが一番fpsの安定度が高かった
whileなどのループで監視し続けるのは実は安定度がイマイチ


240 :名前は開発中のものです。:04/09/06 19:47 ID:ZBANa6io
>>239
ありがdそれも試してみます

241 :名前は開発中のものです。:04/09/14 15:41:48 ID:9W9CzUmZ
Javaでドラクエ風RPGのスクロール処理実装してみました(けっこうむずいな)。
ソースも入っているのでなんか感想ください。

ttp://gamdev.org/up/img/1230.zip

242 :名前は開発中のものです。:04/09/14 16:37:46 ID:XDf3I/sN
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●きなこ●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
これを見た人は確実に【きなこ】です。これをコピペでどこかに1回貼れば回避できます。
これは本当です。やらないときなこ無駄になります

243 :名前は開発中のものです。:04/09/14 16:46:02 ID:mzvwC+OS
きれいで見やすいソースだと思います。
Runnableをインプリメントって昔の手法のようなきがしますが、
ゲームでは普通なんですかね。

ゲーム作ってないJava使いの戯言なので、気にしないでください。

あと、マップデータの保存方法が面白かったです。
これなら、エンコーダ、デコーダが必要ないですね。
こんな発想は私にはありません。

さらにがんばってください。

244 :名前は開発中のものです。:04/09/14 19:48:38 ID:9W9CzUmZ
>>243
ありがとございます。

マップデータは最初アスキーコードでファイルに書き込んでたんですが、最近オブジェクトのシリアライズ機能を知ったので使ってみました。

アニメーション入れるときはRunnableをimplementsするか別にThread拡張したスレッドクラス作るかだと思うんですが新しくスレッドクラス作るの面倒くさかったのでimplementsしちゃいました。本当はアニメーション用のクラス作ったほうがきれいだとは思います。

245 :名前は開発中のものです。:04/09/14 23:09:03 ID:oCIZVQtI
>>241
TimerTask使え
動作が一定にならんぞ

246 :名前は開発中のものです。:04/09/15 01:11:45 ID:x9fcMx2z
>>245
スレッドの代わりにってことですよね。
動作が一定にならないってのはどういう意味でしょうか?
性能が違うマシンで実行すると移動速度が変わるってことですか?

247 :名前は開発中のものです。:04/09/15 09:04:05 ID:x9fcMx2z
上の方に書いてありました。

248 :名前は開発中のものです。:04/09/18 00:17:02 ID:vzZqw4Gl
>>241
すごい。ドラクエっぽいですね!

ブラウザにつなぐだけ、携帯にものってるjavaって
良い言語だねー 自分も色々作れるように調べてみようかな

249 :名前は開発中のものです。:04/09/19 01:28:27 ID:SSes8fIu
>> 239
TimerTask でためしに組んで見たけど、アプレットだと描画が行われない。
アプレットじゃなく普通にフレーム作ってやると動くのだが。
メインスレッドは止めちゃいけないのかな。他にスレッド用意する必要があるとか。

class App extends JApplet {
  public void start() {
    timer = new Timer();
    timer.scheduleAtFixedRate(new WakeTask(this), 0L, 20L);
    run();
  }

  public synchronized void run() {
    while (true) {
      try { this.wait(); } catch (InterruptedException e) {}
      Graphics g = getGraphics();
      g.drawString("hogehoge", 100, 100);
      g.dispose();
    }
  }

  public synchronized void wake() { notify(); }
}

class WakeTask extends TimerTask {
  App app;
  WakeTask(App app) { this.app = app; }
  public synchronized void run() { app.wake(); };
}

250 :249:04/09/19 01:44:48 ID:SSes8fIu
自己解決。スレッド作ってそちらで回したらうまくいった。
こーゆーやり方が正しい作法なのかは知らんが。

class App extends Japplet implements Runnable {
  public void start() {
    timer = new Timer();
    timer.scheduleAtFixedRate(new WakeTask(tins), 0L, 20L);
    new Thread(this).start();
  }

  public synchronized void run() {
      ・
      ・

251 :名前は開発中のものです。:04/09/19 09:06:51 ID:goqDjYTZ
start()をオーバライドしちゃだめだろ

252 :名前は開発中のものです。:04/09/19 10:53:43 ID:Aq0Xkjw4
横から失礼。
public class App extends Applet{
      :
  class task extends TimerTask{
    public void run(){
メインの処理;
      repaint();
      :
ではどうなんでしょうか?

253 :名前は開発中のものです。:04/09/19 10:56:46 ID:g0x391w9
よく分かってないのならrunのなかで各種初期化処理やれ
ゲーム自体独立したスレッドでいい


254 :名前は開発中のものです。:04/09/20 06:02:36 ID:W3SKt6/C
TimerTaskを使った絵画ループの書き方としては


TimerTask task = new TimerTask() {
public void run() {
canvas.repaint();
}
};
timer.schedule(task, 0, 1000/fps);

これでいいのかな。
誰が参考になるコードキボンヌ(2D対戦格闘もイケるとか、640x480で30fpsはいけるとか、これ本当?)

255 :名前は開発中のものです。:04/09/20 13:13:54 ID:ioTee/hT
GraphicsConfiguration#createCompatibleImage(width, height, Transparency.BITMASK);
を使用すると恐らくハードウェアアクセラレーションがかかる状態で描画が出来る予感。
OSとJavaVMによりけりだけど。
実はSWTのGCを使うほうが安定して上記とあまり変わらないスピードで描画が出来る罠があったりする。

256 :名前は開発中のものです。:04/09/20 18:28:35 ID:faYuQGQa
>>239
おまいさんが実験したJavaのソース キボンヌ。

257 :名前は開発中のものです。:04/09/20 19:27:10 ID:Y6umYSPO
>>254
640*480-60fpsいけるよ
ただしアルファブレンド拡大縮小回転を使わないという前提
1.4.2ではこれらはアクセラレーション効かないからね

アクセラレーションはいろんな場合に様々な要素で効いている
Windowsならメモリの確保の仕方でDDB、DIB、DirectXを使って実装している。
G400とかMatrox系はDIBやDDBはすんごい早い。
DirectXはRIVA128以降〜最新チップまで比較的安定。

>>255
それであってる
描画先がVolatileImageやフルスクリーン時のバックバッファならDirectXが積極的に使われるっぽい
描画先もコンパチブルイメージだとDDB
通常のBufferdImageはDIBになる

>>256
あの説明で分からないのならやめとけ


258 :名前は開発中のものです。:04/09/20 19:46:32 ID:faYuQGQa
>>257
実装は出来てるよ。
だけど人のソース見るのって楽しいじゃん。

259 :名前は開発中のものです。:04/09/20 19:54:46 ID:Y6umYSPO
ちゃんと動いているのならそれでいいだろ


260 :241:04/09/21 22:03:43 ID:og0kzD+1
>>241でドラクエ作ってたものです。
Javaのゲームプログラムを扱ったページを始めたのでよろしければいらしてください。いろいろアドバイスいただければ幸いです。

http://f57.aaacafe.ne.jp/~javagame/index.html

261 :名前は開発中のものです。:04/09/21 23:17:10 ID:BR/zZftm
がんばれ

個人的にはMSVMの新規配布がもはや不可能な現状では
Java2対応にしてスタンドアロンアプリケーションのほうが
いろんなことできて面白いと思うんだが

がんばれ

262 :名前は開発中のものです。:04/09/21 23:34:31 ID:og0kzD+1
>>261
ありがd。
アプリケーションにすると余計な処理が増えて、少しわかりにくくなると思ったんでアプレットから書きました。
一応、Java知っている人向けに書いてるのでJDK入れてあることを前提にしてます。
今後はアプリケーション版も追加していこうと思います。

263 :名前は開発中のものです。:04/09/22 01:17:04 ID:OSkO/iZz
というかアプリケーションの方が大概なめらかで高速
しかもアプレットより簡単だぞ

264 :名前は開発中のものです。:04/09/22 10:50:38 ID:4p3loCSB
>>263

>しかもアプレットより簡単だぞ
そうなんですか?
私のアプリケーションの作り方だと

public class FrameClass extends JFrame {
 public FrameClass() {
  MainPanel panel = new MainPanel();
  getContentPane().add(panel);
 }
}

class MainPanel() extends JPanel {
 public void paintComponents(Graphics g) {
  // アプレットのpaint()と同じ
 }

 // キーボード・マウス処理・スレッド等の実装
}

っていうようにフレームとパネルの2部構成にしてるんですが結構面倒なような。
あとアプレットの方がダウンロードしなくても手軽に見てもらえると思ってます。
完成品はアプリケーションの方がいいのは同意しますが。

265 :名前は開発中のものです。:04/09/22 16:34:46 ID:OSkO/iZz
いやそれだとSwingつかって描画してるだろ
そんな面倒な手続きはいらん


266 :名前は開発中のものです。:04/09/22 20:33:54 ID:xw9EK35l
Swing使いたいんで。というかSwingから入ったのでFrame使ったプログラム知らないです・・・
よく考えた結果アプレットやめてアプリケーションにしました。

267 :名前は開発中のものです。:04/09/22 20:54:00 ID:OSkO/iZz
別にSwingつかってもかまわんよ
RPGみたいなのはうまく使えば便利に管理できるだろう
たとえばウインドウはレイヤー使えば綺麗に重ね合わせされるわけだし

でも重ね合わせの処理とか絶対的な速度はSwingまかせなであぶないので
STGとかアクション系ならフレームの生成くらいしかSwingつかわないんじゃないかな

アプリケーションならおとなしくBufferStrategyつかっとけ


268 :名前は開発中のものです。:04/09/22 21:22:57 ID:YNa9oJMU
参考サイト
http://www5.airnet.ne.jp/sakuraba/java/laboratory/JDK1.4/Graphics/BufferStrategy/BufferStrategy.html

269 :名前は開発中のものです。:04/09/22 23:38:43 ID:xw9EK35l
アドバイスありがとうございます。
勉強させてもらいます。

270 :名前は開発中のものです。:04/09/24 04:57:16 ID:JbcS0+vI
ゲームってゲームの雰囲気に合ったUIがあってこそだと思うんだよ

Swingなんてクソ重いライブラリ呼び出すなんてNO
ゲームに必要な分だけのシンプルなUI widgetを作るのが漏れは好きだ。

271 :名前は開発中のものです。:04/09/24 12:33:08 ID:iDLeFsqJ
>>270
JComponent継承して作れよ

どのみちゲームでやるなら特にアクション系は垂直同期とるだろうし、
バッファリングをSwingにまかせるのはRPGやAVGならありだと思う


272 :名前は開発中のものです。:04/09/24 23:41:38 ID:JbcS0+vI
>>271

漏れはゲームのデザインはユーザインターフェースのデザインでもあると考える。
A列車で行こう4っていうゲーム、ユーザインターフェースがWindows標準の(しかしVBで作ったようなダサい)
ウィンドウシステム使ってた。あれでどれだけゲームの削がれたか。

273 :名前は開発中のものです。:04/09/25 00:30:14 ID:LEmXE2S9
>>272
いや、Swing誤解している

あれまじめにいじればわかるけど、ゲームのインターフェース並のことができるぞ
Swing作ったやつはいかれてると思った


274 :名前は開発中のものです。:04/09/25 02:21:25 ID:GBpB+5WY
>>273

だろうけど、よくよく考えると自分で必要最小限のもの作ったほうがスマート
せっかくJavaのパフォーマンス上がっているのに、Swingなんざ、いろいろ制約あるし重いし。

275 :名前は開発中のものです。:04/09/25 03:01:16 ID:LPiCwWti
重いってコンポーネントが?描画が?

276 :名前は開発中のものです。:04/09/25 07:51:08 ID:Nt5AgBoK
>>275
コンポーネントじゃないかな。起動が重いのは確かだと思うけど。

ただ個人で作るミニゲーム程度なら全然問題ないと思うけど。Swingの重さが目につくレベルのゲームってどのくらいの規模かな?3DMMOとかその次元の話?
というかSwingのコンポーネント(ボタンとかテキストボックス)とか普通のゲームでは使わないじゃん。

277 :名前は開発中のものです。:04/09/25 09:21:38 ID:LEmXE2S9
ボタン、リストボックス、パネル、テキストボックスあたりはMMORPGとかでふつーに使うね


278 :名前は開発中のものです。:04/09/25 14:32:41 ID:VXdMSo9v
作りたいゲーム次第だろ。
しっかり作り込んでまともなゲーム作りたいならSwingは使わないだろうし、
ちょっとしたミニゲーム程度ならわざわざUI自作するのはだるい。
適材適所って奴だな。

279 :名前は開発中のものです。:04/09/25 16:28:11 ID:piik0Rlz
http://appelv053.itbdns.com/game.html

こういうゲームを作ってみました
クリックすると始まります

感想をお聞かせください

280 :名前は開発中のものです。:04/09/25 17:37:50 ID:Nt5AgBoK
わ、早稲田を馬鹿にするなーーーーーー。


で?これ本物の写真なの?

281 :名前は開発中のものです。:04/09/27 00:04:06 ID:aLBna6ae
質問です。
Javaアプリでゲーム作ってますが、どうしても逆コンパイルかけられて
ソースを覗かれるのがいやなのです。
何か良い方法はありませんか?


282 :名前は開発中のものです。:04/09/27 00:26:23 ID:6bIETT3B
Javaで書かない。

283 :名前は開発中のものです。:04/09/27 00:32:04 ID:+O7GVTTF
>>281
JETとかTowerJとかGCJとか。

284 :名前は開発中のものです。:04/09/27 00:32:55 ID:+O7GVTTF
ってマルチだったのか。

……ってのまで見てしまった。

285 :名前は開発中のものです。:04/09/27 00:38:10 ID:yFK54/bd
>>281
難読化ツール使え。
それでも、がんばれば覗けるから、
結論は>>282

商用のものはループ改変までしてくれてすごいよ。
別のソースのように逆コンパイルされる。

まぁ、完璧って言葉はこの業界にはないからね。

286 :名前は開発中のものです。:04/09/27 00:44:34 ID:be/ifB4A
オレも「マルチだったのか」って書いた一人なわけだが。
あちこちで、「マルチだったのか」って書き込みがあって、
なんか笑える。

287 :名前は開発中のものです。:04/09/27 10:15:54 ID:xjw1fHGW
俺もマルチだったのかと書いてしまった
Javaとつくスレすべてにかいてある壮絶なマルチなんだもん

288 :名前は開発中のものです。:04/09/27 12:00:46 ID:fcgkGfZt
http://www.vector.co.jp/download/file/win95/game/ff323005.html

289 :名前は開発中のものです。:04/09/27 12:09:40 ID:IizXWLKV
('A`)?

290 :名前は開発中のものです。:04/09/27 12:16:48 ID:fcgkGfZt
宝さがし

291 :名前は開発中のものです。:04/09/27 14:23:52 ID:xjw1fHGW
いきなりダウンロード直ではウイルスと思われても仕方ないな
こういうのはスルーで

292 :名前は開発中のものです。:04/09/27 20:45:36 ID:on1oRaja
ゲームを作るのなら
C→javaかjava→Cのどっちの順番の方がいいですか?

293 :名前は開発中のものです。:04/09/27 20:52:50 ID:dHj2rp56
御前が何で作りたいかで変わるだろうが・・・。

294 :名前は開発中のものです。:04/09/27 21:20:20 ID:xjw1fHGW
言語は手段であって目的ではない
どっちの言語もなれればそれなりに応用は利くものだ

言語自体が未体験ならHSPあたりでプログラムというものについて
勉強したほうがいいかもしれない

295 :292:04/09/27 22:37:39 ID:on1oRaja
ありがとうございます!
HSPの勉強から始めたいと思います

296 :名前は開発中のものです。:04/09/28 12:56:38 ID:DMH4xDMY
HSPでRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はHSPで文字表示ぐらいならできます
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。

297 :名前は開発中のものです。:04/09/28 13:00:11 ID:9DADYBn0
そのテンプレJavaのスレで張られても・・・

298 :名前は開発中のものです。:04/09/28 13:57:04 ID:0NUfckFm
面白いテンプレでもないのに、なぜ張るんだろう。

299 :名前は開発中のものです。:04/09/29 06:30:32 ID:2psQOMW0
HSPはプログラミングの悪習慣が身についてしまう最低最悪の言語だ
OOが強力な言語でやると自然にいい書き方が身に付く


300 :名前は開発中のものです。:04/09/29 11:14:55 ID:OWdyzEvX
昔はみんなBASICやアセンブラだったんだから
まずはプログラムの基礎知識を付けるというのが大事かと

本当にプログラムが出来ない、論理的に考えれない人ってのはいる
何か一つでも言語覚えたらあとは応用の範囲だと思うけどなぁ

さっきからJavaと関係なくageてる時点でお察しくださいか

301 :名前は開発中のものです。:04/09/29 21:44:52 ID:9wU1LsNm
>>300
BASICやアセンブラでコード書いてきた人のコードは、汚いことが多い。
なんで奴らは、あんなに変数名に、2、3文字のものを使うのか。
グローバル変数大好きだしさあ。

>>299
Ruby/SDKとか、ご希望に沿うだろうか?
自分はrubyの書式が肌に合わない & スクリプト言語なのにタイプセーフなので、
いまひとつ好きになれんのだが。


302 :名前は開発中のものです。:04/09/29 22:40:26 ID:+gxptf2V
>301
自分はBASIC,アセンブラでプログラミングを覚えた世代だけど、同意。
BASICの悪い癖を捨てて、まともなコードが書けるようになるまで苦労した。

これからプログラミングを始める人なら、Javaも良いと思う。Javaで学んだ
ことは C++ でも応用できるし、今時のPCなら遅いと言われるJavaでも
2DのアクションRPGぐらいなら、充分遊べるものが作れる。

303 :名前は開発中のものです。:04/09/29 23:07:12 ID:9wU1LsNm
>>302
問題はWinXpにデフォではJavaVM入ってないことだな。

304 :名前は開発中のものです。:04/09/29 23:21:34 ID:6WW72moI
>>303
どうせ開発にはJ2SDK入れるんだからあまり関係ないと思うが。

305 :名前は開発中のものです。:04/09/29 23:55:14 ID:QrpfaUn5
JREをzipで固めたものを渡せば大丈夫ですよ。
インストールしなくても、C:\hoge\java.exe -jar hoge.jar で動きます。

306 :名前は開発中のものです。:04/09/30 00:51:33 ID:SaksPDuX
開発がどうこう言ってるんじゃなく、成果物を無条件で見れない初心者が
けっこう存在するってことが問題なのだが。

307 :名前は開発中のものです。:04/09/30 00:56:10 ID:HsaYO+is
>>302
3Dも出来ますよ。
海外だとJava用3Dエンジンとかあるけど、
動かしてみるとネイティブ版と見た目変わらない。

308 :名前は開発中のものです。:04/09/30 00:59:07 ID:9zy4ATQQ
>>306
一つ上のレスぐらい見ようよ。
JREと起動ランチャー付きの物を自動解凍EXEで配布なら大丈夫ですか?
クリックして自動解凍、中にある起動ランチャーをクリックで動くと思いますが。

309 :名前は開発中のものです。:04/09/30 01:59:10 ID:r2ZmL0cE
>>301
ん〜どうだろ
昔からやってる人はピンキリだけど
基本的に職業プログラマならコードは年々綺麗になっていくと思うよ

俺もさすがにJava8年くらいおいかけてるんで
昔の自分のCのソースとかみれたもんじゃない


310 :名前は開発中のものです。:04/09/30 04:50:09 ID:Jfc28Ggo
jre同梱についてくわしく説明しているサイトを
教えてください。ググッたけどうまいの見つからないのです。

311 :名前は開発中のものです。:04/09/30 10:37:53 ID:r2ZmL0cE
普通にディレクトリ構造あのままで一緒に展開するだけ
特にWindows版以外のjreみればわかるけど、本当にそれだけなんだよ

また、jre配布のドキュメントにもかいてある
何を削っていいかとか何を足していいかとか
まずはそれをよんでからだな

312 :名前は開発中のものです。:04/09/30 18:26:59 ID:r2ZmL0cE
J2SE5きたね
Windows以外の環境でもJava2Dが高速化されてるのがウリなはずだから気になるな


313 :名前は開発中のものです。:04/10/02 00:43:26 ID:KZCjahUY
Java2DのOpenGL実装が動かない・・・うちの環境だけか


314 :名前は開発中のものです。:04/10/07 19:14:19 ID:DkYzRhHU
何このスレ?
凄く参考になる。

315 :名前は開発中のものです。:04/10/07 20:46:12 ID:S5+NIL6W
>>313
うちも動かない。
Swingの動きは速くなったんだけど。

316 :名前は開発中のものです。:04/10/09 10:39:39 ID:G6mygju1
これ良さそうだね。
http://www.lwjgl.org/

317 :名前は開発中のものです。:04/10/09 21:56:50 ID:1XDzJp+5
とりあえずWindowsに関してはゲームに影響する部分は
1.4.2から5.0で大きく変わる部分はないな
もちろんGCの大幅高速化は影響がでかいが

LinuxなどはOpenGLでやっとアクセラレーションできるようになったけどね

318 :名前は開発中のものです。:04/10/09 22:20:33 ID:G6mygju1
Swingが速くなったけど、それはゲームには影響しないかな。
まだ全然試してないんで、よくわからんけど。

319 :名前は開発中のものです。:04/10/10 00:59:58 ID:2gZf+UVq
Swing使ってゲームなら大幅に早くなるだろうね
自分でウィジット作れればRPGとかAVGとからくちんになる
とりあえずレイヤー勉強してみそ

320 :名前は開発中のものです。:04/10/14 23:47:04 ID:3fuTw3pe
Javaゲームプログラミング ゲームで引き出すオブジェクト指向言語のパワー
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881355619/qid=1097764948/ref=sr_8_xs_ap_i1_xgl/249-6836650-4238735

この本どうですか?1997年の本なんですが今でも通用すると思いますか?

321 :名前は開発中のものです。:04/10/22 01:47:27 ID:5V547bLM
保守

322 :名前は開発中のものです。:04/11/03 13:53:18 ID:kGSAgTH3
SWT

323 :名前は開発中のものです。:04/11/03 23:30:38 ID:umJ+qUuy
>>322
SWTはグラフィック弱いからねぇ。
といいつつ、SWTでちょこちょこ作っているけど。

324 :名前は開発中のものです。:04/11/04 01:38:28 ID:uCokNmiw
BufferedStrategyとJava2Dでいいだろ

325 :名前は開発中のものです。:04/11/06 19:17:03 ID:YOwYVHBA
Visual Editorは使いやすいですか?

326 :名前は開発中のものです。:04/11/06 21:16:54 ID:s4YogWp1
JavaのGUI構築に関しては

 NetBeans>JBuilder>OracleJDev>VE

でほぼ間違いない

パネルのクラスを作成してそれをフレームにはりつけて簡単に作れるのが強み>NetBeans


327 :名前は開発中のものです。:04/11/07 10:45:20 ID:2nTxjdtC
>>285
商用のものの値段教えてほしいです。

あと、なんにも偽装してない状態で、
逆コンパイルすると、変数名とかも分かってしまいますか?

あと、偽装化する方法にどんなものがあるかも知りたいなぁ。
JAVAでプログラミングするときに、コアとなる部分は、隠したいので、

C言語だと、色々思いつくんだけど、JAVAはあまり経験がないので・・・
i
nt a[] = { 1,2,3,4,5,6,7,8,9,10 }:
int b[] = { a,b,c,d,e,f,g,h,i,j,k,};
main(){ int hoge = b [ -1 ]; }

関数のポインタ a[] = { hoge1,hoge2,hoge3 };
main () { 関数のポインタ p = f[ x mod y * 3 + z ];
てな感じで、意味不明な演算で関数を呼び出すとか
(もちろん、 x ,y,z意味不明なロジックで導出させる)

goto文多用するとか、グローバル変数多用するとか

演算子のオーバーロード使いまくりだとか、

再起呼び出し多用するとか、

JAVAだと、どういうのが、考えられるのかな?



328 :名前は開発中のものです。:04/11/07 12:08:42 ID:gfwsSPvL
HSPでRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。

これと同じレベルだな。

329 :名前は開発中のものです。:04/11/07 13:18:58 ID:2VdtLCST
ぶっちゃけるとCもコンパイラの癖わかれば
逆アセンブルして楽にのぞけるようになるよ

330 :名前は開発中のものです。:04/11/07 16:24:55 ID:2nTxjdtC
>>328
うーん、じゃ、どうやって、勉強したらいいか教えてちょ。
URL貼り付けてくれたら、勉強するなり。
うーん、今、思いついたのは、JAVAのバイトコードを
クライアントとサーバー間でリアルタイムで暗号/複合しながら、
キーもどんどこ変えていって、debug等で、やりとりがとまったら、
即座に実行中止するとか、そんな感じかにゃ。
いじわるしないで、教えて、ちょ。

>>329
最適化の話?最近のCコンパイラは、偽装までするなりか?
最適化されたくらいなら、自分もx86は、読めるから、
なんとかなると思うけど・・・


331 :名前は開発中のものです。:04/11/07 16:32:25 ID:2VdtLCST
通信の暗号化だけでいいんじゃね?

332 :名前は開発中のものです。:04/11/07 16:46:53 ID:Gqvqe2HR
>>327
リフレクションを使いまくるとかかなあ。
あとは、Javassistで実行時にバイトコードを書き換えるか。
AspectJを使って、不思議なバイトコードにしてしまうとか。

333 :名前は開発中のものです。:04/11/08 08:59:43 ID:GgfK61Gh
JAVA3Dを使っているのですがHTMLとの連携って取れますか?
例えばカラーキューブをクリックするとホームページにリンクするとか。

334 :名前は開発中のものです。:04/11/08 16:56:19 ID:4+P28nO4
>>333
アプレットで作成しているなら
AppletContext context=getAppletContext();
context.showDocument(new java.net.URL(getCodeBase()+"ホームページ.html"), "対象フレーム名");
でページを切り替えられるよ。

ところで質問スレに同じレスしたのは本人か?

335 :名前は開発中のものです。:04/11/08 19:16:45 ID:ogrz3+UQ
>>330
だから、キミのスキルがどうこう以前に、「原理的に無理」。
クライアントで複合化できるなら、その複合化ルーチンをデコードしたら終わりでしょ。
その複合化ルーチンを暗号化しても、それを複合化するルーチンを(以下無限ループ)


336 :名前は開発中のものです。:04/11/09 03:08:11 ID:ytFO0TQ5
>>335
その複合化ルーチンのみ邪道かもしれんが、JNIを使って、ネイティブコード化
したモジュールから呼び出せるクラスで実装してみては?
誰か暇な人試してみて。


337 :名前は開発中のものです。:04/11/09 03:25:05 ID:nDls2//t
馬鹿馬鹿しい。
まず、何でそこまでしてソースを見られたくないのかを話すべきだろうが。

338 :名前は開発中のものです。:04/11/09 05:26:04 ID:aIROL9ZR
>>336
そのネイティブコード化したモジュールを逆アセンブル/デコンパイルしたら(以下略)

339 :330:04/11/09 06:32:39 ID:j0Al8RV2
というか、コアのルーチンは、サーバーサイドにおけば、
いいだけの話だったのかな?
サーバーサイドのロジックまで、デバッカで追えませんよね。
サーバー/クライアント間での通信内容については、
みられても問題ない場合

340 :名前は開発中のものです。:04/11/09 06:42:01 ID:j0Al8RV2
>>337
具体的には、書けませんが、たとえば、
divX : メディアプレイヤー
GIFファイルの作成とか(今は、この特許なくなったみたいだけど)
特許侵害の可能性のあるソースを隠すためwww
もちろん、特許侵害のロジックについては、回避する努力をしていきますが・・・
全部回避するまでの時間かせぎに使いたいのです。

341 :名前は開発中のものです。:04/11/09 08:52:04 ID:vga5CoyF
>>340
ゲームを作っているんだっけ?
正直、本体を完成させることに全力を傾けた方がいいと思うよ。

342 :名前は開発中のものです。:04/11/09 13:40:09 ID:xsqj7mf1
ソースを隠せば特許に引っかからないと思ってるのかひょっとして

343 :名前は開発中のものです。:04/11/09 22:03:57 ID:ytFO0TQ5
>>338
それはさすがに諦める。けど、jadやmochaなどのツールで誰でも手軽に
ソースを覗かれる行為だけは避けたいのさ。

>>339
ゲームプログラムを作成すると、
どうしてもクライアント側にゲームのコアとなる部分が偏ってしまう。
ゲームアルゴリズムは盗まれたくないのさ。

344 :名前は開発中のものです。:04/11/09 22:18:52 ID:vga5CoyF
釣れたら「フィッシュ!」と元気良く発声。

345 :名前は開発中のものです。:04/11/09 22:23:58 ID:1fjP+NBC
Appletでゲーム作ったことある人に聞きたいんだけど、FlashとAppletとではどっちが軽い?
対して変わらないならFlashでざっくり作ろうと思うのだが(作る予定なのはドラクエ系のRPG)

346 :名前は開発中のものです。:04/11/09 22:29:46 ID:dXHv6g2L
>>345
アプレットのほうがはるかに軽いよ
どうせ無料で統合環境含めてすぐ試せるんだからやってみればわかる
ドラクエ程度ならCPU使用率は常に5%以下だろう


347 :名前は開発中のものです。:04/11/09 22:30:33 ID:dXHv6g2L
長時間すると思われるRPGならアプリケーションにしたほうがいいんじゃないのかね


348 :名前は開発中のものです。:04/11/09 22:40:03 ID:1fjP+NBC
>>346
thx Applet行きます

>>347
ブラウザならではの何かを考えるさ(後付けかよ)

349 :345:04/11/10 18:30:15 ID:fyGIsVUe
WWAとRPGツクールを足して2で割って0.7掛けした感じのにしてみよう
Graphics2Dってクラス見つけたので作業効率はFlashの3倍程度に抑えられそうだな

350 :330:04/11/10 23:56:00 ID:u7v99fS7
>>342
特許はもちろんアウチですが、ソフトウェアは、著作権で保護されていて、ことなる実装であれば、
著作権の侵害には、あたらないという認識です。

>>343
微妙に違いますにゃ。たとえば、スロットマシンのゲーム性をぱくって、コンピーターで似たようなゲームを作ります。
スロットマシン関係の特許は、スロットマシンに関するものが大部分で、
コンピューターのソフトウェアに対しての特許侵害には、あたらないとは、おもうんですよ。
しかし、ダークだから隠しておきたいと。
まぁ、弁理士さんに、相談かな。1時間5000円也
それで、あっさり、問題ないと言われたら、いいんですが、
もし、もっと、詳細な調査が必要とかになると、結構なお金がぶっとんじゃうんじゃないかと思うんですよね。
趣味で作るゲームにそこまで、お金は、かけられないなぁと。
あと、民事訴訟起こす程の損害は、与えないだろうから、ほったらかしになるだろうという楽観的な読みもあって、
隠しておけばいいかなと思うわけですにゃ。

351 :名前は開発中のものです。:04/11/11 00:03:57 ID:M5gVSkCJ
(;´Д`)

352 :名前は開発中のものです。:04/11/11 01:22:32 ID:9ozRyiBX
なんだ頭のネジ飛んでるのか

353 :名前は開発中のものです。:04/11/11 01:51:03 ID:R2zDmOTh
なんかコンテストみたいのやってない?
なかなかいい出来に仕上がったからさ。

354 :名前は開発中のものです。:04/11/11 04:54:45 ID:0wqS41XF
open.orgは、マイクロソフトに特許料払ってるのかな?
もし、そうだったら、頭のねじとんでるのみとめるよ。
ファイナルファンタジーは、ドラクエに特許料しはらってるの?
ヤフーのアバターシステムは、ハンゲームに特許料しはらってるの?
秀丸は、emacsに特許料支払ってるの?
linuxは、以下略

355 :名前は開発中のものです。:04/11/11 06:24:01 ID:M5gVSkCJ
(;´Д`)?


356 :名前は開発中のものです。:04/11/11 07:00:17 ID:hMrMcEPx
>>354
そろそろ名前付けるか、いなくなるかしてくれ。

357 :名前は開発中のものです。:04/11/11 09:04:31 ID:wGJFyhQs
>>354
いなくならなくてもいいから、コテハンつけて欲しい。

358 :donutsTalk ◆6g0ICONHI2 :04/11/11 09:25:08 ID:0wqS41XF
ほい。そちらの電波受信状況はいかがでつか?
ちなみに、ハンゲーム作ってる会社、日本で特許検索かけたが、ヒットしなかった。
アメリカでアバター(avator)で検索したら、300件ヒット、読み気になれんてwww
あと、ハンゲームにアバを売る行為に類似特許(結構、ずばりコナミのもの)があり、
メールで聞いてみたwww
---
ハンゲームジャパン・ユーザーサポートでございます。
お問合せありがとうございます。

恐れ入りますがお問合せに関する内容には一切
お答えすることが出来ません。
ご理解いただけますようお願い申し上げます。


> xxxです。
> たびたび、申し訳ありません。
>
> ソフトウェアは、著作権で保護されており、ことなる実装であれば、真似しても
かまわないという認識であるのですが・・・
> 例:DivX と メディアプレーヤー等
> 御社か他社が(おそらくはビジネスモデル)特許をもっていれば、明らかに真似
することは、
> 特許侵害なので、駄目だとはっきり分かるのですが・・

---
まぁ、もともと、答えがちゃんと返ってくるのは、期待していなかったのだけど・・・

359 :donutsTalk ◆6g0ICONHI2 :04/11/11 09:31:24 ID:0wqS41XF
>秀丸は、emacsに特許料支払ってるの?
>linuxは、以下略
これ、unixは、オープンソースだから問題ないよね。
ただ、商業化していいんかよという疑問は残るが・・・

360 :名前は開発中のものです。:04/11/18 16:48:46 ID:RloAc9Z4
Javeのゲームが出来ないんですけど、何故だか教えてください
IE6やSleipnirでも動きません
10作ほどゲームをやろうとしましたが、全部駄目でした

ちなみにWindowsXPで回線速度はADSL8M、インターネットオプションでのJavaアプレットも有効にしているのですが…

361 :名前は開発中のものです。:04/11/18 16:52:17 ID:ogR/5hdU
JREはコンパネに登録されてる?
インストーラ付きのものでインストールしないとブラウザに関連付けられないと思うよ(たぶん)
1.5か1.4か知らないが、一度削除してDLからインストールまでやり直したら

362 :名前は開発中のものです。:04/11/18 16:54:47 ID:4Hv4ccfc
まず本当にJavaがはいっているのか

コマンドラインで
>java -version

とうってみなされ


363 :360:04/11/18 18:52:23 ID:sU1bTFr7
>>361,>>362

入ってませんでした!
デフォで入ってるものかと思ってたんです…
ありがとうございました!

364 :名前は開発中のものです。:04/11/18 19:38:03 ID:4Hv4ccfc
はいってないなら

http://java.com/ja/

をおぼえていくといい


365 :名前は開発中のものです。:04/11/19 22:07:12 ID:qdQUCbBX
appletを使ってちょっとしたネトゲーみたいの作ってたら、どうも他のPCとの通信が出来ないらすぃ・・。
サンドボックスだと。ローカルホストで動かしてたから気づくのが遅れてしまった_| ̄|○

366 :名前は開発中のものです。:04/11/19 22:08:29 ID:q43rvRAK
サンドボックスはダウンロードした鯖しか信用しないからな
ネトゲつくりたいなら鯖経由が必須


367 :名前は開発中のものです。:04/11/19 22:10:13 ID:BseBGFLl
鯖にapplet用のポート空ければいいんじゃなくて?


368 :名前は開発中のものです。:04/11/19 22:13:17 ID:qdQUCbBX
>>366 レスはやー。

そうなんだ。対戦相手を見つけるまではサーバを使用して対戦相手が揃ったら
その中でホストに適したPC(回線とか性能とか)に仮ホストをしてもらって、
サーバからは独立したネットワークの中でゲームを…ってのを考えてたんだけど無理クサイね。
嗚呼じゃんねんだ

369 :名前は開発中のものです。:04/11/19 22:14:52 ID:qdQUCbBX
>>367 いや、サーバとは別のPCとPC間で通信できんもんかなーと。

370 :名前は開発中のものです。:04/11/19 22:46:54 ID:8/Clfffc
署名がなんたらと聞いたことが

371 :名前は開発中のものです。:04/11/20 12:31:29 ID:d3ZA3Kvz
もちろん署名入れればフルアクセスは可能
ベリサインとか契約せんと警告出るしそれやるとお金かかるけどなー

アプリケーションじゃだめなのか?

372 :名前は開発中のものです。:04/11/24 21:31:38 ID:jYszhyvm
Webページ開くだけで、どこの誰かも分からない人とゲームが出来る。って手軽さがいいなぁと思って。

保守

373 :名前は開発中のものです。:04/11/24 22:48:09 ID:USGuH/yD
>>372
appletは、ブラウザの窓を閉じたら閉じちゃうよー。

まあ、appletをスタンドアロンアプリにするのもその逆も簡単だから、いまはあまり気にせず頑張ればよかですよ。

374 :名前は開発中のものです。:04/12/05 23:45:13 ID:BuC66eru
こんなのあった。寂れてっけど。
ttp://redw.jp/dig/

375 :名前は開発中のものです。:04/12/15 09:49:14 ID:kz2DYtHn
保守ついでに質問です

Javaでサウンドを再生させる方法なんですが
private AudioClip oto = Applet.newAudioClip(getClass().getResource("wavfile");
oto.play();
だと連続して再生しようとすると鳴らない場合があります。
ゲームでサウンド使う場合同時に連続して再生できるAPIは何を使うんでしょうか?

376 :名前は開発中のものです。:04/12/15 09:53:45 ID:kz2DYtHn
javax.soundはどうなんですかね・・・

377 :名前は開発中のものです。:04/12/15 12:07:07 ID:XrmTb2hU
普通はJavaSoundつかうね・・・

378 :名前は開発中のものです。:04/12/15 17:14:27 ID:s+Vjf0B4
>>377
やはり・・・
AudioClipしか知らなかった。java.sound勉強してみます。

379 :名前は開発中のものです。:04/12/15 23:40:33 ID:hUtOBgwl
携帯のアプリ作成って、javaの「なにか」使うんですよね?
何をダウンロードすることから始まるんですか?
叩かれてケッコーですから、まじで教えて下さい。

高校生です

380 :名前は開発中のものです。:04/12/15 23:48:01 ID:rOGq997C
>>379
携帯アプリ@2ch掲示板
http://hobby7.2ch.net/appli/

381 :名前は開発中のものです。:04/12/16 00:13:37 ID:RcG4F+66
どうもすいませんでしたm(_ _)m
でも…
「携帯のアプリ作成って、javaの「なにか」使うんですよね?
何をダウンロードすることから始まるんですか?」
この答えだけ教えて下さい。お願いします

382 :名前は開発中のものです。:04/12/16 00:22:59 ID:o3VfI4Qy
JavaのPC版というかスタンダードなのがJ2SE
携帯やODAなどの小さな組み込み系はライブラリや仕様を絞って小さくしたのがJ2ME

開発はJ2SEの上でJ2MEのツール類(エミュやキャリアの独自ライブラリなど)という構成で

作り方は各キャリアのところにかいてあるはず

そして携帯用のお話は場所が違うってことさ

383 :名前は開発中のものです。:04/12/16 00:23:29 ID:o3VfI4Qy
PDAの間違いゴメーヌ

384 :名前は開発中のものです。:04/12/16 00:38:53 ID:vb9l5MzD
>>381
むこうのテンプレに全部書いてある。

385 :名前は開発中のものです。:04/12/16 00:47:43 ID:F/4lyg8x
ありがとうございます(^^)
では携帯板に行ってきますので(.。)

386 :名前は開発中のものです。:04/12/16 01:08:44 ID:vb9l5MzD
ム板もチェック汁

387 :名前は開発中のものです。:04/12/16 18:21:45 ID:UoUSh1EM
Java Graphics and Gaming
ttp://fivedots.coe.psu.ac.th/~ad/jg/
このページすごいよ。まだ出てない本みたいだけど全部ドラフトが公開されてる。少し読んでみたけど説明もわかりやすい。

388 :名前は開発中のものです。:04/12/16 19:58:10 ID:hTm/7gSz
Runescape Part3
http://game10.2ch.net/test/read.cgi/mmominor/1098515775/
このrunescapeってのもjavaで作ってあるけどすごいよ、軽いし

389 :名前は開発中のものです。:04/12/16 20:41:45 ID:UoUSh1EM
日本のJava関係のページはほとんどあさったけど海外はまだまだすごいのいっぱいあるね。
知ってたらどんどん紹介キボンヌ

390 :名前は開発中のものです。:04/12/18 18:16:12 ID:0Pkivd1+
期待あげ。
昔JAVAのサンのhpからゲームが大量にアップしてある
頁に行けたような気がするんだけど、今は出来ないのですね。
英語だからどこへ行ったかわからないし。
それともうろ覚えの記憶では、会員制になっちゃったのかな?

391 :名前は開発中のものです。:04/12/19 00:02:11 ID:8YWYQTqv
>>390
ttp://community.java.net/games/
これかなぁ。プロジェクトのページに結構アップされてるみたいだけど。
雰囲気もSUNが絡んでるみたいに見えるけどブログがあるから個人サイトかな。

392 :名前は開発中のものです。:04/12/22 22:27:48 ID:+LLk3Ae0
Javaは永遠に不滅
あげ

393 :名前は開発中のものです。:04/12/22 23:27:17 ID:4t19nDIu
Javaが簡単だからかしらんけど、
Javaをもっぱら使う香具師ってバカが多い気がする。

394 :名前は開発中のものです。:04/12/22 23:57:39 ID:2UyaUYFM
Javaをつかいこなせないあほなら多いが

395 :名前は開発中のものです。:04/12/23 10:47:14 ID:6BG9TsgI
>>393
大量にSEを仕立ててるからじゃないかな
あげ

396 :名前は開発中のものです。:04/12/25 23:43:31 ID:2h/t8t08
sdl4gcj は Java から Simple DirectMedia Layer (http://www.libsdl.org/)
使うためのクラスライブラリです.作成されたアプリケーションは
GCJ(http://gcc.gnu.org/java/) でコンパイルすることで, JRE なしで動作します.

http://sourceforge.jp/projects/sdl4gcj/

397 :名前は開発中のものです。:04/12/25 23:48:52 ID:oFyPYi4D
GCJ遅いしすべてとおるわけじゃねーしな
1.1とかの時代ならいいかもしれんが・・・

398 :名前は開発中のものです。:04/12/28 00:25:51 ID:pMUbf8EG
がんばれJava負けるなJava

399 :名前は開発中のものです。:04/12/29 01:39:44 ID:vG3KQyOQ
>>396
URLの末尾に閉じカッコ")"つけるの良くない

400 :名前は開発中のものです。:04/12/29 01:50:05 ID:vy+C12fq
why

401 :名前は開発中のものです。:04/12/29 01:52:10 ID:vG3KQyOQ
>>400
規格では")"まで含まれてしまうから

402 :名前は開発中のものです。:04/12/29 02:28:29 ID:vy+C12fq
( ・∀・)つ〃∩ ヘェーヘェー

じゃあこのブラウザは規格無視ってことか

403 :名前は開発中のものです。:04/12/29 10:24:56 ID:SCxaGwVw
Javaで作ったゲームの配布の仕方なんですが相手のPCにJDKもJREも入ってない状態で実行させることはできますか?

404 :名前は開発中のものです。:04/12/29 10:28:36 ID:SCxaGwVw
ちなみにJETっていうのは知ってます。フリーであったら教えていただきたいのですが。

405 :名前は開発中のものです。:04/12/29 10:29:48 ID:SCxaGwVw
すいません。JET調べたら無料のパーソナルエディションありましたorz

406 :名前は開発中のものです。:04/12/29 19:55:13 ID:d2ALFE+6
>>399ってXML大好きそう。
糞規格逝って良し

407 :名前は開発中のものです。:04/12/29 22:32:35 ID:QlZN4+1J
>>403
WebStartとアプレットなら、JREを自動でダウンロードするように
出来たはず。
あと、JREをゲームに同梱することも可能。

408 :名前は開発中のものです。:04/12/30 11:40:00 ID:App8tdOx
>>407
WebStartは別途インストールですよね・・・JRE入れてる人よりすくなさそうなんですが。
>>JREをゲームに同梱
これよく聞くんですが、C:\Program Files\Java\jre1.5.0にJREが入っているとするとこのディレクトリ丸ごとゲームのディレクトリに保存するってことですか?
ゲーム起動するときはこのディレクトリにパスはってjavawであってますか?

409 :名前は開発中のものです。:04/12/30 12:29:57 ID:cd4ekPU/
jarならオプションをつけて

javaw -jar hogehoge.jar
(または java -jar hogehoge.jar)

でいいみたい

410 :名前は開発中のものです。:05/01/01 23:49:17 ID:m62MX/c0
JREのディレクトリ構成そのままでJava.exeとか起動するとそこからの相対アドレスでバイナリが使われる
一部のソフトは環境設定使うけど、それは起動時のスクリプト等での設定の問題だから
まったく問題なし

JREが入ってないマシンでJREを自動でダウンロードってのは無理だし、
複数バージョンでのプラグインの動作保障はSUNはしないしね


411 :名前は開発中のものです。:05/01/02 11:07:19 ID:xWBHNcVz
新年明けましておめでとうございます。

みなさんはどうやって自分の作ったゲーム(など)の
fpsや1ループの処理時間を調べているのでしょうか?
System.currentTimeMillis()を使っているのでしょうか?
これだとどうもアバウトな気がして。。。

何か良い方法があればご教授いただければ幸いです。

412 :名前は開発中のものです。:05/01/02 12:31:26 ID:GInEeMeX
>>411
Java API 仕様より
>public static long currentTimeMillis()
>現在の時間をミリ秒で返します。
>戻り値の時間単位はミリ秒ですが、
>値の粒度は基本となるオペレーティングシステムによって異なり、
>単位がより大きくなる場合があります。
>たとえば、多くのオペレーティングシステムでは、
>時間を 10 ミリ秒の単位で計測します。

> これだとどうもアバウトな気がして。。。
その気持ちはわからなくもないし、実際に精度はあんまりよくない。
が、まさか1ループ毎に時間を計ったりしてる?
fpsのような重要でない値なら1〜2秒間隔で平均取れば十分だと思うよ。

413 :名前は開発中のものです。:05/01/02 13:20:08 ID:fLfuGW+L
JDK5.0のSystem.nanoTime();に逃げてみるとか

414 :名前は開発中のものです。:05/01/02 16:47:18 ID:cbIeu/vz
1ループの処理時間は、ループ処理をTimerTask.run()に記述すれば
TimerTask.scheduledExecutionTime() で取れるかな

fpsの値はSystem.currentTimeMillis を使って
一秒ごとのアバウトな値を出すようにしてる

415 :名前は開発中のものです。:05/01/02 18:25:28 ID:VyyXW717
>>411
私の読んだ本だとJava3DのJ3DTimer使ってたよ。ナノ秒精度だそうです。
そこまでFPSにこだわらなくてもいいと思うけど。

416 :名前は開発中のものです。:05/01/02 18:57:07 ID:mXMLbmld
最近のJavaはC/C++に匹敵するほどの実行速度らしいけど、
やっぱ描画が遅くてアクションゲームにはツラい。
標準でOpenGL使えればいいのになあ。

417 :411:05/01/02 20:05:56 ID:xWBHNcVz
>>412〜414
どうもありがとうございます。参考にさせていただきます。

418 :名前は開発中のものです。:05/01/03 00:31:42 ID:GrQ8y1aA
>>416
2Dならばアクセラレーション聞く描画もそれなりにあるし
問題ないけど2Dだとたしかにきついね
Java3Dが標準APIになってくればちがうのかな


419 :名前は開発中のものです。:05/01/03 01:49:26 ID:X1uO84GX
環境によってアンチエイリアスが勝手にかかったりして
drawLineとかで絵を描いてると致命的に困ることがある。

420 :名前は開発中のものです。:05/01/03 20:09:56 ID:12h/3iua
PureJavaを捨てて、WindowsやLinux限定にすれば、便利なネイティブ3D
ライブラリが使えるのになぁ。

421 :名前は開発中のものです。:05/01/05 03:56:17 ID:ty7rjUGs
それじゃあJavaの利点が・・・

422 :名前は開発中のものです。:05/01/05 07:28:33 ID:LPCOCD8C
ゲームの場合なら、そのライブラリがWindows,Mac,Linuxに対応していれば
それで十分でしょ。

423 :名前は開発中のものです。:05/01/05 08:11:18 ID:J41LgYHD
>>421
Javaでゲームを作る利点と欠点ってなんだろ
利点
・ネットワークゲームとかだとアプレットやWeb Startでクライアントのバージョンを統一できる
・Web StartならJava3D等のライブラリとかを自動で拾ってくれる
・Web Startならインストール、アンインストールがプラットフォームに依存せず使える。
・Write once run anywhere(でも携帯のアプリだと変換が必要、また制約が多い)
・フリーで使える開発ツールが優秀(?)
・メモリリーク等の心配がない
欠点
・一概には言えないが一般にネイティブコードに比べメモリを食う、速度が遅い
・ネイティブコードが使用できない
・AWTを使用した場合は描画が遅い
・どんな場合であれJREはクライアント側で手動でインストールしなくてはならない

と、適当に考えたけどこのくらいか?


424 :423:05/01/05 08:14:00 ID:J41LgYHD
あ、欠点の「ネイティブコードは使用できない」は本当に使えない訳じゃなくて
使ったらJavaの意味がほとんど無くなるって意味ね


425 :名前は開発中のものです。:05/01/05 09:57:02 ID:TbvmjmSc
JavaVMをCPUやビデオカードに合わせて最適化するだけで
その上で動くアプリケーション性能はすべて向上する
という記事を読んだ事があります。
アプリケーションごとに最適化するよりも
プログラマの負担が少なくていいですね。

426 :名前は開発中のものです。:05/01/05 16:36:42 ID:rWkXigbI
>>425
建前はそうなんだけどねぇ。
いつになったら、実行時コンパイル>>>>>事前コンパイルになるのやら。

427 :名前は開発中のものです。:05/01/05 16:57:40 ID:ty7rjUGs
実際には>でなくて≠になれば十分。
そして実行速度に関して言えばかなり≠に近づいている(らしい。

428 :名前は開発中のものです。:05/01/05 19:17:23 ID:KkI3Wysq
Javaの最大の欠点はJREの手動インストールだと思われる。

429 :名前は開発中のものです。:05/01/05 23:27:34 ID:A13razjY
>>425
まぁほぼ現状ではイコールに近いのがサーバーVM
ただし、コンパイル速度が結構かかることやHotSpotの仕組みわかっていないと
どのタイミングでコンパイルされるかわからずにがたがたになる

javaコマンドのオプションいじれば大概問題ないけどね

>>423
.NETとJavaとC/C++でゲームそれぞれ作ってるけど、
.NETやJavaはゲームの処理だけに集中して作れる(フレームワーク等が作りやすく、
コンパイルチェックが強力なためにバグも少ない)のが利点だよ

開発効率がゲーム開発で求められる分野で対象がPCならすでに十分置き換え可能
ただ、Javaにくらべて.NETのほうが最適化とか(情報が少ないためか)癖とかつかみにくくて
パフォーマンスチューニングとか多少しにくいかな
1GHz以下のマシンや3DバリバリならCのほうで組んだほうがいいかもしれないけど
開発効率は間違いなくこれらダイナミックコンパイラ技術つかったやつらは
2倍程度の差はある

でも、実際ゲーム開発で負担が大きいのは作り終わった後のバランスとりとか
チューニングや絵や音楽の用意だったりするからさほど大きくないかもしれない

Cなどにこだわってバグ大量に抱え込むプログラマなら言語環境かえたほうがいいかもしれないけどね

>>428
まずJRE同梱でネイティブバイナリとばれないよ

430 :名前は開発中のものです。:05/01/06 19:57:24 ID:VyA8RYB6
JRE同梱の方法教えておくれ。ググっっても見つからないorz

431 :名前は開発中のものです。:05/01/06 23:46:39 ID:YpjyvAnc
JREディレクトリそのままこぴ
そしてそのjavaw.exeを使うように相対パスでbatかexeつくるだけ
JREは相対パスで各種ライブラリを使うから
ちなみになにをはずして追加できるなどはドキュメントに書いてあるからそれを参考に
わからないのならそのまま、せいぜいWebStartをはずすくらいかと

Win以外でJavaつかってるならJREがたんなるファイルの集まりに過ぎないことを
知ってると思うけどね

.NETのほうもおなじようにできればいいのだけれども、いまのところ無理

432 :名前は開発中のものです。:05/01/07 03:10:22 ID:YVGNxSl6
>>430
余談だけどWeb StartだとJREのバージョン指定してやるだけで
そのバージョンのJREを取得してくれるよ
↓関連スレ
ttp://pc5.2ch.net/test/read.cgi/tech/1096379038/l50


433 :名前は開発中のものです。:05/01/07 05:45:18 ID:YVGNxSl6
プログラマがわざわざ最適化したプログラムを書かなくても
JITコンパイラ側で最適化してくれるから
わかりやすいコーディングで開発効率があがるというのもあるね
↓詳細
ttp://logic.is.tsukuba.ac.jp/%7Ekam/ppl_ss04/ishizaki.pdf


434 :名前は開発中のものです。:05/01/07 13:22:31 ID:7AB0ceh6
>>431
d試してみます。
>>432
Web Startもインストールしないと使えないんですよね。JREさえいれてない人がインストールしてるとは思えないんだけど・・・

435 :名前は開発中のものです。:05/01/07 13:29:31 ID:7AB0ceh6
>>431
+ test
- jre1.5.0 (コピーしたフォルダ)
- test.jar (実行型JAR)
- test.bat

という構成にしてtest.batに
jre1.5.0\bin\javaw -jar test.jar
って書いてbatをダブルクリックすれば実行できました。ただJREって70MBもあるんですね・・・
アプリは30KBしかないのにorz

436 :名前は開発中のものです。:05/01/07 15:32:48 ID:as1e6wHf
>>435
JREの中でも省ける場所もある
ドキュメント嫁

あと圧縮するならDGCAおすすめ
JRE同根でアプリにもよるが10Mくらいになるから

437 :名前は開発中のものです。:05/01/07 15:34:45 ID:as1e6wHf
ちなみにDGCA+JREをみかけたのはここね
http://shin.cside.com/product/pw/index.htm
Oggストリーム再生のBGMとか
JNIでDirectInputのパッド入力もやってるもよう

438 :432:05/01/07 15:37:31 ID:XcvBhScQ
>>434
Web Startは普通にJRE入れたら付いてくる。
WindowsならJREは↓のアドレスからIE上からインストールも可能。
http://jdl.sun.com/webapps/getjava/BrowserRedirect?locale=ja&host=www.java.com:80

特定バージョンのJREがいるのかと思ってたけど違うのね。
(そもそもその必要があるのかという疑問もあるけど)
たしかに初心者相手の場合この手の手順が煩わしいのはわかるけど
漏れはすなおにJREインストールさせるのを進める。

439 :名前は開発中のものです。:05/01/07 16:24:37 ID:as1e6wHf
>>438
JREが入ってないのが前提での話をしていると思われ
だからインストーラを使わずに使える同根の話かと

440 :名前は開発中のものです。:05/01/08 00:21:59 ID:KZPOhWIL
 Javaでゲームを作る際の最大の欠点は、ガベージコレクションが
いつ始まるかプログラマーが規定できないから、変なところで
処理落ちしたりするって事じゃなかったっけ?

 今どうなんだろう。公開されてるシューティングゲームを
試してみたいけど、平均的に30fps出ていたような…。

441 :名前は開発中のものです。:05/01/08 00:32:28 ID:hrqfE2sK
見してー

442 :440:05/01/08 08:35:32 ID:KZPOhWIL
>441
 書き方悪かった。「Web上で公開されてるシューティングゲームを
(自分の環境で)動かしてみたら、特に問題はなさそうだった」という
意味です。
 >437で公開されている、ボールが150個動くデモではときどき
重くなりますが、この原因がガベージコレクションかどうかは
分かりません。

443 :名前は開発中のものです。:05/01/09 13:44:39 ID:XCFumA9W
>>442
サンプルソース見ればわかるけど、それスプライト500こな

batやshのオプション見ればGCとかのチューニングしてないわけだし、
そもそもノーウエイトだとC++ネイティブでもそういう現象おこるね
まぁ細かいことを言えばリアルタイムOSでないかぎりどうしようもないさ


444 :名前は開発中のものです。:05/01/26 17:51:20 ID:4izTLXPu
Javaとかそういう範囲での話じゃないと思うけど…

いま、マリオのような横スクロールアクションゲーム作っているわけだが
坂道がどうすればいいかわからんのよ。
仕組みでいいから教えてくれないか?

445 :名前は開発中のものです。:05/01/26 20:54:31 ID:eUy03UH4
坂道の角度からxに加速する量とyに加速する量を求める。

446 :名前は開発中のものです。:05/01/27 00:19:32 ID:dod+XOt2
???

447 :名前は開発中のものです。:05/01/27 11:51:21 ID:ct8f1gXr
高校物理で「重力加速度」ってのを習うんだけど、空中だったり平らな場所だと真下に力がかかるってことなのね。
それが坂道に立っている状態だと、横方向と下方向に分かれるのさ。
角度が急になればなるほど横方向への力が強くなる。
分ける比は坂の角度を使って三角関数でうまいこと計算してやればいい。
そんなに厳密に計算する必要がないんだったら、
坂の下方向に向かって滑らせるだけでそれっぽい動きになる。
スーパーマリオもそんなに厳密な計算してないように見える。

448 :名前は開発中のものです。:05/01/27 13:28:22 ID:gq9PJyGn
重力加速度より垂直抗力の話じゃ?

それ以前に、具体的に坂道のどういう処理に困っているのかが気になる。
445と447は『坂道で滑る』処理だよな?

449 :名前は開発中のものです。:05/01/27 14:16:27 ID:nqWT3l26
>>444
単純に思いつくのは
1、地形の形状データをすべてベクトルデータで表現する。
2、角度ごとのブロックを沢山用意する。
3、ブロックの基本の大きさを小さくしてキャラクターがそこを通るときに線形近似をする。
くらいか。
1はそれなりの数学と物理の知識が必要になるし
無駄に厳密になりすぎると思う。
詳しくは考えてないけど2と3の複合になるんじゃないかな。
そういやソニックの坂道の処理ってどうやってたんだろうな。

450 :名前は開発中のものです。:05/01/27 15:01:48 ID:ZTZ4mfiF
ベクトルとかそんな面倒な処理はいらねーよ

451 :名前は開発中のものです。:05/01/28 18:30:54 ID:PN7DKgHv
X座標に比例してY座標も変える的な感じで作ったら、
坂道とブロックの繋ぎ目で問題出た

452 :名前は開発中のものです。:05/01/29 23:09:00 ID:tWobEU3H
http://goldenstudios.or.id/products/GTGE/index.php
Java用のゲームエンジンだそうだ。

サンプルゲーム集
http://goldenstudios.or.id/products/games/index.php

453 :名前は開発中のものです。:05/01/30 15:35:17 ID:QKwWKWHj
>>452
 面白そう。早速いじってみます。情報ありがとう!

454 :名前は開発中のものです。:05/01/30 18:46:50 ID:v9G0bOl5
>452
HPを翻訳で訳して読んだのですが、ライセンスは本当のところ
どうなってるでしょう。フリーとなっていますが、
登録が必要とかありそうでしょうか。

455 :名前は開発中のものです。:05/01/30 18:50:20 ID:lHJNRcHb
>>454
リンクの一番下にcreative commons licenseと書いてあったよ。
日本語で読める。
原著作者のクレジットを示せば、商用利用も無料で可能らしい。
http://creativecommons.org/licenses/by/2.0/

456 : ◆pKT/RyrDCw :05/01/30 20:13:10 ID:YRl+Z4ci
別スレだけど作ったので報告
http://cattaka.jfast.net/index.php?BakuO
スレ
http://localhost:7524/j2ch/thread/gamedev.pc5/1023007103/?time=1107083332&ls=50


457 : ◆pKT/RyrDCw :05/01/30 20:13:51 ID:YRl+Z4ci
↑間違えた
http://pc5.2ch.net/test/read.cgi/gamedev/1023007103/l50


458 :名前は開発中のものです。:05/01/31 15:54:15 ID:V1XG9IBr
ロープレのマップに使おうと思っているんだけど、画像の一部を表示させるのはどうすればいいんだ


32×32の画像の(5,7)〜(20,30)の部分を表示する

459 :名前は開発中のものです。:05/01/31 16:14:46 ID:WXjgRLAL
APIよんだか?

460 :名前は開発中のものです。:05/01/31 18:49:45 ID:HVtl3ei2
>>456
壁にめりこんでるのがちょっとあれだけど面白いな〜
Java Web Startけっこういいな

461 :名前は開発中のものです。:05/01/31 18:51:06 ID:HVtl3ei2
>>458
g.drawImageの
drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
のバージョンを使う

462 :名前は開発中のものです。:05/01/31 21:17:28 ID:bPE1/uAo
>>456
動きが途切れ途切れでゲームにならん。
ウチの回線が細すぎるのか?

463 :名前は開発中のものです。:05/01/31 21:20:58 ID:+V/3Dkj9
つ―か、iアプリのFFTって何であんなにたくさん画像使っているのに、100kbに納められるんだよ

オレなんか画像50個くらいで50kbもいっちゃうよ



464 :456 ◆pKT/RyrDCw :05/01/31 22:09:50 ID:/B7Ofg2g
>>462
たしかにログインするとまともにゲームできる人と
できないくらい途切れ途切れになっている人がいるようです。
アフォなことどのくらいの転送レートが必要なのかまだ測定してなかったりします。
多くても1kByte/secは越さないとは思うのですが・・・

465 :名前は開発中のものです。:05/01/31 22:43:52 ID:WXjgRLAL
>>463
100KBって800Kビットだろ?
それにjarはZip圧縮だし、Javaのバイナリは最初から小さく作ることを考えている
あのサイズは別に不思議ではないぞ


466 :名前は開発中のものです。:05/01/31 22:51:26 ID:WXjgRLAL
あとスクラッチパッドにロードしてるんじゃないかな


467 :名前は開発中のものです。:05/02/01 04:50:32 ID:ijJ+D9OG
iアプリは800kbも作れるのか

468 :名前は開発中のものです。:05/02/01 09:15:57 ID:vceSWe7w
Vodaって256KBじゃなかったっけ?
1.5Mbitじゃん。すげー。

469 :名前は開発中のものです。:05/02/01 12:28:40 ID:YL5pzwam
あと仕様公開されてないがVoda冬3Gは1M(メガアプリ)だからな
jarやJavaの構造的に2HD2枚位の容量あるとおもえばいい

わかりやすく言えば昔のX68のソフトがほぼすっぽりおさまるというわけだ

470 :リルム:05/02/01 14:48:04 ID:/sjbLrZF
友人にもらったこのファイル。
感動した。
魔法も増やしたいし、敵も増やしたい
戦闘中の音楽も鳴らしたい。

しかし、俺は、全くプログラム経験が無い!
誰か俺の続きをお願いします・・・
ttp://fft-up.hp.infoseek.co.jp/cgi-bin/FF5_up/img-box/img20050201144402.lzh

471 :名前は開発中のものです。:05/02/01 23:01:38 ID:fqA4mNtG
>>469
そんな大規模なものを作るわけだから、当然、有料アプリだろうな。
1Mアプリの麻雀ファイト倶楽部なんか半荘一回につき100円いるからなぁ。

472 :名前は開発中のものです。:05/02/03 00:14:28 ID:J3eLPxj0
http://shin.cside.com/product/shingl2/index.htm
上に出ていたところのだけど
今じゃこんなソフトウェア描画やっとるんか・・・

473 :456 ◆pKT/RyrDCw :05/02/03 19:56:30 ID:4qv8h6Hq
>>462
転送量計ると
送信が瞬間最大1kByte/sec、受信が瞬間最大2kByte/secくらいでした。
普通くらいと思える動きで
送信が300Byte/sec、受信が800Byte/secくらいでした。

これだとモデムとかだと辛そうです。
とりあえず通信を圧縮してみたら30%くらいまで圧縮できました。

474 :名前は開発中のものです。:05/02/13 17:00:37 ID:OLDws8+S
★俺ノート

Javaによるゲーム解説
http://www012.upp.so-net.ne.jp/flab/javatuto/javatuto.html

Javaでゲーム作りますが何か?
http://f57.aaa.livedoor.jp/~javagame/index.html

475 :名前は開発中のものです。:05/02/15 14:38:23 ID:6fYiWk+0
そらみのJ2MEゲームプログラミング
http://www.saturn.dti.ne.jp/~npaka/sorami/index.html

476 :名前は開発中のものです。:05/02/21 02:55:12 ID:SgKJcldM
質問です。
JNIで作成したDLLファイルはアプレット上では機能するのでしょうか?
MacやUnix上では動作できないような気がするんですが・・・。

477 :名前は開発中のものです。:05/02/21 10:35:44 ID:SRUiupZK
固有の部分は各機種ごとに用意する
だからネイティブライブラリのロード命令は抽象的になっている

478 :名前は開発中のものです。:05/03/05 14:28:03 ID:RgI1qaiB
>>477
じゃあ、MacやLinux、Winはそれぞれネイティブコードのモジュールを
用意しておき、プログラム上ではシステムクラスでOSを区別させ、
ロードするライブラリをそれぞれのOSに合わせるようにすればよいのか?

479 :名前は開発中のものです。:05/03/05 14:50:03 ID:98yvfBCO
ロードするところのコードは同一でいい
ライブラリをロードできる場所はOSごとに違うからそのセットアップをするだけで
プログラムは一切変える必要はないよ

たとえば
System.loadLibrary("abc");
ってやるとWindowsなら abc.dllを探すし、Linuxならabc.soを探すといった具合にね


480 :名前は開発中のものです。:05/03/06 21:58:56 ID:liOrnQvP
なるほど。ロードするべきモジュールが
soかdllかは自動で判別してくれるということか。
macのネイティブモジュールはなんだ?
拡張子ないんだっけ?

481 :名前は開発中のものです。:05/03/06 22:10:47 ID:Chzsuhrw
MACはFreeBSD5系統

482 :名前は開発中のものです。:05/03/06 23:00:47 ID:JntwbsaK
Mac は .jnilib

http://developer.apple.com/documentation/Java/Conceptual/Java14Development/Core_APIs/chapter_6_section_4.html

483 :480:05/03/12 23:27:34 ID:av7rObsw
>>482
サンクス

Javaゲーム作成した事ある方知ってる方教えてください。
マップスクロール関係の描画処理になんとか完成までこぎつけたのですが、重たい。
チップ画像ファイルって1枚で用意するのと複数枚用意するのとでは
処理速度が変わるのかな?
1チップあたり32*32ドットで、10*10個分のチップ画像をImageクラスに
10個分格納するのと、
1チップあたり32*32ドットで、100*10個分のチップ画像をImageクラスに
1個分格納するのとでは、どっちが重たい?
重たいというか処理に時間がかかるのはどっち?

484 :名前は開発中のものです。:05/03/12 23:38:43 ID:jjOR1CG8
実際に試せばいいと思うよ

485 :480:05/03/12 23:52:43 ID:av7rObsw
>>484
まあ、そうなんだけどね(^^;)
ちょっと明白な答えが返ってきたら、検証しなくてすむかなー
とたくらんでました。
何も今作っているゲームで試さなくても簡単なアプリ作って
試せばよいか。


486 :名前は開発中のものです。:05/03/13 00:03:52 ID:DujXAwCE
高速なマップスクロールについてはやねうら本に書いてあったような。

ハードウェアアクセラレーションが効いていない場合が考えられるので、
しんさんの出張所(日記) とか読んでチェック汁

あと、VMのご機嫌とるのマンドクセな場合は、↓を使うとか...
Java Binding for SDL
http://sourceforge.net/projects/sdljava

487 :名前は開発中のものです。:05/03/13 00:11:42 ID:QIp5KnB9
マップ描画はアクセラレーションがきけば
オンボードのUMAのチップでも60fpsで
CPU使用率5%以下ですむね


488 :483:05/03/13 12:02:23 ID:nyqjREnh
>>486
>>487
アドバイスありがとうございます。
このスレに今まで記載された技法はすべて試すつもりです。
基本的なマップ描画に関する知識を深めてからそちらの処理も考えようとしています。
今、ハードウェア系の制御に手を出すと、無駄な処理を行っている部分
を探すのが面倒になるので・・。

>>483
試してみたら、前者のほうが、処理に時間がかかりました。
詳しく計っていませんが、その差は歴然でした。
メモリ上同じサイズのイメージ情報を格納しているはずですが、
配列で持たせるのは、極力さけるべきなのでしょう。
DirectXも確か、DirectDrawで一度にbmpファイル読み込んだ方が
処理が速かったっけ。

・・そうなるとテキストデータもコレクションAPIやString配列で
データテーブルを構成するより冗長性をもたせた1つのString変数で・・。
いやな結果が出そうだから、考えるのやめよう。


489 :名前は開発中のものです。:05/03/13 13:39:56 ID:QIp5KnB9
>>488
正直質問の意味がわからない

490 :488:05/03/13 13:49:30 ID:nyqjREnh
>>489
ImageクラスとImageクラス配列とでは同じサイズの画像ファイルを読み込んでも
処理に差異があるかという事を質問してみたんですが、
文章がまわりくどかったですね。

491 :名前は開発中のものです。:05/03/13 13:52:00 ID:QIp5KnB9
配列と配列なしでのロード時間に差はとくにないぞ

492 :488:05/03/13 14:02:57 ID:nyqjREnh
>>491
失礼しました。
ロードしたあとの画像描画処理の事です。
getImage()で画像ファイルをロードするのは差は見られませんでした。
drawImage()で描画処理を終えるまでの時間は極端に差が出ました。

493 :名前は開発中のものです。:05/03/13 14:32:10 ID:QIp5KnB9
それ作り方が悪いんじゃないのか?
まった差はでないと思うのだけれども
部分的でいいのでコードだしてもらわんとなんとも


494 :488:05/03/13 14:54:48 ID:nyqjREnh
>>493
では一部だけ。ここ以外は同じソースをりゅうようしましたので、問題
ないと思いますが。。出かけますので、18:00頃またきます。
配列あり
private void MapDraw( Graphics g ) {
int imgno = 0;
int chipno = 0;
int widthno = 0;
int heightno = 0;
for( int j=0; j<10; j++ ) {
for( int k=0; k<10; k++ ) {
imgno = intBuf[j*10+k]/100;
chipno = intBuf[j*10+k]%100;
widthno = chipno/10;
heightno = chipno%10;
g.drawImage( imgBuf[imgno], 4+k*32, 30+j*32, 4+k*32+32, 30+j*32+32, widthno*32, heightno*32, widthno*32+32, heightno*32+32, this );
}
}
}


495 :488:05/03/13 14:55:12 ID:nyqjREnh
配列なし
private void MapDraw( Graphics g ) {
int imgno = 0;
int chipno = 0;
int widthno = 0;
int heightno = 0;
for( int j=0; j<10; j++ ) {
for( int k=0; k<10; k++ ) {
imgno = intBuf[j*10+k]/100;
chipno = intBuf[j*10+k]%100;
widthno = chipno/10;
heightno = chipno%10;
g.drawImage( img, 4+k*32, 30+j*32, 4+k*32+32, 30+j*32+32, imgno*320+widthno*32, heightno*32, imgno*320+widthno*32+32, heightno*32+32, this );
}
}
}
※intBuf配列には数値が0から999までの乱数が100個格納されています。

496 :名前は開発中のものです。:05/03/14 07:54:09 ID:dUlYR5qE
どっちのコードも部分切り出しの描画だな
これらは遅い描画だったはず

場合によってはソフトウェア描画になってるだろうからキャッシュにおさまってるとかそんなことじゃないの?

まぁ使うときは切り出しなしでつかえ

497 :名前は開発中のものです。:05/03/14 07:57:52 ID:dUlYR5qE
つーか、よくみるとImage以外の引数のところがちがうな
で、どっちが何msで遅いほうは何msなんだ?

この程度の描画どっちも5ms以下だろうし


498 :名前は開発中のものです。:05/03/14 14:51:58 ID:g8fcKLDU
作ったゲームをjarで固めて配布したいのですが
それでも結局VMの入ったPCでしか動きませんか?
jarにVM一式入れないと駄目?

それと、インストーラーもsetup.exeとかそういうファイルにしたいのですが。

499 :名前は開発中のものです。:05/03/14 17:15:59 ID:dUlYR5qE
インストーラにVMいれてしまえばいいじゃない

500 :名前は開発中のものです。:05/03/14 18:11:18 ID:g8fcKLDU
なるほど、自動的にJRE1.4がインすとされるようにして
ゲーム起動時にはjarを叩くようなbatかexeを作ればいいのか。
さんくすこ

501 :名前は開発中のものです。:05/03/14 18:28:54 ID:dUlYR5qE
JREはJREのディレクトリ構造そのままコピーしてそのbinの中にあるjavaw.exeから起動するようにするといい
そうすればユーザーにはJavaを使ってることすらわからない


502 :名前は開発中のものです。:05/03/14 18:35:57 ID:CEe6heNH
聞きたいのですが、JREの中のrt.jarの中の使って
いない機能とかは削除してもいいのでしょうか。
なんせこれだけで13メガバイトもあるので。

そもそもrt.jarからファイルを取り出すのは
SUNが禁止してないかも分からず…
自分が使っていない機能を特定する方法もわからず…



503 :名前は開発中のものです。:05/03/14 18:44:49 ID:dUlYR5qE
READMEみればどれをはずして追加してもいいとか書いてある


504 :名前は開発中のものです。:05/03/14 19:00:13 ID:zNQXpyRE
話題がループしすぎ

505 :488:05/03/14 21:57:24 ID:kZ32SfVH
>>496
レスありがとうございます

>まぁ使うときは切り出しなしでつかえ
詳しく教えてください。
チップ画像をすべて1つづつファイルに分けて用意するわけではないですよね?
>どっちが何msで遅いほうは何msなんだ?
↓こんなんで正確な処理速度が計れないかもしれませんが、、、
public void paint( Graphics g ) {
long l = System.currentTimeMillis();
MapDraw( g );
long l2 = System.currentTimeMillis();
System.out.println( (l2-l) );
}
結果です。
・スリープなし
配列あり 平均 63ms 最低 0ms 最高156ms
配列なし 平均 64ms 最低 0ms 最高156ms

・スリープ100ms
配列あり 平均217ms 最低 0ms 最高281ms
配列なし 平均120ms 最低31ms 最高188ms

・スリープ5000ms
配列あり 平均188ms 最低 0ms 最高18.8ms
配列なし 平均 62ms 最低 0ms 最高 6.2ms

※スリープを5000msにしたら、初回だけ最高値が計測でき、
2回目以降は配列有り無しに限らず0msでした。
ソフトウェア描画によるキャッシュ?っていうやつが原因なのでしょうか?

506 :488:05/03/14 21:59:34 ID:kZ32SfVH
↑まちがいでした。
・スリープ5000ms
配列あり 平均18.8ms 最低 0ms 最高188ms
配列なし 平均 6.2ms 最低 0ms 最高 62ms



507 :名前は開発中のものです。:05/03/14 22:40:12 ID:dUlYR5qE
Javaは動的コンパイルするのとメモリ設定してないとFULLGCでヒープ拡張が多発
このへんのうごきがわかればその最低値という部分だけがほぼ出るようになる

あとマップチップが32*32のようだけれども、これは某所の日記によれば60fpsで
3000個くらいは出るようだ

508 :名前は開発中のものです。:05/03/14 23:14:40 ID:VEcyrTnK
たまに酷く軽いexeとともにjarが添付されたゲームを見かけるんだけど
あれってexeのなかでxmx, xmsを設定してから起動してるのかな?

509 :名前は開発中のものです。:05/03/14 23:43:58 ID:dUlYR5qE
メモリ使用量把握してmsmx固定でヒープ拡張なしにするのは基本だね
あとはメモリの使い方把握してnew領域とold領域を決めるとGC時間が非常に短く出来る


510 :488:05/03/15 01:39:04 ID:9QqODPsg
なんだかJavaVMパラメータ一つで実行処理速度に差が出ることが
判ってきました。配列ありなしは関係ないのかもしれません。
アプレットやWebStartはVMのパラメータをあらかじめ設定できるのでしょうか?


511 :名前は開発中のものです。:05/03/15 12:55:31 ID:V3WSfpDg
>>509
チューニングするコツってなんですか?
-XXを弄るんですよね?項目がいっぱいあって手の付け方がわかりません。

512 :名前は開発中のものです。:05/03/15 13:36:46 ID:Y/MeBlr/
GCやメモリ使用量を把握すること
とりあえずマニュアル嫁

513 :名前は開発中のものです。:05/03/16 21:44:35 ID:g8Ve26Pq
>>501
そもそもユーザーはJavaなんてわからない人が多い

514 :名前は開発中のものです。:05/03/16 21:45:56 ID:g8Ve26Pq
sage忘れたスマソ

515 :名前は開発中のものです。:05/03/16 22:16:46 ID:Ip4f2SJN
>>513
違いには結構気づく。
ウインドウ色がよどんでいるので、調査してくれとクライアントに言われた。
Javaプログラム開発チームの島の周りの空気もややよどんでいた。


516 :名前は開発中のものです。:05/03/16 22:18:30 ID:RJ3Jp61W
SWTなら救えるのだろうかw

517 :名前は開発中のものです。:05/03/16 22:22:24 ID:Ip4f2SJN
Javaを知らないクライアントに新しい製品やシステム構築にJava製品
を紹介するときって、なんか下手にでてしまうのは私だけ?
先にデメリットをぶちまけて開発効率が上がるので、ご了承ください
ご理解ください。発展途上の段階だからetcetc...

518 :名前は開発中のものです。:05/03/16 22:28:39 ID:RJ3Jp61W
>>517
ビジネスアプリはVBランタイムを始めとするRADが〜を分かりやすく説明して
MSOnly技術だとすぐにサポート対象外になって、保守すらやばくなるけど
Javaは複数の会社がランタイムを提供していて、長期に安心してサービスを提供できて
おまえんとこも結局Happyって真面目にプレゼンしてみれ


519 :名前は開発中のものです。:05/03/16 22:38:39 ID:3U4IzWVK
そういう話はマ板でやれ

520 :名前は開発中のものです。:05/03/16 22:52:07 ID:Ip4f2SJN
>>519
そか。ゲ板だった。ごめん。
じゃあ、WebStartでゲームを製作し、販売&その他サービスを運営
ってのは、なぜ日本は流行らぬ?
海外では数えるほどだがそんなサイトを見つけたが。


521 :名前は開発中のものです。:05/03/16 23:17:34 ID:sAIEVmXl
>>515
ウインドウの色って変わるか?


522 :名前は開発中のものです。:05/03/16 23:18:17 ID:sAIEVmXl
>>520
日本だとアプリケーションのほうがローカル資源にアクセスしやすくていいんじゃね?



523 :名前は開発中のものです。:05/03/16 23:42:53 ID:aOAORby2
フラッシュみたいにブラウザだけで手軽にゲームできて、
それでいてローカルにセーブデータなども保存できるんだから
結構需要はあるんじゃない?

524 :名前は開発中のものです。:05/03/16 23:45:51 ID:RJ3Jp61W
FlashのEXEがセーブ可能だったらなぁ。
FSCOMMANDっていう荒業があるけど、セーブまで出来たかどうか

525 :名前は開発中のものです。:05/03/17 02:36:25 ID:ByCC8+Xt
アプレットの有名どころっつーと爆裂ブロック崩しくらいしか知らんが
あれ相当レベル低いと思うんだけどな・・なんであんなに流行ってんだろう

526 :名前は開発中のものです。:05/03/17 03:15:20 ID:p/W6jA29
ゲームはレベルじゃなくて遊び方の問題だから。
素人萌え絵描きがちょっとエロいコンテンツ作るのにちょうどよかったんでしょ。
一度認知されればあとはシェアの問題。

527 :名前は開発中のものです。:05/03/18 14:13:41 ID:3hzU1J6T
別スレだけどある程度発展したので報告。
ソースも公開しました。
ttp://cattaka.jfast.net/index.php
スレ
ttp://pc5.2ch.net/test/read.cgi/gamedev/1023007103/l50

528 :名前は開発中のものです。:05/03/18 14:30:31 ID:Ll84yNCg
>523
アプレットでローカルに保存できた?
アプリケーションのときだけだと思ってたけど。

529 :名前は開発中のものです。:05/03/18 14:50:29 ID:Ae5SFgF2
WebStartの話だから限定的ではあるができる

530 :名前は開発中のものです。:05/03/19 03:51:10 ID:qA0ji3aD
個人サイトでみかけるWebStartはAllPermission権限を付与した
アプリがほとんどだが、みんなこの危険な非セキュリティ状態のアプリを
使用することに気にかけたり問題にしたりしないのはなぜだろうか?
ここでもう一度セキュリティについて話し合おうじゃないか!!



531 :527:05/03/19 04:54:59 ID:lwKeH+t/
>>530
漏れもそれは思った。
けど、Vectorとかでダウンロードして実行するのは気にしないのに
Web StartのAll-permissionは気にするというのはある意味変だよなぁ。
まあWeb Startはそれだけ危険に対して警告をだしているというこになるんだろうけど。
Windowsは最近まで警告なしでexe実行してたし。

あと漏れはsecurityのタグはAll-permissionしか知らないんだけど他にあるのかな?
存在はしてるのだろうけど
何処を探してもAll-permissionしか見つからない。
実際のところ通信だけ許可してくれたらいいから
All-permissionを外せるなら外したい。


532 :名前は開発中のものです。:05/03/19 05:03:35 ID:xQwPyZkm
かといっていちいち許可要求だすアプリ触りたくないしな。


533 :名無し:05/03/19 06:53:31 ID:rTN9pn5h
j2ee-application-client-permissions

534 :名前は開発中のものです。:05/03/19 10:11:41 ID:qA0ji3aD
通信対戦型のネットワークであれば、権限なしでも十分。
ゲーム初回起動時にログイン要求する際に、サーバへローカル情報
を送信し保存させればよい。
次回からのアプリ起動時にはローカル情報をサーバから取り出せばいい。
※ここで「ローカル情報」といっているのはゲーム上で必要な
パラメータの設定値や各ユーザ毎に異なる値を用意しておくべき
情報のこと。


535 :名前は開発中のものです。:05/03/19 10:32:40 ID:qA0ji3aD
私が作成したC/S型のゲームでの通信方法は
urlLoad = new URL( "サーバアドレス" );
urlConnect = urlLoad.openConnection();
urlConnect.setDoInput( true );
urlConnect.setDoOutput( true );
urlConnect.setUseCaches( false );
dos = new DataOutputStream( new BufferedOutputStream( urlConnect.getOutputStream() ) );
dos.writeUTF( strLoadReqMsg );//データ送信 C→S
dos.flush();
dis = new DataInputStream( urlConnect.getInputStream() );
strLoadResMsg = dis.readUTF();//データ受信□C←S
なんか文句ある?

536 :名前は開発中のものです。:05/03/19 13:48:44 ID:Sg2sSXW6
サーバーが用意できる場合は誰もたたいてないんじゃないか?
そもそも鯖がJava系でないことを前提に書くならば16bitサイズが限界のUTF8もいまさらだな
シリアライズはもうXMLにいってるから無視なのかね>Sun


537 :名前は開発中のものです。:05/03/19 22:27:06 ID:mTpV8pzK
Unicode4.0にはJava5.0で対応してるぞ
int型を使うというかなりアレな実装ではあるがまぁ仕方ないのかなぁ・・・

http://www5.airnet.ne.jp/sakuraba/java/laboratory/J2SE1.5/MiscAPI/SupplementaryChar/SupplementaryChar.html

538 :名前は開発中のものです。:05/03/19 23:21:40 ID:Pu4v+H/z
最初っから多国語対応しっかりして欲しかったな

539 :名前は開発中のものです。:05/03/20 00:47:58 ID:TNbLzLra
>>537
俺が言ったのはUnicode4.0のことじゃない
文字列の長さが16bitまでしか扱えないシリアライズのことだ
先頭2バイトに文字列長いれてるからね


540 :名前は開発中のものです。:05/03/20 02:21:14 ID:vEajEwhQ
>>538
Unicode4.0が決められたのは、Javaが生まれた後だからエスパーじゃないと無理。
.NETもcharは16ビットと決めうちなわけだが、あっちはどう対応しているのだろう...


541 :名前は開発中のものです。:05/03/20 07:59:48 ID:WzHGEySE
Java3Dってどれくらい使える状態?
openGLの高級化ラッパだよね?

542 :名前は開発中のものです。:05/03/20 08:22:36 ID:EOFnycM9
>>541
Direct3Dベースもあるっちゅうねん
とりあえずどうせJava3DもJ2SE SDKに標準で入ってないから
JOGLの方がいろいろとやりがいがありそうだ

543 :名前は開発中のものです。:05/03/20 08:27:44 ID:EOFnycM9
>>539
結局シリアライズの時は2文字のフリをして格納して
実際の文字の長さを調べたいときはcodePointCountで調べる
という方法しかないんじゃないか?

544 :名前は開発中のものです。:05/03/20 11:57:29 ID:SnZ/cenA
>>542
Java3D使ったソフトはJREしか入ってないマシンでは動かないってことですか?

545 :名前は開発中のものです。:05/03/20 12:06:24 ID:G9LG3UL2
3D関係ってたいていビデオカードがらみでトラブルおこるのが常

546 :名前は開発中のものです。:05/03/20 12:46:11 ID:llrN23OL
Javaで3Dっていうけど、メリットある?
作り手がJava言語しか分からないから?
実行環境を気にしないアプリにしたいから?
実行環境はOSレベルでもうだめだよね?
あれ?MacやUnixでもJava3Dは動くんだっけ?
Cで作成した3D用のモジュールを呼ぶだけで、
かつWin専用ならC言語のEXE形式で作ったほうがスマートな気がする。
ま、メリットあげるならWebStartでバージョン管理だけして、
Runtime.exec()でEXE呼び出しぐらいか?

547 :名前は開発中のものです。:05/03/20 12:53:47 ID:WzHGEySE
openGLサポートされてりゃJava3Dは動くっしょ。


548 :名前は開発中のものです。:05/03/20 13:12:17 ID:TNbLzLra
Java3D以前にJava2DのOpenGL実装がATIとnVIDIA以外でもちゃんと動けば問題ないんだがなぁ
3DがJavaで動くメリットは割と多いぞ

SDLだってかなり限定的なクロスプラットフォームだと思うがそれが支持されているんだからな

549 :名前は開発中のものです。:05/03/20 15:20:36 ID:GGBXxyKA
>>544
別途Java3Dをインストールする必要があるって話

550 :名前は開発中のものです。:05/03/20 15:21:37 ID:GGBXxyKA
>>547
だから〜、
DirectX版もあるし、どっちにしても別にインストールする必要があるんだってば

551 :619 ◆pKT/RyrDCw :05/03/20 15:39:20 ID:FmRrIjgJ
>>544
Web Start用のJava3Dのライブラリを拾うエクステンションが
合ったのは覚えてます、というか使ってます。
ttp://cattaka.jfast.net/index.php?Link3DChat


552 :551:05/03/20 15:44:58 ID:FmRrIjgJ
↑別スレの619です。
あと関連サイトです。
Java 3D Web Start Release
ttps://j3d-webstart.dev.java.net/release/


553 :名前は開発中のものです。:05/03/20 17:10:50 ID:TNbLzLra
日本語ドキュメントねぇとつかいにくいなぁ

まずはゲーム作成を本当にSunが考えているなら標準APIで加算合成と
ジョイパッドまわりを追加してほしいものだな

554 :名前は開発中のものです。:05/03/20 17:33:17 ID:CIB57/3Q
ガベージコレクタのプログラムからの制御も必須

555 :名前は開発中のものです。:05/03/20 17:48:13 ID:vEajEwhQ
・キー状態をポーリングできるAPI
・簡単に確実にフレームバッファを操作できるAPI
・簡単に確実にフルスクリーンにできるAPI
ぐらいか。
キー状態をポーリングできないのが痛い。

556 :名前は開発中のものです。:05/03/20 18:16:15 ID:TNbLzLra
>>554
たしかにnew領域の専用のGC命令ほしいよな
いまだとFULLGC発行する実装だし、軽いGC操作というイメージがない
System.lightGc()とかってのがあればねぇ

1フレームごとに1回new領域のGC発生させたいところだが、殿堂入りも早くなって
メモリ管理はますます重要になるかもしれないが

>>555
キー状態に関してはダウンとアップのイベントからやるしかなかろう
Linux等X系は(ウインドウシステムの?)実装上の問題があるけどなー

フレームバッファとかフルスクリーンに関しては非常に簡単にできるだろ
ほんの2,3行書くのが面倒だったらそれラッピングすればいいだけ
これでできないのだったらDirectXなんて異次元だろうに

557 :名前は開発中のものです。:05/03/20 18:23:09 ID:llrN23OL
>>555
>・キー状態をポーリングできるAPI
それって、どのキーが押されたか判別するためのAPIの事?
KeyListenerでキーの入力情報を逐一フラグで管理してもだめ?


558 :名前は開発中のものです。:05/03/20 18:32:46 ID:vEajEwhQ
>>556
擬似的に行うと、微妙にズレがあるからなぁ...

フレームバッファやフルスクリーンに関しては、
自分のPCだけ動けば良いのなら数行なんだがな。
本当にすべてのプラットフォームで動かしたいのなら、
試行錯誤してようやく大半のプラットフォームでも動くコードができると思うが。
実際、Java Games ForumsでもWindows2000,XP以外のOSだと実装が不完全とか言われているし。

559 :名前は開発中のものです。:05/03/20 19:52:00 ID:TNbLzLra
ウインドウモードも用意すればよろし

XWindow系は解像度かえれないし、短いコードでもそれらを判断して対応できるよ

そもそもフルスクリーンモードのみはOS固定のゲームでもきらわれる


560 :名前は開発中のものです。:05/03/20 20:21:20 ID:vEajEwhQ
>>559
ウンドウモードでも、結構微妙。
しょぼいコード書くと、タイミングによって固まったりするけどなぁ。
というかWindows, Linuxだけでも動くように作成したことがあれば経験あると思うのだけど。

>そもそもフルスクリーンモードのみはOS固定のゲームでもきらわれる
フルスクリーンモード*のみ*とは一言も言っていない。
大体デバッグ面倒だから、ウィンドウモードで作成してから後から対応してたりする。
Javaで作成しているのだから、
Windowsだけしかフルスクリーンモード対応していませんとか言うのも悲しいだろう。

とりあえず、Sunはゲーム作成を本気で流行らせたいのならSDL位の機能は標準で用意汁。

561 :名前は開発中のものです。:05/03/20 20:30:00 ID:TNbLzLra
OSによって解像度変更やフルスクリーン動作ができないものがあったり
環境依存する以上Sunにはどうしようもないだろう
Windows以外のOSにWindowsと同じ機能をもたせるかどうかは会社やコミュニティ次第

俺はWindowsのように解像度変更が出来る環境はフルスクリーンで、できなかったら
Windowモードにと作ってるがそれはへんか?

固まるってやつはスプリアスまわりかもしれんがそれ以外なら
できるだけ新しいバージョンのJRE使うことでだいぶ回避できるかな
個人的に1.4.2系は結構とまる気がする

5.0はいまのところ固まった記憶がない


562 :名前は開発中のものです。:05/03/20 20:31:14 ID:TNbLzLra
あと逆に俺はSDLはJava並みの機能がほしいと思ってるんだが
まぁこれらは各種オプションで何とかなってる感じだな

SDL自体機能ほんとなにもねぇ


563 :名前は開発中のものです。:05/03/20 21:29:11 ID:BvpMuzxI
>>562
Javaでどうしようも無いのはジョイスティックくらいじゃないかな?
それ以外は速度を気にしないのならなんらかのAPIが用意されてたはず(でもそれじゃ意味ないよねw

564 :名前は開発中のものです。:05/03/21 01:20:44 ID:D83cyX1Z
Javaでどうしようもないの?<ジョイスティック

565 :名前は開発中のものです。:05/03/21 01:23:18 ID:HWy4rpnv
いまは各自JNIで実装してるね

sunはゲーム関係にも注目していますとかいってるけど、同考えても無視だよなぁ
フルスクリーンはゲームより組み込み想定だろうし


566 :名前は開発中のものです。:05/03/21 03:03:10 ID:pMwUTCbV
>>565
いちおうJavaGames(JOGL,JOAL,JInput)やらLWJGLやらはあるけどねぇ・・・

567 :名前は開発中のものです。:2005/03/21(月) 18:41:09 ID:6D2pXwDd
>>549
そうなんだ
じゃ、Java3Dでゲーム作ってもしょうがないな・・・
入れてる人なんていないだろうし

568 :名前は開発中のものです。:2005/03/21(月) 19:24:48 ID:L8Z7KcIQ
ttp://ortros.den.rcast.u-tokyo.ac.jp/~mitani/Java/java3d/index.html


569 :名前は開発中のものです。:2005/03/22(火) 00:18:16 ID:HK/Esv5f
>>568
おー、おでの環境ではトラの頭とかいきなり問題なくグリグリ動くぞ
かんどー(・∀・)

Win2000 JDK1.5
Pentium4 2GHz メモリ512M

155 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)