JAVAでゲーム作成

このエントリーをはてなブックマークに追加
1JAVA初心者・・・
はじめまして!!
今年に入ってからJAVAでゲームを作ってみようと勉強しています。
どなたか宝さがしゲームを作るうえで参考になるゲームとツール知りませんか??
知っていたら教えてください。<(_ _)>ぺこり
2名前は開発中のものです。:04/01/17 23:27 ID:0FaRZJy1
<!-- ↓ここから広告領域なので読む必要なし↓ -->
3名前は開発中のものです。:04/01/17 23:28 ID:SlsoEbWJ
仕様くらい書けば
4JAVA初心者・・・: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でやる必要が
9JAVA初心者・・・: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さん
はどんなゲームが作りたいの?
1813:04/01/19 18:32 ID:PrE1yRFQ
>16
謎解きのような要素があるゲームの場合、
見られたくないと思う。
曖昧化で読みに<<なるとは思うのだが。
gcjに期待している。
しかし、本気でやろうとするなら、
C++かとも思う。
1914:04/01/19 19:51 ID:zdd2LOg2
本気ならC++か・・・
漏れにはムリポ。
20名前は開発中のものです。:04/01/19 20:13 ID:iJxq6NbL
C++が一番ゲームを作るのに適した言語というのは禿げしく同意だが
ホンキでと言うのはまた意味合いが違うんじゃないかなぁ?
言語とゲームの質は必ずしも比例しないし。
以前は市販のゲームでもVBが使われたりしてたし。
今のよりも面白いのも多い。
まぁグラフィック重視なら言語の質が大きくゲームの質に左右されるが。
21JAVA初心者・・・: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じゃないけど参考になった。
ただ参考書見ながらやってるけど結構ムズイ。
31JAVA初心者・・・: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するの忘れてた。超おバカ。
でもついでに文字色変更のエスケープシーケンスのバグ退治完了♪
5849: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()でできると思うんだけどどうかな。
わたしは画面の描画これでやってます。
アクションとかじゃないから正確である必要とかゼンゼンないんだけどね。
6049: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
6349:04/02/07 00:08 ID:UiLI4Lv9
重ねてありがとう。
ヘタレな自分には即実装というわけにはいかないけど、TimerTask自体の
性質についてテストしてみます。
スレッドの作成を乱発しているせいか、「動きがカクる」頻度が>>58の2よりも
高いような気がします。
ドキュメントに「固定頻度実行」と書いてあるとおり、処理落ちが発生した
直後は遅れを取り戻すために速い回転でrun()が呼ばれるようです。
6449 テスト: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を上げれば改善される可能性がある
7449: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のαブレンドは通常合成はあっても加算合成はないようなので
自分で実装することになるかもしれない
8349: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%くらい

軽いやね
8649: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からだしなぁ
きびしいやね
8849:04/02/10 23:24 ID:anba1aLx
>>84
なるほど、二人とも振り返るようにまじめに処理しないと、
自然に動き回ってるようには見えないわけだ。
8949: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
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ゲームが紹介されてたよ。
159155: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
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
仕様を
用意
しよう
185182:04/07/11 02:40 ID:4Tmsd7Ye
>>183
コンストラクタでの処理を止めて、専用のメソッド作ってやってみたら出来ました。
ありがとうございます。

ところで、BufferStrategyが作るバッファというのは、どこでサイズを指定するのですか?
検索してみても、サイズを指定していると思われる部分がないのですが。
186名無しさん@そうだ選挙に行こう:04/07/11 11:39 ID:KRMgaTqc
>>185
それってたぶん解決してないぞ
コンストラクタでやってもまったく問題ないし
マシンとかによってタイミング的にたまたまうまくいっただけかと
描画がうまくいかないってのはイメージを描画してるの?
よくある話としてイメージのロードを待っていないとかはどうかな?

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

ダブルバッファというのは表の描画面と同じサイズを用意するものだからね
そして切り替えはフルスクリーンだと自動的にフリップに、ウインドウモードだと
ブリットになってくれる
187182: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
192189: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っていわれないとわからないようなやつが理想
198194: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でゲームを作ることにしますた。
210204: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(); };
}
250249: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
ちゃんと動いているのならそれでいいだろ
260241: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
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
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あたりでプログラムというものについて
勉強したほうがいいかもしれない
295292: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
そのネイティブコード化したモジュールを逆アセンブル/デコンパイルしたら(以下略)
339330: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
ブラウザならではの何かを考えるさ(後付けかよ)
349345:04/11/10 18:30:15 ID:fyGIsVUe
WWAとRPGツクールを足して2で割って0.7掛けした感じのにしてみよう
Graphics2Dってクラス見つけたので作業効率はFlashの3倍程度に抑えられそうだな
350330: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
いなくならなくてもいいから、コテハンつけて欲しい。
358donutsTalk ◆6g0ICONHI2 :04/11/11 09:25:08 ID:0wqS41XF
ほい。そちらの電波受信状況はいかがでつか?
ちなみに、ハンゲーム作ってる会社、日本で特許検索かけたが、ヒットしなかった。
アメリカでアバター(avator)で検索したら、300件ヒット、読み気になれんてwww
あと、ハンゲームにアバを売る行為に類似特許(結構、ずばりコナミのもの)があり、
メールで聞いてみたwww
---
ハンゲームジャパン・ユーザーサポートでございます。
お問合せありがとうございます。

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


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

---
まぁ、もともと、答えがちゃんと返ってくるのは、期待していなかったのだけど・・・
359donutsTalk ◆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

とうってみなされ
363360: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使えればいいのになあ。
417411: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はクライアント側で手動でインストールしなくてはならない

と、適当に考えたけどこのくらいか?
424423: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のパッド入力もやってるもよう
438432: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
見してー
442440: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
457 ◆pKT/RyrDCw :05/01/30 20:13:51 ID:YRl+Z4ci
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もいっちゃうよ

464456 ◆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
上に出ていたところのだけど
今じゃこんなソフトウェア描画やっとるんか・・・
473456 ◆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
483480: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
実際に試せばいいと思うよ
485480: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%以下ですむね
488483: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
正直質問の意味がわからない
490488:05/03/13 13:49:30 ID:nyqjREnh
>>489
ImageクラスとImageクラス配列とでは同じサイズの画像ファイルを読み込んでも
処理に差異があるかという事を質問してみたんですが、
文章がまわりくどかったですね。
491名前は開発中のものです。:05/03/13 13:52:00 ID:QIp5KnB9
配列と配列なしでのロード時間に差はとくにないぞ
492488:05/03/13 14:02:57 ID:nyqjREnh
>>491
失礼しました。
ロードしたあとの画像描画処理の事です。
getImage()で画像ファイルをロードするのは差は見られませんでした。
drawImage()で描画処理を終えるまでの時間は極端に差が出ました。
493名前は開発中のものです。:05/03/13 14:32:10 ID:QIp5KnB9
それ作り方が悪いんじゃないのか?
まった差はでないと思うのだけれども
部分的でいいのでコードだしてもらわんとなんとも
494488: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 );
}
}
}
495488: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
話題がループしすぎ
505488: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でした。
ソフトウェア描画によるキャッシュ?っていうやつが原因なのでしょうか?
506488: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時間が非常に短く出来る
510488: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権限を付与した
アプリがほとんどだが、みんなこの危険な非セキュリティ状態のアプリを
使用することに気にかけたり問題にしたりしないのはなぜだろうか?
ここでもう一度セキュリティについて話し合おうじゃないか!!

531527: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版もあるし、どっちにしても別にインストールする必要があるんだってば
551619 ◆pKT/RyrDCw :05/03/20 15:39:20 ID:FmRrIjgJ
>>544
Web Start用のJava3Dのライブラリを拾うエクステンションが
合ったのは覚えてます、というか使ってます。
ttp://cattaka.jfast.net/index.php?Link3DChat
552551: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
569名前は開発中のものです。:2005/03/22(火) 00:18:16 ID:HK/Esv5f
>>568
おー、おでの環境ではトラの頭とかいきなり問題なくグリグリ動くぞ
かんどー(・∀・)

Win2000 JDK1.5
Pentium4 2GHz メモリ512M
570名前は開発中のものです。:2005/03/22(火) 21:07:54 ID:Q3HNkAjs
どうせ3Dの処理まで全部JavaにするならOpenGLとGLUTを全部Javaで実装したライブラリなんてどうよ?
http://www.cmlab.csie.ntu.edu.tw/~robin/JavaGL/index-j.html
571名前は開発中のものです。:2005/03/22(火) 21:21:58 ID:Xv3FJhIm
sdljavaのSDLImageで画像ファイルの読み込みに成功された方はいませんか???
sdljava付属のサンプルでSDLImage以外は動くのですが何故かこのサンプルを動かそうとす
ると「序数78がダイナミックライブラリjpeg.dllからみつかりません」とエラーが出て起動できません。もちろん、jpeg.dllはsdl_imageに付属してきたものを実行ディレクトリーに入れてあります。
sdljavaのcソースを調べてみるとやっているのはSDL_ImageのIMG_Load()呼んでいるだけでしたので自分簡単なnativeコードを書いて同じくIMG_Load()を呼んでみたのですが同じエラーが出ました。
どなたかヒント又は原因がわかりましたら教えてください。
(java 1.5.0_02
os windows2000)
572名前は開発中のものです。:2005/03/22(火) 21:35:08 ID:GV8FUCP/
>>571
まずはサイトで質問したのか?
573名前は開発中のものです。:2005/03/22(火) 21:46:01 ID:Xv3FJhIm
>>572
英語のサイトでしたのでまだしてません。
誰か、日本でもわかる人がいるかという甘えで質問してしまいました。
574名前は開発中のものです。:2005/03/22(火) 22:48:15 ID:W3dMX3Ob
zlib.dllがないとか
575名前は開発中のものです。:2005/03/22(火) 23:03:18 ID:Xv3FJhIm
>>574
そもそも、SDL_Imageがおかしいかと思いSDL_Image.dllを自分でコンパイルしてみました。
その時付いていたdllは全部実行ディレクトリーに突っ込んであります。
ご指摘いただいたzlib.dllですが付属していたのはzlib1.dllとなっていたのでそのまま突っ込みました。
今、zlib.dllにして試してみましたが駄目でした。
ちなみに自分で作ったSDL_Image.dllはSDL_Image付属のcのサンプルでは使えました。
576名前は開発中のものです。:2005/03/22(火) 23:41:55 ID:HK/Esv5f
JDK1.4だと動いたりして
そんなことないか(*´Д`)
577名前は開発中のものです。:2005/03/22(火) 23:54:44 ID:W3dMX3Ob
そうだzlib1.dllだった。すまん。
jdk1.5.0_02/winxp/最新のSDL1.27,SDL_imageでtestimageは普通に動いたなぁ。
578名前は開発中のものです。:2005/03/22(火) 23:55:37 ID:GV8FUCP/
JNIつかってるのならJNIのほうのDLLが問題かもな
SDL程度なら実はラッパ自作したほうが早いかも
579名前は開発中のものです。:2005/03/23(水) 14:59:50 ID:9xJqmPgd
>>576
試してみたところclassのバージョンがサポート外と言われてしまいました。
ライブラリーごとコンパイルし直せば良いのかもしれませんが本家でも5に対応と書かれていますしそれ以上試してません。
>>577
動きましたか。
じゃあ、やっぱし私の環境に問題があるみたいですねぇ。
>>578
jniの方のdllも自分で構築してみたましたが駄目でした。
仕方ないのでcのコード内でIMG_Load()を単純に呼んでみるコードを書いて試したのですがやっぱし同じエラーが出ました。
580名前は開発中のものです。:2005/03/23(水) 22:17:24 ID:sx5kefrV
SDL関係のDLLをシステムフォルダに入れてみるっていうのは?
581名前は開発中のものです。:2005/03/23(水) 22:56:28 ID:D7HEftwP
>>568-569
Java3Dを使ってるページじゃないから注意ね。
独自に三次元表示ルーチンの実装をしてる。
もう五年くらい前からあるんじゃないかしらん。
582名前は開発中のものです。:2005/03/24(木) 18:07:03 ID:GOOM1R8j
>>1が完全に消えたと思うのは、ヲレだけか?
583名前は開発中のものです。:2005/03/24(木) 18:55:07 ID:0STgZFAa
1がいなくても有意義な内容になればかまわん
584名前は開発中のものです。:2005/03/24(木) 22:00:10 ID:1akE1Rd2
再利用きくタイトルでよかったね
585名前は開発中のものです。:2005/03/24(木) 22:32:58 ID:CezIciQU
570が完全スルーされている件についてorz
586名前は開発中のものです。:2005/03/24(木) 22:35:18 ID:TRc9Uas5
じゃあどうしようかな・・・Java3Dとの実装の違いを教えて。
587名前は開発中のものです。:2005/03/24(木) 23:38:55 ID:Bp9p7Klh
>>586
JGL(>>570)は全部Javaで実装してるOpenGL
Java3Dは内部でOpenGLやDirectXを利用したシーングラフベースの3Dライブラリ
588名前は開発中のものです。:2005/03/24(木) 23:47:33 ID:4P7tTkE1
JGLは単純なOpenGLライブラリのラッパーかと思っていたけど、
JavaでOpenGL互換のライブラリを書いたのか。なかなか凄いね。
589名前は開発中のものです。:2005/03/25(金) 22:01:32 ID:+PDQU0mK
>580
やっぱし駄目でした。
590名前は開発中のものです。:2005/03/29(火) 23:05:20 ID:JzoSHhO2
JAVA+Jythonで作られたゲーム

【rougelike】Wyvern Vol.3【MMORPG】
http://game10.2ch.net/test/read.cgi/mmominor/1110682281/
591デラ初心者(;_;):2005/04/26(火) 19:26:16 ID:7e/ZArDk
Javaを勉強してみたいと思って本までは買ってるんですけど、パソコンがなくて、ここにもK帯からアクセスしている状態なんですけど、、ここの人たちだけが頼りなんで1から教えていただけませんか…無謀なお願い&長文ですいませんm(__)m
592名前は開発中のものです。:2005/04/26(火) 19:49:46 ID:WV4t3NA0
パソコンなければ無理
机上デバッグできるけど、まずはネットにつなぐ前に本みてオフラインでやれ
593名前は開発中のものです。:2005/04/26(火) 20:35:40 ID:5ALJZB77
自分今高校3年でこの春から課題研究で何か制作することになって考えた結果、
JavaかHSPなど使ってアクションゲーム作ろうと考えたんですけど、
初心者が一年間でそれなりのもの作れますか?
594名前は開発中のものです。:2005/04/26(火) 20:47:46 ID:DuQ+tqMG
全然わかんねー!って人は携帯アプリも良いかも。
1年ありゃそこそこ理解できるようなレベルだし。
まぁ、ここじゃスレ違いっぽいけど。
595名前は開発中のものです。:2005/04/26(火) 21:17:15 ID:bQkKt5Br
>>591
 携帯電話を解約して貯金。パソコンを買う。

>>593
 DirectX覚えようとしていきなり挫折するよかJava + ゲームフレームワークの
方が遥かにシンプルだと思います。
596名前は開発中のものです。:2005/04/26(火) 21:32:04 ID:WV4t3NA0
まずJava言語自体を覚えているかどうかだな

言語自体も分からないということであれば厳しいが
597デラ初心者(;_;):2005/04/26(火) 21:45:46 ID:7e/ZArDk
やっぱりパソコンないと無理ですよね…(..;)
みなさんはJavaをどうやって覚えたんですか?それと、よろしかったら、みなさんがプログラム始めた年齢を教えていただけませんか?
598名前は開発中のものです。:2005/04/26(火) 22:00:23 ID:DuQ+tqMG
>>597
18。つーか、本とパソコンを買ってからまた来なさい。
599デラ初心者(;_;):2005/04/26(火) 22:16:25 ID:7e/ZArDk
分かりました(^^)v
そのときが来たらよろしくお願いします
600名前は開発中のものです。:2005/04/26(火) 23:30:13 ID:aA+S0NlY
>>599
がんがって、パソコン買ってね
601デラ初心者(;_;):2005/04/26(火) 23:48:18 ID:7e/ZArDk
>>600ありがとうございます。頑張ります!!!!
602名前は開発中のものです。:2005/04/27(水) 00:01:59 ID:WV4t3NA0
>>597
10

当時はマイコン言われることが多かったし、
パソコン触っています=変体扱い

ソフトが無いから自分で作るのが当たり前だったしねぇ

BASICからアセンブラ、Cとか構造化BASICとか順にいってたからね
Java触った時点ですでにパソコン歴10年以上だったし
603名前は開発中のものです。:2005/04/27(水) 00:03:15 ID:s/cZNHRf
>>593
時間との勝負で、作りこみとかゲームバランスなどのほうににひたすら時間をかけるのなら
2DSTG一択
604デラ初心者(;_;):2005/04/27(水) 00:18:17 ID:IOSVHvtC
>>602じゃあベテランさんなんですね(**≧v≦)ノノノ

パソコンの基本操作ぐらいしか分からないような状態から、Javaを軽くいじれる(理解?)状態になるまでどれくらいかかりま(..;)
変な質問すいません
605名前は開発中のものです。:2005/04/27(水) 00:45:47 ID:M64v15ef
やる気と才能次第
606名前は開発中のものです。:2005/04/27(水) 01:13:15 ID:lBR40onL
昔のマイコンなら、電源を入れたらプログラムを書いてすぐに実行できたけど、
今は例えばJavaだったら、Sunに行ってJDK探してダウンロードしてインストールして、
パス通してメモ帳でソースを書いて保存して、コマンドプロンプトを立ち上げて
コンパイルしたら「ファイルがありません」と言われて、調べたらメモ帳に勝手にtxtを付けられて
いたことが分かり、「拡張子を表示する」にチェックを入れて改めてコンパイルするまでに
挫折する人が多い気がする。
607名前は開発中のものです。:2005/04/27(水) 01:49:48 ID:s/cZNHRf
Cコンパイラ買うのにバイトで6万稼いだのだが
そんな時代よりはよかろう

ネットで検索でなんでもわかるのは正直楽すぎ
その分作業効率は求められるんだがね
608名前は開発中のものです。:2005/04/27(水) 01:53:28 ID:bqKplO3k
最近は手取り足取りプログラミングのやり方を書いている本もたくさんあるから
大丈夫だと信じたい。
609名前は開発中のものです。:2005/04/27(水) 09:07:57 ID:aZ7J0MtJ
>>608
逆にたくさんありすぎて間違った本を探して挫折するのもまた事実。
漏れは立場的に人に教えることが多いけど
「どの本がおすすめですか?」というのはよくある質問だったりする。
610名前は開発中のものです。:2005/04/27(水) 09:58:06 ID:s/cZNHRf
正直ゲームプログラミングとかは敷居は上がったと感じるけどね
技術雑誌による連載が無いのが痛い

あったとしても今はCマガくらいか
昔は機種がたくさんあってそれぞれ対抗意識を燃やしながら
熱心な記事が多かったのだが

環境が固定化されてないのを最初に知らないといけないというのは
結構な負担かもね
611名前は開発中のものです。:2005/04/27(水) 22:07:37 ID:/1Ny0coZ
やらなくちゃいけない事が増えて、敷居が上がってると思う。
MS-DOSとか、ポケコンで作るのは割と簡単だったけどなぁ。
面白さとか別として。
612名前は開発中のものです。:2005/04/27(水) 22:13:05 ID:s/cZNHRf
求められるレベルが上がったというのがある
パソコンやコンシューマの性能が上がりすぎたからね

いまじゃ市販ゲームを一人二人で開発していた時代があった
とは思えない状況で、同人レベルでもまっさきに絵の質が求められるしねぇ
内容はともかくパッケージを手にとってもらえないといけんというわけだが

まぁなんにしてもスレ違いか

--------
以下Javaのゲーム作成の話題をどうぞ

まぁ、これも板違いなんだが・・・
613名前は開発中のものです。:2005/04/28(木) 00:14:41 ID:oZN3bPVm
 じゃあJavaでゲームの話題。
GTGE触ってる人いる?
614名前は開発中のものです。:2005/04/28(木) 01:18:50 ID:bnVCvpPL
なにそれ
615名前は開発中のものです。:2005/04/28(木) 11:36:44 ID:gLgJ4G2c
せめて具具ってみようぜ

で、これなに?
2Dゲーがメインターゲットなフレームワークってことかね
616名前は開発中のものです。:2005/04/28(木) 12:01:57 ID:bnVCvpPL
英語がよめねぇ
617593:2005/04/28(木) 20:31:53 ID:hKtsUv4d
携帯アプリは普通のより簡単なんですか?
618名前は開発中のものです。:2005/04/28(木) 21:03:35 ID:A0EPb3pg
制限が多くて難しいんじゃないかと
あと、ケータイのJavaはパソコン用のJavaと違うものだし
619名前は開発中のものです。:2005/04/29(金) 00:10:34 ID:Ld4QRGVI
所謂「有料モノ」に一番到達しやすい分野ではあるよ。
620名前は開発中のものです。:2005/04/29(金) 16:03:43 ID:bRumfeSx
ところで、MacOSXはJava5.0対応だったっけ?
621名前は開発中のものです。:2005/04/30(土) 15:12:55 ID:k8lxwCML
>>620
 昨日発売のMac OS X 10.4には従来通りのJ2SE 1.4.2が付いてきました。
1.5はもうすぐ出る筈。
622名前は開発中のものです。:2005/05/01(日) 11:50:50 ID:6BeEKStD
thx.
Mac OS X のことを考えると、Java1.4で書いておくのが良いみたいだね。
623名前は開発中のものです。:2005/05/01(日) 12:22:08 ID:9r7ajxLd
Macに5.0でますた
624名前は開発中のものです。:2005/05/01(日) 14:01:43 ID:6BeEKStD
おー上手い具合にJava5.0出たみたいだから、心置きなくJava5.0で進めよう。
625名前は開発中のものです。:2005/05/02(月) 12:06:43 ID:KrHr8vIX
私は、Win派なんですが、やはりネイティブコードで一部の画像処理を
コーティングするには、各OSが必要になるのですが、
みなさんはどうやってこの問題をクリアしてらっしゃいますか?
私は、PCが2台あるので、WinとUnix(Solaris)は自前で用意して、
Macはもっていないので、仕方なくネットカフェでMacPCを探して、
そこでモジュール作成と動作確認をしようと思っています。
626名前は開発中のものです。:2005/05/02(月) 12:37:54 ID:uZyVSUAw
ほとんどの人はPureJavaかとおもわれ
627名前は開発中のものです。:2005/05/03(火) 01:57:42 ID:xlj5R66p
http://www.amazon.co.jp/exec/obidos/ASIN/1592730051
この本はPureJavaで3Dグラフィックスやってるよ
628名前は開発中のものです。:2005/05/09(月) 16:54:28 ID:nlcor5lS
GTGE、ダウンロードしたままになってたけど、サンプルをビルドしてみた。
自分はクラスパスが上手く設定できないので、ビルド用バッチファイル
があったのは有りがたい。一発でビルド。遊んでみたけどいい感じ。

ソースだけのクロスワードパズルが動かすまでちょっと手間取った。
「ANT(アリ)」がどうしても選択出来なかったんだけど、実は
「PANTER(ヒョウ)」の一部だった・・・まあバグじゃないけど。
629名前は開発中のものです。:2005/05/09(月) 23:36:23 ID:7HwLE8IR
GTGEでとりあえず動かしてみました。コリジョン判定があるだけで
ゲームですらありません。起動の仕方↓

java -cp golden_0_2_2.jar: reGTGE

で動きます。区切りはWindowsではセミコロンかも。

http://gamdev2.hp.infoseek.co.jp/cgi-bin/up/No_0031zip.html
630名前は開発中のものです。:2005/05/23(月) 12:57:57 ID:N4mgjhFJ
age
631名前は開発中のものです。:2005/05/23(月) 22:09:33 ID:Az8mwIIZ
>624
Macの1.5.0はまだ開発者向けのベータ版じゃないかな?
一般ユーザー向けに出るにはまだちょっと時間があるかも。
でも、いまから1.5.0用のコードを書いておいて損はないよね。
632名前は開発中のものです。:2005/05/23(月) 23:22:49 ID:QaWBmtsL
Macだとシステム側でダブルバッファリングしてくれるので
ちゃんとアニメーションできてるかわからんのが困る。
633名前は開発中のものです。:2005/05/24(火) 02:21:29 ID:sis+it4W
GUIのシステム側からすればOSがダブルバッファやるのがいい
でもそれができるのは新しいOSだからさ
634名前は開発中のものです。:2005/05/25(水) 10:58:33 ID:LDfRFEs8
こんな本が出るらしいけど、どんなもんだろ。

Killer Game Programming in Java
http://www.oreilly.com/catalog/killergame/

1008ページ。。。
635名前は開発中のものです。:2005/05/25(水) 11:56:26 ID:t/3l+FCT
高いなあ。とりあえずサンプルコードを落とすことにしよう。
636 :2005/05/26(木) 16:33:48 ID:owFSRMuu
アマゾンで¥4,319 だからページ数からいって安い方だろう。
637名前は開発中のものです。:2005/05/27(金) 00:13:01 ID:526DNnXp
日本語版でないかなあ。
638初期不良:2005/06/02(木) 21:09:55 ID:1lixZ+mm
LWJGL を使ったゲームリスト
http://java-game-lib.sourceforge.net/wiki/tiki-index.php?page=Games+Using+LWJGL

その中でも製品になっているこれは結構良くないか?
Tribal Trouble(リアルタイム3Dストラテジー)体験版
http://oddlabs.com/download.php

当然だが、こういうゲームで Windows 版、Linux 版、MacOSX 版があるのは Java ならではだな。
639名前は開発中のものです。:2005/06/02(木) 23:55:56 ID:ukDFyhZw
さすが、Javaのゲーム作成本が出るだけあってアメリカ(多分)は
Javaゲームが盛んだね。日本は…携帯アプリだけ?なぜ日本でjavaゲームが
流行らないんだろうか。
640名前は開発中のものです。:2005/06/03(金) 00:32:18 ID:91sQ1Vz9
日本だとJavaでのゲーム作成本は10冊くらいかな
1.1時代のが多かったり、アクセラレーションについてとか
VMのバージョンによってパワーアップしたことなどまったく触れてない

1.4の時代に1.1のJavaのコードがでるのは違和感がある
音源周りでおわってるが

1.4.1以降をターゲットにするとアクセラレーションがきく描画が可能だし
1.3をいれるとJavaSoundが使えて便利

そして初心者をターゲットとすると5.0がいいだろうね
JavaSoundだけでも大分楽になるし、オートボクシングも便利だろうね
BufferedImageもアクセラレーションが多少ききやすくなってテクニックはあまりいらないし

あとプライベートJREの説明とかJNIでジョイパッドを認識させるとか
そういった現実的な、それでいて中級者あたりで必要そうな知識とかになるとまったくない
641名前は開発中のものです。:2005/06/03(金) 01:38:16 ID:kthTAgzd
>640が本を出せば売れるんじゃねーの?
642名前は開発中のものです。:2005/06/03(金) 01:45:47 ID:91sQ1Vz9
売れるならかいてますがな
643名前は開発中のものです。:2005/06/03(金) 21:26:39 ID:4dTXbtGD
>>639
実行環境整えるのが、素人にはまだ難しいというかめんどくさい
と思われてんじゃないの?
644名前は開発中のものです。:2005/06/03(金) 23:16:00 ID:NTdadyx0
まずは面白い国産ゲームが出る事かな。先行者ゲームなんて面白いと思うけど、アプレットじゃないアプリケーションで面白いのある?
645名前は開発中のものです。:2005/06/04(土) 01:08:17 ID:xh3nWFkc
646名前は開発中のものです。:2005/06/05(日) 18:50:44 ID:jP14x9ZL
みんな開発環境はどんな感じ?
647名前は開発中のものです。:2005/06/05(日) 18:58:51 ID:2a1f++cQ
ゲーム作成用だとIDEはなんでもいいんでね?
ライブラリは意見が分かれそうだ

まぁJavaの場合ゲームならVMのバージョンを出来るだけ新しいのに市他方がええ
1.4系は正直5.0にたいしてメリットがねぇ
648名前は開発中のものです。:2005/06/06(月) 03:00:55 ID:b7y26U94
Appletで作ってるけど、なんかカツカツ処理が落ちるッス。
webで人様のjavaプログラムを実行しても同じ症状だからマシンかOSが腐ってるのか?
649名前は開発中のものです。:2005/06/06(月) 11:32:59 ID:fYnYvIDi
マシンスペックとOSは?

あとアプレットはブラウザの上で動く以上
ある程度さまたげられる可能性があるかもね
650名前は開発中のものです。:2005/06/06(月) 16:45:54 ID:zmHhEXLG
>>648
最新のJavaランタイム環境使ってる?
651名前は開発中のものです。:2005/06/06(月) 20:55:21 ID:jPJdqzm8
アプレット上だと、DirectXが使われないから処理が遅くなるってさ。
652名前は開発中のものです。:2005/06/06(月) 21:42:17 ID:fYnYvIDi
そんなことはないはずだが
653名前は開発中のものです。:2005/06/07(火) 01:31:43 ID:SuUT4FFC
XPのSP1で、appletのランタイムは1.5.0_02のCPUはPen4の1.6AでRadeon9700pro。

> なんかカツカツ処理が落ちるッス。
舌足らずなとこを補完すると、30fpsでバッファリングしたImageを切り替えて
ゲームのフレームワークを作ったのですが、カツカツ落ちると。
一定周期で1frame落ちするから、ディスプレイのVSyncとかみ合わなくて
テアリングでも起こしてるのかなと思い至った。

経験則では解決策がない悪寒がする。

レスありがd。
654名前は開発中のものです。:2005/06/07(火) 01:33:36 ID:jKM6D2RB
ティアリングならどうしようもないべ
655名前は開発中のものです。:2005/06/07(火) 01:34:15 ID:jKM6D2RB
アプリケーションのほうは問題ないの?
656名前は開発中のものです。:2005/06/07(火) 01:48:21 ID:SuUT4FFC
テストでdrawStringだけ実行している状況だから負荷は問題ないと思ってます。
ただJavaに疎いので、Javaが裏で重い処理をするコードがどこかにあるのか、
という疑問はあります。定期的にガベージが発生しているのかも、とか。

webでもっと探さないと。
そんなのFAQレベルだぜ、ってちょっと教えて君だった。スマソ。

それとありがd。もうちょっと調べてみる。
657名前は開発中のものです。:2005/06/07(火) 02:04:50 ID:jKM6D2RB
-verbose:gcをいれて実行してごらん
fullgcはいってるようだったらたしかにがくがくする

ヒープサイズとかメモリ調節するといいよ
参考
http://shin.cside.com/product/pw/index.htm
バッチファイルの中みてごらん
GCの種類をかえたりヒープやnew世代の調整してある

値の意味はこちらなど
http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_1.html
http://www.nminoru.jp/~nminoru/java/cms/concurrent_mark_sweep.html
http://www.nextindex.net/java/perform/garbage.html
658名前は開発中のものです。:2005/06/07(火) 02:11:29 ID:paRUAyMw
そういえばジャワティーってドリンクもう売ってないのかな?
本木雅弘がCMやってたヤツ
659名前は開発中のものです。:2005/06/07(火) 02:23:00 ID:SuUT4FFC
やってみる。これからだけど、とりあえずありがd。

> そういえばジャワティーってドリンクもう売ってないのかな?
近所じゃ購まだ売ってますぞ。
660名前は開発中のものです。:2005/06/07(火) 02:53:04 ID:SuUT4FFC
> http://shin.cside.com/product/pw/index.htm
これはナイスガッツ! てか楽しそうに作ってるなー。
ウィンドウモードでは自分のアプレットと同じで定期的にとまるッス。フルスクリーンはOKだ!
自分のアプレットもこのゲームも、漏れのマシンでは数フレームロックかかってる希ガしてきました。
ティアリングは嘘でした。

ほかの人はそんなことないのかな・・・
webでいまのところ同じ症状を見つけられないので漏れだけか。。。
今日は会社のpoorなマシンで試してみよう。

> -verbose:gc
だめぽ。
でもヒープ周りの知識はウェルカムだったのでありがd。

だがリーマンゲームプログラマは3:00に夢の国へ・・・おやすみ藻前らありがd。
661名前は開発中のものです。:2005/06/07(火) 11:55:57 ID:jKM6D2RB
ウインドウモードでかたつくならそれはティアリングであってる
垂直同期が取れない以上どうしようもない
フルスクリーンは垂直同期とってるんだよ
662名前は開発中のものです。:2005/06/07(火) 23:30:20 ID:olBSRmjj
EclipseのSWTってどうよ?
663名前は開発中のものです。:2005/06/07(火) 23:40:10 ID:jKM6D2RB
なんでゲームでSWTでてくるかな
それとも便利なのあるの?
664名前は開発中のものです。:2005/06/07(火) 23:45:31 ID:olBSRmjj
GUI使って作るとしたらさ
665名前は開発中のものです。:2005/06/07(火) 23:48:31 ID:jKM6D2RB
ゲームの場合GUIコンポーネントはまずつかわないからね
使ったとしたらSwingのカスタマイズ性が有利に働くかもしれない
666名前は開発中のものです。:2005/06/08(水) 00:16:58 ID:RtjvDL3u
> ウインドウモードでかたつくならそれはティアリングであってる
よくわからないのは、数INTロックがかかって見えるところですかね。
ただFlashコンテンツも家の環境では同じ見え方するのに気づいたので、
追求するなと内なる何かがささやいてます。環境っぽい。

> GUI使って作るとしたらさ
個人的には自前でやった方が見栄えするから使わないかな。

> http://shin.cside.com/product/pw/index.htm
リンクたどったらゲームライクなライブラリも晒してるね。
コードも晒してればコピ・・・参照したのに残念。

んじゃ続き作るや。じゃ。
667名前は開発中のものです。:2005/06/08(水) 00:32:21 ID:2dFSgXt/
>>666
実は液晶ディスプレイの問題とか
668名前は開発中のものです。:2005/06/08(水) 00:57:35 ID:RtjvDL3u
>>667
ほのかにビデオカードと液晶ディスプレイ疑ってたり。
ただ止まる時間が長すぎるような、っていうのは検証したら正しい時間かもかも。

まあ調べませんが・・・敗北しときます。
669初期不良:2005/06/08(水) 04:06:27 ID:2y7ULdYu
>>663
漏れ自信まったく理解してないんだが
SWT OpenGL plug-in ってのがあるみたいよ。
http://www.eclipse.org/articles/Article-SWT-OpenGL/opengl.html
670名前は開発中のものです。:2005/06/08(水) 17:57:47 ID:jswTX7uc
SWTで作る利点といえば
Eclipse上にプラグインとして公開して、
仕事しているようにゲームできることか。
どうよ
671名前は開発中のものです。:2005/06/08(水) 18:03:07 ID:2dFSgXt/
>>669
OpenGL使いたいのならJOGL使ったほうが手っ取り早いかと
3D目的なら今の流れだとJava3Dのほうがいいかもしれんが

>>670
それならJBuilderでもNetBeansでもテキストエディタでも環境にあわせるだけでかまわんような
そもそもどうしてもゲーム画面が表示される瞬間があるわけでどーすんだよと
672名前は開発中のものです。:2005/06/09(木) 02:49:56 ID:IHGy2XMx
>>666
ヒント:Jad
673名前は開発中のものです。:2005/06/11(土) 04:07:57 ID:BS9m70FP
すごい...自分で作ったアプレット、変数名まで再現されてた。
てか実用的な逆コンパイラなんて初めて見た。不覚...
674名前は開発中のものです。:2005/06/11(土) 10:07:51 ID:GcEolZiW
とりあえず難読化ツールでも使うしか
675名前は開発中のものです。:2005/06/11(土) 21:32:54 ID:wbD2CWIz
ところでクライアントサイドJavaでのゲーム作成入門の
オススメページってどこかないかな。

検索してもアプレットばっかりだし。
676名前は開発中のものです。:2005/06/11(土) 21:38:59 ID:pf44YaEx
アプレットをフレームに貼り付ければいい。
677名前は開発中のものです。:2005/06/11(土) 23:33:05 ID:QGGoJuur
普通にあぷりけーしょんでどうぞ
アプレットのほうが理解しにくいと思うんだけどなぁ

フレームワークであるという仕組みが分からないとかね

理解しないでアプリケーションに移行して画像のロードが出来ないんですけど、とか
アプレットじゃないと音楽が流せないんですけどとか
よくある話だが
678名前は開発中のものです。:2005/06/12(日) 00:24:41 ID:dLf08KQ4
679名前は開発中のものです。:2005/06/12(日) 03:14:21 ID:LXUyz6JS
Good Job!!
おもしろいページばかりだ!
680名前は開発中のものです。:2005/06/12(日) 09:22:26 ID:KhhXkEWy
つーかまぁ、とりあえずパネル出すとこまで行けば後はアプレットとほぼ同じだ
681名前は開発中のものです。:2005/06/12(日) 10:35:27 ID:PH5G30Lu
つーかアプリケーションなら積極的にBufferStrategy使おう
682名前は開発中のものです。:2005/06/12(日) 11:21:17 ID:FBVLqvgc
>>676-681
ありがとう。>>678の見ながら勉強するよ。
683名前は開発中のものです。:2005/06/20(月) 17:09:26 ID:OLasBksw
アニメーションで動きがカクッカクッとひっかかるのはガベコレのせいだよね
これ防ぐ方法はいまのところ何もないの?
684名前は開発中のものです。:2005/06/20(月) 17:38:53 ID:xz5FMksQ
>>683
単純にGCのせいともいえない
ティアリングの可能性も高いし
綺麗に垂直同期とってもディスプレイのせいかもしれない

そもそもWinやMac,Linuxなんかは垂直同期とろうが
確実に引っかかりをとめる方法はない
685名前は開発中のものです。:2005/06/21(火) 00:06:59 ID:7pToadzn
Javaで垂直同期って可能なのか
686名前は開発中のものです。:2005/06/21(火) 00:46:47 ID:gLIUZNPd
>>685
おもしろいやつはけーん
もう数年前から可能ですが
687名前は開発中のものです。:2005/06/21(火) 02:08:38 ID:7pToadzn
どうやって
688619 ◆pKT/RyrDCw :2005/06/21(火) 05:42:57 ID:vl1dL1WY
>>683
GCが原因ならJavaVMのオプションでVMのメモリの量を多くしたら
(一時的には)ひっかかりが解けます。
そうじゃなかったら他の原因だと思われ。
689名前は開発中のものです。:2005/06/22(水) 07:02:51 ID:LQPYyhFp
>>631
もう一般向けのダウンロード出たね
http://www.apple.com/jp/ftp-info/reference/java2se50release1.html
690名前は開発中のものです。:2005/06/23(木) 00:33:24 ID:jP3VdD64
10.4以降というのが
691名前は開発中のものです。:2005/06/23(木) 03:19:47 ID:0EAQ3U15
>>683
簡単なサンプルで定期的に落ちるようならガベコレじゃないと思われ。
漏れもそれに困ってモニタのinf(だっけ?)を入れ替えたりしたけど、結局だめだった。
液晶ね。

関係ないけど、アプレットfpsが30以上にならないのはアプレットのせいだよね?
と便乗質問してみる始末。
692名前は開発中のものです。:2005/06/23(木) 11:56:22 ID:L4YwPNmI
アプレットでも60fpsでるよね
693名前は開発中のものです。:2005/06/23(木) 12:12:05 ID:A1Up2BL3
Mozillaとかだと描画にオーバーヘッドが起こってるのか微妙に重いことがある。
これのせいかfpsが落ちたりするよね。IEだと問題ないけど。
694名前は開発中のものです。:2005/06/24(金) 02:16:51 ID:2dm7pYZB
キャラクターどうしの当たり判定とかすごい回数になりそうなので
オクトツリーとかいうのを使ってみようと思った。

なんかメンドクサス
695名前は開発中のものです。:2005/06/24(金) 05:10:17 ID:Im1/sm4w
何のゲームで当たり判定が必要になったとかによるのでは

STGあたりならRectangleのあたり判定を使って自作でさくっと
スーパーマリオのようなアクションなら多少考える必要があるが
696691:2005/06/25(土) 05:22:05 ID:c8XAIbYr
>>692
そか。うっとこではapplette viewerでも32fpsより短くならないんだけど、
教えてgoogleパワーでがむばってみる。
ありがトン。
697名前は開発中のものです。:2005/06/25(土) 08:42:28 ID:KxoU9hXJ
>スーパーマリオのようなアクションなら多少考える必要があるが
どんなこと考える必要ありますか?
敵(栗ボーとか)を配列に登録しておいてマリオが動くたびにすべての敵とあたっているか調べるってのじゃ遅すぎます?
698名前は開発中のものです。:2005/06/25(土) 09:28:37 ID:Q6O8Kliy
地形とかの判定のことだな
699名前は開発中のものです。:2005/06/25(土) 22:03:49 ID:i7Vh4wJf
>>697
最近のPCは力持ちだから極端に数が多くならない限りは
当たり判定処理を秒間10〜30回くらいなら平気でこなすよ。

もしこれ以上の精度が欲しいなら他の方法を使う必要があるけど
大抵はこれで十分だと思う。
700名前は開発中のものです。:2005/06/26(日) 00:10:58 ID:5IDbwQfw
昔から配列で手当たりしだい判定してきたし問題にならん
8bitのときは比較回数が100個くらいをこえるときつくなってきたな
16bit以上はもんだいにならんよ

Javaが動いている時点でわざと遅くするコードやオプションにしないかぎりまず大丈夫かと
701名前は開発中のものです。:2005/06/26(日) 00:28:35 ID:xA3Wpl2v
キャラクターが10体くらいで弾が200発くらいで地形が20個くらいで
それぞれ画面内にいないときもAIで動いてるゲーム

キャラクターどうし:9 回
キャラクターと弾:10 * 20 = 200 回
キャラクターと地形:10 * 20 = 200 回
弾と地形:200 * 20 = 4,000 回

1フレーム内で 4,500 回の判定・・・
702名前は開発中のものです。:2005/06/26(日) 01:38:32 ID:5IDbwQfw
4500回の判定程度たいしたことはねぇよ
100MHzいってないのならすまん
703名前は開発中のものです。:2005/06/26(日) 08:30:26 ID:R9cNrqzH
>>698-702
d
何かすごく遅くなりそうだけど結構大丈夫なんですね。試してみます。
704名前は開発中のものです。:2005/06/26(日) 12:22:05 ID:2NQ+FlFk
Javaというか、オブジェクト指向のゲーム制作の定石みたいなものは
ありますか?日本語のJavaゲーム本だと、内容が古いか携帯電話向け
ばかりで、英語なら結構出版されていますが、読めるかどうか…。

キャラクターはクラスにするのか?そのクラスは自身で描画する機能を
持つのか?持つなら対象のCanvasの情報はどう持たせるのか?など。
皆さんはどうしてますか?
705名前は開発中のものです。:2005/06/26(日) 12:31:22 ID:5IDbwQfw
クラス構造は人によって設計違うけど
多態を使うのとコレクションを使えるようになればいいんじゃないか
706名前は開発中のものです。:2005/06/26(日) 20:51:40 ID:R9cNrqzH
>>704
私もそこらへんすごく悩んだ。結局、キャラクターに描画機能もたせて、キャンバスへの参照はキャラクターのコンストラクタに引数で渡してます。
707初期不良:2005/06/27(月) 09:20:24 ID:sjyCFv/3
>>706
それで悩むなら Visitor パターンいいんじゃない?
いい具合に整理できるかも。自己満足レベルかも知れんが。
708名前は開発中のものです。:2005/06/27(月) 09:57:33 ID:5sMCnoiV
コンストラクタで渡すよりメソッドの引数でわたせばいいっしょ
paintとかdrawとかってメソッドでGraphicsを引数に取ればいい

そして呼び出し元がそれら描画オブジェクトをリストから取り出して順に描画させる
プライオリティもここできめれるし
709名前は開発中のものです。:2005/06/29(水) 16:20:38 ID:sZiDzWut
画像読み込みもタスクのクラスに実装すると
メディアトラッカーに渡すモノが必要ですね。
他の人のソースを見ると、Appletで渡したり、Containerで渡したりしてる。
このへん意味も分からず人まねしてる。
クラスが一つしかない簡単なアプレットなら
g.drawImage(.....,this);で済むのに。
710名前は開発中のものです。:2005/06/29(水) 19:06:02 ID:Jz57RSZi
つーかImageIO使ってるし

5.0ならアクセラレーション聞きやすい環境ではあるけどコンパチブルなVolatileImageを
意識的に作る場合もある
イメージのロード命令ひとつでおわることはねぇな、ゲーム目的ならね
711名前は開発中のものです。:2005/06/29(水) 19:32:24 ID:tkZA2RNq
>>709
クラスわけするとそこらへんが結構無駄に複雑になる気がする
712名前は開発中のものです。:2005/07/17(日) 13:46:28 ID:Cex8NEqA
↓既出かもしれんが、この人のJAVAゲームってすごくない?
どういうテクニックを使えば、こういうなめらかな動きのアクションゲームをjavaで
できるのだろう??

--------
http://www.geocities.co.jp/SiliconValley-Sunnyvale/6003/ura/sisters2/
ちょいあシスターズ
アクションゲーム「ちょいあシスターズ」を公開しています。マ○オブラザーズをアレンジ
したもので、マウスとキーボードを使うことで2人同時プレイも可能です。


713名前は開発中のものです。:2005/07/17(日) 14:57:55 ID:TVccPhIn
テクニックも何もJavaは普通になめらかにうごかせるものだが
714名前は開発中のものです。:2005/07/17(日) 21:51:17 ID:IN1Lw/+s
>>712
やってみた。
至って普通だな
715名前は開発中のものです。:2005/07/17(日) 21:54:17 ID:Cex8NEqA
>>713
> テクニックも何もJavaは普通になめらかにうごかせるものだが

ええーッ、僕が知っているjavaゲームは、敵の数に反比例して速度が低下するのが
多いのだが。
普通だったのか?
716名前は開発中のものです。:2005/07/17(日) 22:08:22 ID:TVccPhIn
>>715
なんだよそれは
作り方が悪いだけだろ
60fpsで垂直同期取ったり滑らかに動いてるJavaのソフトだってあるぜ
717名前は開発中のものです。:2005/07/17(日) 22:25:38 ID:DvhZ5Df9
正直 Java でフルスクリーンはぬるぽ
718初期不良:2005/07/18(月) 06:27:33 ID:pZiMlJXx
>>717
このゲームをぬるぽしてください

Tribal Trouble(リアルタイム3Dストラテジー)体験版
http://oddlabs.com/download.php
719名前は開発中のものです。:2005/07/18(月) 13:03:07 ID:uZqED97p
別にフルスクリーンでなくても滑らかにうごくっしょ
720名前は開発中のものです。:2005/07/21(木) 02:18:18 ID:R+w7QC9R
なんでAlphaCompositeには加算合成がないのよ!!
721名前は開発中のものです。:2005/07/21(木) 02:35:11 ID:R+w7QC9R
あ、正確には「なんで AdditiveComposite クラスがないのよ!」か
722名前は開発中のものです。:2005/07/21(木) 05:05:07 ID:ttEileue
PixelGrabberを使うと加算合成できる?
723名前は開発中のものです。:2005/07/21(木) 10:50:10 ID:0da8GUHY
JAVAを使って、ブラウザ上で自動的に画面が切り替わって行く、
サウンドノベルのような物を作るスクリプトは、
どこかで配布されていないのかな?
前に使っているサイトを見かけたんだけれども……。
724名前は開発中のものです。:2005/07/21(木) 11:42:34 ID:PX1CM5dL
>>723
おれも昔あったような気がする。
Javaでわざわざやる必要が無いから無いんだろうね。
Flashのほうがそういう用途では作りやすいし使いやすい。
気力さえあればHTML+JavaScriptだけで行けるし。
725名前は開発中のものです。:2005/07/21(木) 13:49:56 ID:52Yxwi4f
PixelGrabberって使う理由あるのか?
726名前は開発中のものです。:2005/07/22(金) 01:15:00 ID:34bxPQ7x
どなたか Graphics を透明色でクリアする方法を教えてください、お願いします。

2枚の Image から getGraphics() でグラフィクスを取得し、
それぞれに別の描画をしてから重ねることでいわゆるレイヤーみたいのを実装してみたんですが、
上に重ねるほうの Image のグラフィクスを
まっさらに戻す方法がわからず行き詰まってしまいました。

単純に上に重ねるほうの描画の最初で clearRect() を呼ぶと、
下のグラフィクスまでクリアされてしまいます。

描画内容が変わるたびに新しくグラフィクスを取得しなおすのは
パフォーマンス的にかなりデンジャラスでした(ゲームには致命的なほど)。
727名前は開発中のものです。:2005/07/22(金) 01:31:17 ID:34bxPQ7x
細かい訂正。Image でなく VoratileImage ですた。
728名前は開発中のものです。:2005/07/22(金) 06:52:53 ID:2/g0amAL
あるVolatileImageをrgba(0,0,0,0)でクリアしたいってこと?

描画元がVolatileImageを使うということはJ2SE5.0だと思うけど
まずピクセルフォーマットをコンパチブルで作っているのが条件

さらにアルファ0のピクセルを強制描画となるとアルファブレンドの設定をsrcに変える必要あり

この辺分かってないのならスプライトはBufferedImageで作るのがいいよ
速度的にクリティカルでないのならね
5.0なら体外アクセラレーションがきくので描画先だけVolatileImageでよい
729名前は開発中のものです。:2005/07/22(金) 18:23:30 ID:nqdltgNj
どうでもいいけど、VolatileImageは1.4からあって、このおかげでSwingが速くなった。
730名前は開発中のものです。:2005/07/22(金) 22:28:19 ID:2/g0amAL
VolatileImageのコンパチブルイメージ作成は1.4では無理
スプライトには使えないのだよ
731名前は開発中のものです。:2005/07/23(土) 21:03:39 ID:yrG67FHD
むう・・・グラフィックス関連は難しいのう
732名前は開発中のものです。:2005/07/24(日) 00:35:26 ID:XT5QSyzV
Javaの場合基本はImageで極度に抽象化されてはいるのだが、
アクセラレーションがきく描画とアクセラレーションがきかない描画とで
APIがわかれていないからノウハウが必要。

速度を無視さえすれば一応どうとでも動くけどね。
DirectXを使って描画されたときとソフトウェア描画になったときとの差はさすがに激しい。

分からないときは描画先はVolatileImageで描画元はBufferedImageのBITMASK指定
にしておけば基本的に問題はない。

ただ、アルファブレンドとか考えるとソフトウェア描画具合によって描画先もBufferedImageに
おいたほうがいい場合もある。

など>>218の過去の日記とか参考になる。
1.4.2と5.0とは基本的には速度は変わってないそうだね。
733名前は開発中のものです。:2005/07/27(水) 13:20:35 ID:ix/c6kOA
・・・
何の事だかさっぱり分かんねー
734名前は開発中のものです。:2005/07/27(水) 13:44:30 ID:MUqN45X5
Imageの既知のサブクラスくらいちゃんとみよう
735名前は開発中のものです。:2005/08/06(土) 22:11:52 ID:pinomsPp
処理を詰めるコレクションはどれを使えば
いいのですか?
シューティングを作っているのですが。
736名前は開発中のものです。:2005/08/07(日) 01:41:13 ID:7DUHzpYT
最近の若いもんはデータ構造の勉強も使用としないのか
737名前は開発中のものです。:2005/08/07(日) 02:59:33 ID:70Sdbjq9
しかも質問が曖昧すぎて何をやりたいのか分からない、ときたもんだ。
738名前は開発中のものです。:2005/08/07(日) 04:57:27 ID:4HgBgmKI
「処理を詰めるコレクション」って何だ?
データ構造に関する事なのか?

739735:2005/08/07(日) 07:23:54 ID:YgzkFRJY
すみません。勉強不足でした。
出なおして来ます。
740名前は開発中のものです。:2005/08/07(日) 14:33:14 ID:yCvqVkAo
勉強不足じゃなくて日本語の意味がわからないといっておる
741名前は開発中のものです。:2005/08/07(日) 16:09:28 ID:gU2cgAEa
いや日本語の勉強不足なんだろ
彼は留学生なんだよ
742名前は開発中のものです。:2005/08/07(日) 17:38:19 ID:ORJAOx8r
在日だろ
743名前は開発中のものです。:2005/08/07(日) 18:29:55 ID:JLSTZtKF
関数ポインタの配列みたいなものを求めてるんだろ
744名前は開発中のものです。:2005/08/07(日) 18:49:39 ID:yCvqVkAo
>>743
すごい理解力だな

だとしても難しく考えず多態がわかればそれでOK
JavaだけでなくC++でもオブジェクト指向言語ならね

C++でも関数ポインタ使うようではお話になりませぬ
745名前は開発中のものです。:2005/08/07(日) 19:23:38 ID:4HgBgmKI
commandSeq.add(commandA);
commandSeq.add(commandB);
...
Command command = commandIter.next();
command.do();

みたいにして敵を動かしたいけど List とか Set とか Map とか色々あって
どれ使ったらいいか分らんって話かな?
746名前は開発中のものです。:2005/08/09(火) 17:21:29 ID:kPu+8l2o
リストとセットとマップの使い分けができない人間に
コマンドをオブジェクトにするなんて高級な発想ができるとは思えん・・・
747名前は開発中のものです。:2005/08/12(金) 17:22:56 ID:4rKVi55E
これって読んだ人いない?
Javaコレクションフレームワーク
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797327057/250-0127530-6112251
748名前は開発中のものです。:2005/08/12(金) 18:01:22 ID:JHIWdaT4
1.5対応なのかな、その本
749名前は開発中のものです。:2005/08/15(月) 00:53:42 ID:kKlH8Vdw
>>744
C++でもゲームだと普通にコールバック登録とかに使ってるね、関数ポインタ。
べつのスマートで高速な方法があるなら知りたいや。
750名前は開発中のものです。:2005/08/15(月) 01:03:30 ID:ESVCg1zy
C++ならポリモーフィズムでしょ。
関数ポインタ使うなとは言わないけど。
751名前は開発中のものです。:2005/08/15(月) 01:50:33 ID:qn8FJw6T
ただC++でおき楽にやるとキャッシュヒットが上手くいかないかな。
保守性と速度とでどっちをとるかなんだけど。
752名前は開発中のものです。:2005/08/15(月) 16:02:35 ID:UyuTTffG
過去レス読んでたんですがBufferedStrategyとかVolatileImageってJDK1.5のSwingで描画すれば何もしなくても実装されてます?
753名前は開発中のものです。:2005/08/15(月) 18:16:25 ID:C+etuN6I
Javaインストールさえ出来ない私です(・∀・`)
DLのページって英語ばかりで良く分からないし安全かどうかも分かりませんよね(汗;
754名前は開発中のものです。:2005/08/15(月) 18:53:34 ID:limOG/LR
>>753
インストールできないってことは、まだ落としてないの?
JDK ダウンロード でぐぐって最初のページである下記サイトに行き、
ttp://java.sun.com/j2se/1.4.2/ja/download.html
・適当にドキュメントを読んでから「J2SE SDK のダウンロード」を選択
・Accept にチェックを入れて Continue
・自分の使用しているOSのインストーラをクリック(Windowsなら Windows Offline Installation, Multi-language)
で、あとはインストーラを実行するといいよ。

5.0が必要な場合も同様
ttp://java.sun.com/j2se/1.5.0/ja/download.html
755名前は開発中のものです。:2005/08/16(火) 19:46:04 ID:m8tb6mCH
ゲームとは無関係ですけど
static Game gam;
と、宣言したもののメソッドを
使おうとしたらNullPointerException
が発生してしまうのですが
どうしたらよいのですか?
staticで宣言したら
newとかやらなくても使えるんですよね?
もしかして自分間違ってます?
756名前は開発中のものです。:2005/08/16(火) 19:57:51 ID:r7PJkQoA
>>755 うん。
757名前は開発中のものです。:2005/08/16(火) 19:59:31 ID:BK5WFM6G
>>755
メソッドの宣言ではないなその書き方は。

フィールドの宣言だとしたら

それを宣言したクラスをHogeってすると
Hoge.gam
でアクセスできる。

ただ、staticにする必要があるかどうかをまず考えた方がいいよ。
758755:2005/08/16(火) 20:56:19 ID:m8tb6mCH
キャラクラスを作ったんですけど
そのクラスを呼び出すコンポーネントをHogeとして
static Hoge hoge;
と、キャラクラスでフィールド宣言して
そのHogeのメソッドを使おうとしてNullが
出てしまうんです。
こんな風にやってるのを参考にしてみたのですが、
キャラを呼び出すクラスをキャラの方で呼び出さないようにします。
759名前は開発中のものです。:2005/08/16(火) 21:06:10 ID:BK5WFM6G
>>755,758
おまいはすごい変な勘違いをしてる。

public class Test() {
 static Hoge hoge;
 ..................
}
ってなクラスだったとすると、
hogeへのアクセスは
Test.hoge
になる。

でやりたいことは、Hogeのメソッドを使うことだとおもうんだが
その使いたいメソッドはStaticなのか?
たとえばキャラクラスが
public class Hoge() {
 private int charPosX;
 public int getCharPosX() {
 ....
}
とかだとすると
必ずhogeにはインスタンスを代入してあげないといけない。
hoge = new Hoge();

さっきのキャラクラスのメソッドが
public static int getCharPostX();
とかならメソッドにはアクセスできるはず。

ただ、Staicだからちゃんと考えて使わないと意図してないことになるぞ。
760755:2005/08/16(火) 22:31:39 ID:m8tb6mCH
自分の極僅かな理解力に依ると
staticな参照型のフィールドの持つ
メソッドを使うには、そのメソッドは
staticである必要があるということですか?
761名前は開発中のものです。:2005/08/16(火) 23:13:00 ID:BK5WFM6G
>>755,760
違う。
staticについてかなり勘違いしてるな。
俺の書き方も悪かったかも知れない。

staticなフィールドへのアクセス方法 と
staticなフィールドのメソッドへのアクセス方法 とは別物。

方法は二つあるってこと。
hoge = new Hoge();
としてインスタンス化するか
アクセスしたいメソッドをstaticにするか。
このどちらか。

staticにするって事は、どの他のクラスからのアクセスでも、
参照できる値が同じであって欲しいって事だと思うのだけど、
そういうときはstaticを使わなくても実現できる。
Singletonパターンでググってみなさい。
762名前は開発中のものです。:2005/08/16(火) 23:21:32 ID:BK5WFM6G
ちょっと訂正
シングルトンでも内部ではStatic使ってます。
763名前は開発中のものです。:2005/08/16(火) 23:54:56 ID:6Nhea8Nr
優しいやつがいるな

いや、いいことだが
764名前は開発中のものです。:2005/08/17(水) 00:44:12 ID:K4BMijBi
ふつうは初心者質問スレに行けって一蹴されるもんね。
765名前は開発中のものです。:2005/08/17(水) 01:02:01 ID:CDbJt1VR
自分も理解したばっかりだから、教えたかったんだよ!(w
766名前は開発中のものです。:2005/08/17(水) 07:52:32 ID:aplD8U3k
staticにするのは基本型ばっかりだったから勉強になったよ
767755,758,760 :2005/08/17(水) 21:06:34 ID:9iZ8I7A5
>>761
丁寧親切にありがとうございます。
実は初心者スレに最初に行ったのですが
上記の通り下手な質問だったので
まともに相手をされなかったのです。

初心者スレで聞けと思った方すみません。
答えて下さった方重ね重ねありがとうございました。
768名前は開発中のものです。:2005/08/17(水) 21:33:35 ID:CDbJt1VR
>>767
staticなメソッドってあまり使わない方がいいよ。
使うパターンは決まってて、
(static) finalな変数と引数だけしか内部で使わないような場合。
ユーティリティクラスとかでは多用する事になるかも。
そうじゃない場合は
volatileとかsynchronizedとかを使うことを念頭に置かないとまずい。
どういうときにこれを使うかがわからないなら
インスタンスを使う方法に統一するほうが変なエラーでなくて楽。

まぁスレッドとか使い始めたら嫌でも覚えるだろうけどね。


ところでうちのVSSサーバが飛んじゃってるんですが・・・・。
どうするんだろう・・・・。
769名前は開発中のものです。:2005/08/17(水) 23:53:07 ID:U8H63nuI
でもゲームだといっそすべて static にしてやろうかと思うことが多々ある・・・
770名前は開発中のものです。:2005/08/18(木) 08:52:11 ID:pZp+Mec7
>>755
メソッドもstaticにして、
Game.メソッド
で、エラーが取れるような・・・
771名前は開発中のものです。:2005/08/19(金) 10:03:13 ID:ZksL5yDP
>>770
論点がずれているぞ。
772名前は開発中のものです。:2005/08/19(金) 22:28:56 ID:T1nvulFd
がーん
シンプルな解決法かと思ったのですが・・^^;
773名前は開発中のものです。:2005/08/20(土) 03:20:02 ID:QiGA0Fi6
ここは親切なインターネットですね

なんか嬉しくなったので記念パピコ
今日、JAVAでゲーム作っていく上で頼もしいサイトが
2,3見つかって気分が良いってのもある
774名前は開発中のものです。:2005/08/20(土) 06:18:08 ID:JTmhmGeR
その頼もしいサイト、教えてもらえませんか?
775名前は開発中のものです。:2005/08/20(土) 13:33:03 ID:/rW9FaDr
完全にGUIクラス独立させてゲーム作りたいんだけど
VolatileImageでバッファ処理しようとしたらpaint(g)内で作る分には問題ないんだけど
外で色々しようとするとバグるんだけど、なんで?
他のImage使えばいいんだろうけど、なんだか悔しくて。。。
776名前は開発中のものです。:2005/08/20(土) 13:53:31 ID:TyoHBn43
そのバグったコードと結果かいてもらわんとなんともいえんだろうが
777名前は開発中のものです。:2005/08/20(土) 14:36:40 ID:ZZP3lZ0w
JREがせめてVectorに置いてあればなぁ・・・
JREの開発元がそもそも一般レベルに普及させる気がないみたいだし
778名前は開発中のものです。:2005/08/20(土) 14:43:16 ID:B9VT1PVY
779名前は開発中のものです。:2005/08/20(土) 15:05:36 ID:ZZP3lZ0w
>>778
Vectorにソフトを置くとして
そのためのプラットフォームをVector以外に置くというのは・・・
780名前は開発中のものです。:2005/08/20(土) 15:14:02 ID:TyoHBn43
JREはアプリにつけれるんだが
単体での配布はJavaのサイトからのみ許されるが

VBのランタイムも同じだべ
781名前は開発中のものです。:2005/08/20(土) 15:22:26 ID:ZZP3lZ0w
ん?VBは普通にVectorにあるじゃない。
PrivateJREって無駄が多くていまいち好きになれないし。
Java版RPGツクールでも作ってJavaそのものを普及させるしかないかな。
782名前は開発中のものです。:2005/08/20(土) 16:54:09 ID:TyoHBn43
まぁprivateJREでなくてもJREは添付できるが
Privateは細かいリビジョンで動作が変わる可能性があることを考えると
別に悪い選択肢ではない

特にゲームなら細かい動きに依存するしなおさら
public使ってWebStartなら多少細かい設定が可能だけどサンドボックスだと
厄介なことになる場合もあるしな

同人ソフトとか数百Mとかわりとみるし、あまり気にならないかと
783名前は開発中のものです。:2005/08/20(土) 17:51:35 ID:ZZP3lZ0w
>>782
> まぁprivateJREでなくてもJREは添付できるが
マジすか。こりゃ要らぬ心配をしてまった。

> 同人ソフトとか数百Mとかわりとみるし、あまり気にならないかと
まあ置くのはVectorだから紹介サイトに負担はないよね(w

てかJavaのゲームオーサリングソフト開発したいな。
・PropertiesとClass#forNameを使い、画面制御クラスが拡張可能
・クラス、ECMAScript(Rhino)、XML SAXそれぞれでシナリオをスクリプト可能
・クラス、Rhinoのどちらかで機能をカスタマイズ可能
・HypersonicSQLとBase64によるリソースDBMS搭載

※画面制御クラス 戦闘ビュー、フィールドビュー、ノベルビュー、会話ビュー、ステータスビューなど
784名前は開発中のものです。:2005/08/20(土) 19:06:09 ID:TyoHBn43
Javaはダイナミッククラスロードが容易(だからフレームワークが流行り)なために
RPGとかSTGとかAVGとかのフレームワーク作るのはいいと思うよ
特定のディレクトリにjar放り込んでURLClassLoaderでロードしてくるだけだし

まずはそれらのさらに下で動く描画とか音楽とかの薄い汎用のフレームワークを作ったほうがいいかも

本当に自由なスクリプトに関しては次バージョンでECMAscriptが実装されるからそれをまてばいいね

HSQLDBはゲームに組み込むのには一番楽なサイズかな
たぶんRPGやAVGあたりだとデバッグが容易になるかも
他の環境だとXMLでいいかな
HSQLDBはJDBC2の構文が通らないからちとアレかもしれんがサブクエリーは便利

SAXに関しては勘違いしてないかい?
785名前は開発中のものです。:2005/08/20(土) 20:20:42 ID:ZZP3lZ0w
>>784
いろいろ有益な情報thx
共同開発者集められるくらいの基盤は作ってみるよ。

> SAXに関しては勘違いしてないかい?
タグ開始とテキストとタグ終了でXMLを解析するAPIだよね?
調べなおしてパースを一時停止出来なさそうなのには面食らったけど
それでも街やシナリオのインスタンスをレンダリングするには便利だと思う。

デバッグ中は逐次レンダリングして、リリースはレンダリング済みのをDBへ。
エンドユーザが情報交換しやすいフォーマットが他に思いつかない・・・
786名前は開発中のものです。:2005/08/20(土) 21:14:34 ID:hX3UwIsl
すごく初歩的な質問かもしれませんが、今、携帯のアプリを作ろうと思っています、、
携帯会社(NTT DoCoMo)のサイトを見ると何かソフトがいるようなコトがかいてあります、
JAVAだけで作ることは可能でしょうか??。。
787名前は開発中のものです。:2005/08/20(土) 21:35:49 ID:TyoHBn43
確かに携帯のアプリもJavaだ
だがそれはJ2MEといってPC用のJ2SEから機能を省いたサブセット
ライブラリや使える機能を抑えたコンパイルをして吐き出させるもの

追加で必要なのはライブラリとシミュレーション、ドキュメントだが、これらもちゃんと用意されている

プログラム板にいけばiアプリのスレがあるのでそちらでどうぞ
788786です、、:2005/08/20(土) 21:53:20 ID:hX3UwIsl
787>ありがとうございました。。
なにしろ、0から始めることなので、、
789名前は開発中のものです。:2005/08/22(月) 19:15:47 ID:B8i8MdrO
JPanelのFPSを保つまた表示するにはどうすればいいでしょうか。
790名前は開発中のものです。:2005/08/22(月) 19:16:32 ID:B8i8MdrO
すいません。Javaスレと誤爆しました。
791名前は開発中のものです。:2005/08/26(金) 22:24:25 ID:OqoSkLef
VolatileImageってスプライト用途では使えないってことですか?
792名前は開発中のものです。:2005/08/26(金) 23:45:41 ID:aHJYtl1C
分からない人は描画先にだけVolatileImage使えばいいよ
スプライトはBufferedImageでもJ2SE5.0からはかなりの場合アクセラレーションがきくようになってる

1.4時代は100%スプライトに使えないと思っていい
5.0はコツがいる
793名前は開発中のものです。:2005/08/27(土) 22:47:55 ID:KDG2Ln8Y
>>792
あ、5.0ならできないこともないんですね。
それはシューティングに手を出しても高FPSが実現できるのでしょうか?
FPSが格段に向上するなら教えて頂きたいです。

無茶をしなければBufferStrategy&VolatileImage(offscreen)で十分なのでしょうが。
794名前は開発中のものです。:2005/08/27(土) 23:03:58 ID:owlm3iow
BufferedImage>VolatileImageでも秒間1万スプライトとかでるよ

VolatileImage>VolatileImageをやるためにはピクセルフォーマットをあわせて転送元にBITMASK指定

逆にDirect3DでのアクセラレーションはVolatileImage同士かつOPAQUE指定のみ+オプション指定
Direct3Dはレンダリング品質に問題があるために現状では使い物にならないからやらなくていいよ
クリッピング処理に問題があるけどこれは1.4からかわってない
1.4では透過がまったく出来なかったけどね

分かりやすくまとめると
通常のDirectDrawによるアクセラレーションはカラーキーだが
Direct3DではAlpha値を使う、というのがわかれば自然とどういう指定が有効かわかるだろう

5.0ではOpenGLアクセラレーションができるようだが、ハイエンドのチップじゃないと動かないので
現状まったく意味を成さない
WindowsでのOpenGLのようにアクセラレーションが聞かない部分はソフトウェア描画とかやってくれない模様
795名前は開発中のものです。:2005/08/27(土) 23:40:49 ID:KDG2Ln8Y
>>794
貴重な情報ありがとうございます。
環境依存に陥るのは勿体無いですね。
知識としてはしっかり抑えておこうと思います。
796名前は開発中のものです。:2005/08/28(日) 06:46:22 ID:NGj/fFgW
敵をベジエ曲線で移動させようと思ったのですが
敵の位置があらぬ値を示すのです。
計算式間違ってますか?

int p0x=0,p1x=0,p2x=800,p3x=800;
int p0y=600,p1y=0,p2y=0,p3y=600;
//制御点四つ。数値は画面サイズ縦六百横八百
float move;//t:1-tのtに位置する。
797名前は開発中のものです。:2005/08/28(日) 06:47:42 ID:NGj/fFgW
public void move(){
int p4x,p5x,p6x;
int p4y,p5y,p6y;

p4x = (int)((p1x-p0x)*(move/100));
p5x = (int)((p2x-p1x)*(move/100));
p6x = (int)((p3x-p2x)*(move/100));
p4x = (int)((p5x-p4x)*(move/100));
p5x = (int)((p6x-p5x)*(move/100));
glx = (int)((p5x-p4x)*(move/100));
p4y = (int)((p1y-p0y)*(move/100));
p5y = (int)((p2y-p1y)*(move/100));
p6y = (int)((p3y-p2y)*(move/100));
p4y = (int)((p5y-p4y)*(move/100));
p5y = (int)((p6y-p5y)*(move/100));
gly = (int)((p5y-p4y)*(move/100));
//glxglyは画像の左上隅
move++;
movehp();
hami();
System.out.println(glx);
}
798名前は開発中のものです。:2005/08/28(日) 13:16:50 ID:UnhERhE7
ベジェ曲線は三次式になるはずなんだけど、一次式だけでプログラム書いてない?
下記ページにベジェ曲線に関して式まで載っていたよ。
http://musashi.or.tv/fontguide_doc3.htm
799名前は開発中のものです。:2005/08/28(日) 13:49:17 ID:KSVPBhMr
最近、Javaを勉強し始めたものです。
便乗ですみませんが、>>797のコードでは
(move/100)を各行で計算していますが、
これを
float pos;
pos = move/100;
p4x = (int)((p1x-p0x)*pos);
p5x = (int)((p2x-p1x)*pos);.
.
.
.
とした場合では実行速度に差が出るのでしょうか?

よろしくお願いいたします。
800名前は開発中のものです。:2005/08/28(日) 13:54:28 ID:eP1c+99S
ローカルでの計算なら最適化の過程で綺麗になるけど
場合によってはメソッド呼び出しの速度がネックになる場合もわりとでるよ

所詮は頻度だけど
1フレーム内に100万回以上呼び出すかどうかが境目かな
それ以下ならさほど気にならないかな
801799:2005/08/28(日) 14:10:11 ID:KSVPBhMr
>>800
やはりこの程度ならコンパイラ側で
対処してくれるのですね。
ありがとうございます。
802名前は開発中のものです。:2005/08/28(日) 15:40:48 ID:eP1c+99S
Javaの場合コンパイル時と実行時で最適化が入るから
単純にこううごくとは言い切れない部分はあるけど、Cのように静的なだけだと
GCやらなんやらが派手に動いてこの速度はでなかっただろうね
803名前は開発中のものです。:2005/08/28(日) 22:11:59 ID:UnhERhE7
>>799
あとでコードを書き直すときに(たとえばmove/200に変更したいとか)
一カ所だけを変更すればいいから、開発がラクになる。
個人的には何度も使う変数は明示的に一カ所だけで計算しておくのが好み。
804名前は開発中のものです。:2005/08/29(月) 21:51:16 ID:SWKvmGPJ
NetBeansで作ってたけどJFrame使う意味ってあんまりないって気づいた。
使うコンポーネントはひとつしかないんだもん。当然か^^;
805名前は開発中のものです。:2005/08/29(月) 21:54:43 ID:JsHQuHKu
Frameよりは融通が聞く分JFrameでいいかと
806名前は開発中のものです。:2005/08/29(月) 21:56:04 ID:JsHQuHKu
ああ、NetBeansでのGUIデザイナのことか
アレは使わなくていい

NetBeansの利点はやはりプロファイラだろう
どのメソッドがネックになってるかとかわかるのは
シビアなタイミングを要求されるゲーム作成時には非常に有利だ
807名前は開発中のものです。:2005/08/29(月) 21:59:36 ID:SWKvmGPJ
>>805
GUIデザイナを使う意味がないってのももちろんだけど
paintComponentよりpaintを弄ったほうが早いんじゃないかなと
変わらないのかな?フルスクリーンにしたとき余計なものがあるのは怖い気もする
808名前は開発中のものです。:2005/08/29(月) 22:00:05 ID:JsHQuHKu
いや、ゲームではpaintイベントは使わないんだよ
809名前は開発中のものです。:2005/08/29(月) 22:01:50 ID:SWKvmGPJ
1フレームごとにbs.show()ってするのでは?
あれはpaintを使わないのか
810名前は開発中のものです。:2005/08/29(月) 22:02:34 ID:JsHQuHKu
その書き方は使ってないね

811名前は開発中のものです。:2005/08/29(月) 22:03:22 ID:SWKvmGPJ
へー。じゃあJFrameでぜんぜんOKだね。
しったかしてレガシーに走るところだったw
812名前は開発中のものです。:2005/08/29(月) 22:10:26 ID:JsHQuHKu
自前での描画タイミングの場合setIgnoreRepaintを設定しておくといいかも
813名前は開発中のものです。:2005/09/02(金) 21:40:42 ID:wK2xhSdi
うーむMP3が使えないというのは結構痛いかも知れないなぁ
MIDIをBGMに、WAVをSEに使えば問題ないんだろうけど
MP3で全て賄いたい人も中にはいるよね
814名前は開発中のものです。:2005/09/02(金) 22:24:27 ID:43CtxQVv
つーかMP3もつかおうとおもえばつかえるけど、ライセンス問題が絡む

そしてライセンスがうるさくないOggが一番簡単に使える環境なんだから
それでいいのでは?

俺は音楽はOggVorbis、効果音はWAVだ
815名前は開発中のものです。:2005/09/02(金) 23:53:50 ID:wK2xhSdi
>>814
ogg良さそうです。完全にフリーで同梱できるなら文句無くコレかと思いました。
これ落としてきてって感じに落ち着くなら今回はパスって感じでした。
もちっと調べてみます。
816名前は開発中のものです。:2005/09/03(土) 11:37:46 ID:lKpzKBXs
eclipse上で実行してるときとjarで実行するときの結果が違うんですがこれはデフォルトですか?
たとえば、midiを再生したときの音量が違ったり、実行速度がjarの方が早かったりします。
817名前は開発中のものです。:2005/09/03(土) 13:28:49 ID:YpnW9jU+
実行してるJVMが違うんだろ
調べてみれ
818名前は開発中のものです。:2005/09/03(土) 14:19:05 ID:Xz6B+qIm
midiってことはサウンドバンクが違う可能性がある
使ってるVMのサウンドバンクをみてごらん
819名前は開発中のものです。:2005/09/03(土) 20:49:51 ID:lKpzKBXs
d
eclipseでは5.0だったんですが、jarで使ってるのは自動アップデートされたやつでした。
両方とも同じのにしたらちゃんと同じになりました。
820名前は開発中のものです。:2005/09/03(土) 20:55:23 ID:lKpzKBXs
というかJREの違いでこんなに違うのか・・・
古いJREだと音が鳴らなかったりするんで困るな。
821名前は開発中のものです。:2005/09/03(土) 21:16:21 ID:Xz6B+qIm
古い新しいは関係ないと思うぞ

JDKいれるとサウンドバンクは入るが、JREには1.3を最後に収録されていない
どうせ5.0はとんでもなくでかいのだから入れても罰は当たらないだろうに
822名前は開発中のものです。:2005/09/03(土) 23:58:54 ID:lKpzKBXs
スマソ
音ってのはmidiじゃなくてwavのことでした。なんかJRE5.0だとWAVを連続再生すると鳴らない場合もあるんだけどJRE5.0update4を入れたらちゃんと鳴るようになったから。
823名前は開発中のものです。:2005/09/04(日) 00:00:07 ID:lKpzKBXs
また誤解するような書き方してしまったorz
最初の質問はmidiのことでしたが、>>820の音はwavを指しているって意味です。
824名前は開発中のものです。:2005/09/04(日) 01:13:58 ID:Dnjo0IKo
J2SE5.0の更新内容見てみれば分かるけど
update2だったかでJavaSoundのバグ修正が入ってる

俺も古いJREだと不具合でてた
825名前は開発中のものです。:2005/09/04(日) 15:50:13 ID:Bw5DOelt
java.exeとjavaw.exeでも実行結果が違う罠。
826名前は開発中のものです。:2005/09/04(日) 16:35:06 ID:Dnjo0IKo
俺は実行結果がwつきでかわったことないなぁ
827名前は開発中のものです。:2005/09/04(日) 17:26:19 ID:/DqsvWIZ
コンソールが出る、出ないとか?
828名前は開発中のものです。:2005/09/17(土) 17:55:33 ID:goJMz4JC
BufferStrategyを使って画面を描画する場合は
Insetsを利用してクライアント領域を割り出すしかないのでしょうか?
JWindowをcontentPaneにaddすると例外を出して叱られてしまいます。
829名前は開発中のものです。:2005/09/17(土) 18:13:40 ID:l8JeEDP1
元々BufferStrategyはページフリッピングが使えることから
フルスクリーンモードでタイトルバーを非表示状態で使うものだからね
ウインドウモードだとその設定は必要

最後の一行の意味がようわからんが
830名前は開発中のものです。:2005/09/17(土) 19:52:52 ID:goJMz4JC
>最後の一行の意味がようわからんが
JFrameの中にJWindowを埋め込めばクライアント領域にぴったり合ってくれるかなと。
831名前は開発中のものです。:2005/09/17(土) 20:54:12 ID:PBk0YJc+
javaでゲームを作る場合、どのコンポーネントに描画するのがいいでしょうか?
アプリケーションでバージョンは5.0です。
フルスクリーンは考えていません。
832名前は開発中のものです。:2005/09/17(土) 21:52:12 ID:l8JeEDP1
フルスクリーンにする必要がないということはティアリングがでてもいいような
アクション要素のないゲームということで何でもいいと思う

一番楽なのはJFrameに推奨サイズを指定したJPanelを貼り付けて
JPanelからGraphicsを取得して描画

わからんようだったらゲーム用ライブラリとかさがしてくるのもいいかもね
833名前は開発中のものです。:2005/09/17(土) 22:35:47 ID:goJMz4JC
緻密な差分描画をするのが辛いな・・・
軟弱だけど毎フレームフルにレンダリングした方が良いのでしょうか
834名前は開発中のものです。:2005/09/17(土) 22:53:00 ID:l8JeEDP1
差分描画考える必要はないよ

ゲームってことは一定レートで描画し続けると思うし
835名前は開発中のものです。:2005/09/17(土) 22:55:03 ID:PBk0YJc+
>>832
お答えありがとうございます。
作ってるのは思いっきりアクションゲームだったんですが・・・
ちらつきってでますかね?
一応ダブルバッファリングはしてるんですが・・・
836名前は開発中のものです。:2005/09/17(土) 22:59:55 ID:l8JeEDP1
ティアリングは垂直同期取らない限り必ず出るよ

ウインドウモードとフルスクリーン両対応のゲームやってみればわかる
837名前は開発中のものです。:2005/09/17(土) 23:11:44 ID:goJMz4JC
>>834
どもです。これで安心してループを回しまくれます。
5層レイヤーを仕様としていたので、どうしようかと思ってましたw
838名前は開発中のものです。:2005/09/18(日) 08:48:44 ID:FkxpuXPO
キー感度をビビットにするために、TimerTaskを専用に設けたいのですが
連打する人の都合を考えると、キーに対してフラグではなく、
キーそのもののTimerTaskが必要な気がします。

これだとキチガイ染みたnewの連発になってしまいそうなのですが
他にもっと上手い方法はありませんでしょうか?
839名前は開発中のものです。:2005/09/18(日) 11:46:52 ID:MCJHGFRI
ビビットというものがわからんがキー単位で状態もつと問題ある?
WindowsをメインターゲットでXな環境でもそれなりにうごけばいいというのなら
だいたい大丈夫
840名前は開発中のものです。:2005/09/18(日) 12:34:58 ID:FkxpuXPO
「キー感度をビビットにする」というのは
押しっぱなしにした場合の次のkeyPressの間隔を
OSではなくこちらで管理しようという試みです。
(OSは押しっぱなしフラグが立つまでが長いため)

ただ全てのkeyStateをひとつのループで探査すると
押しっぱなしの場合の2回目keyPressは
わずかながら探査の間隔分遅れる可能性があります。

探査間隔そのものが数十ミリ秒レベルの精度なので
ある意味問題ないと言えば問題ないのですけどね。
841名前は開発中のものです。:2005/09/18(日) 15:11:43 ID:MCJHGFRI
keyPressedってそんなにおくれてやってくる?
俺60fpsでやってるけど問題ないが

そもそもOSを超えて自前でキーステート取得なんて出来ないわけだが
842名前は開発中のものです。:2005/09/18(日) 15:20:26 ID:FkxpuXPO
押しっぱなしかどうかを判定するのは遅いよ
843名前は開発中のものです。:2005/09/18(日) 15:43:39 ID:MCJHGFRI
ん?
プレスもらったらフラグ立てるだけだよね?
844名前は開発中のものです。:2005/09/18(日) 16:10:41 ID:FkxpuXPO
>プレスもらったらフラグ立てるだけ
毎フレームでキーフラグを見るループで処理する方法ですよね?
それは低FPSを考慮してキー入力専用のタスクを作って実装しています。

今は低スペックのマシンで高頻度のループを回す事を危惧しているので
それを避け、OSの押しっぱなし処理を利用してkeyPressに直接処理を書くことを試しました。
ただこれだと2回目の押しっぱなしが遅く気になるといっているんです。
845名前は開発中のものです。:2005/09/18(日) 16:13:34 ID:MCJHGFRI
だから「OSの押しっぱなし処理」これってなに?

具体的なコードがないとなんとも

フラグを見る方法は60fpsでまったく問題ないんだが
これ以上のfpsが必要とされる場合はそうそうありえないと思うんだが
846名前は開発中のものです。:2005/09/18(日) 16:14:52 ID:FkxpuXPO
>>845
逆、低FPSだから問題。
テキストボックスでキー押しっぱなしにすればわかります
847名前は開発中のものです。:2005/09/18(日) 16:16:43 ID:ZX6kh5qY
キーリピートのことかな
848名前は開発中のものです。:2005/09/18(日) 16:23:37 ID:MCJHGFRI
なんでキーリピートがここででてくるんだ
849名前は開発中のものです。:2005/09/18(日) 16:24:35 ID:FkxpuXPO
>>847
そういう用語なのですか?たぶんそれだと思います。
で、結局キーリピートの方法はキー感度をこちらで弄れないので
キー毎にタスクを持たせる方法はどうかという話になりました。

850名前は開発中のものです。:2005/09/18(日) 16:28:43 ID:MCJHGFRI
キーリピートを実装したいってことなのか?
851名前は開発中のものです。:2005/09/18(日) 16:31:26 ID:NetIQL6+
一回押して、押しっぱなしの状態で、一定時間たったら、もう1回押したことにするってことだよね?

852名前は開発中のものです。:2005/09/18(日) 16:34:04 ID:FkxpuXPO
>>850
そうです。低FPSで一定のキーリピートを実装したいんです。
853名前は開発中のものです。:2005/09/18(日) 16:38:27 ID:M7CaaFPl
だからkeyPressed()でフラグを立ててkeyReleased()でフラグ降ろせばいいじゃん
854名前は開発中のものです。:2005/09/18(日) 16:41:00 ID:MCJHGFRI
ゲーム用途でキーリピートが欲しいってのは珍しい用件だから
さすがに想像してなかったな

どういうところで使うんだろう

キーリピートが邪魔というのなら分かるが
855名前は開発中のものです。:2005/09/18(日) 16:41:42 ID:FkxpuXPO
>>853
それはやっています。
のんびりとしたキーループではタイミングにずれが出るんです。
856名前は開発中のものです。:2005/09/18(日) 16:43:35 ID:NetIQL6+
>>852
予想してみるに、Timer使って、一定期間ごとの処理のときに
KeyStateのチェックでもしているんだと予想してみるが
(まぁ、自分がこれをやって、押すタイミングによって、
ムダ連打になったり、ならなかったりで、どうにかしたいと思った経験アリな訳だが
どうやって解決したかは忘れた。)

まぁ、複雑になってくると、あんまりTimerは向かないってのが一つ。
857名前は開発中のものです。:2005/09/18(日) 16:43:51 ID:FkxpuXPO
>>854
RPGのでいうコマンド位置の移動や
アクションで武器毎の連射速度の調整などです。
858名前は開発中のものです。:2005/09/18(日) 16:49:18 ID:MCJHGFRI
>>857
そういうのは入力側をいじるのではなくて
ゲームのシステムなりがやるものだとおもわれ
859名前は開発中のものです。:2005/09/18(日) 16:51:27 ID:NetIQL6+
□←何もなし時間
■←TimerTaskの処理
P←Press
R←Release

つまり
□□■□□□□■□□□□■□□・・・て風に定期処理するプログラムのときに
□□■P □□R ■□□□□■□□←だと4□時間、押してるのに1回
□□■□□□P ■R □□□■□□←だと3□しか押してない(チョイとしか押してないつもり)なのに連打になってしまう

・・・って、ことだと思う。
860名前は開発中のものです。:2005/09/18(日) 17:00:34 ID:NetIQL6+
とりあえず、押されたらそのキーのクラスのPressed()とか呼び出して、isPressed=trueの間ループさせて
前の時刻から、一定時間たったらリピートが、良さそうかな。
861名前は開発中のものです。:2005/09/18(日) 17:04:08 ID:MCJHGFRI
ループでまわさないRPGでのコマンドとかならイベントでやっといたほうがええよ

デザインパターンとか多少目を通したほうが楽かもね
862名前は開発中のものです。:2005/09/18(日) 17:27:01 ID:FkxpuXPO
こんな感じでそれぞれの処理を隔離したいんです。
これでキーリピートができると再利用性が向上して作りやすいんです。
・入力処理による行動キューへの書き込み
・メインループによる行動判定処理及びメモリスクリーンの更新
・FPSループによるディスプレイへの描画

>>860
キー判定ループを1つにするかキー分用意するかの違いなんですけどね。
キー判定ループを押される度に生成ではなく、押されるまで寝かせるとかだと改善するのかな

>>861
デザパタですか。なんちゃらファクトリーとシングルトンならよく使います。
なんちゃらって答えてる時点で分かってないって事なんですがw
863名前は開発中のものです。:2005/09/18(日) 17:58:14 ID:MCJHGFRI
>>862

リアルタイム系ではなくいわゆるウインドウシステムみたいなものを作りたいようだから
ディスプレイへの描画はループさせる必要はないよ
864名前は開発中のものです。:2005/09/18(日) 18:07:20 ID:FkxpuXPO
>>863
いや移動処理とかあるので描画ループは必要です。
もちろんトリガ式の描画モードも実装する必要はありますが。
865名前は開発中のものです。:2005/09/18(日) 19:23:42 ID:MCJHGFRI
移動処理もループさせなくてもイベントで処理できるよ
たとえば現在のモードが戦闘モードなのか移動モードなのか判断してまわすだけ

たとえばマス単位で動くなら動いた後にはキーイベントキューをクリアするとかの処理が入ればいいだけ

たぶんゲーム作りなれてないのならループ処理よりこっちのほうがやりやすいかもね
866名前は開発中のものです。:2005/09/19(月) 16:53:42 ID:jM2IG00Z
javaじゃないけど、el.h(イージーリンクライブラリ)
からそのへん学んだ。変数にフレームごとの状態を記録しておく。
867名前は開発中のものです。:2005/10/02(日) 23:11:49 ID:ZLCcRisp
http://pcweb.mycom.co.jp/news/2005/09/15/021.html
↑これってShapeとかImageもOpenGLで高速に描画できるって事ですかね

868名前は開発中のものです。:2005/10/02(日) 23:24:24 ID:Tb1DEFOC
それはまだわからない。
5.0から一応OpenGLレンダリングできることになってるけど、イマイチだし
Windows環境ならDirectDrawやDirect3D使ってレンダリングできる。

オプションとか描画の種類とか多少知識が必要だけれども。
Imageの通常転送に関してはDirectDrawで安定して高フレームレートでてるよ。
SDL並みといっていいのでは?
869名前は開発中のものです。:2005/10/02(日) 23:53:51 ID:/Mx50MbJ
現在通常ウィンドウとフルスクリーンを交互に表示すると1MBくらいのメモリリークをします。
その後アプリを最小化するとそのメモリリークしたメモリが一気に回復するのですが
このリソースの回収を表示モードの切り替え直後に行う方法はないでしょうか?
870名前は開発中のものです。:2005/10/03(月) 00:20:05 ID:+tMRcs2p
>>869
System.gc()じゃだめ?
現在通常ウィンドウとフルスクリーンを交互に表示するプログラムのコード断片希望
871名前は開発中のものです。:2005/10/03(月) 00:39:53 ID:66QjCFIv
public void setVisible(boolean b) {
if (b == isVisible()) return;
if (b) {
if (isFullScreen) {
if (alreadyFullScreen) return;
final DisplayMode mode = new DisplayMode(
screenWidth, screenHeight, 16,
DisplayMode.REFRESH_RATE_UNKNOWN);
if (isDisplayable()) dispose();
setUndecorated(true);
super.setVisible(true);
createBufferStrategy(numBuffers);
device.setFullScreenWindow(this);
device.setDisplayMode(mode);
alreadyFullScreen = true;
} else {
if (!alreadyFullScreen) return;
if (isDisplayable()) {
device.setFullScreenWindow(null);
dispose();
}
setUndecorated(false);
super.setVisible(true);
createBufferStrategy(numBuffers);
alreadyFullScreen = false;
}
}
super.setVisible(b);
}
872名前は開発中のものです。:2005/10/03(月) 00:42:00 ID:66QjCFIv
あ、インデントが・・・

>>870
gcではびくともしませんでした。

ソースですが、isFullScreenを切り替えた後で
setVisible(false);setVisible(true);とすれば切り替わるようになっています。

createBufferStrategy(numBuffers); が一見無駄に見えますが
これはコメントアウトしても何の影響もありませんでした。

よろしくおねがいします。
873名前は開発中のものです。:2005/10/03(月) 01:12:05 ID:vx+N+SLC
そういやNetBeansで開発してたときもフルスクリーンに変えるとなぜかIDEのほうがリークしてたの思い出した
たぶん仕様っぽいけど表示のON/OFFでdispose後再構築とかやらんとだめっぽいな

一見問題ないようでもネイティブのリソースであるVRAMを扱うのは
ヒープのように単純にいかんよな

いまじゃJava2DもDirectDrawでガンガンアクセラレーションされてるから
874名前は開発中のものです。:2005/10/03(月) 02:01:20 ID:66QjCFIv
最小化を噛ませれば楽に対処できそうなんですよね。
最小化してから通常化に戻すというのをコードから書けるならですけど。
875名前は開発中のものです。:2005/10/03(月) 06:09:25 ID:vx+N+SLC
最小化とか普通にかけるだろ
876名前は開発中のものです。:2005/10/03(月) 22:26:39 ID:66QjCFIv
え?書けるの?
dispatchEventっての使ってみても何も起きなかった
877名前は開発中のものです。:2005/10/03(月) 23:06:06 ID:vx+N+SLC
setExtendedStateじゃダメなのか?
878名前は開発中のものです。:2005/10/03(月) 23:26:41 ID:66QjCFIv
>>877
2日ぐぐったのに見付からなかったorz
リソースの開放も確認できて無事解決しました。
ありがと。
879名前は開発中のものです。:2005/10/09(日) 17:11:50 ID:fwcbNJiA
Java1.4以降ではダブルバッファリングがVolatileImageを使って自動で行われるそうなんですが、その場合は自前でダブルバッファリングの処理を書かないほうがいいんでしょうか?
1.4より前のバージョンを使ってるユーザのためにやっといたほうがいいんでしょうか?
880名前は開発中のものです。:2005/10/09(日) 18:07:35 ID:4gGFYlg9
自動で行われるってせいぜいSwingくらいじゃないか?
自分で処理かかないとダメだよ

それにページフリッピングできるのは1.4以降だし
881名前は開発中のものです。:2005/10/09(日) 18:23:24 ID:fwcbNJiA
Swingらしいです。JPanelのpaintComponent()に描画処理書けばダブルバッファリングしなくてもちらつき起こらないんでどうかと思ったんですが。
882名前は開発中のものです。:2005/10/09(日) 18:34:11 ID:4gGFYlg9
ゲーム作成でSwingのダブルバッファを利用ってのはあまりありえないと思う

まぁRPGとかAVGならありだけど

あとかならずVolatileImage使われるともかぎらないから
速度とか考えたら自前でやったほうが管理は楽かもよ

フルスクリーンや垂直同期フリップが使えるし
883名前は開発中のものです。:2005/10/09(日) 19:04:43 ID:fwcbNJiA
SwingのJPanelは使わないってことでしょうか?
SwingのJPanelをキャンバスにしてpaintComponent()を使わずに自分でダブルバッファリング書く+アクティブレンダリングというのが一般的ですか?
884名前は開発中のものです。:2005/10/09(日) 21:18:18 ID:6yAhCZU0
いやいやいやいや、ここでもちょくちょく出てる戦略があるじゃないですか。
885名前は開発中のものです。:2005/10/09(日) 21:25:22 ID:4gGFYlg9
まずは一旦このスレをよんでみなされってことだな
886名前は開発中のものです。:2005/10/09(日) 23:43:37 ID:h4Io2UVM
このスレってJava関連とは思えないほど
みんな親切だよね
887名前は開発中のものです。:2005/10/10(月) 20:58:06 ID:AeWSx6q1
おお、こんなスレもあったとは!
888名前は開発中のものです。:2005/10/11(火) 18:22:49 ID:mGlNrdBg BE:601908697-
ゲームのプログラミングのために覚えときゃならない言語ってなんですか?
889名前は開発中のものです。:2005/10/11(火) 18:24:29 ID:mGlNrdBg BE:95541252-
やっぱりJAVA?
890名前は開発中のものです。:2005/10/11(火) 19:12:50 ID:/G/d0EXv
JavaでもCでもなんでもいいから言語を一通りマスターするのがいい
あとはその言語の思想とか癖をおぼえるだけ

ただ、最低限の基礎はほしい
2の補数とか通じないのが最近多いんよ
891名前は開発中のものです。:2005/10/11(火) 20:10:51 ID:RlHG5uwm
Java→C++がお勧め

俺の場合はN88Basic→C→C++(挫折)→Perl→Java→C++
と勉強した。
892名前は開発中のものです。:2005/10/11(火) 20:11:11 ID:xz1uAK9j
とりあえずJavaでいいと思いますよ。
2年後には、携帯JavaもCLDCからCDC(Java SEのサブセット)が標準になる
と言う話しだし。Javaは絶対に今後ブレークwする。
その次はコンパイラの勉強とか。
893名前は開発中のものです。:2005/10/11(火) 20:15:09 ID:xz1uAK9j
>>891
私は最初の言語がC++で就職してからやって、難しすぎてびびりました。
基礎は研修中(2ヶ月程)に何とか身に付けたけど。
894名前は開発中のものです。:2005/10/11(火) 22:07:55 ID:q+6COAGo
UMLやれ。他の言語はイラン。


ちなみに、コンパイルは方法このスレにうp、多分たまに成功。
895名前は開発中のものです。:2005/10/11(火) 23:48:33 ID:7JCIKF14
Java → C/C++ → PERL → Lisp(Python) → Python(Lisp)
ハッカーおすすめの言語習得コースが確かこんなだった
896名前は開発中のものです。:2005/10/12(水) 00:32:35 ID:Quf6hxtT
UNIX ハッカーコースだな。
ゲーム系の場合 Lisp はやっといても損ないけど
Perl と Python は飛ばしてもいいと思われ。
897名前は開発中のものです。:2005/10/12(水) 01:07:32 ID:hYkIIT7D
DB勉強しておくとなぜかオブジェクト指向ってのが分かりやすかった。
898名前は開発中のものです。:2005/10/12(水) 18:24:13 ID:1b0t0Zmx BE:401272676-
皆さんありがとうございました!!m(__)m
もう1つ質問ですHSP(多分あってる??)ってゲームのプログラミングに必要なんでしょうか?
ゲームのプログラミングに特化(言葉あってるかな?)してるらしいけど…
899名前は開発中のものです。:2005/10/12(水) 18:50:44 ID:x4tgIjOt
??
ホット・スープ・プロセッサ"HSP"でぐぐるべし。
900名前は開発中のものです。:2005/10/12(水) 19:17:55 ID:LZvwtrrw
Javaの2DゲームPGなら
「Javaでゲーム作りますが何か?」を読むのが一番早い。
901名前は開発中のものです。:2005/10/12(水) 19:19:45 ID:LZvwtrrw
ここで、DungeonMasterJavaのソースが手に入る
http://web.archive.org/web/20041010095625/http://www.cs.pitt.edu/~alandale/dmjava/
ソースは分かりにくい&多分バグもある。
今は暇が無いので1・2ヶ月したら見てみる予定。
902名前は開発中のものです。:2005/10/12(水) 21:16:43 ID:CTLj17U4
低級言語 BASIC HSP
  ↑楽、ショボいプログラム向け
高級言語 C パスカル
  ↓複雑、大規模プログラム剥け
至高言語 C++ JAVA
903名前は開発中のものです。:2005/10/12(水) 21:37:39 ID:tq5rc6Dp
HSPはさすがにスレ違い
904名前は開発中のものです。:2005/10/12(水) 22:15:33 ID:+pi2ltxj
HSP今コンテストやってるみたいだね
作品見ると結構すごいのあるな
905名前は開発中のものです。:2005/10/12(水) 22:56:10 ID:1b0t0Zmx BE:343948166-
やっぱりJAVAがいいみたいですね
ありがとうございました

906名前は開発中のものです。:2005/10/13(木) 00:10:54 ID:YlI0WJBy
>>905
待ってくれ。
真面目に書き込んでる様だけど、
ゲーム作るのなら、JAVAは完全に場違いだよ・・・
907名前は開発中のものです。:2005/10/13(木) 00:24:21 ID:W8tL621R
場違いはおまいだ
ばちがいというよりバカチンだな
908名前は開発中のものです。:2005/10/13(木) 00:30:28 ID:wGF8Lzjx
>>905
俺も>>906に同意。
みたところ>>905はプログラム初心者だと思うんだが
ゲーム作るのにいきなりJAVA勉強しだすってのは
なんか違う気がする。
とりあえずここではなくてスレ立てる前に質問スレを読むべきかと。
909名前は開発中のものです。:2005/10/13(木) 00:34:48 ID:M3ScEagT
このスレの名前を言ってみろ
910名前は開発中のものです。:2005/10/13(木) 00:37:10 ID:5vxaNiGa
確かにそうだな
>>905は、まずはHSPぐらいからはじめた方がいいかもね
911名前は開発中のものです。:2005/10/13(木) 00:47:23 ID:yA298Qwd
ゲーム向けと思われるようなフレームワークもHSPの数倍は揃ってると思うけどな。
問題はこの方面の日本語ドキュメントがすごく少ない事で。
912名前は開発中のものです。:2005/10/13(木) 00:48:26 ID:wGF8Lzjx
>>909
JAVAでゲーム作成。
え、でもJAVAがゲームつくるには最適だぜVBなんて糞!って
そんなスレじゃないよね?JAVAでゲーム作ろうぜスレだよね?

え、漏れスレ違いだったのかずっと(´・ω・`)
913名前は開発中のものです。:2005/10/13(木) 00:57:12 ID:x7e6Nety
HSPはWindowsAPI on BASICだからJavaよりは融通が聞くよ
6.0からは3Dにも力を入れるらしいから、Javaを捨てる機はないけどね
914名前は開発中のものです。:2005/10/13(木) 01:38:35 ID:YlI0WJBy
>>905
JAVAは、現在ではサーバーサイドのソフトウェア開発の為の言語ですので
ゲームには不向きです。
915名前は開発中のものです。:2005/10/13(木) 01:48:21 ID:M3ScEagT
とりあえず絵を表示するのはらくだから
Javaは初心者には敷居は低いと思うけどな

無料だし

>>914
フルスクリーン可能とかDirectXやOpenGL使って描画されるとかしらんのだろうか
916名前は開発中のものです。:2005/10/13(木) 02:52:18 ID:wGF8Lzjx
いやさすがに釣りだろ
917名前は開発中のものです。:2005/10/13(木) 21:08:27 ID:7fkZuJzg
なんか
 Javaを使ってすばらしいゲームが作れる、
 Javaはゲームを作るのに十分なパフォーマンスがある
ってことと、
 Javaは初心者がゲームを作るのにお薦めできる言語
 Javaは習得しやすい言語
を、
ごちゃ混ぜにして話しているやつがいるなぁ。

Javaを知っている人間がゲームを作るのにはいいのだろうけど、
初心者がゲームを作るためにJavaを覚えるのは効率悪いと思うがなぁ。

将来プログラマ(ゲームではない)になりたいのなら話は別だが。

ゲームを作るってことが主目的ならもっといい言語は別にあると思うが。 
918名前は開発中のものです。:2005/10/13(木) 21:32:24 ID:sZ94hCLx
>>907
ワラタ
見事なつっこみだ
919名前は開発中のものです。:2005/10/13(木) 21:57:35 ID:5JImUKNA
Javaが習得しやすい言語じゃなかったら
どんな言語が習得しやすいんだろう
920名前は開発中のものです。:2005/10/13(木) 22:13:35 ID:M3ScEagT
どうでもいいが、このスレは言語を探すスレではなくてJavaを使ってゲームを作成するスレだぞ

921名前は開発中のものです。:2005/10/13(木) 22:17:34 ID:T+KG7Ted
うむ。
他言語で作成したいヤシはその言語専用のスレへ池ということで。
922名前は開発中のものです。:2005/10/13(木) 22:46:23 ID:sZ94hCLx
JavaはつぶしがきくけどHSPはつぶしがきかないような気がする。就職にそなえるならゲーム作れてそれ以外にも役にたつJavaを覚えたほうが一石二鳥じゃないかな。HSPは履歴書に書けないらしいしね。
923名前は開発中のものです。:2005/10/13(木) 23:11:45 ID:SSZFTLJU
ゲ業界以外の就職は板違いだがな
ゲ業界は java でもダメよw
924名前は開発中のものです。:2005/10/13(木) 23:24:30 ID:M3ScEagT
別にどこに就職してもいいが、Javaでゲーム開発する話以外は該当するスレで
925名前は開発中のものです。:2005/10/14(金) 01:03:37 ID:y/Uzr0db
とりあえず言語関連ですぐに就職の話を出すのはやめたほうが良いと思う。
スポーツする人がみんなプロを目指すわけじゃないのと同じなんだから。
926名前は開発中のものです。:2005/10/14(金) 01:23:02 ID:64Q3kCz/
C++を勉強する前段階に、Javaを勉強するのはいいと思うよ。
プログラミングしたことがないのに、C++をやろうとすると多分挫折する。
927名前は開発中のものです。:2005/10/14(金) 02:07:12 ID:F7eh9aJl
自分以外でも多いと思うけど
ゲームやある程度規模の大きなプログラムの場合
まず先にJavaでプロトタイプを作る事が多々ある

速度なんか度外視でバグを出さずに動く事を実証したり
クラス設計やデータ構造を練る事がことが主眼
で、この完成したプロトタイプをC++へ移植する段取りだと開発効率が凄く良い

で、このプロトタイプの動作性能で全く問題ないって事が判明して
面倒になって移植を中止する場合も多いよ

だからとりあえずJavaを極めて、それで満足できなかったら他に移ったらいいかも
928名前は開発中のものです。:2005/10/14(金) 06:37:39 ID:5TseUKhy
>>926
挫折はせんがWinAPIでGUI作るとノイローゼになる。
JavaはRADにも対応し始めてきたからアプリも行けるようになったね。
929名前は開発中のものです。:2005/10/14(金) 06:46:12 ID:RNsnGTSd
>>927
へー。参考になるな。

>>928
俺はC#やってJava勉強し始めたけど、色々似てるから楽かも。
RAD対応が遅れててなんかなーて感じだが、、。

C#のwebサービスやサーバーサイドJavaをゲーム開発環境構築に役立てたいナーと
漠然と思ってるんだが、トライしてる人いる?

ゲームアプリそのものはC++でいいじゃんと思ってる。
930名前は開発中のものです。:2005/10/14(金) 11:05:25 ID:7/HW/bmD
JavaのRADって8年以上の歴史がないか?
931名前は開発中のものです。:2005/10/14(金) 17:58:22 ID:IcMNZCJV
VBのようなポトペタをRADと呼ぶんだろう、>>929

NetBeansとか試してみたらいいよ。
932名前は開発中のものです。:2005/10/14(金) 18:07:25 ID:7/HW/bmD
JBuilderってSwingくるまえからポトペタだったはずだが
933名前は開発中のものです。:2005/10/14(金) 19:36:28 ID:avp4LEUs
>>927
漏れのところではPythonでプロト作って、
Javaで実装というパターンが多いかな。
あ、ゲームじゃないけどね。
934名前は開発中のものです。:2005/10/14(金) 19:48:14 ID:I+40oghk
>>931,932
きっとEclipseしか知らないんだろう、>>929
935名前は開発中のものです。:2005/10/14(金) 20:17:56 ID:SlJ7Kv4y
Javaで書かれた音声認識エンジン SPHINX-4
http://d.hatena.ne.jp/shibacho/20050911/p2
JavaとCがほぼ同等だってさ
936名前は開発中のものです。:2005/10/14(金) 20:20:39 ID:qC/usI4o
Swingは手書きでもサクサク作れるので実はSwing自体がRADなのです。
937名前は開発中のものです。:2005/10/14(金) 21:49:47 ID:ydWCAyTF
JavaはEclipseがあるから最強。
Visual C++も書いたその場でエラー見つけて表示させられないし。
938名前は開発中のものです。:2005/10/14(金) 22:21:52 ID:7/HW/bmD
.NETなら表示してくれるんじゃないの?
NetBeansも昔から書いたその場でエラー表示してくれてたよ
Eclipseだけの特権ではあるまい


しかしスレ違いが続くな
939名前は開発中のものです。:2005/10/14(金) 22:59:46 ID:RNsnGTSd
>>934
その通りw

で、結局どれが良いのかな?
NetBeansは初心者向けと書いてあったので、やってみるか。
上級者はRAD使わないて事かね?そういうもんか?

まあ、開発環境の話題はゲーム製作と全く無関係ではないと思うよ
940名前は開発中のものです。:2005/10/14(金) 23:11:19 ID:7/HW/bmD
上級者向けとか初心者向けというのは間違いだと思う

GUI生成ツールとしてNetBeansは昔から現在でもJavaの中では最高品
Eclipse+VEとか話にならん

そして肝心のTomcatとかWEBアプリやDB接続等はEclipseいれても
いつもおなじプラグインしかまずつかわんよね

なら最初からGUIエディタとWEBアプリ開発環境が整っていても問題はない
しかもほとんどのEclipse本はそれらのプラグインをセットアップしたところで終わりだ

ゲーム製作においてはなんのIDE使ってもいいとは思うけど、Windows95初期のRPG
とかOSのコンポーネント使ってるのが多かったからそういうのをやろうとしたときは
Swingが強力なNetBeansでいいだろうね

強みとしてはNetBeansのほうが最新のJava環境に対応しやすいということかな
コンパイラにJDKのを使うようにしてるからね
Eclipseの3はかなり遅かったでしょ?

Javaでのゲームは最新のVMに対応してるかどうかはわりと重要

あとはプロファイラが簡単導入できるのでどこが速度のネックなのかをすぐに特定が可能なのも強みかな
941名前は開発中のものです。:2005/10/14(金) 23:59:27 ID:64Q3kCz/
今書店で勉強できる本やWebの情報が一番多いのもJavaでしょ。
初心者が入門用に勉強する言語に一番向いてると思うよ。
942名前は開発中のものです。:2005/10/15(土) 00:04:05 ID:p4Fsszru
ゲーム作る奴にはHSPを勧めるね。
ただしHSPは入門言語としてはとても薦められない。
くそプログラマ育成ツールだと思う。
943名前は開発中のものです。:2005/10/15(土) 08:21:14 ID:wTE7Ugac
>>942
あれはあれでそれなりにいい言語だよ。
ただ、今は他の言語でも充分に環境が良くなっているのでアドバンテージは低下してる。
目的に応じて道具を変えられない人にはすすめたくないってのは確か。

ところで、Javaでゲーム作るときってどんな環境使ってる?
944名前は開発中のものです。:2005/10/15(土) 11:26:31 ID:RjGSFxGd
Eclipse
945名前は開発中のものです。:2005/10/15(土) 17:33:25 ID:Ha6BQmfC
CPadとバッチファイル(コンパイルと実行用)
946名前は開発中のものです。:2005/10/15(土) 17:56:11 ID:YntQAxvk
netbeans
947名前は開発中のものです。:2005/10/15(土) 19:51:18 ID:ouFug0X6
JPanelにVolatileImageっていうのを使って描画してるんですがどうもちらつきが残ってしまいます。どこが怪しいのかアドバイスもらえないでしょうか?
ttp://gamdev.org/up/img/3544.zp
MainPanelのpaintComponent()が描画処理です。
948名前は開発中のものです。:2005/10/15(土) 19:52:06 ID:ouFug0X6
iがぬけてました
ttp://gamdev.org/up/img/3544.zip
949名前は開発中のものです。:2005/10/15(土) 20:03:47 ID:YntQAxvk
まず最初はソースまるなげなんてしないで問題ありそうな箇所だせや

んで、ちらつきあるか?
たんにキャラが小さいのと垂直同期とってないからだけじゃないかな?
ためしに640*480にきえりかえて2倍拡大したキャラを表示してみるとか

あと作業用VolatileImageは最初に作るだけにしておけ

描画のたびに作っていたらもったいない
950名前は開発中のものです。:2005/10/15(土) 20:14:04 ID:ouFug0X6
>>949
d
実行してもらって本当にちらついてるか確かめてほしかったので丸ごとあげました。自分でもちらつきあるかないか微妙だったんで。画像大きくして試してみます。
951名前は開発中のものです。:2005/10/15(土) 21:09:09 ID:ouFug0X6
>>949
拡大してみましたがやっぱりちらつきはないようです。画像の模様のせいでちらついているように見えるだけのようでした。画像を別のにかえたら直りましたorz

ありがとございます。
952名前は開発中のものです。:2005/10/15(土) 21:21:17 ID:RjGSFxGd
836 名前:名前は開発中のものです。 [sage] :2005/09/17(土) 22:59:55 ID:l8JeEDP1
ティアリングは垂直同期取らない限り必ず出るよ

ウインドウモードとフルスクリーン両対応のゲームやってみればわかる
953名前は開発中のものです。:2005/10/15(土) 21:48:56 ID:ouFug0X6
垂直同期ってのはBufferStrategy使えってことですか?
954名前は開発中のものです。:2005/10/15(土) 22:07:52 ID:z0dCDbb+
>>951
いや、ティアリングしてるぞ
955名前は開発中のものです。:2005/10/15(土) 22:47:16 ID:YntQAxvk
>>954
ここでいうちらつきというのはティアリングのことをさしてるわけじゃなくて
キャラクタが小さい上にピクセル単位で交互におくような画像を使ってるから
変に見えるというやつだ

ティアリングはウインドウモードじゃ解決できないだろ
956名前は開発中のものです。:2005/10/15(土) 22:48:43 ID:YntQAxvk
>>953
そういうこと
957名前は開発中のものです。:2005/10/17(月) 23:54:04 ID:QHGuJsTX
Javaでゲーム開発する人は、互換性を考慮して100%PureJavaにしているのでしょうか。
958名前は開発中のものです。:2005/10/18(火) 00:34:01 ID:ccGom+1x
そうでないとJava使う理由がないっぽ

ほんとに互換性があるかどうかはまた別問題だが
959名前は開発中のものです。:2005/10/18(火) 00:35:00 ID:8Yt31AR3
>>957
個人的には、PureJavaというより、
様々なOSで動かすことが出来るように作成している。
クロスプラットホームなネイティブライブラリに、
SDL、OpenGLがあるけど、
こういうライブラリは、ラッパーライブラリ経由で普通に使うことも多いよ。
960957:2005/10/18(火) 00:45:59 ID:bZC650OK
>>958-959
なるほど、ありがとうございます。
ゲーム開発に興味はあるものの、
Servlet&JSPばかりでGUIの経験はVBぐらいしかなく、
クロスプラットホームを保てるJavaで学んでいくべきか、
Windowsと割り切ってVC++、VC#で行くか、悩んでるのですよね・・・。

まあ、どの言語で行くにしてもまずはクラス設計からだと思うので、
言語は追々決めていくことにいたします。
961名前は開発中のものです。:2005/10/18(火) 01:15:15 ID:xwcI4XH7
IDかっこいいな
それより先ず何を作るかだと思うが
3D不要ならPureJavaで良いのでは
962957:2005/10/18(火) 01:38:59 ID:bZC650OK
>>961
確かにカコイイIDだなあ。

3Dは・・・エフェクトとしては使用するかもしれないのですが、
スプライトでカバーできるのかも知れません。
PureJavaも含め、一度検証用(兼勉強用)の簡易ゲームを作ってみることにします。
仕組み作りも大変だとは思いますが、ゲーム本体に着手するよりはずっと楽でしょうし。
963名前は開発中のものです。:2005/10/18(火) 01:41:31 ID:8PxN1Xwv
SDLはJavaでラッパー使ってやるくらいならPureJavaのほうがいいぞ
機能が貧弱でCでよくつかうようなOpenGLとかの連携とか未実装だったはずだが
サウンドにしてもSDLミキサーよりJavaSoundのほうが融通が利く
964名前は開発中のものです。:2005/10/18(火) 04:38:46 ID:8Yt31AR3
>>963
まずは、ここをよく読め。話はそれからだ。
http://sdljava.sourceforge.net/
965名前は開発中のものです。:2005/10/18(火) 13:16:42 ID:8PxN1Xwv
OpenGLサポートされたのか
俺が触ったときはOpenGLプロバイダがごっそり将来実装予定となってたが
ミキサーは標準実装されているけど使い物にならないのは本当
966名前は開発中のものです。:2005/10/20(木) 22:49:55 ID:qzg2nFeP
これは期待大
http://japan.cnet.com/news/com/story/0,2000047668,20089282,00.htm
JBlend[micro]J2ME CLDC
JBlend[embedded]J2ME CDC
で、ザウルスは確かCDCの方だったかな。
967名前は開発中のものです。:2005/10/20(木) 23:51:29 ID:oGtX14sN
MEは若干板違いっぽい・・・
968名前は開発中のものです。:2005/10/21(金) 04:14:32 ID:MjnK+wiF
969名前は開発中のものです。:2005/10/22(土) 01:14:17 ID:Ez07novY
今、PureJavaならどのぐらいのゲームまで実現出来るんだろう。

・WinDepth
・洞窟物語
・東方紅魔郷
・Civilization3
・RainbowSix(初代)
・HalfLife(初代)

と並べてみたとして・・・
970名前は開発中のものです。:2005/10/22(土) 01:16:57 ID:hWuq895n
2Dだったら拡大縮小とアルファブレンド使わなければいける
3DはPureJavaだとソフトウェアレンダリングになってきついとおもわれ
971名前は開発中のものです。:2005/10/22(土) 12:24:45 ID:kARy7Reu
ぶっちゃけ完全自由変形とαブレンドがないとかなり作り辛い。
まあ、αはなくてもいいか。透過色サポートしてれば。
972名前は開発中のものです。:2005/10/22(土) 13:26:53 ID:E5O/Oy+l
>>969
あーこのリストのがJavaで作られてるわけじゃないのかorz
洞窟物語って面白そうだなと思った
973969:2005/10/22(土) 13:40:08 ID:Ez07novY
>>970-971
αブレンドは厳しいですか。
タイルを使えばある程度はカバーできそうですけど、
MSXやPC98の16色時代っぽくなりそうですね。

>>972
違います・・・
誤解させて申し訳ない。
このリストの中でどんなものなら実現できるか、の参考程度にでした。

下3つは商用ですが、グラフィックに限ればCiv3程度は可能なのかな・・・

洞窟物語は個人的に好きなフリーウェア。
プログラム面は独自のソフト音源以外はJavaでも可能なレベルかと思います。
絶妙なゲームバランスとか練り込みとか、センスとか、そういう部分は全く別にして。
974名前は開発中のものです。:2005/10/22(土) 13:47:04 ID:hWuq895n
上4つまでならPureJavaで余裕かと

アルファブレンドは一応Java2Dで用意されてるけど、ゲームで多用する加算合成がないのだ
しかも現在アクセラレーションがきかない

どれだけのレンダリング範囲が必要かわからないけど小さいサイズであればソフトウェアでできる

神威やFinalForceって8bppでレンダリング範囲を狭くしてソフトウェアアルファブレンドしてるけどね
そういうのでいいのならJavaで余裕で可能かと

16bppe/640*480とかだときついね

アクション性が合ってそれなりにいじる場合320*240で作ってそれを640*480に引き伸ばすのと
640*480でそのまま描画するのとどっちが速いかテストするとよろし

アルファブレンドはいらないのであれば後者のほうがすべてアクセラレーションきくから速いね
975名前は開発中のものです。:2005/10/22(土) 16:51:37 ID:GrmBRuwE
TIGERでゲームを作る為のAPI解説本とかないかな。
JAVADOCだけじゃ目的の物を探すのが大変だし、
正しい選択かわからないし。
976名前は開発中のものです。:2005/10/22(土) 17:35:59 ID:hWuq895n
基本的には5.0からゲーム作成で大きく変わったことはないぞ
1.4に比べてね

一番大きい変更点はいままでアクセラレーションが利いてないコードが
きく可能性があるようになった>何もし手ない人は速くなるかも

というのと

JavaSoundが利用しやすくなった

という点だけかと
977名前は開発中のものです。:2005/10/22(土) 18:07:12 ID:wU13YWJL
BufferedImage、VolatileImageのメモリ消費量が、
もう少し改善されると最高なんだけどなぁ...
これは、Mustangに期待かな。
978名前は開発中のものです。:2005/10/22(土) 18:13:16 ID:hWuq895n
VolatileImageは現在のピクセルフォーマットに依存だぞ
BufferedImageだってピクセルフォーマットによって大きく変わる

そういや、5.0でVolatileImage>VolatileImageの転送がやっと使い物になったな
1.4のときは描画先に指定するしか結果的に使い道がなかったからね
979969
>>974
アルファブレンドはとりあえず無しで色々とやってみることにします。
なにせ、技術的な部分を一つ一つ検証していかないといけないと思いますので、
あまり無理しない様にします。
ありがとうございました。