[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 21:08 / Filesize : 296 KB / Number-of Response : 982
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Javaでゲーム作成 2本目



1 名前:名前は開発中のものです。 [2005/10/27(木) 09:43:50 ID:dzSvRQXE]
Javaでのゲーム作成について情報交換をするスレです。
ゲーム作成以外の話題はム板(pc8.2ch.net/tech/)、
他言語に関する話題は他スレでお願いします。

前スレ
JAVAでゲーム作成
pc8.2ch.net/test/read.cgi/gamedev/1074347252/

テンプレは>>1->>10あたりを参照

63 名前:名前は開発中のものです。 mailto:sage [2005/11/26(土) 22:56:43 ID:sU6iOuYI]
いや、誤る必要ないよ
業務系でJavaさわってるならまず言語の基本は問題ないとして

Java2Dを筆頭にフルスクリーンとか時間管理、JavaSoundあたりが触れるようになるといいね



64 名前:名前は開発中のものです。 mailto:sage [2005/11/26(土) 22:56:47 ID:WkbR04YY]
画像を回転させようと思って
AffineTransform form = new AffineTransform();
draw(){
form.rotate(x*Math.PI/180,画像の幅/2,画像の高さ/2);
画像イメージの描画オブジェクト.drawRenderedImage(画像イメージ,form);
描画先の描画オブジェクト.drawImage(画像イメージ,null,gx,gy);
}
というふうにすると、背景が透明なでただ↓と描かれている画像を使うと背景が黒くなり矢印が見えなくなります。
また、横長い画像をつかって見ると画像の中心に
画像の高さを直径に丸くなって回転をし
その丸以外の部分が白くなってしまうんです。
ただ画像をその場で回転させて
表示させたいんですがどうすればいいんでしょうか?

65 名前:名前は開発中のものです。 mailto:sage [2005/11/26(土) 23:04:49 ID:wK3zX5BN]
>>63
最初はCっぽくなるかも知れないけどやってみる。

66 名前:名前は開発中のものです。 mailto:sage [2005/11/26(土) 23:11:28 ID:sU6iOuYI]
>>64
もちつけ

なんか日本語が分かりにくいぞ

まずGraphics2Dのrotateメソッドを使ってみて描画してもおかしいかチェック

それに画像イメージってやつをを上書きしてしまってるように見える


67 名前:名前は開発中のものです。 mailto:sage [2005/11/26(土) 23:29:16 ID:PhHUEMA7]
>>60-63
Flash やツクールみたいのはゲームどうこうより、
アプリとしての設計の方が100倍重要だと思うけどなー
エンドユーザ的意見としては、時間制御 UI は Flash じゃなくて
AfteEffects を参考にして欲しいと願う。

Shape エディタがあったら超便利なのにと思う事は多々あるので
正直これはかなり興味ある。
そのうち Sun が出すんじゃねーかとか思ってたけど全然だし。

このへんは現状だと SVG (Illustrator -> Batik) とかになるんだろうけど
こっち方面は面倒すぎて手が出せん。


68 名前:名前は開発中のものです。 mailto:sage [2005/11/27(日) 00:07:17 ID:XSFMA6v6]
まず最低限ゲームが作れないとどういう設計したらいいかわからんのでは?

69 名前:名前は開発中のものです。 mailto:sage [2005/11/27(日) 00:25:55 ID:H8JPzJcw]
以下でJavaで作るゲームの基本を学ぶ。
Java基本機能だけのベースとしてはかなりいい材料と思う。
www.brackeen.com/javagamebook/

70 名前:名前は開発中のものです。 mailto:sage [2005/11/27(日) 01:11:36 ID:bXtTt1i7]
>>69
すごいね。いい勉強になりそう。
TimerとGraphics2Dでアニメくらいは出きるからちょこちょこ学んでみるよ。

71 名前:名前は開発中のものです。 mailto:sage [2005/11/27(日) 01:13:57 ID:laCqt6jf]
>>68
それは多分作ってほしいと思うもの違いがあるのかも。
オレが想像したのは、エンジンはメタなインターフェイスを提供して
ゲーム的なエッセンスはエンドユーザが作るって形のものだから。

んで実際の所、描画の最適化とか絶対に必要になるけど、
それがゲームに限った話かと言われると微妙な気がするのよ。

むかーし似たようなモン作ろうとしたけど (作りかけたま放置)
必要としたゲーム的な知識ってタイマーの使い方くらいだった。

>>70
とりあえずガンガレ!



72 名前:名前は開発中のものです。 mailto:sage [2005/11/27(日) 01:16:07 ID:XSFMA6v6]
>>70
スレッドプールとか5.0で標準で実装されてるのもあるし注意な
とくにJavaSoundのストリームと偽ったところはなめてる感じ

73 名前:名前は開発中のものです。 mailto:sage [2005/12/05(月) 22:23:20 ID:DrFNVWzV]
gifなどの透過画像をImage等に描画して
そのImageのなにも描いてない部分を透過させるにはどうしたらよいのですか?

74 名前:名前は開発中のものです。 mailto:sage [2005/12/05(月) 23:52:46 ID:YnmMxKVz]
>>73
BufferedImage(int, int, int)で
3番目の引数にBufferedImage.TYPE_4BYTE_ABGR指定で透明になるかな?

75 名前:名前は開発中のものです。 mailto:sage [2005/12/06(火) 12:56:55 ID:m90gA8zy]
Java2Dの基本なんだけど、Java2Dをちゃんと説明してる書籍ってまったくないな


76 名前:名前は開発中のものです。 mailto:sage [2005/12/06(火) 18:51:26 ID:vSoUCqBN]
>>74
うまくいきました。ありがとうございます。
しかしcIearRectするとダメなようです。
画像を回転させるために仮Imageを作って
それに画像を描画してそのImageを回転させる
という風に考えていたのですが他の方法を考えます。

77 名前:名前は開発中のものです。 mailto:sage [2005/12/06(火) 19:04:14 ID:m90gA8zy]
画像の回転するのになんで1回かますの?

78 名前:名前は開発中のものです。 mailto:sage [2005/12/06(火) 19:42:22 ID:vSoUCqBN]
Graphics2D tmp = (Graphics2D)chara.getGraphics();
tmp.lotate(chara,characenter.x,characenter.y);
g.drawImage(chara,null,charagx,charagy);

てな感じにやってたんですけど、なぜか全く回転しなかったので
仮画像を作ってそれを回転させるという風にしました。

79 名前:名前は開発中のものです。 mailto:sage [2005/12/06(火) 20:43:53 ID:m90gA8zy]
回転をセットするのは描画先のほうだよ?
すでに描画されてるのはどうしようもない


80 名前:名前は開発中のものです。 mailto:sage [2005/12/06(火) 20:51:15 ID:57K4+g+R]
Graphics2Dオブジェクトにアフィン変換かけてさらに
Graphics2Dオブジェクトに描画でできんのかな

81 名前:名前は開発中のものです。 mailto:sage [2005/12/07(水) 00:29:46 ID:R+Rh6YVG]
すみません。自分の日本語読解力が足りないことにより
皆様から頂いた助言を活かすことができません。
少し、具体例を用いて説明して頂けいませんか?



82 名前:名前は開発中のものです。 mailto:sage [2005/12/07(水) 00:59:31 ID:xiUT9nsP]
1・画像をロードします
2・描画先を回転させます
3・ロードした画像を描画します

83 名前:名前は開発中のものです。 mailto:sage [2005/12/07(水) 01:56:14 ID:SEfUp1TO]
落ちものゲームで受け手(キャンバス)を上手く回転させて
指定された絵を完成させるゲームをイメージしてみるとか。

84 名前:名前は開発中のものです。 mailto:sage [2005/12/07(水) 06:51:27 ID:R+Rh6YVG]
>>82-83
つまり、描画先を回転させて
そこに描画して、回転させた分
逆回転させて他はもと通り、と解釈して実行し
成功致しました。ありがとうございます。
しかし、これは斜めになったとき
四角の余白が黒くなってしまいます。
これの解決方法はどうすればよいのでしょう?
背景を再び描画も考えましたが
回転させたものが塗り潰されてしまいます。

85 名前:名前は開発中のものです。 mailto:sage [2005/12/07(水) 09:35:30 ID:hZztkAcv]
そこまで出来てるのに、なんで画像描画前に背景を
先に塗り潰すという発想がでてこんのだ。

86 名前:名前は開発中のものです。 mailto:sage [2005/12/07(水) 19:03:18 ID:R+Rh6YVG]
背景を描画して、回転したものを描画とやってるんですけど
  ______
 |■/  \■|
    ↑回転した画像

て感じにうえの部分に黒い部分ができてしまうんです。
さて、どうしたものか?

87 名前:名前は開発中のものです。 mailto:sage [2005/12/07(水) 19:17:03 ID:ruXn40F6]
ソース晒した方が早そうだな

88 名前:名前は開発中のものです。 mailto:sage [2005/12/08(木) 14:23:17 ID:wcnvECNE]
g.fillRect(0,0,600,600);
g.rotate(time*PI/,characenter.x,characenter.y);
g.drawImage(chara,null,gx,gy);
g.rotate(-time*PI/,characenter.x,characenter.y);
time++;

これでいいんですよね?

89 名前:名前は開発中のものです。 mailto:sage [2005/12/08(木) 15:51:44 ID:Voeburfj]
time*PI/, て何だよコンパイル通るのかよ


protected BufferedImage image = 知らん;
protected Point2D center = 知らん;
protected AffineTransform rot = new AffineTransform();
protected double rpf = 0.1; //回転の量

protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D)g;

// ... ここで背景描画する

// rpfの量だけ回転させて描画
rot.rotate(rpf, center.getX(), center.getY());
g2.drawImage(image, rot, null);
}

2D じゃない方の Graphics の使い方はわすれた。


90 名前:名前は開発中のものです。 mailto:sage [2005/12/08(木) 16:27:30 ID:+Z+rNNsb]
>>88
背景黒く塗ってるっぽいから黒くなるのは正しい動作だとみたが?


91 名前:88 mailto:sage [2005/12/08(木) 20:08:36 ID:wcnvECNE]
自分は色々説明がたりなかったよう。
>>89
すみません。このコードの前に
int time=1;
double PI = Math.PI;
ってあって
time*PI/は
time*PI/180の間違いです。
そしてそのコードを実行した結果
見事指定した座標を中心にぐるぐると
私がしたいのはその場を動かずに回ることだったのですが。
というかこれでも黒い部分でてきました。すみません。
>>90
g.setColor(Color.GREEN);
って事前にやってたんです。



92 名前:名前は開発中のものです。 mailto:sage [2005/12/08(木) 20:58:51 ID:+Z+rNNsb]
情報の小出しされてもわからん
該当部分のソースを最小限にしてコンパイルできるものを出したほうがいいんじゃね?


93 名前:名前は開発中のものです。 mailto:sage [2005/12/08(木) 21:03:25 ID:HtN2IVya]
ttps://genuts.dev.java.net/servlets/ProjectDocumentList?folderID=0&expandFolder=0&folderID=2287
プロジェクト > games > games-middleware > genuts

ttp://www.genuts.com/
Genuts Cheese Indigestion Puzzle
オモシロスwww

94 名前:名前は開発中のものです。 mailto:sage [2005/12/09(金) 01:58:21 ID:DR3+EYk2]
テキストリソース(RPGの会話文など)ってどう扱うべきでしょうか?
XML? properties?

95 名前:名前は開発中のものです。 mailto:sage [2005/12/09(金) 02:29:57 ID:HsQzl6B+]
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/ObjectOutputStream.html

96 名前:名前は開発中のものです。 mailto:sage [2005/12/09(金) 12:27:40 ID:wi5fEo9o]
自分が扱いやすいものでいいかと

修正もこまめに入ると思うし、文字だけじゃなくてたのパラメータも必要になると思うから
XMLが汎用性では一番かと


97 名前:名前は開発中のものです。 mailto:sage [2005/12/09(金) 17:53:50 ID:3zLl7jhn]
いいの見つけたお^^;
ttp://fivedots.coe.psu.ac.th/~ad/jg/ch1/index.html

98 名前:名前は開発中のものです。 mailto:sage [2005/12/09(金) 23:37:39 ID:6Nnex+8J]
XMLパーサってあったっけ

99 名前:名前は開発中のものです。 mailto:sage [2005/12/09(金) 23:40:17 ID:HsQzl6B+]
あるよ。DOMよりSAXのが個人的には好き。

100 名前:名前は開発中のものです。 mailto:sage [2005/12/10(土) 00:04:18 ID:KuqpST++]
ゲームで使うとなるとSAXはファイル読み込みだけだろうな
内部ではElementでつかうのがいい


101 名前:97 mailto:sage [2005/12/10(土) 21:23:28 ID:h8wANggU]
画像回転のサンプルがここに載ってるお^^;
ttp://fivedots.coe.psu.ac.th/~ad/jg/ch04/index.html

Graphics2Dは知らないお^^;



102 名前:名前は開発中のものです。 mailto:sage [2005/12/10(土) 22:25:02 ID:KuqpST++]
いや、普通にJava2D楽だぞ

ただ、普段以上にメモリ使用量は把握していかないと駄目
GCがかなり増えるから

速度が必要な場合あらかじめ回転させておくとかが必要になるね
アクセラレーションきかないから

103 名前:名前は開発中のものです。 mailto:sage [2005/12/10(土) 22:27:15 ID:MpQxaKQL]
BufferdImageの効果が消滅するの?<回転

104 名前:名前は開発中のものです。 mailto:sage [2005/12/10(土) 22:35:58 ID:KuqpST++]
効果は消えるなんてことはないけど、速度が差が出る
Java2Dって高級すぎるAPIなんでどれがアクセラレーションきいて、どれがきかないのか
チェックするのが大事

基本的に速度は1.4.2と5.0でかわってないよ
アクセラレーションがきけば秒間にスプライトが万単位で描画できるはずだが
やることをかえるとこれが一気に1/100以下に下がったりする

105 名前:名前は開発中のものです。 mailto:sage [2005/12/10(土) 23:04:18 ID:MpQxaKQL]
うへ・・・回転拡大はご法度なのかな。
昔ながらのアナログ手法にしとくか

106 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 01:01:17 ID:xyghd8DO]
速度を求めないのと回転オブジェクトがいくつあるかによる

60fpsで128*128の回転スプライトが1000個は無理だと思う



107 名前:94 mailto:sage [2005/12/11(日) 12:16:09 ID:hWRTdhf0]
>>96
>>100
XMLの方が柔軟性があって良いということですね。
propertiesは簡単な設定の保存程度にしておいた方が良いのかもしれませんね。
ありがとうございます。


108 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 14:37:45 ID:ohNVp0t4]
>>106
400MHz、64MB、VRAM8Mでどこまで出来るかがポイントだな。
まあ回転なんてギャラガとか作ろうと思わなければ使わないけど。

109 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 15:20:14 ID:xyghd8DO]
ギャラガくらいなら余裕
VRAM8MってことはTNTとかあのあたりかな
ならアクセラレーションの速度も問題にならない

メインメモリ64Mが一番のネックかと
GCの調整はプロファイラとにらめっこになるね
ヒープサイズ自体を24M以下に抑えてももVM方面で厳しい
1.4.2のほうがメモリ消費は少ないからそっちのほうがオススメか

Pen3/1GHz+統合ビデオでテストしてみたけど
上で上がってた2DSTGは60fpsでサクサク動いた

110 名前:名前は開発中のものです。 mailto:??? [2005/12/11(日) 17:02:52 ID:5bLTV7mU]
>>75

遅レスだが、これいいよ
ttp://www.oreilly.com/catalog/java2d/



111 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 17:06:21 ID:xyghd8DO]
日本語訳がないんじゃさすがにここで質問する初心者にはすすめれんが



112 名前:名前は開発中のものです。 [2005/12/11(日) 17:43:34 ID:FJ8u3O2A]
1999年ってやけに古いけど大丈夫なのか・・・

113 名前:110 mailto:??? [2005/12/11(日) 18:11:19 ID:45Ys85hP]
個人的には、Graphics2Dでの描画にくわえて、
BufferedImageの細かい解説とか画像処理関連のことがら
についておさえて書かれているところがおすすめ

>>1999年ってやけに古いけど大丈夫なのか・・・

Graphics2Dの基本についてはそんな変わってないはず。
5.0以降どうなったかは知らんが。
あーでも画像ファイル読み込みでImageIO使う解説とかはなかったような。。
ま、そのあたりはWebの情報その他で補うとして、Java2D本体の包括的な
解説書としてはこれけっこういいと思う。

>>日本語訳がないんじゃさすがにここで質問する初心者にはすすめれんが
これについては「がんばって読めや」といいたいが、それもなあ。。。
画像処理とかについては書いてないけど、
Graphics2Dでのprimitiveの描画ひととおり+基本的な変換(Affine変換とか)だけなら、
ttp://www.iamas.ac.jp/~furu/book/motion/
とかもいいかも。
でも、これらとかは本なんか見んでもWebに情報ころがってるな。


114 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 19:59:25 ID:xyghd8DO]
ほとんどの場合ゲームで重要なのはGraphics2Dでどう描画できるかというより、
Graphics程度の低レベルAPIでもいいからどれがアクセラレーションきくかどうか、
速度的なものやメモリ使用量把握だからねぇ

ところでGraphics2Dでそろそろ加算合成実装して欲しいんだがすばらしく放置だよな

そもそも基本についてはSunのマニュアルで代替分かると思う


115 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 20:35:51 ID:CGEh3W0j]
Java2Dに関して言えば、VolatileImageは、まだほとんどの環境で
透明、半透明が使えないので、事実上まともなゲーム制作には使えない。。。
createCompatibleVolatileImageメソッドでTransparency引数が
指定できるが、定義だけでまだ実装されてない。。。
つまり、BufferedImageを使うしかない。これへの描画メソッドに
アクセラレーションが効いてるのはない。。。

116 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 20:40:29 ID:xyghd8DO]
>>115
5.0からつかえるようになったけど?

117 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 20:43:08 ID:ohNVp0t4]
VolatileImageからVolatileImageへ上書きすると透明じゃなくなるバグって無かったっけ?

118 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 20:45:55 ID:xyghd8DO]
それは1.4.2まで

119 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 20:48:17 ID:xyghd8DO]
あと描画元がBufferedImageでピクセルフォーマットが同じ場合
あるスレッショルドを超えると内部でVolatileImageにして転送してくれる
この設定値を0にするのがまず基本

5.0からはこの動作範囲が広いようだ
つまり、最適化されてないアプリだと高速化する可能性あり
1.4.2までにチューニングしてると速度向上は一切なし

5.0で画像周りの速度が速くなったというやつは大概設定ミス

120 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 21:36:17 ID:CGEh3W0j]
>>116
使えない。5.0でも使えない。
どの環境(OS)で使えたのか教えてくだされ。

121 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 21:40:12 ID:CGEh3W0j]
>>119
この設定値を0にするのがまず基本、とは?
設定値とは何を指してるのか?
具体的に教えてくだされ



122 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 21:56:41 ID:xyghd8DO]
まずVolatileImage>VolatileImageでの透過転送は可能
1.4.2まではムリ
5.0から追加されてるメソッド使うからね
Windowsで確認済み

スレッショルド指定はSunのドキュメントにも書いてある

これをメインクラスのstatic初期化にいれておけ
System.setProperty("sun.java2d.accthreshold","0");
標準出力に出るので、それを設定してあるアプリかどうかはすぐに分かる

ちなみに0とは描画回数が0という意味
画像をBufferedImageにロードした段階でVRAMにも転送することを現す
1なら最初に描画しようとしたときにまずVRAMへ転送、そしてVRAM>VRAMを処理する

この辺はすべてSunの日本語資料にある

123 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 22:10:48 ID:CGEh3W0j]
>>122
自分もWindowsXpなのだけど、VolatileImage を使うと
アルファ値0のピクセルが真っ白になってしまう。。。
列挙された全GraphicDeviceの全GraphicConfigurationから得る
VolatileImageのTransparencyタイプが、全てOpaqueになってる。。。

本当にWindowsでValatileImageの透明機能が使えたのですか?

124 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 22:44:05 ID:xyghd8DO]
そのだめだったコードかいてみそ

125 名前:名前は開発中のものです。 mailto:sage [2005/12/11(日) 22:51:58 ID:CGEh3W0j]
>>124
GraphicEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gd.getDefaultConfiguration();
VolatileImage image = createCompatibleVolatileImage(640, 480, Transparency.TRANSLUCENT);

これで得る image は、半透明でないのです。。。
gd、gc を列挙させて、その全てから得るimageも半透明でないです。。。


126 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 00:52:54 ID:5lGPHviO]
Transparency.TRANSLUCENTはDirec3Dを有効にしないと駄目だったはず
BITMASKでの透過ならいける


127 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 00:53:29 ID:5lGPHviO]
そもそも半透明はアクセラレーションきかないので注意ね

128 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 01:05:16 ID:5lGPHviO]
ってやってみたらアルファブレンドが有効でちゃんと描画された

たぶんロードのところミスってると思うよ


129 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 01:12:31 ID:5lGPHviO]
ちなみに
ImageIOでロードしたアルファつき画像をそのまま128個描画

 8fps

ちゃんと設定したVolatileImageとBufferedImageが同じで

 50fps

となった

アルファつきならVolatileImageにおく必要はないね


130 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 01:17:38 ID:4tfiFb5f]
System.setProperty("sun.java2d.accthreshold","0");
としておけば普通にBufferedImageでOKってこと?

131 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 01:26:16 ID:5lGPHviO]
ついでなんで
単なる透過を描画した場合

フルスクリーンモードならTRANSLUCENTでもBITMASKでも
スプライト2048個描画で60fps維持

スプライトサイズは64*64で
画面モードは640*480にしたときの場合ね

オンボードビデオでこれなのでnVIDIAとかATIとかのそれなりのつめば余裕で超えるかと
通常モードはDirectDrawのラッパだと考えればどれが速いかとか分かりやすいと思う




132 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 01:28:24 ID:5lGPHviO]
>>130
ほとんどの場合はそういうこと

あくまでも描画先をVolatileImageで描画元はBufferedImageで
VRAMにおくかどうかはインテリジェントに任せるというのがJavaらしいかな
VRAMにおく優先順位とかもあるので頻繁に描画しないやつはそれを抑えておくといい

この方法ならVRAM容量が多ければ加速しやすいとかそういう感じ
昔AGP登場時の思想にあったやつね


133 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 16:21:39 ID:xzlsw/bc]
Javaでゲームを作れという課題がでたんですが、どんなのが簡単だとおもいます?
行数は400以上&対戦ゲーム&Swingというのが条件です。
既存のゲームでなるべく参考資料が沢山あるものが良いのですが・・・

アイデアゲームは自分のスキルや時間的制約から作る自信が無いですorz

134 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 16:57:06 ID:5lGPHviO]
ブロック崩しやインベーダーのようなSTGとか

Swingを使えという時点でたぶんそんなレベルじゃない気がする
マルバツゲームとかもっと単純なの

最低自分が何を作りたいかだけはきめてください

135 名前:名前は開発中のものです。 mailto:sage [2005/12/12(月) 17:05:04 ID:6Xf+w43J]
>>133
その条件なら特に苦にならんだろう
テンプレあたりに行って資料が多そうなの探せばいんじゃね?

136 名前:名前は開発中のものです。 mailto:sage [2005/12/13(火) 07:26:14 ID:lGjUBPOJ]
>>134
12月末までという期限付きなので力量に合わないのに手を出したら怖いなと。
そのためそこそこボリュームがあって簡単に作れるゲームをきいてみたいと思ったわけです。
ちなみにブロック崩しモドキ(ボールをブロックに当てたら壊れる)や
シューティングモドキ(たまを発射させ物に当たったら壊せる)ぐらいは作った事ありますが、
昨日調べた結果によるとリアルタイムで進行させるものは対戦にするのは難しいとか。
それよりターン製のゲームの方が比較的楽でイイヨって書いてありました。。

>>135
つらつらとネットサーフィンしてみましたが400行足らずでも結構うまく作れるものですね、
どんだけのゲーム作れば良いのかと何か不安になってきましたorz

137 名前:名前は開発中のものです。 mailto:sage [2005/12/13(火) 12:23:28 ID:SA14+LJ/]
リアルタイムのほうが難しいかどうかは設計しだいかと
12月末ではあと2週間ですか
STGだと1面だけ開発するのも難しそうだ

138 名前:名前は開発中のものです。 mailto:sage [2005/12/13(火) 14:25:19 ID:ULQaYiRM]
>>136
とりあえずとっとと着手しろって
ブロック崩しに対戦要素混ぜるとかでいいじゃん。
上下にバー作るとか。
ちょっと工夫するなら、画面半分に分けて上下にバー作って、
1P側の操作で左の下側バーと右の上側バーが同時に動き、
2P側の操作だとその逆。勝利条件をちょっと考えれば
これで十分対戦になるじゃんよ?

139 名前:名前は開発中のものです。 mailto:sage [2005/12/13(火) 18:22:53 ID:lGjUBPOJ]
2日で終わらせた人がいたもので、自分でも2週間あればと思っていたのですが・・
なんにせよ選ぶのは程ほどにし、
皆さんの意見を参考にしつつ今から寝ずに頑張ってきます。
他のレポートもあるのでつきっきりになるわけにはいきませんがorz
Thank you.




140 名前:名前は開発中のものです。 mailto:sage [2005/12/13(火) 18:25:21 ID:SA14+LJ/]
がんがれ

141 名前:名前は開発中のものです。 mailto:sage [2005/12/13(火) 23:40:37 ID:/KZUefCp]
ジョイスティックを扱うには、
JNIとJavaCommunicationAPI、どっちが良いのでしょうか?
前者は高級な機能を使えるけど環境依存、
後者は低級な所からくみ上げる必要があるけど、WinとSunで動く、
という感じなのでしょうか?



142 名前:名前は開発中のものです。 mailto:sage [2005/12/13(火) 23:43:17 ID:msXDQ5aj]
>>141
https://jinput.dev.java.net/はどう?

143 名前:名前は開発中のものです。 mailto:sage [2005/12/13(火) 23:48:38 ID:Ngny3SWu]
400行のゲームなら、その先生が期待してるのはテトリスあたりかな。
対戦要素を考えるならボンブリスとかか、俺ならそこらへん狙う。と遅レス。

144 名前:名前は開発中のものです。 mailto:sage [2005/12/14(水) 00:08:34 ID:8d4z5wIB]
>>142
コミュニティ開発のAPIですか。
まだライセンスを確認してないけど、
頒布の問題が発生しなければいいかもですね。

145 名前:名前は開発中のものです。 mailto:sage [2005/12/14(水) 00:52:23 ID:P5dHJreb]
どのライブラリにしろJNIで組まれてる

146 名前:名前は開発中のものです。 mailto:sage [2005/12/18(日) 01:18:18 ID:ART67WNv]
フルスクリーンにしようと思うのですが、環境はどんなのが良いのでしょうか?
640x480の16bitでいいかなと思うのですが、Win高級機以外でも32bitって使えますか?

147 名前:名前は開発中のものです。 mailto:sage [2005/12/18(日) 01:43:27 ID:9q2jSVUj]
つーか、Win以外は解像度変更あきらめたほうがいいかと
そしてWinでも32bpp出せない環境はある


148 名前:名前は開発中のものです。 mailto:sage [2005/12/18(日) 01:59:42 ID:ART67WNv]
>>147
Win以外では無視されるといことでしょうか?
では16bpp(bit per pixel?)にしておけば不具合が起きることもなさそうです。

BIT_DEPTH_MULTIというのもあるのですがこれは使えますか?
スクリーン版JISAutoDetectみたいなものなのかとJavaDocを見て思ったのですが
これといった情報がネットにありませんでした。

149 名前:名前は開発中のものです。 mailto:sage [2005/12/18(日) 02:03:11 ID:9q2jSVUj]
指定なしという感じでは?
Linuxでやったときは画面サイズ変更が不可能だったし、ウインドウモードとフルスクリーンモードと作ったよ

内部描画と出力描画を分けるとかが吉かも
速度大幅に低下するけど

あと使用可能な画面をリストアップして処理するのが一番だね

150 名前:名前は開発中のものです。 mailto:sage [2005/12/18(日) 02:14:24 ID:ART67WNv]
> 使用可能な画面をリストアップして処理する
ここをもう少し詳しく教えていただけないでしょうか?
device.getDisplayModes();で最高値のモードを探す感じですか?

151 名前:名前は開発中のものです。 mailto:sage [2005/12/18(日) 13:02:30 ID:9q2jSVUj]
最高というか自分がやろうとしているモードに最も近いのを探すといった感じかな



152 名前:名前は開発中のものです。 mailto:sage [2005/12/19(月) 20:35:40 ID:o8rpM/SY]
グラフィックなどは置いといて、
タクティクスオウガみたいなSLGのシステム作るのに
おまいらだったらどれくらいかかるもんですか?

153 名前:名前は開発中のものです。 mailto:sage [2005/12/19(月) 20:49:21 ID:Xlt1mg4V]
時間がかかりそうなものは最初に作ろうとしない
自分がまず完成できるものを選ぶ

のが普通では?
最初から風呂敷広げて崩壊していくのを何度見たことか

たいしたことのないものであってもちゃんと快適動作してバグもないように完成させる、
というのはそれなりに大変なもの

154 名前:名前は開発中のものです。 [2005/12/19(月) 22:23:05 ID:GbGeAi3t]
フルスクリーンでゲームをつくってきたんですが、
デバッグがあまりに手間でウィンドウモードに変えたくなってきました。

public Graphics2D getGraphics()
のようにして、
スクリーンマネージャが
getFullScreenWindowからえたWindowから、
BufferStrategyを返して、
それから、Graphics2Dを返して描画するようにしているんですが、
ここから楽にウィンドウモードに切り替えるすべはありますか?

155 名前:名前は開発中のものです。 mailto:sage [2005/12/19(月) 22:52:44 ID:Xlt1mg4V]
ウインドウモードでなんでgetFullScreenWindowがでてくるんだ?



156 名前:名前は開発中のものです。 mailto:sage [2005/12/19(月) 23:30:01 ID:vG/cR0LR]
いろいろ悩んだ結果たどり着いたのはStrutsだった。
なるほど、これならMVCになる。この感動は衝撃的だった。
おわり。

157 名前:名前は開発中のものです。 mailto:sage [2005/12/20(火) 00:07:37 ID:pKpEoU3U]
Strutsでゲームつくったのか?

158 名前:名前は開発中のものです。 mailto:sage [2005/12/20(火) 00:29:32 ID:WpmlUq/X]
画面切り替えの仕様がぜんぜんかっこよくならなくて悩んでいたら
Strutsの例のfowerdが頭に浮かんだ。そんだけ。
メインルーチンの戻り値がまさかシーンだったとは・・・みたいな。

159 名前:名前は開発中のものです。 mailto:sage [2005/12/20(火) 02:15:06 ID:FfJ0Icl6]
それゲーム内での遷移のスクリプトの話なだけだろ
AVGとかきまったものでしかつかえんよね


160 名前:名前は開発中のものです。 mailto:sage [2005/12/20(火) 23:06:36 ID:WpmlUq/X]
うんにゃ、RPGパートからシューティングパートに切り替えるにしてもこの手法でいけるよ。


161 名前:名前は開発中のものです。 mailto:sage [2005/12/20(火) 23:12:27 ID:FfJ0Icl6]
その程度のシーン切り替え・・・



162 名前:名前は開発中のものです。 mailto:sage [2005/12/20(火) 23:19:12 ID:WpmlUq/X]
ん?流しっぱなのかスタックなのかの指定もこの方法なら簡単なんだけど・・・

163 名前:名前は開発中のものです。 [2005/12/21(水) 00:10:55 ID:38cOblp2]
>>153
たいしたことのないものは、そこら辺にソースが転がってるから、
作る気が起きないんだよね。
かといって、ちょっとレベルや規模を広げると、1人じゃお手上げになるし。


164 名前:名前は開発中のものです。 mailto:sage [2005/12/21(水) 00:12:34 ID:2Odzg4dt]
たとえばぷよぷよとかテトリス、コラムスなんて作るのは簡単

でも、しっかり音出したり演出出したりバランス取りしてちゃんとしたものを作る
という段階まではなかなか難しい

165 名前:名前は開発中のものです。 [2005/12/21(水) 20:44:15 ID:+HySSU2I]
そこそこできたら飽きてしまって次の作りたくなる

166 名前:名前は開発中のものです。 mailto:sage [2005/12/21(水) 21:12:53 ID:2Odzg4dt]
その差が途中で投げ出すやつか、それとも同人屋やソフト屋としてちゃんとやっていけるかどうかの差

167 名前:名前は開発中のものです。 mailto:sage [2005/12/23(金) 20:23:05 ID:3FOPkpSW]
Javaで作ったRPGでソース公開してるサイトありますか?
もしくはセリフの表示のやり方の紹介とか

168 名前:名前は開発中のものです。 mailto:sage [2005/12/23(金) 20:57:04 ID:/tlDw98+]
それ難しくはないだろ

どの変が難しいと思うんだ?


169 名前:名前は開発中のものです。 [2005/12/23(金) 21:11:56 ID:PPOyiaLP]
>>167
テンプレ

170 名前:名前は開発中のものです。 [2005/12/24(土) 11:52:15 ID:iqSdFGcF]
だれかJava3Dでゲーム作ってる人いない?

171 名前:名前は開発中のものです。 mailto:sage [2005/12/24(土) 12:56:39 ID:gnp/5lgI]
1年位前に触ったときJOGLならともかくJava3Dものすごく遅くてお話にならなかったけど
DirectXの実装のほうでね





172 名前:名前は開発中のものです。 mailto:sage [2005/12/24(土) 16:05:43 ID:twljoP+/]
>>168-169 レスサンクス
ドラクエみたいに新しい行が挿入されたら
既に表示されてた行が上にずれて1番上の行が消えるとか

主人公の名前を変えられるゲームにおいて
メッセージ中で表示するときはどうしたらいいかとか

ファイルからセリフを読み込むにはとか

テンプレ見て勉強します

173 名前:名前は開発中のものです。 mailto:sage [2005/12/24(土) 16:31:00 ID:Al8Kj3xL]
>>172
> 既に表示されてた行が上にずれて1番上の行が消えるとか
Clipが神だと分かったあの日の夜

174 名前:名前は開発中のものです。 mailto:sage [2005/12/24(土) 16:37:56 ID:gnp/5lgI]
それ文字列をスクロールさせるのではなくて
BufferedImageで文字列のバッファ用意して毎フレームブリットしたほうが楽


175 名前:名前は開発中のものです。 mailto:sage [2005/12/26(月) 08:43:49 ID:zSwx4yvQ]
>>174
勉強になります
dd

176 名前:名前は開発中のものです。 [2006/01/07(土) 15:15:38 ID:EFX7v943]
Javaでタスクシステムって作れる?

177 名前:名前は開発中のものです。 mailto:sage [2006/01/07(土) 18:00:27 ID:yOZ6b1cq]
オブジェクト指向なんだから普通はポルモルフィズム(多態性)でOK

178 名前:名前は開発中のものです。 [2006/01/15(日) 10:23:57 ID:53jl8YVS]
SWTのImageとGCをつかってスプライトを描画しているんですが、
左右反転、上下反転をする際に、
setTransform(...)
で、trans.scale(-1,1);
などとすると複数のスプライトを描く際に実用に耐えられないくらい重いです。
AWTのdrawImageみたいに、それだけで左右、上下反転できないのでしょうか?
srcX,destXを反転させれば良かったAWTにたいし、
SWTだとwith,height指定なので引数に負数を渡すと実行時エラーになってしまい、それだけではできないようにみえます。
ご存じの方、おられましたら宜しくお願いいたします。

179 名前:名前は開発中のものです。 mailto:sage [2006/01/15(日) 11:12:29 ID:aMKMqoWr]
SWTはEclipse以外では使わないこと
が正しいと思う

PureJavaのほうがまともな実装ってどういうことさ
って場面がよくある


180 名前:名前は開発中のものです。 mailto:sage [2006/01/15(日) 20:09:28 ID:Vrds102b]
SwingでJava2D使おうぜ

181 名前:178 mailto:sage [2006/01/15(日) 22:49:28 ID:53jl8YVS]
>>178,>>179
なるほど、ありがとうございます。
SWTをつかってアニメーションエディタとゲーム自体を一緒に作っていたのですが、
考え直した方が良いみたいですね。




182 名前:名前は開発中のものです。 mailto:sage [2006/01/15(日) 22:52:15 ID:53jl8YVS]
う、間違えました。
>>180
Swingの方がやはりいいんですね。SWT自体は割と扱いやすいとは感じているのですが、
最近は情報も出てこず考え直したりもしています。
SWTを使うと局所的なところでWin32APIなどを呼べるのも魅力なのですが。
思想には反しますけれど。

183 名前:名前は開発中のものです。 mailto:sage [2006/01/16(月) 00:14:43 ID:DTLttG/1]
PureJavaとはいえJava2DってDirectX使われてるの知ってる?
情報量は多いしものによっては速度面でも結構いける

1フレームあたり1000個のスプライトとか余裕


184 名前:名前は開発中のものです。 [2006/01/17(火) 03:10:21 ID:9917DXoA]
JAVAでカードゲームを作ろうと思っているのですが、
某サイトに開発ツールJAVA2 SDK 1.3と書いてあるのですが、
このスレのテンプレには(Ver5.0のJDKとVer1.4.2) しかなく
どれをDLすればいいのか分かりません
どなたか教えてもらえないでしょうか?


185 名前:名前は開発中のものです。 mailto:sage [2006/01/17(火) 06:08:31 ID:Om3jnpEH]
>>184
ハァ?
質問の意味が読めん

186 名前:名前は開発中のものです。 mailto:sage [2006/01/17(火) 06:37:28 ID:1vDzG9rV]
>184-185
エスパーちからを発揮してみると、参考にしようと思ったサイトが
1.3だったので、1.3が良いと思ったのではなかろうかと。
1.4か5.0でやってみたら?ほとんどの場合、動くと思うよ。>184

187 名前:名前は開発中のものです。 [2006/01/17(火) 14:12:13 ID:jNVA85J7]
>>185-186
日本語がおかしくてすみません
参考にしようと思ってるサイトでは1.3と書いていて
1.3を探したけど、1.4か5.0しかなくて困ってます。
それから1.4と5.0の違いが分からなくて
どっちをDLしていいのか分かりません
違いを教えてもらえないでしょうか?
ちなみにiアプリのゲームを作ろうと思ってます

188 名前:名前は開発中のものです。 mailto:sage [2006/01/17(火) 14:22:08 ID:4NyPfQ7d]
ここではJava2SEの話題がメインなので
J2MEの話題はプログラム技術板に専用スレがあったと思うのでそちらのほうがいいかと。

そして動作保障している1.3を使うのが吉。
互換性は細かいタイミングが必要なところではチューニングすればするほど問題が出やすいし。

J2MEといってもiアプリは独自の層があついのでいわゆるJavaという豊富な標準API
を使って開発するという感じはないと思われ。

189 名前:名前は開発中のものです。 [2006/01/17(火) 17:16:07 ID:jNVA85J7]
おお!?
そうなのですか
全然知りませんでした^^:
すみませんでした
そっちに行きます

190 名前:名前は開発中のものです。 mailto:sage [2006/01/18(水) 06:35:27 ID:kAS6/zeP]
すみませんCPad for Javaについて質問です

CPad for Java 2.31
にてAntが使えるというので、以下のページのやり方で設定してみました
ttp://javacafebreak.tripod.com/document/cpad_tips/cpad_ant.html

このページには「CPadで、Antを実行するには、『F6』キーを押すか、メインメニューの『実行』→『Ant』を選択します」
とかかれているのですが、『F6』キーを押しても何も起こらないし、
「メインメニューの『実行』→『Ant』」などというメニュ項目も見当たりません

CPadで、Antを実行して、さらにエラーメッセージをCPad上のメッセージウィンドウで表示させている人たちは
どうやっているんでしょう
(DOS窓でAntの実行を単独実行するやり方はわかっているのですが、それだとCPadのメッセージウィンドウに表示できないので不便なんです)
環境はWindows2000 JDK1.5.0_06 です

191 名前:名前は開発中のものです。 mailto:sage [2006/01/18(水) 10:53:20 ID:c2N1wZsa]
もしかして普通のJavaスレと勘違いしてる?



192 名前:名前は開発中のものです。 [2006/01/23(月) 17:40:02 ID:kW9KAIGh]
サーブレットとかJSPでゲームを作るのは無理ですか?

193 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 17:48:15 ID:yJIlIQCh]
WEBアプリのゲームはあるから無理ではないけど
別にたいした仕組みが必要になるわけでもないと思われ

194 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 22:17:38 ID:/EcVc25a]
シューティングでインタープリターをつくろうと思ったのですが
文法をどうやって決めればいいのか、どう実行させればいいのか
いまいち想像できません。
敵の出現まではできそうですが、敵の弾の設定(どんな弾を、いつだすか)を
インタープリターでどう表現したらいいのでしょうか?

195 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 22:27:55 ID:I0QlWZ4d]
>>192
WEBブラウザで行うCGIゲームライクなものなら当然可能。
というか、漏れ自身が現在進行形で作成中。

196 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 22:46:33 ID:tL3TpBsR]
>>194
なんか設計に悩んでるっぽいことはわかった。
その調子でがんばれ。

197 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 22:49:50 ID:yJIlIQCh]
>>194
まずは敵のクラス内で処理してみれば?
それを外に出したほうがいいか、ださないほうがいいかは案件しだい

198 名前:名前は開発中のものです。 mailto:sage [2006/01/24(火) 14:41:32 ID:vo2dZIRF]
インタープリターよりも簡単なコードジェネレータの方がいいんじゃない?

199 名前:名前は開発中のものです。 mailto:sage [2006/01/26(木) 15:59:14 ID:Pd3Qgsdn]
格ゲーで斜めジャンプをさせたいんだけど、上キー+右キーでやらせるにはどうしたら良い?

以下制作中のソース。
public void keyPressed(KeyEvent e){
 int K = e.getKeyCode();
 if(K==KeyEvent.VK_UP) {
  st = 8;
  KeyAction();
 }else if(K==KeyEvent.VK_DOWN){
  st = 2;
  KeyAction();
 }else if(K==KeyEvent.VK_RIGHT){
  st = 6;
  KeyAction();
 }else if(K==KeyEvent.VK_LEFT){
  st = 4;
  KeyAction();
 }
 repaint();
}

200 名前:名前は開発中のものです。 mailto:sage [2006/01/26(木) 16:52:43 ID:ITPJnSj3]
>>199
まず根本的なことからなおしましょう

キーのイベントで処理は入れないように

メインループでのみ処理するようにしてください
イベントではフラグの上げ下げのみで

201 名前:199 mailto:sage [2006/01/26(木) 23:31:16 ID:Pd3Qgsdn]
>>200
サンクス。できるようになりました。



202 名前:まほろば ◆BmUbLWewsM mailto:age [2006/01/28(土) 18:36:32 ID:K+4gOIY6]
いやーこのスレは役にたつなー。。
ところで、classファイルからソースコードを盗まれないようにするにはどうしたらいいんでしょ。。


203 名前:名前は開発中のものです。 mailto:sage [2006/01/28(土) 18:42:43 ID:u3ZzJuZS]
正直それはあきらめろ

クラスローダ自作したところで実行中のメモリのぞかれれば意味なし
nproではじくとかやると誰も使うやつはいなくなるぞ

ネイティブバイナリでもコンパイラの癖とあたりつければそれなりに追えるんだし・・・とわりきれ
その分開発効率がいいんだからガンガンものづくりに専念しなさいといいたい

オンラインゲーなら毎日こまめにクラスを再配布していれば大丈夫かと


204 名前:まほろば ◆BmUbLWewsM mailto:age [2006/01/28(土) 21:29:17 ID:K+4gOIY6]
>>203
実行中のメモリのぞかれれば意味なし
そんな事出きるの?ソースは?
やろうと思えばできるとか妄想でつか?

205 名前:名前は開発中のものです。 mailto:sage [2006/01/28(土) 21:37:25 ID:EnQtmKxX]
>>204
メモリ覗くだけならWindows上で実行しちゃえば簡単だろうけど、
手軽に解析って話は俺も聞いたこと無いな。

うちの会社はDashOとかいうバカ高い難読化ツールを買った。
そんな必要無ぇって主張は通らなかった。

206 名前:名前は開発中のものです。 mailto:sage [2006/01/28(土) 22:44:25 ID:PUcSGIMg]
読みやすくしてくれるツールはありませんか。

207 名前:名前は開発中のものです。 mailto:sage [2006/01/28(土) 23:06:37 ID:u3ZzJuZS]
>>204
多少は調べろ
クラスロードした後はざる

208 名前:まほろば ◆BmUbLWewsM [2006/01/28(土) 23:57:58 ID:K+4gOIY6]
>>207

209 名前:名前は開発中のものです。 mailto:sage [2006/01/29(日) 01:11:24 ID:1KG7yFUT]
結局いいスレだったのをコテハンが壊したってことか。

210 名前:名前は開発中のものです。 mailto:sage [2006/01/29(日) 02:35:06 ID:PecoYXTp]
もう大学生は春休みか……
いいご身分だなぁ。

211 名前:名前は開発中のものです。 mailto:sage [2006/01/29(日) 12:34:08 ID:FRX/ORuz]
低脳だから卒業後ニート行きで
さらに良いご身分だな



212 名前:まほろば ◆BmUbLWewsM [2006/01/29(日) 13:24:43 ID:LX0lKjST]
まったくだなww

213 名前:名前は開発中のものです。 [2006/01/29(日) 17:14:26 ID:zbiz4Pm/]
GraphicsクラスのdrawImageで浮動小数点数を使う方法って何かない?
ゲームのキャラクターを表示させるためにはint型では精度が悪いんで。

214 名前:まほろば ◆BmUbLWewsM [2006/01/29(日) 17:28:00 ID:LX0lKjST]
ないよ。javadoc見りゃ分かるじゃん。。

215 名前:名前は開発中のものです。 mailto:sage [2006/01/29(日) 17:45:07 ID:ec+1eYbr]
>>213
そういうときは大きいバッファを持つことで回避する
320*240の画像を0.5単位で扱いたいときは640*480とかね

drawRenderedImageとかtranslateを使う方法もあるが
用途がゲームなら使わないほうがすっきりしていいと思われ


216 名前:名前は開発中のものです。 mailto:sage [2006/01/29(日) 17:57:12 ID:2i9o9yjB]
>>213
Graphics2D でもいいのなら AffineTransform を使えばできる。
デフォルトでは AffineTransform を使用しても補完してくれないので、
補完方法を設定する必要がある。

Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
g2.drawImage(image, transform, null);

こうすると 0.01 単位でヌルっと動かせるけど、それなりに重くなるし
画質もはっきりしたりぼやけたりするので逆にオススメできない。
キャラ自身の内部座標を小数点で扱うのは自由だけど
画像の描画に関しては座標を int で処理するのが現実的だと思う。

217 名前:名前は開発中のものです。 mailto:sage [2006/01/29(日) 21:48:41 ID:qPM3IQVC]
正男ってjava?

218 名前:名前は開発中のものです。 [2006/02/01(水) 20:44:05 ID:W1eX6IZO]
Javaアプレットでしょ

219 名前:名前は開発中のものです。 [2006/02/05(日) 00:25:12 ID:LCSDYznu]
フルスクリーンモードで質問なんですが

  public static void main(String[] args) {
    GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
    GraphicsDevice device = env.getDefaultScreenDevice();

    JFrame frame = new JFrame(device.getDefaultConfiguration());
    frame.setUndecorated(true);

    device.setFullScreenWindow(frame);

    MyPanel panel = new MyPanel();
    frame.getContentPane().add(panel);
  }

こんな感じでフルスクリーン化するフレームの上にパネルをはりつけてます。
このときフルスクリーン状態にはなるんですが、パネルのpaintComponent()が
呼ばれてないらしく描画されません(画面が真っ白のままでサウンドはなります)

panelのpaintComponent()が呼ばれるにはどう修正すればよいでしょうか。

220 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 00:52:34 ID:NFbwVJ0F]
フルスクリーン使ってるならSwingのイベントモデルにはこだわらないのが普通
BufferStrategyってのをしらべてごらん

ようは好きなタイミングで描画が出来るのだ

221 名前:名前は開発中のものです。 [2006/02/05(日) 01:21:52 ID:LCSDYznu]
ありがとうございます。
やっぱそれですか。そうかもと思って実装始めたらできました。
frame.createBufferStrategy(2);
とやってpaintComponent(g)をdraw(g)にかえて
BufferStrategy strategy = window.getBufferStrategy();
Graphics g = strategy.getDrawGraphics();
draw(g);
g.dispose();
でうまく描画できました。



222 名前:219 [2006/02/05(日) 01:30:28 ID:LCSDYznu]
もう一つあるのでアドバイスいただけるとうれしいです。

Window window = device.getFullScreenWindow();
window.add(JPanelオブジェクト);

とやってフルスクリーン上にパネルを置いています。
こうするとパネルがちらついてしまうのですが対策はあるでしょうか。

223 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 01:52:48 ID:8ByMu9YS]
まずパネルをおく必要はない
ウインドウ全体を使って描画してるから


224 名前:219 [2006/02/05(日) 09:38:19 ID:LCSDYznu]
コマンド選択パネルみたいに使っているんですが。

フルスクリーン上でスペース押すと右上にパネルが表示されます。
KeyboardListenerを実装してるのでキー入力はそのパネルが奪い
パネルを消すともとのフルスクリーン上にキー入力がいくという感じです。
パネルじゃなくてCanvasでもいいんですがどうもちらつきます・・・

パネルで何も描画しなくてもちらつくということはフルスクリーンにしてる
JFrame上にコンテナは置いちゃだめということでしょうか。

225 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 12:29:26 ID:8ByMu9YS]
おいてはいけないということはないが、BufferStrategyはつかえんぞ

226 名前:219 [2006/02/05(日) 13:00:29 ID:LCSDYznu]
そうですか・・・ボタンやらも全部だめだったのでBufferStrategyの描画領域にコンポーネントは配置してもちらついてしまうみたいですね。
あきらめてパネル風のウィンドウを描画することにします。

227 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 13:25:23 ID:8ByMu9YS]
ゲーム目的ならコンポーネントの描画は避けるべきだな
すべて自前で描画しないとリフレッシュとかのタイミングがコントロールできん


228 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 14:37:09 ID:15xceU0H]
便乗だけど、フルスクリーンで文字の入力はどうすればいいの?
英語だけなら楽勝かもしれないけど、漢字変換とかどうすればいいのかさぱーり。
以前コンポーネント埋め込んだら酷いことになって諦めてた

229 名前:名前は開発中のものです。 [2006/02/05(日) 14:40:46 ID:LCSDYznu]
MMORPGの市販ゲームとかできてるからやり方あるんだろうけど。Javaだとどうなるんだろ。自分も知りたい。

230 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 15:23:24 ID:8ByMu9YS]
MMORPGの場合フルスクリーンでもただすべての画面を占有するだけ
といった作りかたしてると思われ

JavaでやろうとするならBufferStrategyをあきらめるほうがいいだろうね
JPanelに画面部分を描画、paintComponentでバックバッファから自前で転送

231 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 17:31:23 ID:XoC15JKP]

LWJGLやJOGLで日本語文字を画面に表示するにはどうしたらいいんでしょうか。
LWJGLにAWTGLCanvasっていうのがあって、これを使えばできそうなんですが、
サンプルがなく使い方がいまいち分かりません。

みんなはどうやっているんだろう。

以前Graphics2Dでゲーム作ろうと思ったけど、アルファブレンド処理がソフトウェア描画に
なったので、LWJGLに移ったんですが。

うううーーーん



232 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 17:43:24 ID:8ByMu9YS]
基本はDirectDrawだからな
一応オプションでDirect3Dで動作させればアルファブレンドもハードウェアになるが
レンダリング品質の問題とか通常一番使うブリットが遅いとかJava2Dベースでは
通常合成しか出来ないとかが問題になるからな

LWJGLはまったくさわったことがないのでわからん
JOGLはOpenGLそのままだね
俺が触ったときはSDLとのリンクが未実装だったので対象には上がらなかったが

Java3Dは高級すぎてゲーム用途にはまったく使えないという感じだった
速度がまったくでないことやピクセル単位の処理という感じではなかった

ただ、軽く触っただけなのでなんともいえない
2Dゲームならソフトウェアによるアルファブレンドが問題になるほど遅い場面は少ないとは思う

233 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 19:35:20 ID:XoC15JKP]

>>232

640x480の画面に32x32のマップをひきつめただけですでに40FPSだったんですよね
Graphics2D。。。

やっぱりC++の方がゲーム開発はいいのかなぁ・・・
開発効率はJavaの方がはるかにいいんですけどね

何かJOGLやLWJGLに近い速度がでるゲーム用ライブラリって
ないんでしょうか



234 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 19:44:36 ID:8ByMu9YS]
アルファブレンドでしきつめたらそれくらいにはなりそうだが
通常転送ならそこまで遅くなることはあるまい

使い方がおかしいかと

235 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 19:48:54 ID:XoC15JKP]

>>234

アルファブレンドで描画したときです。
正直なきたくなりました。
同様の処理でDirectXの場合は余裕を持たせてもFPS500ぐらいでした。


236 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 20:03:06 ID:8ByMu9YS]
デフォはDirectDrawベースだから当たり前
PureJavaベースのゲームなら少し前のコンシューマの2Dベースにしておくべき

アルファブレンドが多い場合は自前のエンジンを使ったほうがいい
Java2Dのアルファブレンドは機能が多すぎて高級すぎる
回転とかも同様

あとメモリアクセスを減らすために解像度を下げるとか
今後を考えてレンダリングエンジンはマルチコアに対応させる

現状を考えると320*240-16bppが2DでJavaでの安定動作の限界だと思うよ
それを2倍拡大して描画するのがベストか

Sunはデスクトップ部分に5.0は力を入れるといいつつ
1.4.2とほとんど変わらなかった前科があるから6にも期待薄だな

237 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 20:25:57 ID:15xceU0H]
-serverを指定するだけ多少は速くなるし、メモリ次第かなぁ

238 名前:名前は開発中のものです。 mailto:sage [2006/02/05(日) 21:05:19 ID:8ByMu9YS]
serverはゲームではオススメしない
強度の最適化のために滑らかに動かない


239 名前:名前は開発中のものです。 mailto:sage [2006/03/01(水) 00:33:42 ID:LBMCdldE]
BufferStrategyとpaintComponentを切り替えられるようにすれば
RPGツクールでキーボード名前入力を可能にした感じのゲームも可能なのかな。
でもそんなことしてたらMMORPGなんて作れない気もする。
-serverの件もそうだけど、なんかもどかしい

240 名前:名前は開発中のものです。 mailto:sage [2006/03/01(水) 00:53:30 ID:iPnrcY6D]
一応BufferStrategyはCanvasでも使える
AWTなのであまり込み入った使い方しないように

241 名前:名前は開発中のものです。 mailto:sage [2006/03/01(水) 01:34:48 ID:LBMCdldE]
おお、ホントだ。BufferStrategyは埋め込み可能だったのか。
ゲーム画面上に透明チャット窓とかしようとするのも可能そうだね。
BufferStrategyならAWTとSwingの差分なんてあってないようなものだろうし。
ちょっと希望が湧いてきました。



242 名前:名前は開発中のものです。 mailto:sage [2006/03/01(水) 02:35:02 ID:LBMCdldE]
5.0からAWTにZOrderが追加される。かゆいところに手が届いてら。

243 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 19:59:23 ID:+Bxv4duP]
Swingでrepaintをした場合ってイベントキューで処理されるの?
Timerのタイミングできちんと描画スレッドに渡せますか?

244 名前:名前は開発中のものです。 mailto:sage [2006/03/04(土) 23:22:41 ID:EEF7QBKs]
何を言いたいのかわからんがSwingは普通のSUIのイベント処理だぞ

リペイントわたしてもリペイント範囲のaddされるだけ

連続でrepaint複数渡しても1回しかリペイントされないとかよくあること

これはSwingに限ったことではない
Windowシステムは全部そう

だからTimerでrepaintわたしたからすぐに描画されるわけではない

正確なタイミングでやるならAWTイベントでのリペイントは辞めるべき
BufferStrategyを使うのが正しい
これは内部でDirectXとか使われてるイベントモデルではなく、いわゆる直書きだ

245 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 13:59:16 ID:R322THrX]
>>244 どうもです。
FPS管理するからrepaintのままでやります。
描画に失敗したら致命的というわけでもありませんし。

246 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 14:46:49 ID:o20ilzio]
FPS管理って普通にみんなBufferStrategyでしてると思うぞ
なんか勘違いしてないか?

247 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 15:12:44 ID:R322THrX]
いやJComponentもバリバリ使いたいので。

248 名前:名前は開発中のものです。 mailto:sage [2006/03/05(日) 16:46:58 ID:o20ilzio]
Swingコンポーネントベースのゲームってめずらしいな
ダブルバッファリングをライブラリに任せるのは割ときついからな

249 名前:名前は開発中のものです。 mailto:age [2006/03/15(水) 01:15:11 ID:cXOEjtfT]
保守

250 名前:名前は開発中のものです。 mailto:sage [2006/03/18(土) 15:46:10 ID:bpOUjL+k]

良スレですね。


6年ぶりぐらいにJava触って驚いた〜。
趣味の遊びには最適ですね。



251 名前:名前は開発中のものです。 mailto:sage [2006/03/18(土) 23:01:07 ID:ATXsVevn]
exewrapがJavaゲームの必須アイテムになるのかな?
ヒープサイズをjrockitと同じ物理メモリの75%とかに指定したいんだけど
exewrapにはそういう指定は出来ないんだろうか

128m版と256m版の2つ用意したほうがいいかな・・・うーむ



252 名前:名前は開発中のものです。 mailto:sage [2006/03/18(土) 23:25:32 ID:xwepgm3J]
鯖アプリじゃないんだから物理メモリの割合は意味がないぞ
メモリ増えればGCにかかる時間は増えるわけで、ゲームで使用するメモリ量とかちゃんと計算してないの?
それだとGCとかでかたつかないか?

253 名前:名前は開発中のものです。 mailto:sage [2006/03/19(日) 00:20:58 ID:jd/0wDmz]
単位時間に対するGC率が増えるのって操作性に影響でないの?

254 名前:名前は開発中のものです。 mailto:sage [2006/03/19(日) 00:26:14 ID:UecNa0OI]
100秒ごとに1秒とまるGCと1秒ごとに0.01秒とまるGCとどっちがゲーム向きかということだ

それにわりあいでやられたら世代の調整とかおわっとる
GCのアルゴリズムの種類だって調整するのは常識なんだし
アプリごとに最適な値は大きくことなる


255 名前:名前は開発中のものです。 mailto:sage [2006/03/19(日) 00:34:10 ID:jd/0wDmz]
Mapにキャッシュするサイズ+演算用のサイズで考えればいいんだよね?
最適値というのは演算分のヒープサイズがどのくらいのものなの?

256 名前:名前は開発中のものです。 mailto:sage [2006/03/19(日) 00:50:29 ID:UecNa0OI]
GCの頻度とか使用量とかチェックしてないの?
-verbose:gcオプションいれてごらん

もっと詳しく見たいのならプロファイラで見るのが一番だが
まずはGC部分に注力するならこれが見やすいだろうね


257 名前:名前は開発中のものです。 mailto:sage [2006/03/19(日) 00:58:12 ID:jd/0wDmz]
>>256
OK、チャレンジしてみます。

258 名前:名前は開発中のものです。 mailto:sage [2006/03/31(金) 14:22:07 ID:5bd8BEHK]
当方、子供の頃にZ80アセンブラやBASICでゲームプログラムして遊んでいました。
まぁアルゴリズムとかは結構わかります。

今頃になって、再びプログラムを趣味にしてみようと思いJavaを選択しました。
シンタックスやOOPの基本的なことは大丈夫そうです。
Eclipseインストールしてちょっと感激。

で、問題なのはすこしでもDirectDrawとかFPS管理とか、ちょっとでもシステム寄りの
部分になると全然わからないのです。
いくつかソースを読んでみますと、各人でわりと実装が違うようですね。
Java5ではどんな方法がよいのかなど、参考になるものは無いでしょうか。


259 名前:名前は開発中のものです。 mailto:sage [2006/03/32(土) 00:20:26 ID:dul/XEV4]
>>258
そういう人かなりいるよね
ゲームは問題なく作れるけどウインドウアプリになるとmainからはじまらないので
わけがわからない、と

Javaは一応mainから常に始まるしまだ楽なほう
>>1-11あたりはまずよんでみた?

260 名前:名前は開発中のものです。 mailto:sage [2006/03/32(土) 01:27:44 ID:liMA6BYm]
3/32 記念パピコ

261 名前:名前は開発中のものです。 mailto:sage [2006/04/04(火) 13:36:48 ID:oy1ylhQ+]
eclipseってそんなに良いか?【エクリプス】
pc8.2ch.net/test/read.cgi/tech/1099300344/274-
> 280 名前:デフォルトの名無しさん[sage] 投稿日:2006/04/04(火) 09:53:59
> >>276
> ほんとかよ。
> 2Dゲームの背景にタイルを敷き詰める処理を作ってみたが明らかに遅いぞ。
> これと言って変な処理は入れてないが、5fps出ない。
>
透過pngをImageIO.read()で読み込んで
Graphics.drawImage(Image, int, int, ImageObserver)で表示すると確かに重くなるが
上の奴はこれと同じ状況なのだろうか?



262 名前:名前は開発中のものです。 mailto:sage [2006/04/04(火) 13:41:10 ID:h6nMnOJP]
アルファブレンドだと重いけどただの色抜きなら重くはないよ
5.0ではBufferedImageのままなにもしなくてもそれなりにきくようになってるし
5fpsってありえんね

そもそもソフトウェア描画でもVGAで30fpsはでそうだが

263 名前:名前は開発中のものです。 [2006/04/06(木) 12:59:32 ID:kzyZx0iO]
iアプリを作ろうと思って勉強してるんですが、画像表示で躓いています。

サンプルではちゃんと表示されるんですが、画像を自作のものと入れ替えるとIO.connectionexception
ってのがでるんです。サンプルと同じGIFでサイズも同じにしてあるんですが。自作画像の方に問題が
あるんでしょうか。

264 名前:名前は開発中のものです。 mailto:sage [2006/04/06(木) 14:20:33 ID:mP0GEHd4]
>>263
動かないのが実機かPC上かを明記してもらえるとありがたい
サンプルがどんな処理を行うアプリケーションなのかも関係してくる
情報が少なすぎるのでエスパー回答してみるが、

・ファイルが壊れている
終端コードが無かったり、BMPなのに拡張子だけGIFにしたとか
試しにネット上に転がってる別のGIFファイルでテストしてみては?

・ファイル名の指定が間違っている
サンプルと同じファイル名にしてテストしてみては?
大文字小文字、全角半角の違いがないか気をつけて

・容量がオーバーしている
同じサイズというのはピクセル数のことだと思いますが、
バイト数が上限を超えていないか確認してください。

265 名前:名前は開発中のものです。 [2006/04/06(木) 17:15:27 ID:kzyZx0iO]
適当に書いてすいません。エラーがでるのはDoja3.5のPC上で、ビルドした後実行すると出ます。
サンプルは簡単なもので、画面にタイトルを表示するだけのものです。十枚ある画像を取り込んで
そのうちの一つを画面に表示するものです。

ファイルが壊れている>壊れているかは私に判断できないんですが、自作の画像はwindowsのペイ
ントで書いて、0という名前で(サンプルで表示されるのが0.gif)形式をGIFにしています。

容量がオーバー>サンプルは色付きですが、自作のものは白と黒のみなのでサイズは小さいです。


いろいろ試してみたんですが、サイズの違う画像の時に一回エラーがでずにちゃんと表示されて、
その画像の大きさをいろいろ変えたんてみても上手く表示されました。やはり元の画像が悪いので
しょうか

266 名前:名前は開発中のものです。 [2006/04/06(木) 17:20:56 ID:kzyZx0iO]
あともう一つ。一回エラーが出た後、画像をもとのサンプルの画像にしても、やはり
エラーが出たままなんです。

267 名前:263 mailto:sage [2006/04/08(土) 17:16:17 ID:+i1+4exU]
ソースも画像も変えてないのに何回かやったら表示されるようになりました。
お騒がせしました。264さんありがとうございます。

268 名前:名前は開発中のものです。 mailto:sage [2006/04/08(土) 21:22:15 ID:MsUK1t+N]
何回かやったらってありえね
ビルドしてないとか

269 名前:名前は開発中のものです。 mailto:sage [2006/04/09(日) 20:57:47 ID:S2mcpQ+R]
俺の場合、PCを再起動してみたら正常に動いたってことはたまにある。
メモリが不足してたのかな?

270 名前:263 mailto:sage [2006/04/09(日) 23:11:53 ID:TOyrHTNi]
原因はわからないです。さんぷるの画像の内、一枚だけ入れ替えたらうまくいったんで、
一枚ずつ入れ替えていったらエラーがでなくなりました。言われてみれば一回電源切った
あとかも

271 名前:名前は開発中のものです。 mailto:sage [2006/04/10(月) 02:20:42 ID:tKGbAe46]
>>270
わかんないならもうレスしなくていいよ



272 名前:名前は開発中のものです。 [2006/04/15(土) 01:23:46 ID:sf5nUDiw]
そのくらいのサンプル段階ならソース晒してもいいでしょう
アップローダにアップしては?
gamdev.org/up/upload.php
短いソースならこのスレに書き込んでもいいだろうし。

273 名前:名前は開発中のものです。 [2006/04/15(土) 10:51:05 ID:0dEqMUag]
この板寂しいからレスしてくれよ・・・
書き込みがあるとわくわくする

274 名前:名前は開発中のものです。 mailto:sage [2006/04/15(土) 11:44:35 ID:HLCHM0Al]
最近アプレットは流行らないよな。
このスレはJavaアプリのこと?アプレットのこと?
サーバ側の話?J2MEのこと? なんでもあり?

それよりなにより、漏れは女とJavaTea飲みたい。

275 名前:名前は開発中のものです。 mailto:sage [2006/04/15(土) 16:50:42 ID:hisjoupK]
MEは実装依存度が高すぎるからそちらのスレで
基本はJavaアプリだろうね

アプレットは社内用リッチクライアント用途ではかなりいいけど
アプリと違って起動時のパラメータとかチューニングが限界がある

アプリによってメモリやGC等の設定は細かくかえるのが普通だから
ゲーム用ではさほど・・
フルスクリーンとかファイルアクセスとか限界もあるしね

手軽に配布ということでフラッシュ程度でいいのならフラッシュで作ればいいし
JavaでやりたいのならWebStartにしたほうがまし

JRE同梱してアプリにしたほうがいいよ

276 名前:名前は開発中のものです。 mailto:sagw [2006/04/15(土) 18:40:50 ID:nQHtm5rD]
某スレに幾つかアプレットの2Dゲームが上がってるけど、
速度的には全然遜色ないな。
アプレットでも結構作れる事は作れるけど、開発環境などその他諸々の点で
フラッシュの方が断然上。
アプレットでゲームを作るメリットは何もないよ。


277 名前:名前は開発中のものです。 mailto:sage [2006/04/15(土) 18:57:48 ID:AcPPvKEl]
無料でまともなFlash開発環境があればいいんだけどな

278 名前:名前は開発中のものです。 mailto:sage [2006/04/15(土) 19:10:16 ID:Vc+Xe/9j]
ActionScript経由でFlashの機能は全部表現できるんだよね?
だったらActionScript3.0がパブリッシュ(コンパイルの意)出来る環境があれば
あとはAPIリファレンスを手に入れるだけで何とかなりそう

279 名前:名前は開発中のものです。 mailto:sage [2006/04/15(土) 21:04:45 ID:hisjoupK]
>>276
配布を考えればの間違いでは?
開発環境はアプレットのほうがどこをどう考えても上

アクションスクリプトきっついよ


280 名前:名前は開発中のものです。 mailto:sage [2006/04/15(土) 22:36:11 ID:lpccgP2z]
>>276
ASの開発しづらさを知ってて言ってるのか?
マジキツイっての、アプレットと作り比べてみろよ。

281 名前:名前は開発中のものです。 [2006/04/21(金) 18:53:51 ID:7zcsjMK6]
Java使えればゲーム以外にも仕事で役立ちそう
Flashは覚えても応用範囲が狭そう



282 名前:名前は開発中のものです。 mailto:sage [2006/04/26(水) 22:50:39 ID:h83t4bfk]
>>281
俺はC→AS→Javaだったよ
ASだけは遊びで覚えたんだけど、OO開発の基礎は自然と身についた
MovieClipの仕様がいいんだろうな

283 名前:名前は開発中のものです。 mailto:sage [2006/04/29(土) 05:29:13 ID:e8m8pSlv]
みなさんゲーム作ったんですか?
ここじゃ晒さないんですか?

284 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 20:40:07 ID:nUaQGh3S]
フリーのは、ふりーむ!とベクターで公開してる。
有料のはDLsite.com等で販売中。


285 名前:名前は開発中のものです。 [2006/05/07(日) 00:14:23 ID:W2WiM6Ar]
知っている方がいらっしゃったら教えてほしいことがあります。

以前j2re1.4.1_02でフルスクリーンとウィンドウモードを切り替えるものを作ったのですが
1.5.0_06では解像度の変更が正しくうごかないという事に当たりました。

手順は
1)フルスクリーンにする
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = ge.getDefaultScreenDevice();
DisplayMode fullscreen = new DisplayMode(640, 480, 32, DisplayMode.REFRESH_RATE_UNKNOWN);
device.setFullScreenWindow(fullscreen);

2)排他を解除しウィンドウモードにする

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = ge.getDefaultScreenDevice();
device.setFullScreenWindow(null);

この後で1)を行った場合、1.4.1_02ではフルスクリーンで解像度が変わったのですが
1.5.0_06ではフルスクリーンにはなるが解像度が変わらないということになりました。

何かご存知の方がいらっしゃったらお願いします。

286 名前:285 [2006/05/07(日) 00:27:33 ID:W2WiM6Ar]
書き忘れていました。
1)では決まったフレームをフルスクリーン指定してます。

device.setFullScreenWindow(frame);



287 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 02:17:45 ID:5a9PuC3k]
元々フルスクリーンと行き来するとリークが発生するから起動時に選択させるほうがいい

ところで意味が分かりにくいのだが
1>2>1ってこと?

288 名前:285 [2006/05/07(日) 02:57:40 ID:W2WiM6Ar]
>287

>元々フルスクリーンと行き来するとリークが発生するから起動時に選択させるほうがいい

ありがとうございます、その方向で考えてみます。

>1>2>1ってこと?

そうです。

289 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 11:37:59 ID:5a9PuC3k]
いまやってみたけど画面ちゃんと切り替わったよ

290 名前:285 [2006/05/07(日) 14:11:36 ID:W2WiM6Ar]
>289

j2re1.4.1_02では、繰り返し切り替えたときにちゃんと解像度も一緒に変わったのですが
1.5.0_06ではフルスクリーンにはなりましたが、二度目以降のフルスクリーン切り替えで
解像度が変わりませんでした。(一回目はちゃんと解像度が変わるようです。)

もしうまく切り替わったのでしたらソース、上げていただけませんでしょうか?

291 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 14:15:43 ID:5a9PuC3k]
こんなかんじ

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = device.getDefaultConfiguration();
DisplayMode mode = new DisplayMode(640, 480, 32, DisplayMode.REFRESH_RATE_UNKNOWN);

JFrame frame = new JFrame(gc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

Thread.sleep(1000);

device.setFullScreenWindow(null);

Thread.sleep(1000);

device.setFullScreenWindow(frame);
device.setDisplayMode(mode);



292 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 14:17:41 ID:5a9PuC3k]
注意事項としてウインドウモードとフルスクリーンモードで
色深度が違う場合テクスチャキャッシュとか全部作り直してね

異なる色深度で転送を行うとすごく遅くなる

293 名前:285 [2006/05/07(日) 14:20:50 ID:W2WiM6Ar]
ソース、ありがとうございます。
確認してみます。

294 名前:285 [2006/05/07(日) 15:30:17 ID:W2WiM6Ar]
>292
先ほどのソースありがとうございました。
フレームの非表示をフルスクリーンとウィンドウ毎にきりかえりため
毎度フレームをdisposeし、再作成していたが原因でした。
ところで、上記ソースのやり方でフルスクリーンのときにだけ
frame.setUndecorated(true);
を有効にしたいとおもい、いくつか試しているのですがうまくいっていません。
作成していたソースを載せておきますので、再度も一度だけご指摘いただけますでしょか?

295 名前:285 [2006/05/07(日) 15:33:08 ID:W2WiM6Ar]
以下がソースです。

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = device.getDefaultConfiguration();
DisplayMode mode = new DisplayMode(800, 600, 32, DisplayMode.REFRESH_RATE_UNKNOWN);

JFrame frame = new JFrame(gc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

System.out.println("初期表示");

frame.setSize(800, 600);

frame.setResizable(false);
frame.setLocationRelativeTo(null);//中央配置
frame.setVisible(true);

Thread.sleep(10000);
System.out.println("フルスクリーンへ");
//frame.setUndecorated(true);//フレームの非表示
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

Thread.sleep(10000);
System.out.println("ウィンドウモードへ");
device.setFullScreenWindow(null);

296 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 16:01:17 ID:5a9PuC3k]
>このフレームの装飾の有効化と無効化を切り替えます。
>フレームが表示されていない時にだけ呼び出すことができます。

マニュアルどおりだと思うんだが

タイトルバーの表示、非表示はフレームが表示されているときは駄目
一度非表示にする必要があるよ


297 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 16:03:32 ID:5a9PuC3k]
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = device.getDefaultConfiguration();
DisplayMode mode = new DisplayMode(640, 480, 32, DisplayMode.REFRESH_RATE_UNKNOWN);

JFrame frame = new JFrame(gc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

for(int i=0; i<10 ;i++){
Thread.sleep(1000/2);

//ウインドウモード
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(false);
device.setFullScreenWindow(null);
frame.setVisible(true);

Thread.sleep(1000/2);

//フルスクリーンモード
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
}

298 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 16:06:27 ID:5a9PuC3k]
あ、最後フルスクリーンモードで終わってるんでALT+F4な


299 名前:285 [2006/05/07(日) 17:03:17 ID:W2WiM6Ar]
丁寧な反応、本当にありがとうございます。
setVisible(false); の後でdisposeが必要なのですね、
わからずに数ヶ月引っかかっていました。
297でいただいたサンプルなのですが、最後のフルスクリーンの状態で
解像度が640, 480ではなく元に戻っていませんでしょうか?
これを何とかできないかなと
//フルスクリーンモード
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);
としてみたのですが、今度はウィンドウモードの解像度が戻らなくなってしまいました。
これが一番最初の質問と同じ状態のようです。

300 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 17:32:54 ID:5a9PuC3k]
ウインドウモードのタイミングが指定がおかしかった


//ウインドウモード
device.setFullScreenWindow(null);
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(false);
// device.setFullScreenWindow(null);
frame.setVisible(true);

としてごらん

301 名前:285 [2006/05/07(日) 18:08:49 ID:W2WiM6Ar]
ありがとうございます。
切り替え動くようになりました。
動くようになったので調子に乗って切り替え100回とか試してみたら
java.lang.OutOfMemoryError
がでてきました。最初におっしゃってたように、あまり頻繁に切り替えるもんじゃないって事なんですね。




302 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 15:25:13 ID:ii7Fciy7]
ソース見直してたらstaticでいいのにインスタンス生成してる部分が結構あった
インスタンス生成よりstaticの方が軽い、速いかな?

303 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 16:50:48 ID:BdqQPpYt]
Java的にはstaticはできるだけ使わないほうがいいらしいけど

304 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 17:54:55 ID:oSIIzbHZ]
オブジェクトはプールしないで積極的に生成破棄してくれ
世代別GCとの相性を考えるとこれ

305 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 22:27:04 ID:p8kDUjWo]
>>303
実装するにあたって、static変数が必要なデザインパターンもあったんじゃね。


306 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 23:23:28 ID:j9harUZK]
>>303
そういう覚え方はよくないよ。勉強しなおしたほうがいい。

307 名前:名前は開発中のものです。 mailto:sage [2006/05/16(火) 11:01:52 ID:oJeJmTzF]
ドラクエってさ、コマンド選ぶと前のコマンドがバックに表示されたまま
次のコマンドが出るじゃん それでキャンセルで現在のウィンドウが消えて
前のコマンドに参照が戻るよね
あれってそれぞれにバッファ用意してやるしかないかな?
たとえば道具→使う→誰に なら
道具を表示するバッファ
道具、使うを表示するバッファ
道具、使う、誰にを表示するバッファ
みたいに

308 名前:名前は開発中のものです。 mailto:sage [2006/05/16(火) 11:35:56 ID:pNczDPI9]
ファミコン時代にバッファがあったと思うか?
ひたすら上書き

ウインドウが消えたらアクティブになったウインドウの描画

それだけだよ


309 名前:名前は開発中のものです。 mailto:sage [2006/05/16(火) 11:37:03 ID:pNczDPI9]
一応レイヤーという考え方もありだが、いまだとそっちのほうが楽だろ
それぞれウインドウ内のみの描画管理
画面全体の描画でそれらを適切に呼び出す

310 名前:名前は開発中のものです。 mailto:sage [2006/05/20(土) 04:48:56 ID:i7QcIrxX]
>>308-309
遅くなったけどサンクス
なんとなく分かってきた

キャラやアイテムのリスト作るのが面倒臭いな・・・
存在してるキャラ、所持してるアイテムを調べてリストにして
多ければウィンドウをスクロールさせなきゃならぬ
面倒だけどがんばるか・・

311 名前:名前は開発中のものです。 mailto:sage [2006/05/20(土) 09:04:00 ID:R0av8b56]
面倒か?
わからなければ先にUMLでもなんでもいいけど処理の手順を書いたほうがいい




312 名前:名前は開発中のものです。 mailto:sage [2006/05/21(日) 05:45:05 ID:BQPLtheI]
処理を考えるのが一番面倒だ
きちんと順序立ててやってみるよ・・

313 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 04:54:34 ID:rAUj867u]
俺はデータモデルの設計が一番面倒だなぁ。
変更や拡張に強く、ネットワーク越しの同期の取りやすいデータモデルをとか考え出すとはまり込む。

314 名前:507 mailto:sage [2006/05/22(月) 19:16:41 ID:KUql4eEY]
Javaを最近勉強しはじました。
とりあえず簡単なゲームを作りたいと思っているのですがどれ位勉強すればいいですか?

315 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 19:27:29 ID:bgWiXtf3]
ゲーム作りで勉強すれば
そういう本最近多いし

316 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 14:28:37 ID:qGRGm1GF]
if else で100近く分岐しそう・・
激重かな

317 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 15:24:24 ID:5zoiL+RS]
>>316
どういう風に分岐させたいんだ?

318 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 15:30:17 ID:nyPWq5Mq]
100こくらいのifでおもくなるって10MHz切ってるマシンの人かな


319 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 22:43:16 ID:qGRGm1GF]
>>317
たとえばさ、魔法クラスがあって、そのメソッドに魔法No.をわたして
そのメソッド内で渡されたNo.によってswitchで分岐させるとか

話がswitchになっちゃったけどswitchは数しかつかえないんだよね、たしか
それ以外で識別したいならif elseしかないと思って

あと、変数は少ないけどメソッドがたくさんあるクラスのインスタンスを
100個くらいつくるとメモリがやばかったりするかな?

320 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 22:51:29 ID:wlFUtSp+]
class Magic
{


321 名前:320はミス mailto:sage [2006/05/23(火) 22:57:01 ID:wlFUtSp+]
abstract class Magic{
public abstract void perform();
}
みたいにして、個別の魔法はこれを継承するようにするとJavaらしくなるよね
実際にゲームを完成させる気ならこんなことしないだろうけど

メソッドはたくさんあっても問題なし



322 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 23:14:15 ID:qo1KKw1q]
デザインパターン立ち読みでもいいからおぼえとくといいぞ

制御とデータをわけるという考え方は
Cとか構造化言語までのものだ

323 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 23:18:59 ID:qo1KKw1q]
>>321
いや、ゲームでも普通はそういうプログラムを書く

それと識別させたいのならenumを使え
switchもつかえるし

324 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 23:34:50 ID:qGRGm1GF]
レスサンクス
おかげで設計ができてきた
enumすか・・あまり馴染みがないから学ぶよ

ところで>>321の4,5行目が素でわからない
アフォですまぬ
教えてもらっていい?

325 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 00:05:11 ID:qo1KKw1q]
ポリモーフィズムとかStateパターンとか
そのへんしらべてみるとわかるよ

326 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 00:29:52 ID:0rz/nhQ6]
おk、ゲーム作りながら勉強する
いろいろサンクス

327 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 11:28:27 ID:MsTUcez+]
VectorにStringとInteger入れて、取り出すときに
Integerの要素をStringでキャスト、変換したり
Stringの要素をIntegerでキャスト、変換したら
エラー出るかな 面倒くさいんでInteger、Stringで統一してるんだが

勉強すればわかることだけどもしよければレスちょうだい

328 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 11:38:38 ID:EufEKVaf]
それぞれIntegerとStringが対応してるんなら
class (名前)
{
public String getString();
public Integer getInteger();
}
みたいなクラスを作る

対応してないんだったら、String用のVectorとInteger用のVectorを別にする

329 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 11:49:40 ID:ryxQUfnb]
キャストはかならずクラスの関連性がないと無理
かならず数字を含む文字列ということであれば格納前に返還すればいいだけの話だが
この情報だけではどうしたいのかがわからない

あとゲームということは多少パフォーマンス気にすることも多いのだろうから
Swing部分使わないのならVectorよりはArrayListで

シングルスレッドならパフォーマンスはまずかわらんけどな


330 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 13:09:54 ID:MsTUcez+]
即&わざわざレス感謝
ArrayListの方がパフォーマンスいいのか・・・
大分Vector使ってコード組んじゃったから、今度からはそうしよう
RPGだからスレッドはマップのキャラ動かすのとアニメーションくらいしか使わないと思う

Vectorの指定された要素がIntegerかStringかで
変換、キャストしたのちifで分岐させて処理を分けたいと思ったんだけど
やっぱり元々のVectorを別にした方がわかりやすかった 対応してないし

話変わるけど、コマンドの実装が面倒だ・・
移動コマンド、アイテムコマンド、魔法コマンド、使用対象コマンド・・
それぞれにクラス作ってそのクラスのキーイベント処理メソッドを
現在のコマンドモードによって呼び分けなきゃならん
いい方法ないかな

331 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 13:39:56 ID:8ehQx4Ia]
よくわからんがキーイベントにゴリゴリ書いてるのか?
それならフレームワークの設計自体からやりなおしたほうがいいぞ



332 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 13:57:59 ID:MsTUcez+]
ゴリゴリ書いてる・・
とりあえず組んでみようとは思ったがマジで勉強が足りんらしい
チラ裏スマソでした

333 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 14:12:56 ID:8ehQx4Ia]
キーイベントではキーの入力フラグを上げ下げするだけ
そしてゲームのループ内でそのフラグを読み取る

これでおけ

334 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 14:23:34 ID:MsTUcez+]
ゲームループ内だとkeyTypedメソッドが呼ばれてから
時間差があるかもと思ってkeyTypedメソッドから
直接各コマンドクラスのメソッドを現在のコマンドモードで分岐させて呼んでた

ドラクエみたいなのを再現しようと思ってるんだがゲーム作りって難しいな
俺のゲーム作りが終わるまでJavaが生き残ってるといいんだけど・・

ここの住人はレベル高いね スレ汚しスマソでした

335 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 14:52:54 ID:8ehQx4Ia]
ループ内は60fpsとか固定でチェックするから問題ないよ

というか、普通のゲームはイベントで処理するところはほとんどないから
それを隠すためのフレームワークというかそんなもの

まず言語的にJavaがどうのこうのというよりゲームプログラミングに対しての
技術がちょっと足りないかなぁという感じがする

10~20年前だったらゲーム作りとかいろんな本で毎月雑誌に載ってたんだけどな

いまじゃ残ってるプログラム雑誌がなくなってるし、ユーザーが求めるものが
高すぎてギャップで苦しんでる人が多いのはつらい時代だな

とにかくメインループで取得して状態に応じてswitchで戦闘時なのか移動時なのか
キャンプコマンド中なのか分離するようにかけばおけ

336 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 17:41:03 ID:MsTUcez+]
ゲームの作り方か・・
一から設計見直すよ
マジで参考になった、ありがとう

337 名前:名前は開発中のものです。 [2006/05/28(日) 16:35:03 ID:su6FTHmr]
C++だとエフェクト(爆発とか)は加算合成を使うって書いてあるんですがJavaでも同じような方法で実装する手段ありますか?

338 名前:名前は開発中のものです。 [2006/05/28(日) 17:06:46 ID:oT4lybEG]
Java2Dには通常合成はあるが加算合成はない
自前で実装するかJOGLとかで3Dで描画するしかない

>>11とかのライブラリに単純な合成がある模様

339 名前:名前は開発中のものです。 mailto:sage [2006/05/28(日) 22:35:07 ID:L8EQs44V]
>316
ifをバイナリツリーみたいな構造にすれば
log2(100)の回数の比較だけで済むんじゃないか?

340 名前:名前は開発中のものです。 mailto:sage [2006/05/30(火) 19:56:51 ID:AkbGbw5f]
mpeg2のような差分圧縮形式のシーケンシャルアニメーションって負荷高いですか?
レイヤー可能でそれを実現できたらコンパクトになるなと思ったのですが

341 名前:名前は開発中のものです。 mailto:sage [2006/05/30(火) 21:02:41 ID:bnvMLnBd]
Javaの質問と関係ないな
効率がいい場合と効率が悪い場合があるっしょ



342 名前:名前は開発中のものです。 mailto:sage [2006/05/30(火) 22:16:22 ID:AC7eOzy5]
>>339
ポリモフィズムで解決という結論がとっくに出ていると思うのだが


343 名前:名前は開発中のものです。 mailto:sage [2006/05/31(水) 19:31:13 ID:kqayNosp]
みんなが配布物に同梱してるSPIってOGG Vorbisくらい?
これが便利ってのがあったら教えてください。

344 名前:名前は開発中のものです。 mailto:sage [2006/05/31(水) 22:06:19 ID:H+lYwXra]
だろうね
OggVorbisさえ再生できればだいたいこまらん


345 名前:名前は開発中のものです。 mailto:sage [2006/06/01(木) 20:01:54 ID:oy8AdH4m]
Javaのゲームライブラリ作成中。Flashの1/2くらいの表現力、生産性が目標。
まぁ皆も半月くらいでライブラリは作って、オーサリング環境作るのに挫折するんだろうけどね。

346 名前:名前は開発中のものです。 mailto:sage [2006/06/01(木) 23:16:05 ID:mTuQuIix]
普通に考えてFlashより表現力は上だし
生産性もFlashはスクリプトがおわっとるからまけないだろ

347 名前:名前は開発中のものです。 mailto:sage [2006/06/01(木) 23:24:39 ID:IyLxQihX]
実行環境の普及率と人々のイメージ

348 名前:名前は開発中のものです。 mailto:sage [2006/06/02(金) 02:24:25 ID:IlXUhKKR]
FLASHと比べるんだからブラウザ上で動かすんだよな
・MIDIや圧縮音声を再生する
・BGMと映像を確実に同期させる
・表示サイズを変更するとそこそこのクオリティで拡縮表示する
あたりが大変そうだ

349 名前:名前は開発中のものです。 mailto:sage [2006/06/02(金) 07:57:55 ID:OCsBTCKI]
・JavaSoundでmidiと圧縮音声は問題なく可能。すぐ上でOggの話が出てる。
・BGMとの同期はそうつくればいいだけ。
・拡大縮小時にアンチエイリアスをかけるかどうかの設定が可能。アルゴリズムも設定可能。

別に大変じゃないし


350 名前:名前は開発中のものです。 mailto:sage [2006/06/02(金) 21:25:12 ID:cNNwG7w6]
Flashは、例えばMovieClipの完成度の高さが大いに参考になる。
あれはComposite、Prototype、Flywightなどの
パターンの組み合わせがかなり洗練されててしかも使いやすい。

なんかFlash8.5からはさらに高度なAPIを持つらしいし
実装の研究をする教材としてはかなり好奇心がくすぐられる。

351 名前:名前は開発中のものです。 [2006/06/05(月) 07:16:50 ID:voSd2aR7]
JavaでノベルゲームとかRPGって作れますか?



352 名前:名前は開発中のものです。 mailto:sage [2006/06/05(月) 10:04:02 ID:EcpAwWeS]
macromediaはずっとデザイナー偏向で作ってきたけど
adobeとの合併で技術者向けのAPIも良くなってくと思う

でもFlashの対抗馬である事に関して、Sunは殆ど興味ないみたいだな
5年前のJavaに今の速度があればいい勝負になってたかもしれんのに

>>351
うん

353 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 01:13:29 ID:wO6xzgzA]
>>351
余裕

>>352
Flashの代替はのぞんでないだろ
今はアプリと鯖メインでは?

ただJAX-WSとかGroupLayout標準装備があるんで
企業向けではアプレットやWEBStartが今でも多少使われているのが
今後さらに加速するかも


354 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 23:16:48 ID:/CfzneHU]
個人的にはアプレットが一番好きだ
Webで公開して気軽に遊んでもらえるし

355 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 23:20:22 ID:wO6xzgzA]
1.1時代のアプレットだとまともにうごかんしな
1.2以上だと別途セットアップが必要
1.2時代のJREなら今のブロードバンド時代なら問題は少ないのだが
5.0のサイズはすげぇ
1.4がかわいく見えるくらい


356 名前:名前は開発中のものです。 [2006/06/07(水) 21:23:04 ID:IghNSOPk]
今はJavaくらいふつうに入れてない?
メーカー製パソコンとかって入ってないの?

357 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 21:41:53 ID:4a3JF+Q3]
まあJREも楽勝でインスコできるからな

358 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 23:03:47 ID:k1IxK3O2]
>>356
バージョンは買ったときのマシンでばらばらだしそれを期待するのはちときつい
ゲームなら新しいバージョンになればどんどんよくなってるのが敏感にわかる

359 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 15:09:12 ID:LwkvhD3f]
>>354
JavaWebStartも良くない?
あれ対応のゲーム出てくると使う側としては楽チンなんだが。見ないね。

360 名前:名前は開発中のものです。 [2006/06/14(水) 17:48:02 ID:Kbfca28q]
Javaで簡単なゲーム作るにはどれ位勉強すればいいですか?

361 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 18:00:49 ID:gnk1ZbZr]
「簡単なゲーム」の定義と脳味噌の質によります



362 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 18:55:46 ID:oiUcwSTz]
>>360
3じかん位かな?

363 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 20:43:32 ID:E7n+afyq]
アプレットにしてもWebStartアプリケーションにしてもセキュリティの問題がつくからね

364 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 21:01:18 ID:KYL0jDeY]
>>363に横から追加
Java Web Startってサーバー側にmime-typeの追加が必要だから、
レンタル鯖じゃ動かない可能性あり。

MIME-TYPE:application/x-java-jnlp-file

365 名前:名前は開発中のものです。 mailto:sage [2006/06/15(木) 13:30:54 ID:tNRE7/uO]
>>364
そこは連鎖場屋の中の人にMIME-TYPEの使いを頼めばなんとかなる予感。

366 名前:名前は開発中のものです。 mailto:sage [2006/06/16(金) 00:52:38 ID:yygRlJ/S]
apacheなら個人でもなんとかなるが、運用次第だな


367 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 12:40:34 ID:msfIS4LL]
レンタルサーバーでJMSとか使えないかな
ApacheのActiveMQとかで低負荷のCGI代わりに使いたい

368 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 13:13:35 ID:Z2AWkk9k]
1台丸ごと借りるならいけるけど
月1,2万かかるよ

369 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 13:31:48 ID:msfIS4LL]
それだと完全にASP側に回ってるのと変わらないね
diceやtalkなどシンプルな機能をメッセージングできれば
使い方を決めるのは利用者側みたいなのイメージしてたんだが

370 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 14:46:45 ID:Z2AWkk9k]
DBにしてもレンタル鯖のは使い物にならないのと同じ

371 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 17:29:15 ID:cZqcM90l]
昨今のDIブームに乗ってアスペクト志向を取り入れようとして挫折気味
設計だけが楽しいみたいな状態に陥ってしまったw



372 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 18:48:38 ID:Z2AWkk9k]
ゲーム開発でアスペクトが生きるかどうかはデバッグ時以外では微妙だが
DIはたぶん便利になる
俺も次のゲーム開発ではDIで開発するつもり

373 名前:名前は開発中のものです。 [2006/06/17(土) 23:46:12 ID:2TpnxAFo]
ゲーム開発でDIって例えばどんなの?

374 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 23:58:20 ID:kRFswYuv]
例えば以下の内容を記述した設定ファイルを用意する
<resource id="hoge" path="rsrc/hoge.jpg" gen="org.hoge.SPIImageLoader"/>

んで

ImageLoader il = new ImageLoader(conf_path);
BufferedImage img = (BufferedImage)il.getImage(id);

これが基本形。こっからどうするかは腕次第。

375 名前:名前は開発中のものです。 mailto:sage [2006/06/19(月) 21:46:48 ID:Zb7E8WNx]
サウンドにフェード(イン/アウト)、パン(レフト/ライト)の加工をしたいのですが
ぐぐって見た限りではそれらしきところが見当たりませんでした。
これらは割りと基本的なものだと思っていたのですが、Javaにはない機能なのでしょうか?

376 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 00:23:13 ID:z0sECMlC]
あります

377 名前:名前は開発中のものです。 mailto:sage [2006/06/24(土) 21:54:42 ID:pcuzjDvS]
フェードはFloatControlで出来ると思うけど、パンってどうすればできるの?
2スピーカーなら2スピーカー分のFloatControlが必要になるよね?

378 名前:名前は開発中のものです。 mailto:sage [2006/06/24(土) 22:08:59 ID:pcuzjDvS]
あ、そういうことか。自己解決orz

379 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 14:38:34 ID:fAOFmqJM]
MIDIのSequencerでループさせようとしても
ループの開始時のgetTickPosition()が-2000とかなって余計な雑音が入る。
setLoopStartPoint(0)と設定しても効果なし。
現在はisRunning()でsleepはさむ方法でループさせているが気持ち悪い。

何かよい解決方法があれば教えてください。

380 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 16:59:01 ID:B6He1TJy]
MIDIに送り出す部分を自分で作ってるの?
そうではなくMIDIファイルから単に流すだけならループ関係はどうしようもないよ

音源ドライバとか昔の8bit16bit時代ならいくらでも情報は手に入るから
そのへんさがすしかないかな

381 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 20:25:58 ID:US/w5wC7]
Java2Dと違ってJavaSoundはちょい敷居が高めだね
ogg対応かつ簡単なエフェクトが掛けられるAudioClipが登場してほすぃ
標準で。



382 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 20:36:42 ID:AQjDLDTE]
AudioClipは使い物にならないから今の実装だとoggが再生できてもいらね

383 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 20:42:16 ID:US/w5wC7]
だからand条件つけてるやんw

384 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 21:37:23 ID:AQjDLDTE]
エフェクトつけれたところでいらんだろ
あんなバッファサイズ最大制限が小さくオンメモリ必須なClipは

実装上の問題で音楽にも効果音にも使えないし

あとJava2DよりJavaSoundのほうが敷居は低いと思うよ
5.0以上ならだいぶ使いやすくなったJavaSoundにたいしていまだにアクセラレーションの聞く範囲がせまく
アルファブレンドもほとんど使えないJava2Dよりはね

385 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 21:43:50 ID:US/w5wC7]
それは「敷居」とは関係ないのでは?

386 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 22:12:46 ID:AQjDLDTE]
いやいや十分敷居は高いよ

ゲーム用と出ないのならさほど意識することはないのだろうが、
ソフトウェア転送になると目も当てられない

ム板ならともかくこの板ゲーム製作板だしね

387 名前:名前は開発中のものです。 mailto:sage [2006/06/26(月) 20:32:48 ID:MgtqB2cg]
アルファブレンドが敷居が高いとか馬鹿なこと言ってるし
そもそも敷居の意味がわかってないようだな

388 名前:名前は開発中のものです。 mailto:sage [2006/06/26(月) 23:48:06 ID:6e6dhTU9]
アルファブレンドじゃなくてアクセラレーションがきかない描画ってのが敷居が高い。
JavaSoundは非常にシンプル。DirectSoundやってたならすぐにわかるだろうさ。

ようは2Dの知識がない人がJava2Dを扱うのが大変と感じるか
Soundの知識がない人がJavaSoundを扱うのが大変と感じるかの違い。

まったく知識がない場合どちらも難しいだろうが、Java2Dのほうが範囲が広すぎて難しいと思われ。
JavaSoundのほうが難しいと感じるのならあなたは2Dの知識はそれなりにあって
Soundのほうが苦手ということだろう。

389 名前:名前は開発中のものです。 mailto:sage [2006/06/27(火) 00:34:52 ID:VajeLVWc]
所詮はビットマップなのに何が難しいんだか

390 名前:名前は開発中のものです。 mailto:sage [2006/06/27(火) 00:54:30 ID:RNb1/qTw]
java 画像 の検索結果のうち 日本語のページ 約 3,610,000 件中 1 - 10 件目 (0.04 秒
java 音楽 の検索結果のうち 日本語のページ 約 2,310,000 件中 1 - 10 件目 (0.03 秒)

java イメージ の検索結果のうち 日本語のページ 約 1,780,000 件中 1 - 10 件目 (0.09 秒)
java サウンド の検索結果のうち 日本語のページ 約 710,000 件中 1 - 10 件目 (0.11 秒)

"java.awt.image" の検索結果のうち 日本語のページ 約 38,500 件中 1 - 10 件目 (0.02 秒)
"javax.sound" の検索結果のうち 日本語のページ 約 11,400 件中 1 - 10 件目 (0.02 秒)

これで十分だろ、以降馬鹿レス禁止。

391 名前:名前は開発中のものです。 mailto:sage [2006/06/27(火) 10:22:35 ID:GJGczP/s]
検索結果が多いということはわからないからネタにしているのかその逆なのか判断は難しいな
あとJava2Dはピクセル単位での処理だけじゃないから割と面倒だよ



392 名前:名前は開発中のものです。 [2006/07/09(日) 17:44:21 ID:O0aQTArO]
今日書店寄ってきたが、3冊あったJavaゲーム本で
JavaSoundに触れていた本は0冊だったw
Javaでゲームなんて作ってんじゃねーよって感じなのだろうか

393 名前:名前は開発中のものです。 mailto:sage [2006/07/10(月) 14:41:59 ID:7etPnpyv]
まず、MIDIが使えない。
JavaのMIDIデバイスは古いバージョンのままで、多くのファイルが
正常に演奏できない。音が変になる。
OSのMIDIデバイスを取得して、その出力ポートに切り替えるメソッドは
どうやら中身が実装されておらず、事実上切り替えられない。

Waveは正常に演奏できるけど、そのショートカットであるAudioClipは、
短い曲だと何故かloopでしか演奏できない。さらに幾つインスタンスを作っても、
同じファイルデータだと勝手に一つのWaveハンドルに一本化してしまう様で、
同じWaveを複数同時に演奏できない。

陳腐な批評になるが、SUNのAPIは設計は最高なんだけど実装が・・・・

394 名前:名前は開発中のものです。 mailto:sage [2006/07/10(月) 21:24:37 ID:ykWXL1Xc]
>>392
ゲーム本じゃないけど
これの最後の章あたり、ちょこっとSound APIに触れてた
ま、これだけのために買うのはもったいないが・・・
ttp://www.oreilly.co.jp/books/4873112788/toc.html

あと俺の知ってるのは
JavaWorld 2001年10月号、2004年5月号
Cmagagine 2002年8月号と9月号
にちょろっと載ってた
javax.sound.sampledパッケージ使って
複数の音声を同時に再生とかやってた


395 名前:名前は開発中のものです。 mailto:sage [2006/07/12(水) 00:08:04 ID:ndOxEXf9]
>393
Java 5.0あたりでは多くのMIDI問題は修正されているんじゃないの?

396 名前:名前は開発中のものです。 mailto:sage [2006/07/12(水) 00:31:43 ID:6aHYcbBn]
MIDIで音が変になるか?

AudioClipはまともな実装にしてほしいのは同意
結局自分でソースライン書くしかないからね
せめてバッファ長とか指定できねーのかな

それでもDirectSoundくらべてかなり楽なのはいいけどね


JavaSoundは本読むより実際にいじってみるほうが早いよ
難しくはないし、5.0以降でかなり楽になってる
ただ、JavaSoundDemoが5.0で動かないとかがあふぉすぎ

397 名前:名前は開発中のものです。 mailto:sage [2006/07/21(金) 19:29:07 ID:rgZqd6WV]
>MIDIで音が変
サウンドバンクのせいじゃね?
www.new-arrow.com/~pc/game/soundbank/soundbank.html


398 名前:名前は開発中のものです。 mailto:sage [2006/08/05(土) 23:05:31 ID:Uq7IRr/q]
JOGLでGLJPanelは速度的に使えない?
jogl-demosのJGaersで35fps位しか出ないんだけど…うちのオンボードのビデオが弱すぎ?

Javaのバージョンは、1.6.0-beta2と1.5.0_07
JOGLのバージョンは、JSR-231 beta 05 - June 8

OS: WindowsXP Professional SP2
INIT GL IS: com.sun.opengl.impl.GLImpl
GL_VENDOR: Intel
GL_RENDERER: Intel 915G
GL_VERSION: 1.4.0 - Build 4.14.10.4363

399 名前:名前は開発中のものです。 mailto:sage [2006/08/06(日) 01:44:54 ID:kmAOB+5B]
jwsのdemoみてみたけどfps表示されないね
昔見たような気がしたけど

400 名前:名前は開発中のものです。 mailto:sage [2006/08/06(日) 02:36:29 ID:A5aINFFL]
>>399
jwsのdemoにあるGaresはGLCanvas(AWT)使用の物です。

JRefractを起動してGaersを呼び出すか、
jogl-demos.jarを落としてJGaersを実行するかすれば、
fps表示有りのGaers(GLJPanel swing使用)が起動します。

401 名前:名前は開発中のものです。 mailto:sage [2006/08/06(日) 16:06:10 ID:kmAOB+5B]
さんきゅ
JOGLなんて久しく触れてなかったから忘れてたよ

結果からいうとTransparentのチェックいれるとCPUパワー使い切って描画サイズ大きくすると
35fps前後まで下がるけど、これはずすとサイズに関係なく40fpsでCPU使用率は低い

自動リフレッシュはMAXが40fpsなのかな
ウインドウを動かすとfpsが上がって滑らかになるところを考えるとたぶん余力はある・・・のか
描画をすべておぺnGLでやってる場合はアクセラレーションがきいていると考えてよさそうだ

ソース読んでないけど



402 名前:名前は開発中のものです。 mailto:sage [2006/08/06(日) 17:49:22 ID:A5aINFFL]
>>401
うちの環境(>>398)だと初期の描画サイズで35fps…
Transparentのチェックに関係なく、大きくしたらそれだけfpsが下がる。
やっぱオンボードビデオが貧弱かw

GLCanvasの方使っときます。

403 名前:名前は開発中のものです。 mailto:sage [2006/08/06(日) 19:47:19 ID:kmAOB+5B]
FPS指定のアニメータつかった?
確か今は新機能としてあったはず
あとCPU使用率もみたほうがいい

OpenGLもJ2SE5.0のOpenGLアクセラレーションのようにまともに実装されてないのかもね
あっちは描画もおかしくなるから最悪だけど、nVidiaとATI以外はOpenGLが動く環境であっても
はねられるというすばらしい実装
結局Win32環境でDirectXアクセラレーション使うしかまともな回答がない

オンボードでも845GあたりからOpenGLはまともに動くようになってきたのにねぇ


404 名前:名前は開発中のものです。 mailto:sage [2006/08/06(日) 20:21:45 ID:A5aINFFL]
>>403
CPU使用率はPentium4 3GHz(HTオン)で論理CPU一つがほぼ100%に…
GLCanvas使うと殆どCPU使わない

405 名前:名前は開発中のものです。 mailto:sage [2006/08/07(月) 11:33:48 ID:LXzNSWyz]
今2Dアクション作ってるんだが
やっぱりグラフィック描画はJava2D使ったほうがいいのかな?
今のところpaintCompornent使って描いてて
そこまで不満はないんだが

406 名前:名前は開発中のものです。 mailto:sage [2006/08/08(火) 00:49:52 ID:NGJuOaT6]
paintComponentはJava2D使って描画してるわけだが・・・

407 名前:名前は開発中のものです。 mailto:sage [2006/08/08(火) 19:44:58 ID:OxD/Wpxu]
ああ、スマン
Graphics2Dを使わないで描画してるって意味

408 名前:名前は開発中のものです。 mailto:sage [2006/08/09(水) 01:40:46 ID:jTOF7SJj]
Graphicsだけつかっていても実態はGraphics2Dだぞ

BufferStrategyではなくて?

409 名前:名前は開発中のものです。 mailto:sage [2006/10/05(木) 02:14:46 ID:6n2qO2al]
java初心者ですが、質問に答えてもらえませんか?

for文を使うときに何か制限はありませんか?
キャンバスクラスでfor を使うとエラーが出てきてしまって困っています。

410 名前:名前は開発中のものです。 mailto:sage [2006/10/05(木) 02:23:59 ID:nS6lvpAp]
そんなのありえん
まずエラーは何なのか、どこでおきてるのか

あとCanvasはいまはほとんどつかわん


411 名前:名前は開発中のものです。 mailto:sage [2006/10/05(木) 02:26:18 ID:UlwDPe/+]
柄フレーム付きでBufferStrategyを使うときくらいか。



412 名前:名前は開発中のものです。 mailto:sage [2006/10/05(木) 14:34:39 ID:6n2qO2al]
ttp://gamdev.org/up/img/7757.lzh
15パズルを作ろうとしているんですが・・・
型の開始が不正と言われるんです・・・。

413 名前:名前は開発中のものです。 mailto:sage [2006/10/05(木) 17:15:27 ID:JxBA5zKz]
>>412
Canvasクラスじゃなくてもエラーになって当たり前
メソッドの中に書け

414 名前:名前は開発中のものです。 mailto:sage [2006/10/05(木) 23:15:13 ID:6n2qO2al]
今度はfor文に使う変数の型が不正と出てしまいました。
int型ではだめなのでしょうか?

415 名前:名前は開発中のものです。 mailto:sage [2006/10/05(木) 23:37:11 ID:3erpkvWT]
その部分のソースがないとなんとも

416 名前:名前は開発中のものです。 mailto:sage [2006/10/05(木) 23:38:34 ID:UlwDPe/+]
import見て、「ああ、MEね。独特な癖でもあるのかなぁ」とか思ってたら
クラスの内側を見た瞬間全てを理解した。

まずJavaの入門サイトを回ろう。質問はその後。OK?

417 名前:名前は開発中のものです。 mailto:sage [2006/10/05(木) 23:50:20 ID:6n2qO2al]
分かりました。サイトめぐりしてきます。

418 名前:名前は開発中のものです。 mailto:sage [2006/10/06(金) 00:37:07 ID:n8QeDfZX]
Eclipseでカーリングゲーム作ってるんですがパワーメーターなどを組み込むのに手間取っています。
なにかオススメの参考書を教えてください。よろしくお願いします

419 名前:名前は開発中のものです。 mailto:sage [2006/10/06(金) 03:47:35 ID:RxJHFhg5]
まずそれはEclipseであるかどうかが関係するアプリなのかとききたい?


420 名前:名前は開発中のものです。 [2006/10/06(金) 08:35:03 ID:79ZjkJYk]
swtつかってんの?

421 名前:名前は開発中のものです。 mailto:sage [2006/10/06(金) 17:15:07 ID:NF0Fi7f7]
失礼しました。書き方が悪かったです
これから一から作りたいのでそれに見合う参考書を教えていただけませんか?
できればゴルフかビリヤードのサンプルが載っている参考書がいいのですが・・・
よろしくお願いします



422 名前:名前は開発中のものです。 mailto:sage [2006/10/06(金) 17:22:32 ID:VIIycFpg]
システムをどうしたいの?
システムがわかってるならそのまま作るだけだと思うが


423 名前:421 mailto:sage [2006/10/06(金) 22:59:44 ID:Mdom56kE]
システムというとゲームの設定とかのことでしょうか?
ゲームを作るのは初めてなのでこんな感じにしたいっていうのはあるのですが
技術がないので、自分のイメージに感じが似てるゴルフかビリヤードのサンプル見ながら、
少しづつ作ろうかなと思って質問しました。

424 名前:名前は開発中のものです。 mailto:sage [2006/10/06(金) 23:08:13 ID:DivPy0FS]
>>423
javagame.main.jp/
このへんで一通り勉強すれば
ゲームなんて基本はどれも大体一緒だよ
はじめから目当てのものを作ろうと思わない方がいい

425 名前:名前は開発中のものです。 mailto:sage [2006/10/07(土) 01:11:11 ID:BYxdR2eO]
ゲーム自体がはじめてだったのか
まずはループ処理や入力まわり、描画、サウンドなどを一通り勉強しよう

Javaに限った話じゃないがね、これらの機能を使った最低限の動く単純なゲームを作るといい

426 名前:名前は開発中のものです。 mailto:sage [2006/10/07(土) 01:17:47 ID:BYxdR2eO]
ゲーム開発で何度か相談されたことがあるが、
ゲーム開発初心者なのに最初からでかいゲーム作ろうとするやつ多いよな

規模が大きくなってもメモリ節約しなくてもインタプリタで余裕でさばけるマシンが手に入るようになったのはいいが
サンプルプログラムとかも下手に大きくなりがちで役に立たないという感じ

昔は雑誌でコードがのるくらいだからあまり大きいのはのりにくいし、把握がしやすかった
1画面プログラムとかはテク満載で逆に覚えるのには向かなかったがね

ベーマガとかM・ファンとかOh!シリーズとかほんの10年前は毎月雑誌で
数十本のゲームのコードが入手できたってのはよい時代だったのかな

いまじゃハードとか違法関係ばかりで真っ当なソフト雑誌が残ってねぇ
危険すぎ

427 名前:名前は開発中のものです。 mailto:sage [2006/10/07(土) 01:50:40 ID:xRS6QFs/]
プログラミングの話をいまさら紙の上でやっても利点は皆無だから
白黒だし検索できないしコピペできないリンクもない


428 名前:名前は開発中のものです。 mailto:sage [2006/10/07(土) 01:54:11 ID:BYxdR2eO]
だがまったく資料がない現状よりましでは?
ネットでまとまった資料やたくさんのコードはでてこねーし

ようはゲーム開発の基礎ってすでに20年位前からある基礎なわけで
いまさらネットでまとめようと思う人はまずいない

429 名前:名前は開発中のものです。 mailto:sage [2006/10/08(日) 00:52:26 ID:S1BiNozn]
RMIはEJBだけで埋もれさせてはいけない低級APIな気がしてきた。

430 名前:名前は開発中のものです。 mailto:sage [2006/10/08(日) 01:36:32 ID:+r9TQj6u]
RMIはJava2SE5.0からは大幅に改善されたので普通に価値があると思うぞ

431 名前:名前は開発中のものです。 mailto:sage [2006/10/08(日) 03:06:24 ID:CumxyfUX]
RMIよくしらないんだが、ゲームでつかうとしたらたとえばどんな例があるの?
リアルタイムなものでもつかえそう?
MMORPGみたいのものはどうなんかな?




432 名前:名前は開発中のものです。 mailto:sage [2006/10/08(日) 12:24:12 ID:+r9TQj6u]
おもいっきりはしょるとソケット通信の高級APIみたいなもんだから場合によるとしかいえん
UDP使いまくらないといけない用途には使えないね
人数や設計しだいではMMORPGでも使えるかと

RMIは引数をシリアライズしてリモートのメソッドを起動、戻り値をシリアライズすることができる
もちろんコードはクライアントのコードとまったく同じでいける点が違う
その特定のメソッドが実行される場所がサーバーってだけ

オンラインゲームってローカルで計算される部分は少なく、入力を鯖に送って
結果を表示するだけのシステムだから設計だけしっかりしていればそんなに難しくはないかと

433 名前:名前は開発中のものです。 mailto:sage [2006/10/08(日) 17:25:06 ID:S1BiNozn]
カードゲームとかターン制のゲームには向いてると思うんだ。
ただホストをプレイヤーのどちらかが行うとなると性善説ゲームになるけどね。

434 名前:名前は開発中のものです。 [2006/10/08(日) 23:44:58 ID:vqXTr2Px]
Google Web Toolkit (GWT)を使ってJavaで、
Ajaxなブラウザゲームを作成している人はおらんかね。。。

435 名前:名前は開発中のものです。 mailto:sage [2006/10/09(月) 02:01:24 ID:1PRT+gpJ]
RMIはJavaの目玉である事実に間違いはないが、シビアなリアルタイムが
必要となるオンラインゲームに使う様なものじゃない。
重すぎる。


436 名前:名前は開発中のものです。 mailto:sage [2006/10/09(月) 03:22:04 ID:+490gA4h]
オンラインゲームだからすべてシビアなタイミングとは限らん

437 名前:名前は開発中のものです。 mailto:sage [2006/10/09(月) 18:17:01 ID:wlsw1WDR]
東風荘とかみてりゃ、まあそりゃそうだ


438 名前:名前は開発中のものです。 [2006/10/10(火) 11:31:47 ID:aHfYBwCV]
実際RMI使ったオンラインゲームとかあるの?


439 名前:名前は開発中のものです。 mailto:sage [2006/10/10(火) 13:08:42 ID:COB1kkz5]
その前にJavaがフロントエンドのゲームなんてあるの?といったほうが早いのでは

RMIは自前でプロトコル作るよりは重いけどWEBサービスに比べたらめちゃくちゃ早い
開発の容易さはRMIのほうが上


440 名前:名前は開発中のものです。 mailto:sage [2006/10/10(火) 19:14:44 ID:Z6Vg5wVI]
ぶっちゃけCGIより早ければ十分でしょ。

441 名前:名前は開発中のものです。 mailto:sage [2006/10/10(火) 19:44:19 ID:Z6Vg5wVI]
疑問なんだが第三者サーバを通さずに
ランダム性のあるゲームを公正に運用することって可能?



442 名前:名前は開発中のものです。 mailto:sage [2006/10/10(火) 20:52:02 ID:Fmr3/ROI]
両方のクラで同処理を行って結果に差異がないか互いにチェックするとか?

443 名前:名前は開発中のものです。 mailto:sage [2006/10/10(火) 21:10:32 ID:Z6Vg5wVI]
自分で言っといてなんだけど、公開鍵の応用でいいんだよね。

1.互いに乱数のハッシュを送りあう
2.乱数の実体とあるならば追加のコマンドを送りあう
3.実体とハッシュを照合する
4.互いの実体を合算したものを元に処理を進める

多少重そうだけどこれなら実際に通信があるのは1と2の送受信でよい。
でもまあランキング戦とかには使えないよなぁ。

444 名前:初歩的なことでスマン mailto:sage [2006/10/12(木) 20:16:43 ID:iUCUCn7d]
j2sdkとJava3Dを入れてみたんだけど
3d絡みのDemoプログラムが無いっぽい。
ググってみたけど付いてきてるはずなんだけどなー

j2sdk下にはwireframeのサンプルプログラムしかないし
それとも他に入れるべきソフトがあるのかしら
少なくともjava3d-1_4_0_01-windows-i586.exeには入ってないですか?

445 名前:名前は開発中のものです。 [2006/10/12(木) 23:35:22 ID:LKwsUKW6]
joglやりましょうよ。
java3dは抽象度たかすぎ。

446 名前:名前は開発中のものです。 mailto:sage [2006/10/13(金) 02:39:03 ID:zPaEQQ16]
マックでも動くなら

447 名前:名前は開発中のものです。 mailto:sage [2006/10/13(金) 03:55:03 ID:S+VaDlj1]
ゲーム用途ならJava3Dやめとけ
あとでなくぞ
JOGLにしとけ



448 名前:444 mailto:sage [2006/10/13(金) 16:45:36 ID:vmtvD3zz]
>445>446>447
そうします。ありがd

449 名前:440 mailto:sage [2006/10/13(金) 20:32:45 ID:/GHVYosk]
OSXのJava5.0って完成度高い?

450 名前:名前は開発中のものです。 mailto:sage [2006/10/13(金) 20:33:34 ID:/GHVYosk]
おっと、何故か番コテが残ってた。てか復活した?w

451 名前:名前は開発中のものです。 mailto:sage [2006/10/13(金) 22:17:57 ID:GU1W4jxT]
さわってないけどおかしいという話は特に聞いてないな




452 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 00:08:50 ID:NtWi6K2U]
これからはdirectxじゃなくてjoglやろうぜ
ttp://61.215.215.33/news.php?url=/weekly/kaito/097/kaito_097.shtml

453 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 02:31:13 ID:MGTxKfzz]
Sun本気でゲームやるならジョイパッドいい加減対応してくれ


454 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 02:52:06 ID:ZM4Zxtns]
>>453
JOGL, JOAL, JInput と一通り用意されていたりする。

が、JInputの使い勝手と品質は、アレゲです(約1年前試用)。

455 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 03:02:31 ID:MGTxKfzz]
JOGLにしてもそれらのライブラリぜんぶ標準じゃないし
基本的なヒューマンインターフェースデバイスは標準にしないと意味ないのに

456 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 06:59:51 ID:nYtGilm6]
OpenGLに関してはJava6で標準だろ
入力デバイスがアレなのは、Win以外がアレだからでしょ

457 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 07:22:45 ID:1AUmoz7r]
>>449
 1.4.2と比べて何が変わったのやらという感じ。

458 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 07:48:07 ID:nYtGilm6]
>>452
RuneScapeとかいうのは4.5億も売り上げがあるのか
そういやTibiaってのもグラはしょぼいが潤ってたらしいしな

459 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 10:21:48 ID:MGTxKfzz]
>>456
VMが一部環境用にアクセラレーションとして使ってるだけで標準実装とはちがうはずだが


460 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 11:53:22 ID:r+tdu3ZM]
ところで
JInputを使おうとするとArrayIndexOutOfBoundsExceptionが出るのは自分だけだろうか…

461 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 15:16:14 ID:MGTxKfzz]
JInputの日本語資料ゼロか・・・こりゃ普及せんな



462 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 23:44:15 ID:46k9HZL6]
Input Method Frameworkの使い方がドキュメント読んでもいまいち良く分からないw
BufferStrategyと日本語入力を組み合わせるならこれしかないと思うんだが。。。

Swingベースに切り替えようかな、Java6からJOGLがPanel化されるんでしょ。

463 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 13:58:55 ID:YpbpZhIP]
BufferStrategytと日本語入力の問題はDirectXとかでも同じだからな
Panelのは速度が遅いはずだが改善されたんか


464 名前:名前は開発中のものです。 mailto:sage [2006/10/19(木) 00:32:10 ID:nGTITlbS]
>>462
自前描画している日本語入力対応エディタのソースを見てみると良いかもしれない。

465 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 07:07:03 ID:Yr57x8PW]
CopyOnWriteArraySetなどの並行APIを試してみたけど
結局STGとかだとLinkedListで十分なんだと分かっただけだった。

466 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 07:15:14 ID:xDAg32vR]
マルチスレッドでつくってんの?

467 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 07:28:53 ID:Yr57x8PW]
マルチコアへの自動的な最適化とか面白そうだなと思ってね。
でも並行APIはiteratorによるremoveにたいして適正の在るのがなくて辞め。

468 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 08:40:24 ID:xDAg32vR]
こんな会社があったんですね。。。
ttp://www.cyberstep.com/recruit/story_1.html

469 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 08:51:15 ID:phd+j6pm]
>>488
マルチプラットホーム化が容易とうたってる割にGetAmpedRもC21もWindowsのみ対応なんだな‥‥

470 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 12:18:12 ID:v3In4esC]
2Dゲームで個人レベルで作れるものでマルチコアが生きる分野ってあんまりないかもね
超連射みたいにソフトレンダなら明らかに効果があるがそれはシステム構築を楽しむためくらいしか・・・

471 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 23:11:57 ID:Yr57x8PW]
スタンドアロンなゲームは「余ったリソースは捨てるリソース」なんだなと思ったよw



472 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 15:12:29 ID:VjSo8VCQ]
JOGLって凄いんだな

473 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 15:57:55 ID:Sn/Y/O/E]
ん?

474 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 18:47:16 ID:Gg9zo7Zm]
だたのOpenGLのラッパ
びっくりするくらいオブジェクト指向もくそもねぇ

それだけに触ったことある人ならそのまま使える

475 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 21:46:59 ID:AwvN98hH]
Graphics2DオブジェクトそのものがGCの原因になるから
フルGCの発生回数を特定シーンごとに0に押さえるみたいな方法って不可能?

476 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 23:24:45 ID:Gg9zo7Zm]
Graphics2Dのものによるかな
ゲーム用途なら基本はGraphicsだけで収まる範囲にすること

アクセラレーションがきくタイプは負荷はたいしたことない

あとフルGCやりたくないなら使用メモリを把握した上でコンカレントGCに変更することや
シーンがはっきりと分けれていたりするなら切り替え時にFullGC入れてみるとか

477 名前:名前は開発中のものです。 [2006/11/08(水) 22:10:52 ID:nrOch+Qr]
www.youtube.com/watch?v=p9ytsfaGWts
これJavaでできてんの!?すごい

478 名前:名前は開発中のものです。 mailto:sage [2006/11/08(水) 22:17:38 ID:/VhjzjqX]
ムービーからだとフレームレートとかようわからんし、
あちらの人は固定フレームレートにこだわらないからねぇ

まずはパッドを標準ライブラリで使えるようにしないとね
表示もだ大事だけど入力がないとどうしようもない

479 名前:名前は開発中のものです。 [2006/11/09(木) 01:22:54 ID:C3JWOVJ7]
specforce
chrome作ったところが2005年ごろ作ったみたい。
ページ開いたらBGMが流れるので注意。
www.specforcethegame.com/en/main.php

かなり品質の高いFPSゲームだと思う。


480 名前:名前は開発中のものです。 [2006/11/09(木) 02:09:01 ID:yu7HeJLH]
これって、Javaサーバーに使えますかねぇ
ttp://www.hikakuserver.com/

普通のレン鯖でメモリ8GBも載ってるのがあるなんて
さっきまで知らなかった・・・(´・ω・`)

人柱キボン


481 名前:名前は開発中のものです。 [2006/11/11(土) 11:19:53 ID:C9CXGr4F]
ttp://www.puppygames.net
ttp://www.imilabs.com
ttp://www.agency9.com
ttp://www.mycgiserver.com/~movegaga/cosmictrip.html
ttp://www.chromethegame.com
ttp://www.hockeychallenge.se
ttp://home.halden.net/tombr/squareheads/squareheads.html
GroundFX
ttp://www.javagaming.org/forums/index.php?PHPSESSID=a66e7a361ddd1ea4a78a07a6d446a573&topic=4832.msg44039
ttp://www.oddlabs.com
ttp://www.ch-ee-ky.com/gr/index.html
ttp://www.jpct.net/paradroidz
ttp://www.jmonkeyengine.com
ttp://www.datadino.com/games/mightybubbles/
ホッケーのゲーム
ttp://www.wurmonline.com
ttp://www.gutenachtkopf.de
ttp://www.crystalsquid.com
ttp://www.runescape.com
ttp://www.puzzlepirates.com



482 名前:名前は開発中のものです。 [2006/11/11(土) 11:45:18 ID:C9CXGr4F]
>>481>>477に出てくるゲームのURLね
このうち、開発に役立ちそうなのは多分
www.imilabs.com
www.agency9.com
www.javagaming.org/forums/index.php
www.jmonkeyengine.com
www.gutenachtkopf.de

しかし、面白そうなゲームが山のようにあるな

483 名前:名前は開発中のものです。 mailto:sage [2006/11/11(土) 13:07:20 ID:HZB9qJCG]
java, javax系でAudioClipより表現が豊かなサウンド用インタフェースってありませんか?
AudioSystemやMidiSystemを上手くラップしたいんだけど、AudioClipじゃ物足りない印象

484 名前:名前は開発中のものです。 mailto:sage [2006/11/11(土) 13:35:38 ID:bJZMO9on]
なんでAudioClipがでてくるんだよ
JavaSoundカワイソス

485 名前:名前は開発中のものです。 mailto:sage [2006/11/11(土) 13:41:41 ID:HZB9qJCG]
君一行目しか読んでないでしょ

486 名前:名前は開発中のものです。 mailto:sage [2006/11/11(土) 18:45:04 ID:oHATF8vt]
2行目が一致しないから仕方ないだろ
JavaSoundがでてくるなら問題はないのに

487 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 03:04:56 ID:FcOUrdTF]
正直、あちらさんのゲームを見せられて、すごい、すごいと言われても、も一つピンとこねえな。
あちらさんはアセンブラかましたりとか平気でやるからな。
日本人でJavaでFPSを作ってる人っていないの?

488 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 06:49:35 ID:1OH5pVw5]
>>487
Javaでどうやってアセンブリ言語を使うのだ

489 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 07:28:17 ID:0f+TtNLb]
JNIの事を言ってるんじゃ無いか?

490 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 08:23:03 ID:+OD3pyxM]
ここにいる人だけど、その多くは、Javaで本格的にゲームを作った事が
ない人だろう。
各種Docで知識は豊富だけど、ただ読んで覚えてるだけ。
ゲームの開発経験はないだろう。

Java実行コードのスピードは、部分部分で比較するとC++と大差なく
見えるけど、全体のアプリとして組み立てると、その漏れてた部分の遅さが
積み重なれて顕著となり、システム系ならば許容できるけど
シビアなタイムが必要となるゲームじゃとても使えなくなる
上の洋ゲーも間違いなくそのコアにJNIをふんだんに使ってるよ。
そうなると、それはJavaであってもJavaの範囲外ってことだ

491 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 08:26:03 ID:+OD3pyxM]
>>ただ読んで覚えてるだけ

ってのは、その知識をもとに小規模なテストアプリを作成して
その結果で判断する事も含まれてる



492 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 10:16:17 ID:5sSMIo0r]
増えてきた本格派JAVAゲーム
61.215.215.33/news.php?url=/weekly/kaito/097/kaito_097.shtml

こんな記事あったよ。日本のゲーム業界でJava使ってるとこってあるの?教えて業界人。

493 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 10:38:02 ID:wvoDMNwq]
>>490
javaのPrduct系ゲーム開発経験者ですか?
それとも勘でいっている?

当方、確かに経験ないので今いちわからないんだけど
コード量が増えるとメモリリークが増えるから
PureJavaじゃ使いもににならないといいたいの?




494 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 16:48:08 ID:sIeJXGua]
>>486
おまえは何を言ってるんだ?

495 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 21:12:28 ID:RoytZnjF]
>>490
> ここにいる人だけど、その多くは、Javaで本格的にゲームを作った事が
> ない人だろう。
で、おまいはJavaで本格的にゲームを作成したことがあるのか?

>その漏れてた部分の遅さが
>積み重なれて顕著となり、システム系ならば許容できるけど
>シビアなタイムが必要となるゲームじゃとても使えなくなる
VMのGC処理が良く問題になるだけであって、コード本体の実行スピードには問題ない

> 上の洋ゲーも間違いなくそのコアにJNIをふんだんに使ってるよ。
間違いなくとか勝手に推測で断定されても、完全な間違いなんだが。

RuneScapeはPureJavaで作成されている。
その他のゲームで利用されているJNIも、
OpenGLやDirectInputを直接呼び出すだけの利用。

デタラメも大概にしてくれ。

496 名前:名前は開発中の者です。 mailto:sage [2006/11/12(日) 21:43:38 ID:BPHT/7vm]
LWやメタセコで作ってXファイルで吐いた3DモデルをJava側で読み込むツールとか、キャラのモーションを登録してJavaで読み込ませるツールとか、どこかで公開してるのかな?
そういうのがないと、素人には3Dゲームなんて、とても作れない。

497 名前:名前は開発中のものです。 mailto:sage [2006/11/13(月) 00:19:13 ID:i1RxyPEd]
>>494
JavaSound理解してないやつ乙

498 名前:名前は開発中のものです。 mailto:sage [2006/11/13(月) 01:47:03 ID:xomXll6Q]
お前がインタフェースベースな設計を知らないだけだろw

499 名前:名前は開発中のものです。 mailto:sage [2006/11/13(月) 19:04:22 ID:jHwlfoAH]
AudioClipってもっとも低機能で使い勝手の悪いものなんだが
それをほしいといわれても困る

500 名前:名前は開発中のものです。 mailto:sage [2006/11/13(月) 23:23:32 ID:YBTvT9dR]
ローダつくろうと思ってるんだけど、どのローダ書くのがいいかな?
1.メタセコ
2.ブレンダ
3.Xファイル
Xのローダ書いとけば一番無難?
自分、右手系でPG書いてるから変換が面倒くさそうだけど。
みんなはどんな感じ?

501 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 06:53:06 ID:t9hh4M26]
>>499
それより良いインタフェースはないかと聞いてるだけでは?



502 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 06:56:22 ID:t9hh4M26]
てか質問の意図を理解してない以前に設計知らないだけみたいだな

503 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 09:51:06 ID:v38jtkOO]
あれ質問の意図がわかるやつのほうが頭どうにかしてるとおもうぜ・・・
本人ですか

504 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 17:34:18 ID:wMYc2bpW]
Javaでゲーム作るとき
描画ってどうしてる?


505 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 19:15:20 ID:KGaPDyoT]
2Dなら普通にJava2D+BufferStrategy
フルスクリーン時は垂直同期取るのに対してウインドウモードは取らないという点に注意してね

506 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 23:35:47 ID:N+Lhd8Zl]
初めてアクションゲーム作ってるんですが
画像を半透明にしたりパレットデータを換えるときどうしてますか?
できればリアルタイムで処理させたいのですが
いい方法が見つかりません。RGBImageFilterではImageを得るまでが面倒で動作も不安定でした。
PNG形式のbyte列を直で変更して毎フレームImageに変換も遅そう
助けてください

507 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 23:48:08 ID:t9hh4M26]
>>503
普通にわかるが?

508 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:19:12 ID:kbx8RzUW]
>java, javax系でAudioClipより表現が豊かなサウンド用インタフェースってありませんか?
なぜAudioClipと比較したインターフェースにこだわる?Lineとかいってほしいということか?


>AudioSystemやMidiSystemを上手くラップしたいんだけど、AudioClipじゃ物足りない印象
JavaSound理解しているならまったく問題ないし、そこでなぜAudioClipが出てくるか不明。
同じインターフェースにこだわりたいのならともかく音量調整も出来ないようでは使い道なし。

〜System系は5.0から大幅に使いやすくなったので迷うようなことはないと思うのだが。
普通に自分で好きなインターフェースで作りなさいとしかいえない。

509 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:21:40 ID:kbx8RzUW]
>>506
Java2Dは使ってみた?通常合成なら大丈夫。
ハードウェアアクセラレーションはきかないからXGAで常時60fps維持したいとかだと厳しいけど。


510 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:21:42 ID:VX1VJ6O9]
「同じインターフェースにこだわりたい」んだろ、もういいよ

511 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:39:05 ID:kbx8RzUW]
こだわるならこだわるでAudioClip実装すればいいだけなんだけど。



512 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:45:16 ID:VX1VJ6O9]
うざw そのインタフェースじゃ物足りないってんだからループするだけだろ
無いなら無いってだけなのに何引っ張ってんだか

513 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 01:38:20 ID:VX1VJ6O9]
Java6になっても非Winの透過アクセラレートは無しなのかな。
まあ非Winを切り捨てても何の問題もないが。

514 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 07:10:33 ID:EhAiNbIT]
>>509
それってGraphics2Dのことですか?
時間ができたら調べてみます。

515 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 13:57:28 ID:zHfv0gGD]
>>512
だからこそあの質問が意味不明なのだ。
1行目と2行目と一致しない。

>>513
JavaSE5.0も現実的にアクセラレーションきかない。
openGLモードだと描画がバグバグだし、
Direct3Dモードだと描画方法によってレンダリング品質が変わるため使えない。

>>514
それだけじゃないけどね。
java.sun.com/j2se/1.5.0/ja/docs/ja/guide/2d/index.html

516 名前:514 mailto:sage [2006/11/15(水) 23:56:59 ID:EhAiNbIT]
>>515
バッファストラテジというのを導入してみたんですが、といってもほとんどコピペで理解してないんですが
Graphics2D.drawImage(Image,AffineTransform,Observer)でキャラを拡大したらGraphicsのdrawImageで描いた
ブロックの画像に縦縞ができてしまったんですが、どうすればいいでしょうか?必要ならできるだけ答えます
みなさんはバッファストラテジをどう使ってるのか教えていただけると助かります。

517 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 00:11:55 ID:RzG/81yb]
これDirectX使って描画するからビデオドライバに問題があると崩れる場合がある。真っ当な環境なら問題は出ない。

とはいえ、アクセラレーションが利く描画じゃないようなのでその影響があるとは考えにくい。
コードと環境と加工前の画像と加工後の画像をアップしてもらえばわかるかも。

Graphics::drawImageでの拡大だとどんなかんじ?

518 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 00:37:17 ID:A0r/2s0Y]
>>515
>だからこそあの質問が意味不明なのだ。
>1行目と2行目と一致しない。
お前日本語学校からやり直した方がいいぞw

519 名前:514 mailto:sage [2006/11/16(木) 07:35:27 ID:DvgKUdTk]
>>517
環境は何を書けばいいですか?今まで気にしてなかったもので…

520 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 10:21:23 ID:HdufXzqB]
作ってみたけど微妙('A`)
ネットで対戦だから一人じゃバランスもとれず適当、せっかく作ったから遊んでください。
ttp://cattaka.myhome.cx/applet/bakutan.html

521 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 12:59:05 ID:GPsbxADW]
>>519
そもそもWindowsなのか、フルスクリーンモードなのかウインドウモードなのか
ビデオチップやドライバ等

ところでGraphics::drawImageによる拡大は問題なさそうなの?それが先決か。



522 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 13:01:06 ID:GPsbxADW]
>>518
具体的な対応取らない荒しはかえれ
最近ずっとJava関係荒らしてるのお前だろ

523 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 23:02:33 ID:A0r/2s0Y]
AudioClipがinterfaceなのを知らないのか
デザインパターンを知らないのか
日本語を知らないのかどれだい?

524 名前:514 mailto:sage [2006/11/17(金) 18:00:42 ID:7Zpg5IH1]
>>521
OS:Win98
ウィンドウモード
Graphics::drawImageでは縞はでませんでした。
バッファストラテジはそんなに効果があるんですか?
今一速くない気がします…

525 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 18:50:02 ID:gSEH6ifA]
>>524
速度に関してはソフトウェア描画になる部分とアクセラレーションがきく描画と分かれる。
拡大縮小やαブレンドはソフトウェア描画になる。

Graphics::drawImageによる拡大描画は大丈夫なのか・・・。
画像のロードの仕方とかにも結構左右されるっぽいけど、そのへんどうなってるかな。
あと256色モードとか16bitカラーモードが原因になる可能性もある。

転送元imageはBufferedImage使ってると思うけど、そのカラーモードはフレームとあわせてある?
抜き色があるかとか細かいこともある。

フレームレート命のアクションゲームならできるだけアクセラレーションがきく描画を選択したほうがいいよ。
あとは画面サイズが大きすぎないこと。

まとめると
・画像のロードの仕方
・デスクトップの色数
・実際に問題の出るコードと画像

526 名前:514 mailto:sage [2006/11/17(金) 19:08:46 ID:Lt0Wj0UY]
>>525
画面は24bitでした。転送元imageというのがいまいち分かりません…
今まで携帯でしか作って無かったので、、、
あとこういうゲームに特化してJAVAの解説してるとことか無いですかね?
人に見せられるもんじゃないですけどソースアップしました。
ttp://park21.wakwak.com/~kuri/src.zip

527 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 21:47:35 ID:6OJGRcli]
まずぱっとみpaintイベントに描画ロジックが書いてあるようなきがするが、
通常paintイベントに対して処理は行わない。

repaint呼び出すところを自前のメソッドを呼び出すようにかえて、
paintメソッド名をそれにあわせて書き換えよう。

キー入力をビットに割り当てているのを見ると、他の言語でゲーム自体は作ったことあったのかなとおもた。

Skeruというクラスがわからないのでなんともいえないな。

画像のロードはImageIOを使うと柔軟にロードできるよ。わざわざバイト配列をロードするとか必要ない。
その際に画像バッファは現在のビデオの解像度と合わせると高速に転送が出来るけど、それはまた後の機会に。

これってフレームのサイズ固定で描画しているようだけれども、タイトルバーの高さとかふちの大きさは
同じWindowsでもバージョンや環境によって大きく異なるからしないほうがいい。

pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。

528 名前:514 mailto:sage [2006/11/17(金) 23:51:15 ID:83DvLp/B]
>>527
お返事ありがとうございます。
>repaint呼び出すところを自前のメソッドを呼び出すようにかえて、
>paintメソッド名をそれにあわせて書き換えよう。
playに変えました。

>キー入力をビットに割り当てているのを見ると、他の言語でゲーム自体は作ったことあったのかなとおもた。
まあ、ボチボチですが

>Skeruというクラスがわからないのでなんともいえないな。
これはいらないクラスです。うっかりしてました。
画像とか変更したソースとかさっきのURLにアップしておきます。

>画像のロードはImageIOを使うと柔軟にロードできるよ。わざわざバイト配列をロードするとか必要ない。
>その際に画像バッファは現在のビデオの解像度と合わせると高速に転送が出来るけど、それはまた後の機会に。
やってみましたけど、こんなんでいいんですかね。

>これってフレームのサイズ固定で描画しているようだけれども、タイトルバーの高さとかふちの大きさは
>同じWindowsでもバージョンや環境によって大きく異なるからしないほうがいい。

>pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。
やってみました。


529 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 00:24:13 ID:3XstkAv5]
>>pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。
>やってみました。

これ、取得した後にそのサイズを足してsetSizeするってことね。
320*240とかを描画サイズにしたい場合それプラス余白部分。
もちろん、描画する際の起点もその分ずらす。

あとは時間管理だろうか。
sleepは固定でのウエイトが入る。つまりメインループの処理時間の差があった場合に考慮されていない。
普段は10msで動いていたとしたら1ループは30msだろうけど、これが5msだったり15msだったりすると・・・。
したがってがくがくするのを防ぐためには一定の速度でまわす必要がある。
30msでループさせるなら処理に5msかかったら25ms停止、処理に15msかかったら15ms停止というようにね。

だいたいでいいのなら一番簡単なのはjava.util.Timerを使う。TimerTaskとあわせてね。
メインループのほうをwait()で停止させて、TimerTaskからnotify()で起こすといい。

あとこのスレと前スレを一度全部見ておいたほうがいい。

530 名前:514 mailto:sage [2006/11/18(土) 16:22:37 ID:09nqBb7g]
言われたところは大体やりました。ただTimer系がまだいまいちわかりません
サクっとでいいんで説明してもらえたら助かります。
あとJAVA2Dなら画像のパレット替えやフィルタリングもできるんですよね?

531 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 16:36:52 ID:qC5zAejN]
タイマーはここみるといいよ。
www.javainthebox.net/laboratory/utils/Timer/Timer.html
ほかにも櫻庭さんのサイトはJava関係の重要なのが多いから関係のありそうなところ見といたほうがいい。

描画に関してはアクションゲームで60fpsを目指すのなら複雑なことはしないほうがいいよ。
あらかじめ使用するパレットがわかっているなら画像ロード後にそれらのImageを生成したほうがいい。
あくまでもいわゆる画像をスタンプのように貼り付ける場合はやいから。

RPGとかで30fpsくらいでいいのならいろいろと出来ると思うよ。
Java2Dを詳しく書いた書籍ってあったかな・・・。まずはJava2Dのマニュアルをよんでみよう。
少なくともJDKのJava2Dサンプルくらいはすぐできるから。



532 名前:514 mailto:sage [2006/11/18(土) 17:44:49 ID:Zk4f2vJN]
>>531
ありがとうございます。
Timerは分かってきたんですが、上にある
>メインループのほうをwait()で停止させて、TimerTaskからnotify()で起こすといい。
の書き方が分かりません…。
あと、キャラクター・エフェクト・特殊ブロックなどの処理部分を一つのクラスにまとめて中で
switch文分岐して処理させようかなーと思ってるんですが、こういうやり方だと遅くなったりするんでしょうか?
座標や状態変数なんかはメインループのある方のクラスに持たせれば、敵にくっついてく敵とかが作れそうですよね。
一応JAVAなのでポリモーフィズムも考えたんですが、数が数なだけに多すぎるので辞めたんですが

画像も予め用意したらその分メモリ食われて遅くなるってこともありますよね?
いかんせんJAVAでのメモリの使われ方が良く分かって無いのでどこかで損してる気がします…

533 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 19:54:34 ID:ZKUyfd27]
wait、notifyはObjectにあるメソッド。これはJavaの基本中の基本なので勉強するといいよ。
APIドキュメントよんでごらん。ざっくりというとwaitはスレッドを停止させてnotifyで起こすという感じ。
マルチスレッド使ってるのでこの辺基本を抑えないと大変なことになる。

参考
ttp://www.nextindex.net/java/thread/waitnotify.html

switchだろうが複雑な分岐だろうがCPUだけが処理するようなものは速度的に問題にはならない。
ネックになるとすれば16bitCPU時代くらいでJavaSEとは関係ない。

最初はざっくり作ってリファクタリングをゆっくりやるといいよ。IDE使えば手軽に見通しよくなるし。
オブジェクト指向等も徐々に勉強していきながらでいい。


534 名前:514 mailto:sage [2006/11/18(土) 22:14:54 ID:Bis6pJQA]
>>533
wait()とnotify()意味は半分ぐらい分かったのですが、いまいち調べても
欲しいサンプルが見つかりません…。色々試してはいるんですがなかなか
動いてくれません。ヘタレで悪いんですがゲームで使う時のwait、notify
のコードをちょろっと書いて貰えないでしょうか?

ただ分岐は多くてもいいというのはホッとしました。丁寧なレスありがとうございます。
助かります(^^;。

535 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 23:55:20 ID:ZKUyfd27]
基本中の基本だけにしらべればいくらでもサンプルコードが出てくると思うのだが。


536 名前:514 mailto:sage [2006/11/19(日) 10:56:55 ID:1IKPzYYc]
Timer/TimerTaskとwait/notifyを組み合わせられないんです。
どうやったらTimerTaskで周期的にnotifyできるのかとかSynchronizedを付けるべきところとか
探し方が悪いのかも知れないんですが

537 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 13:54:05 ID:dZdtxI9w]
自分はこんな感じで実装しているが、間違っていても知らない

public class Hoge extends Thread{

  private boolean processStop = false;
  private WakeTask wakeTask = new WakeTask();

  public void start(){
    super.start();
    new Timer().scheduleAtFixedRate(wakeTask, 0, WAKE_TIME);
  }
  public synchronized void run(){
    while(true){
      game();
      try{
        wait();
      }
      catch(InterruptedException e){
        e.printStackTrace(System.err);
        break;
      }
    }
  }
  private synchronized void awake(){
    if(!processStop) notify();
  }
  private class WakeTask extends TimerTask{
    public void run(){
      awake();
    }
  }
}

538 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 20:11:00 ID:8MYA5LfB]
>>536
ttp://www.y-adagio.com/public/standards/tr_javalang2/jTOC.doc.html


539 名前:520 mailto:sage [2006/11/19(日) 23:41:03 ID:yvfHZIx2]
今頃鯖のポート解放忘れてるのに気がついた。
何がしたいんだよ俺・・・・orz

540 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 00:56:56 ID:mU6Ad/cq]
リアルタイムシミュレーションでネット対戦できるゲームをjavaで作りたいのですが、参考になるサイトありますかね?
ちなみに自分は今までCで数値シミュレーションを生業としてきてGUI関係はよくわかっていません。
勉強できるサイトがあるとうれしいです。
よろしくお願いいたします。

以上

541 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 01:19:17 ID:8PZEbpO9]
ものすごい初心者な質問なんだけど、
普通のゲームってソフトとかクライアントとかをダウンロードするじゃない?
JAVAゲームの場合、ブラウザから直接開始するけど、
読み込み時間みたいのがかなりかかるんじゃないのかな?
音楽もいちいちMP3をダウンロードすることになるの?



542 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 01:42:07 ID:HqvpBzdY]
>>540
シミュレーションが、物理シミュレーションかシミュレーションゲームか不明
GUIプログラミングは簡単なので立ち読みか普通のサイト見れば良いのでは
www.javadrive.jp/
www.hellohiro.com/

543 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 15:21:51 ID:107nEDGg]
>>541
Javaのプログラムってのはアプレットだけじゃないよ。
通常のアプリケーション等もあるし、一度ダウンロードしたらアプレットはキャッシュからとってくることも出来るし
WebStartはバージョン等が変わってなければすべてキャッシュファイルからとってくる。

そもそもC等で作ったアプリだって同じだぞ。ネット経由でダウンロードするように作ってあるなら。
バックグラウンドスレッドでガンガン落としていけばあまり問題はなさそうだが。

544 名前:名前は開発中のものです。 [2006/11/26(日) 21:31:48 ID:vp/Awfnk]
話題が無いがage
無限にステージが生成されるマリオっぽいゲーム「Infinite Mario Bros」
gigazine.net/index.php?/news/comments/20061126_infinite_mario/

545 名前:名前は開発中のものです。 mailto:sage [2006/11/26(日) 23:34:43 ID:o/jL46vw]
>>544
Wurm Online の中の人が製作しているみたい?
ソース付きだし勉強になりそうだ。

546 名前:名前は開発中のものです。 [2006/11/27(月) 18:13:24 ID:QR83lXnt]
VolatileImageとMemoryImageSourceって一緒に使えますか?

547 名前:名前は開発中のものです。 mailto:sage [2006/11/27(月) 18:15:01 ID:IAG3BIQ8]
使えるけど、後者は使う意味ないぞ
1.1時代の互換性のためだけの遺産だから

548 名前:名前は開発中のものです。 [2006/11/27(月) 18:52:38 ID:QR83lXnt]
詳しく教えてください
VolatileImageでピクセル操作とかできますか?

549 名前:名前は開発中のものです。 mailto:sage [2006/11/27(月) 21:03:56 ID:OAwnVtrw]
VolatileImageは画面モードにも夜がVRAMをさすと思っていい。
VRAM直書きはメインメモリ直書きに比べて非常に遅いので出来てもやらないほうがいいのは常識。

メモリ上のImageを扱うなら1.2以降はBufferedImageを使う。最初にピクセルフォーマットをきめて
配列で扱えること、出来上がった画像を何度もコピーする場合アクセラレーションが自動的に適用される。


550 名前:名前は開発中のものです。 mailto:sage [2006/11/27(月) 21:56:18 ID:L4SNxotk]
>>547
いや、実際にはMemoryImageSourceが一番素直な「フレームバッファ」
で使いやすい。BufferedImageは、メモリ上の配列と直接関連付けられ
ないのが致命的(ピクセル列に見立てたint配列を操作すれば直ちに
対応するImageに反映されるという意味での「Buffered」でなければ、
Rasterなどという扱いにくい邪魔者が出てくるだけでまったく意味が
ない。まだMemoryImageSourceの方がまし)。


551 名前:名前は開発中のものです。 mailto:sage [2006/11/27(月) 23:13:58 ID:OAwnVtrw]
ゲーム用途だとダイレクトにピクセルを扱う場合8bitか16bitにしないと速度的に問題が出るから
BufferedImageでそういう指定するのが一番だと思うし、ピクセルフォーマット合わせる場合
GraphicsConfiguration使うだろ?

問題あるのか?short配列アクセスとか簡単に出来るから便利だと思うんだが。



552 名前:名前は開発中のものです。 mailto:sage [2006/11/28(火) 22:11:57 ID:WdzF4q7Z]
>>544
それすごいな
pure javaだけでここまでできるの?

553 名前:名前は開発中のものです。 mailto:sage [2006/11/28(火) 22:46:49 ID:jI1vxm7H]
>>552
2Dなら余裕
あとは根気等

ただグラフィックなどあからさまなパクリはいかんね

554 名前:名前は開発中のものです。 mailto:sage [2006/11/28(火) 22:52:55 ID:dIaLfStB]
>>552
署名なしで動くアプレットだから当然、pure javaです。

携帯で普通にドラクエが動いている世の中だからな。
出来るかどうかはプログラマの腕次第だと思うよ。

555 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 08:24:09 ID:SF7yfmPu]
>>551
>問題あるのか?short配列アクセスとか簡単に出来るから便利だと思うんだが。

いや、だからその配列の内容は一度変換・コピーしないとImageとして表示できないんだよ。
自分でRGBを数値として処理する配列を取ると、一度それをMemoryImageSourcre/BufferedImageを介して変換しないと描画可能なImageが得られない。
そして、そうしたRGB配列のImage化には一発でできて余計な機能がないMemoryImageSourceの方が使いやすい。
Win32のDIB/DIBSectionのような機能(直接描画可能なフレームバッファを配列として取得できるImage)があれば楽だし、変換や不要な配列の二重確保が入らない分性能上も有利なはずなんだけどね。
BufferedImage(あるいは各種変換機能を削除して単純化したMemoryImageクラスでも新設して)でピクセル列の配列を直接公開してくれれば良いのだけど。

あと、int配列から作ったMemoryImageSourceで速度的な問題って感じたことないぞ。
Pen3+845GEのマシンで100以上のキャラクタ描いてもまったく問題にならなかった(100FPS以上)。


556 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 12:28:42 ID:E1GsFmbf]
>>555
ラスター使うから同じじゃね?

557 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 13:28:43 ID:SF7yfmPu]
>>556
ラスターは邪魔だよな……。
BufferedImageのような各種変換機能付きImageを作るなら、まず単純なフレームバッファ用意してその上位版という位置づけにして欲しかった。
BufferedImageも内部には直接画面に転送する32ビット配列(Win版は32ビットDIBSection+独自のアルファ処理?)持っているんだろうし。


558 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 13:56:50 ID:E1GsFmbf]
ピクセルフォーマットが同じだとDDBで転送するだろうから速度は速いはず。
MemoryImageSourcreは任意のピクセルフォーマットで扱うとき大変じゃない?

559 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 16:21:44 ID:SF7yfmPu]
>>558
いや、BufferedImageはWinではDIBSectionじゃないの。
一応「バッファ」もっているし、アルファ処理対応だから。
ラスター要求されたときのためにもメモリ上にフレームバッファが必要なはず。

そういえば、もう何年もWin32APIにしろJavaにしろフルカラー32ビットフレームバッファ(DIB/DIBSection/MemoryImageSource)の速度的な不満は感じたことないな。
ピクセル単位の処理はフルカラー32ビットで行うのが一番楽(1ピクセル1DWORD)だし描画時の性能も十分。


560 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 22:03:00 ID:r/0kDPlo]
BITMASK指定でバッファ作ればDIBと思われる動作速度じゃないよ。

561 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 22:06:29 ID:r/0kDPlo]
32bit単位でのアクセスは非常に遅い。

IntelCore等最新のCPU使っていてもVGAクラスになると処理速度が間に合わない。
2次キャッシュのサイズ等を考慮してぎりぎりといったところか。
QVGAなら32bitカラーはぎりぎりいけるかな。

PentiumM1GHz/Pentium42GHzクラスのマシンを動作対象にしようとすると
QVGA-16bppくらいしか選択肢はない。




562 名前:名前は開発中のものです。 mailto:sage [2006/11/30(木) 17:09:31 ID:TUwNRJc1]
>>559
そんな馬鹿な。2Dの画像転送速度で比較すると

BitBlt(WinGDI) > TransparentBlt(WinGDI) > AlphaBlend(WinGDI)
>> copyArea(Java2D) >> drawImage(Java2D)

なのですが。確かに小さい画面サイズならそれだけ差はなくなるけど
まともなゲームの画面サイズにすると、その遅さが浮き彫りに

563 名前:名前は開発中のものです。 mailto:sage [2006/11/30(木) 17:14:30 ID:TUwNRJc1]
>>559
失礼。フレームバッファの単語を読み飛ばしてました

564 名前:名前は開発中のものです。 mailto:sage [2006/11/30(木) 18:04:42 ID:NwbsHHlf]
Java2DアクセラレーションはDirectXも使っていたり複雑だけど
通常の矩形転送以外はアクセラレーションきかねぇんだよな
しかも頻繁にGCがおきやがる

JOGLアクセラレーションに期待
5.0だとDirect3Dモードはひどいし、OpenGLモードはもっとひどいし

565 名前:名前は開発中のものです。 mailto:sage [2006/12/01(金) 10:00:02 ID:A/U7d6+m]
JAVAって画像ファイル形式にGIFしか使えないってマジですか?

566 名前:名前は開発中のものです。 mailto:sage [2006/12/01(金) 10:14:43 ID:LDltEBVY]
マジではありません

どんな画像ファイル形式でも使えますよ

567 名前:名前は開発中のものです。 [2006/12/01(金) 11:37:19 ID:LC+/aYM5]
Java素人なのですがなんとなく作ってみました!
未だにアプレットの作り方すらよーわからんです。(^^ゞ
ttp://perfect-logic.net/SampleAction/


568 名前:名前は開発中のものです。 mailto:sage [2006/12/01(金) 17:10:48 ID:IDdYaP0u]
結構作りこんでありますねぇ。
某ゲームを彷彿させて萌えましたw
ところでシステムがアーケードっぽいのはなぜなんでしょう?

569 名前:名前は開発中のものです。 [2006/12/01(金) 17:16:25 ID:LC+/aYM5]
感想ありがとうございます〜。
アーケードっぽいのは私がアーケードゲーム好きだったので、なんとなくそれっぽくしただけなんです。(^^ゞ

570 名前:名前は開発中のものです。 mailto:sage [2006/12/01(金) 23:36:55 ID:o1acqxN9]
>>567
ちょっ
これで素人とは言わせないぞ
どこのプロだ?

571 名前:名前は開発中のものです。 [2006/12/02(土) 00:01:56 ID:WxTjtQSm]
>>570
こんばんわ。
ホントにJavaでものを作って公開するのは初めてですよ〜。
一度くらい仕事でJavaってみたいです。(^-^)
ちなみにゲーム歴は結構長いです。インベーダー時代からやってます♪



572 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 05:50:16 ID:8WxMFuvR]
適当な推理だけど、
中堅ソフトメーカーの社員で、30代半ばから40台。
開発現場から管理職に昇進したものの、なんか以前より暇でムズムズしてる人。
最近のゲームは、はっきりいってぬるぽ杉て殺意すら覚えている。
乗り越える壁があってこそ面白いゲームと考えてる。
マーケティングにその事をこぼした際今時流行らないと一蹴され、このゲームを
作り始める直接のきっかけになった。


なんてね。

573 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 09:32:54 ID:wBc7JJHR]
>>572
36〜40の割には顔文字やら音符やらずいぶん軽いな
そんなもんなのかね

574 名前:名前は開発中のものです。 [2006/12/02(土) 10:03:44 ID:YSW2q7Ho]
>>572

>乗り越える壁があってこそ面白いゲームと考えてる
は当たっているかもしれません。
後は…ちょっと違うかな。(^^;
最近のゲームは普通にやりますし、プログラム技術も見てますよ〜。
(素晴らしいの一言です。とても一人では作れるわけ無いですね)

このゲームを作ったきっかけは、昔ナムコの某塔を登るゲームの
二作目(ただ飛ぶだけのヤツ)にガッカリして、自分ならこう作る
かなぁとずっと思ってて、Javaでなんかグラフィックをいじる
ソフトを作ってみるかと思ったキッカケがあったときに
それを実行移した感じですね。
年々仕事がハードになるので、息抜きに作った感じです。(^^;

575 名前:名前は開発中のものです。 [2006/12/02(土) 10:09:23 ID:OMk/eHpK]
(^-^)とか(^-^)/とか(^-^)/~は30台でも使う人いるな


576 名前:名前は開発中のものです。 [2006/12/02(土) 10:37:29 ID:TVj7JnE/]
>>567
URL見てスルーしてたが結構凄いじゃん

577 名前:名前は開発中のものです。 [2006/12/02(土) 11:10:40 ID:YSW2q7Ho]
>>576
ありがとうございます〜。
周りにJavaのグラフィックやゲームフレームワークについて
お話できる人がいない上に、プレーしてもらえるゲーマーが
殆どいない状況だったので、ここに晒してみた感じです。w

578 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 13:20:11 ID:A/80wyG1]
俺もURLみただけでアプレットかなんかかとおもってスルーしてた

単純でもDEMOがあるのがすばらしいな
結構DEMO作るの面倒なんだよな

579 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 16:34:43 ID:Q74I213y]
>>567
初期化時の画面のこだわりは恐ろしいものがありますな。
ゲーム自体もかなり作りこんであるので、ちとびっくりしました。

>>574
「飛ぶだけのやつ」はシリーズでいうと3作目ではないかと。
2作目は「塔を降りる」やつではないかと。
スレ違い失礼。

580 名前:名前は開発中のものです。 [2006/12/02(土) 16:49:36 ID:YSW2q7Ho]
>>578
DEMOがあるとなんか昔のアーケードっぽくていいかな?
と思いました。(^^)
あと、最初の方の面は宝の出し方が故意にノーヒントにしてあるので、
デモプレーで分かるようにしてみました。

>>579
感想ありがとうございます♪

二作目はイシターでしたね。三作目が正解です。www
書き込んだ後に思い出して反省していました。(^^ゞ

581 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 17:06:52 ID:w9uTYl/6]
>>567
JAVAなのにブラウザから直接はじめられないの?



582 名前:名前は開発中のものです。 [2006/12/02(土) 17:12:22 ID:YSW2q7Ho]
>>567
Javaの素人なのでアプレットの作り方とか知らないんです。
エントリポイントが違うくらいの違いであれば作ることができそうですが、
ちゃんと作る気力が無くて...orz

583 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 17:46:49 ID:w9uTYl/6]
embedとかで埋め込めなかったっけ?
普通に作りこんであるだけに起動が面倒なのは惜しい。

584 名前:名前は開発中のものです。 [2006/12/02(土) 17:50:35 ID:YSW2q7Ho]
ほほぉ。そんなのがあるんですね。φ(.. )メモメモ
今度勉強してみようかな。

585 名前:名前は開発中のものです。 [2006/12/02(土) 20:54:16 ID:A5BBW3gR]
>>582
つゲームのパネル化&AppletとFrameへの貼り付け


586 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 21:53:27 ID:NlWQrbtL]
マニフェストでMain-Classを指定してるみたいだからjarアーカイブの関連づけをjavaかjavawに関連づけてたらダブルクリックで実行できるだろ。

>>567
起動〜リソースの読み込み〜タイトル画面移行に掛かった時間を標準出力に吐いてくれたらうれしい


587 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 22:03:33 ID:g+e0ZUOZ]
>>567
連投スマン
これってAWT?
-Dswing.aatext=true
でアンチエイリアスが効いてないような気がするんだけど・・・

588 名前:名前は開発中のものです。 [2006/12/02(土) 22:23:32 ID:YSW2q7Ho]
みなさんありがとうございます〜。
アプレットにも対応してみようかと、mainのクラス(ActionGame extends JFrame)
とは別にAppletのクラス(ActionGameApplet extends JApplet)を作って、
appletviewer使って実験してみたのですが、私のスキルが足りなくて、
途中で画像の読み込みとか(?)でヌルポになってしまいました…
(トレースは表示されましたが、時間が無くて具体的にどの辺りかが
あんまり分かっていません。あと内部でJPanel(JFrameに貼りついている
MainScreen)を作っているのですが、
これがアプレットに貼り付かないみたいで別ウィンドウが出て
しまいました...)
なものでアプレット化は当分無理そうです。ごめんなさい〜。m(_ _)m

>>586
これ位は私でもできるような気がしますが、必要な理由に興味が
あります。何故でしょう?(^^ゞ

開発環境はbash, vi, antで開発していたので、
シェルで普通にパラメータを指定して起動みたいな感じで、
ダブルクリックとかあまりやっていませんでした。
(Windows XPとかだと、jar=ZIPファイルで中を展開ってイメージが
あったもんで...)

589 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 22:53:32 ID:m+FwCpVx]
アフォな解凍ソフトが jar まで解凍拡張子として関連付けしている
場合があるから、Windows向けに下記のランチャーソフトをお勧め

ttp://launch4j.sourceforge.net/
ttp://www.ne.jp/asahi/web/ryo/exewrap/

590 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 23:02:38 ID:lFDLhCqW]
jarはダブルクリックで実行がデフォ
あふぉなアーカイバは無視しておけ

591 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 23:04:51 ID:lFDLhCqW]
>>588
画像読込部分はりソース読み込みならおかしくなるとは思えないけどどういうコード使ってるの?



592 名前:名前は開発中のものです。 [2006/12/02(土) 23:08:50 ID:YSW2q7Ho]
>>591
読み込みよりもダブルバッファのイメージ生成でコケてました。(^^;
Component.createImage APIです。
…トレースを見ていたら、

[Action game start]
Game initializing...
Image create error.
Framework initialize failed. error(-1)
java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkExit(SecurityManager.java:744)
at java.lang.Runtime.exit(Runtime.java:88)
at java.lang.System.exit(System.java:868)
at ActionGameApplet.init(Unknown Source)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:595)

とかなっていたので、もっと根本的におかしいのかも知れないです。
(HTMLの書き方とかからしてとか)
嗚呼、スキルの無い悲しみ…orz

593 名前:586 mailto:sage [2006/12/02(土) 23:31:14 ID:g+e0ZUOZ]
IDが変わってるだろうがプロバイダの仕業だから気にしないでくれ

>>588
レス早いねありがと。
javaはVM向けのオプションをいじり倒すとかなり最適化出来るんだがマシン構成やらプログラム側のGCの発生頻度やらその他諸々の癖で結構指定するオプションを見極める必要がある。

んで効果を手軽に確認するのに初期化処理とかリソースの読み込みに掛かった時間が分かるとめあすになるかと思って。


あと思ったんだがJavaVMじゃなくてJavaアプリケーション側の実行時引数って普通-Dオプションで渡さない?swingだけだろうか?


ダブルクリックでjar実行なら最近のGUIOSならJavaVMに関連づけがデフォだからwinやMacOSXならいじる必要ないと思う。

linuxとかCUI混在は知らん。
上で言われてる通りバカなアーカイバがjarをZipとして云々はデフォ設定に直せばおk

winでjar=zipとして解凍って思い込みはIEがHTTPからダウンロードする時MIME-TYPE見てないせいで云々に関係するからOSがバカなだけ。

ド素人ならJarを何も考えずにクリックして見るのが普通と思う。解凍は意図的にする。

長かったな参考になっただろうか

594 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 23:49:58 ID:lFDLhCqW]
>>592
System.exitがどっかにかいてあるとか?
あれはアプレットだとセキュリティ違反


>>593
GCはインクリメンタルGCnにするとフルGCが大体消えて快適になる
5.0ならパラレルGCなので大丈夫

-Dはパラメータ用ではない。用途が違う



595 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 23:55:17 ID:YSW2q7Ho]
>>593
どうもです。(^^)

>んで効果を手軽に確認するのに初期化処理とかリソースの読み込みに掛かった時間が分かるとめあすになるかと思って。
参考になりました。φ(^^ )メモメモ
ということで時間を見つけて入れてみますね。
エンディングまで行った時にもTotal Play時間も入れておこうかな。

-Dswing.aatext=true パラメータは知らなかったのでググッてみたのですが、
これはテキストにアンチエイリアスがかかるとか紹介されていました。
ビットマップの転送にもアンチエイリアスがかかるのかも知れないのですが、
私も試したらNGでした。ちなみにゲーム中に表示される文字は全て
ビットマップです。

596 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 23:58:03 ID:YSW2q7Ho]
>>594
System.exit書いてあります!
アプレットの時はコレが書いてあるだけでNGなんですね。φ(^^ )メモメモ

597 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 00:11:31 ID:Weooalfd]
ブラウザでプレイできるようにしてくれ〜

598 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 00:19:26 ID:7tbgDbUF]
>>597
すみません〜。スキルがなくて…orz

System.exit止めたらExceptionが消えましたが、Component.createImage(w,h) API
でイメージが生成できないのは解消できずです。orz
newしたJPanel(Component)はヌルポでは無いのに…

599 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 00:28:03 ID:JGG55Wof]
>>597
アプレットはずっと動き続けるものだからね
破棄はブラウザ閉じたりページ移動したりユーザーの意思によってのみされるわけだ

>>598
エラーメッセージは?


600 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 00:36:40 ID:7tbgDbUF]
>>599
598で述べたJPanelは私のチョンボでした。
アプリケーションのmain関数でインスタンス生成するのと同じように、
アプレットのInitの中でActionGameAppletをインスタンス生成していました。
(インスタンスが二重になってしまっていて、おかしくなっていました)

今はjar内のイメージ(最初にフォントを読み込みます)の読み込みエラーになり始めました。

Image load error. (/images/text_font.png)
java.lang.NullPointerException
at TextScreen.initialize(Unknown Source)
at God.initialize(Unknown Source)
at ActionGameApplet.init(Unknown Source)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:595)

コードはこんな感じです。

 // イメージを読み込みます
 Toolkit toolkit = Toolkit.getDefaultToolkit();
 Image srcImage = null;
 URL url = God.getURL(fileName);
 if(url != null) {
  srcImage = toolkit.getImage(url);
 }
 if(srcImage == null) {
  System.out.printf("Image load error. (%s)\n", fileName);
  return null;
 }

filenameがjar内の/images/text_font.pngにあたります。

601 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 00:37:20 ID:JGG55Wof]
しかしアプレットだとVMにたいして細かい制御ができないしパフォーマンスも下がるし制限多いんだが
アプレットにこだわるのはどういうことだろうね

WebStartアプレットならまだましか



602 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 00:44:09 ID:JGG55Wof]
>>602
肝心の例外が出てる行はどこ?
ツールキットでのロードってことは読込完了するまでまってる?
画像ロードはImageIO使ったほうが楽だと思うよ
リソースのストリームから呼び出すようにね

あとソースファイルが多いので1つのディレクトリに全部展開するよりは階層構造にしたほうがいい
viとかでは管理できないレベルかと

リファクタリング使えるIDEつかえばドラッグアンドドロップで自動的にクラスの移動ができる
もちろん使われている場所も全部問題なく変更される

ここまでの規模になるとたいしたことなくともIDE必要だと思うよ
antも全部自動生成してくれるし

603 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 00:52:36 ID:aNPfAlfu]
>>594
-Dはシステムプロパティの方だった・・・orz

ユーザープロパティはProperties#loadで自分でプロパティファイル毎拾わないといけないんだったな。

>インクリメンタルGC〜
それは言えてる。けどインクリメンタルGCはフルGCのコストとは比べ物にならなくても常に少しのCPUパワー消費が増してるからハードウェアアクセラレーションが効かない現状だと貧弱PCだと辛いかと思ってさ。

あとメモリ使用量とかも調節したいし。


CPUが2つ見えてればサーバーVM使いたいんだけど・・・(°ω°)

>>595
-Dswing.aatextは将来のDeskTopJavaのサポートを強化するためにSE5.0で先行実装された非公開のオプション。アプリケーションレベルでテキストをアンチエイリアスしてくれる。com.sun.java.swing.SwingUtikities2のソースを読むと幸せになれるかもしれない。

だが、知らないなら余り触れない方が良い。


文字はビットマップなのか。それならJava2Dの仕事。SDK5.0の「java2Dのグラフィックスとイメージング-J2SE5.0でのJava2Dの新機能 or Java2Dテクノロジのシステムプロパティ」が参考になるが現段階では充てにならん。SE6〜7辺りに期待。

>>596
ブラウザにプラグインされてるVMを勝手に終了させられたらブラウザは迷惑だと思うw



604 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 00:53:47 ID:7tbgDbUF]
>>602
根源は
URL url = God.getURL(fileName);
というところでした。
この関数は、sun.applet.AppletClassLoader.getResource(filename)
としていて、ここでNULLになっているみたいです。
(結果、if(srcImage == null)がnullになるという感じです)

ImageIOというのもあるんですね。ためになります〜。
EclipseとかカッコイイIDEを使いたいというのもあったのですが、
何分勉強する時間が無くて、最初はHello Worldから始めて、
グラフィックをちょっと描いてみる→ここまでに至りました。
この辺、言語や開発の仕方を覚えていく過程としてはかなりいい加減です。
(この言語が本職で無いからどーでもイイヤみたいな感じだったとでも
いいましょうか...(^^ゞ)

605 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 00:57:25 ID:JGG55Wof]
>>603
サーバーVMはスループットはよくなるけどレスポンス悪化するのでゲームじゃ今のところ使えない
クラスロード時にコンパイルが出来るなら別だがそういうVMはないはず

それにインクリメンタルGCは5.0でトレインGCからパラレルGCに変更になったので大丈夫だよ
トレインアルゴリズムは非常の遅くて1GHzくらいでも60fps維持は結構きつかった
一応隠しオプションでトレインにかえれるけどだれもつかわないね、あれは


606 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 01:01:12 ID:JGG55Wof]
>>604
リソース読むときコードにクラスローダ直書きってこと?

IDEはわからないのであればNetBeansお勧め
セットアップしてすぐに使えることと覚えることが少ないのがぐー
新規にプロジェクト作ったらsrcフォルダにそのままソースをぶっこむだけでおわる

それに補完等があるからIDEは便利だよ
コンパイルしなくても構文にエラーがあればリアルタイムに表示してくれるし

607 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 01:06:14 ID:7tbgDbUF]
>>606
>リソース読むときコードにクラスローダ直書きってこと?

いえ、最初にgetClass().getClassLoader().getClass()してます。(^^ゞ
アプレットの時は"sun.applet.AppletClassLoader"で、
アプリケーションの時はお詳しいと思うのでご存知のように、
"sun.misc.Launcher$AppClassLoader"
みたいになりました。

IDEはもう少し時間が取れたら試してみようかな…

608 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 01:20:39 ID:aNPfAlfu]
>>605
パラレルアルゴリズムってそんなにパフォーマンス改善されてるのか。

>>サーバーVM〜
そういやこれアクションゲーだったな。
俺ADVエンジンしか作れないからレスポンスいらねw

でもlinuxだとデフォでサーバーVMが起動するからゲームのパフォーマンスさげてるって事か。


ところでswingで書けばアプレットでもアプリケーションでもどっちでも起動できるが>>604がdemoのSwingSet2のソースを理解出来るかどうか。

swingサポートしない古いMSVMはセキュリティの面からも切り捨てでw

#MSVMはJITだけが取り柄だな

609 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 01:41:17 ID:JGG55Wof]
>>607
リソース周り少し調べればたぶん解決すると思う
ストリームのほうつかってみたら?

あとファイルをjarの外に出すという方法もあるね
あとでパッチ当てるの楽になるし開発中のときはデバッグに楽かも

まぁリソースは別のjarとかにしておくのが正解か
WebStart等とかんがえるならね

>>608
あとGC自体1.4から5.0で見える範囲でパフォーマンスアップしている

Swingかどうかって関係ないのでは?
awtでもアプレットとアプリは併用可能

フルスクリーン等実装してることから1.4以上が必須なわけだし
あとはOggあたりをループ再生していればいいね

linuxは32bitならサーバークラスマシン検出しないとデフォはクライアントだと思うんだけど
64bitはクライアント版はなし

610 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 01:54:36 ID:7tbgDbUF]
>>609
色々と調べたら、アプレットでのjar内のリソースの読み込みは
セキュリティポリシーの問題で難しそうに感じました。
(それで合っているのか分かりませんが...)

本来は提案で言われたとおり、jarを外に出すとかWebStart等が
いいのかと思いますが、流石にそのパワーが無いので、
一旦これで凍結にしようかと思います。
(所詮適当に作ったサンデープログラムプロゲームですしね。www)

----
本来はオフラインで周りに聴ける人とかいれば、色々と相談したい
ものなのですが、残念なことにJavaエンジニアが側に一人も居ないので、
なんかきっかけがあったらまたゴソゴソとトライしてみようかと
思います。

スレの流れを見ていると、上級Javaエンジニアの方が二人程
私の相手して頂いたように見受けられます。
色々とテクニカルなキーワードを教えてもらって、
かなりタメになりました。ありがとうございます!( ´▽`)ノ

>>皆様
クソゲーではありますが、純粋にレトロ風なアクションゲームを
楽しんでいただけると幸いです。(^^)
ttp://perfect-logic.net/SampleAction/

611 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 03:06:12 ID:YF8PnGLn]
自分が書いたJar内のリソース読み込みプログラム
アプレットでも大丈夫
/resourceフォルダ以下にこれとリソースを入れておけば良し


package resource;
import java.io.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

public class ContentsReader {
  public InputStream getInputStream(String fileName){
    return getClass().getResourceAsStream();
  }
  public BufferedImage getImage(String imageName){
    BufferedImage image;
    try{
      image = ImageIO.read(getInputStream(imageName));
      return image;
    }
    catch(IOException e){
      e.printStackTrace(System.err);
    }
    return null;
  }
}



612 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 03:16:48 ID:fVWUDxZS]
確か、Jar関連のプログラミングは、
ClassLoader#getResource
Thread#setContextClassLoader
辺りを使えば大体何とかなったな

613 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 12:38:36 ID:YF8PnGLn]
>>611のコードが間違っているが見なかったことにする

614 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 12:49:00 ID:SWYB2VRJ]
>>610
楽しんで作ってるうちが一番だと思うよ
だからアプリケーションでのみだが問題ない

仕事で作るとなるとそれはそれは・・・

とりあえずこのスレを1から読んでみることをオススメする

615 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 21:46:13 ID:7tbgDbUF]
>>614
斜め読みですがこのスレを一通り見てみました。(^^)
私がコーディングしていて通ったような悩みを他の人も
遭遇していたりして、もっと早くこのスレに来ていればなぁと
思いました。

本職はWin,LinuxのC++/Asm系なので、この言語の高級感
(というかライブラリの充実度)は萌えだったのですが、
仕事となると色々と知らないといけないガイドラインが多そうで
大変なんだろうなぁとシミジミです。

616 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 21:55:02 ID:/gdh39Xl]
前スレのほうが中身はあったようなきがしたけどまぁ出来上がってるから関係ないね
あとは音楽でもはいっていれば十分かと

できればジョイパッド対応ってところだけどJNIはいるからめんどくせーかな
まぁC本職なら十分楽だろうけど

Javaはネット周りが楽なのでネトゲの鯖から採用され始めてきて最近はクライアントにもきてるみたい
ネトゲは運用がはいるからパッケージと違って保守性って大事だからね

617 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 22:29:48 ID:7tbgDbUF]
>>616
>あとは音楽でもはいっていれば十分かと
そうなんですよねぇ… ちょっとMIDIで作ったのですが、
プログラムや絵よりも難産で当分無理かなぁという状況です。
(外部ファイルで設定できるとはいえ、開発者の作曲のスキルが…orz)

>できればジョイパッド対応(ry
最初Windows上にcygwin入れて、JNIをサンプルで作ってみて、
エントリポイント関数ができたので、さて作ってみるかと思ったのですが、
その直後「JoyToKey」という素晴らしいソフトを見つけてしまったので、
作成意欲がゼロになりました。
(私は"PCで遊ぶゲームはキーボード"で育ったので、自作ゲームは
キーボードでクリアする方が簡単となってしまい、この辺があんま考慮
されてなかったりします。m(_ _)m)

昔、日経Linuxとかで携帯ゲーム開発のコストの記事かなんかを
みたことあるのですが、技術者のスキルに比べて開発費用が激安で
回収が厳しいとか書いてありました。Javaで簡単に作れる時代になった
とはいえ、これで保守/運用とかあると厳しいんだろうなぁと感じました。

618 名前:名前は開発中のものです。 mailto:sage [2006/12/04(月) 00:23:03 ID:TAJliEjW]
キーボードでもいいんだけど、同時入力が出来ない場合が多いからね
しかもこのキーとこのキーが同時に入力できないってのはキーボードによって違う
アクション系では致命的

619 名前:名前は開発中のものです。 mailto:sage [2006/12/04(月) 00:50:11 ID:rOxIjnLZ]
>>618
>キーボードでもいいんだけど、同時入力が出来ない場合が多いからね
>しかもこのキーとこのキーが同時に入力できないってのはキーボードによって違う
φ(.. )メモメモ
これって、キーボード的(ハードウェア的)にですか?
OSのキーボードデバイスドライバ的ですか?('=,VMのイベント的ですか?)
(恐らく後者とは思っていますが...)

自作のゲームはサンプルなので、左右とジャンプしか行わないためか、
幾つかのPCでキーボードプレーしても、このような感覚に出会った事が
なかったです。

とても勉強になります。

620 名前:名前は開発中のものです。 mailto:sage [2006/12/04(月) 02:19:17 ID:oYP8msvX]
ttp://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89#.E3.83.AD.E3.83.BC.E3.83.AB.E3.82.AA.E3.83.BC.E3.83.90.E3.83.BC

621 名前:名前は開発中のものです。 mailto:sage [2006/12/04(月) 03:05:27 ID:rOxIjnLZ]
あー、ハードウェア的でしたか…(^^;
JoyToKeyのようなソフトウェアはキーイベントをOSに発行するから、
こーいう問題はないのかもなぁ…



622 名前:520 mailto:sage [2006/12/04(月) 04:42:32 ID:8QL/yjCh]
キーボードのタイプにもよるだろうけど左上+スペースが反応しないね。


623 名前:名前は開発中のものです。 mailto:sage [2006/12/04(月) 04:43:21 ID:8QL/yjCh]
そしてミス、漏れはこのスレの520じゃない

624 名前:名前は開発中のものです。 mailto:sage [2006/12/13(水) 12:04:19 ID:nFrd+DMR]
JavaSE6がでたが、単純に高速化してるなー

625 名前:名前は開発中のものです。 mailto:sage [2006/12/13(水) 16:07:46 ID:tbX8caYj]
ニューラルネットワークの学習に使ってるけど
同じことさせて11.701sec→9.815secで速くなってた。
処理の内容はほとんどが浮動小数点演算だけどGUI周りはどうなんだろ?


626 名前:名前は開発中のものです。 mailto:sage [2006/12/13(水) 19:05:49 ID:nFrd+DMR]
GUIもはやいっぽい。
特に今までアクセラレーションがなかったWindows以外の環境でもアクセラレーションきくようになったのは大きいかと。

627 名前:名前は開発中のものです。 mailto:sage [2006/12/14(木) 08:23:31 ID:U6gTfVOR]
windowsだけど1600x1200のタイル描画で普通に60fpsがだせるようになった
5.0で同じことやっても10fpsいかなかったし、
6.0はjavaゲームの本当のスタート地点になるかも

628 名前:名前は開発中のものです。 mailto:sage [2006/12/15(金) 18:08:34 ID:Ihq+GcpE]
まじか
じゃあ俺もこれからアプレットのゲームつくってみよ

629 名前:名前は開発中のものです。 mailto:sage [2006/12/15(金) 23:17:44 ID:e9fBCpQh]
デスクトップ環境の強化ってどういう意味?
Javaアプリケーションが高速ってこと?

630 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 16:06:00 ID:p9tzPmLY]
>>627
2Dの事?
今までが遅すぎただけ。アルファブレンド固定なせいもあるけど
しかし、今頃になってようやくって感じだな。

ロジックの速度も上がってるけど、コレクションクラス群はどう?
JavaがC++で劣るのはGCのみ、と言ってる人がいるけど
ロジックのコアとなるCollectionAPIの遅さを考慮してないから話にならん。
STLは、ヘボ設計だけど速度はあるからそれだけ実用に足りるがね。

631 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 00:02:03 ID:SYIGKUNN]
>>627が何の描画で早くなったのか知りたいな

今回JREにServerVMが付属してないからJDKのJREほうでやってみたら
ServerVMのほうがコンパイルに時間がかかってかくかくになるくせに
ClientVMと同じ性能しか出てない

これはClientVMがServerVMにスループットでも追いついたということか




632 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 14:55:12 ID:iXhkS4tF]
へーマジか

633 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 15:17:19 ID:hjNOU8u3]
新しいJava2DレンダリングエンジンとJOGLの統合
journal.mycom.co.jp/news/2005/09/15/021.html
weblogs.java.net/blog/campbell/archive/2005/03/strcrazy_improv_1.html

とか

ClientVMのレジスタ割り当てアルゴリズムが変更された
weblogs.java.net/blog/opinali/archive/2005/11/mustangs_hotspo_1.html

あたりが影響している感じ

634 名前:628 mailto:sage [2006/12/17(日) 15:47:07 ID:EcLAzrob]
速さがよく分からなかった。
パソコン買い替えるか・・・

635 名前:名前は開発中のものです。 [2006/12/17(日) 20:16:45 ID:+LUNIpol]
流れ読まずに質問するが、vjpってどう扱えば良いのだろうか?
さっきS!アプリの開発環境を落として来て動作テストを行なおうとしたら、jadを直接読み込めないんだよ。
焦ったぜ……
このテストさえクリアすればようやく公開だってのに……

636 名前:名前は開発中のものです。 [2006/12/17(日) 20:23:17 ID:+LUNIpol]
おお、ありがとう。
そうか、疑似端末でインストールして動かすのか……
盲点だったぜ。

637 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 20:58:57 ID:Lz0Pt1eB]
これはどういう流れなのだ・・・

638 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 22:19:40 ID:zMoxVD1I]
俺も新型エミュにはあれ? と思ったよ
何しろexeだったし…
つーかバッドバージョンインフォメーションてなんだよ。1.5だからか?

639 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 23:17:36 ID:+LUNIpol]
>>673
ん? 君には見えないのか。
アドバイスをくれたあの人が……

いや、どうやら俺にだけ見えるらしい……忘れてくれ……


ところで、初心に帰ってゲーム制作を1から学び直せるサイトってどこかないだろうか。
出来たものが何故かバグだらけで非常にむかついたんだ。
自分でもぐぐって探してみたんだが、どうにもPC用講座ばかり引っ掛かる……
というかサウンドノベルでバグ出す自分って一体……orz

640 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 23:52:05 ID:+BHAw/PJ]
Developing Games in Java
www.amazon.co.jp/dp/1592730051/

641 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 23:59:57 ID:Lz0Pt1eB]
>>639
最初から大掛かりなの作ろうとしてないか?

昔のBASIC時代と同じく手軽に作れる小粒のアクション系つくってみたら?



642 名前:名前は開発中のものです。 [2006/12/27(水) 23:40:47 ID:L0eM1Y3J]
>>567
[Action game start] (Start time:略)
Game initializing...
MIDI sequencer device open error...
Framework initialize failed. error(-5)

あら・・・動かない。

643 名前:名前は開発中のものです。 mailto:sage [2006/12/28(木) 00:49:15 ID:0S10EeXq]
>>642

こんばんわ、567の作者です。

初めてみる症状です…
JavaのMidiSystem.getSequencer()にて例外が起きているみたいです。
PCのサウンドシステムにMIDI環境は揃っているでしょうか…?

644 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 00:25:15 ID:9nXP6CjO]
サウンドバンクはこのプログラムには入ってるの?
JDKはサウンドバンクの一番小さいやつははいってくるけど、JREには1.4以降はいってないはずだよ
それを読み込むプログラムはどうしてるの?

それがないとすれば動かないのが普通
一部環境(JDK入れた人)では動く、が正解

645 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 02:30:52 ID:0wIkKd8m]
>>644

すみません。サウンドバンクという概念自体を理解してないでAPI使っています。(^^ゞ
なので、回答としては「恐らくプログラムには入っていない」ような気がします。

以前、インスコしたばかりのWindows 2000上にJRE5.0を入れて動いたのを
確認したことはあったのですが、もしもJRE1.4以降にそれが入っていないと、

 Sequencer midiSequencer = MidiSystem.getSequencer();
 midiSequencer.open();

みたいなことができないようであれば、JDKもついでにインスコしていた
のかもしれません。
(他の開発環境ではないマシンはネットカフェでJDKが入っていないと
思われるXPマシンで動かしたことがある程度です)

とりあえず642さんに動かして遊んでもらいたいところではあるので、
どうしたらよいもんやら...

646 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 10:23:30 ID:M9cmQJF8]
>>645
JDK入ってても現象でてます。

647 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 14:03:17 ID:0wIkKd8m]
>>646

こんにちわ。

う〜ん。ちょっと環境の詳細が分からないとちょっと対応が難しそうですね。
(OS、サウンド環境、Java環境、etc...)
こちらで現象が確認できない(同一環境が揃わない)と、どうやって
対処して良いものか...

あと、他の方が作成したMIDIを鳴らすサンプルプログラムとかで、
発声するかとか知りたいところです。
それでも同じような例外が発生するようでればPC(Java)環境、
そうでなければ私のプログラムが問題ということになりますね。
(私がJavaの素人なので後者とは思いますが...)

なんか他の良いMIDIサンプルないですかねぇ。
(MidiSystem.getSequencer().open();してそうなやつ)

648 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 14:26:02 ID:M9cmQJF8]
>>647
実行したら死んだ。
Sequencer midiSequencer = MidiSystem.getSequencer();
midiSequencer.open();

javax.sound.midi.MidiUnavailableException: MIDI OUT transmitter not available
at com.sun.media.sound.AbstractMidiDevice.createTransmitter(Unknown Source)
at com.sun.media.sound.AbstractMidiDevice.getTransmitter(Unknown Source)
at javax.sound.midi.MidiSystem.getSequencer(Unknown Source)
at javax.sound.midi.MidiSystem.getSequencer(Unknown Source)
at midi.MidiTest.<init>(MidiTest.java:21)
at midi.MidiTest.main(MidiTest.java:14)

諦めます。

649 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 15:15:29 ID:aT7rJMam]
とりあえず僕がBGMの再生用に使ってるクラスはこんな感じ。
ttp://www.vipper.org/vip410441.txt.html
BGMBundleにシーケンス一式溜め込んでおいてランダムに再生するだけの物です。
手元にWindowsとLinuxの両方の環境あるけどどっちでも動いてます。


650 名前:648 mailto:sage [2006/12/29(金) 15:59:11 ID:M9cmQJF8]
>>649
やっぱり
this.sequencer = MidiSystem.getSequencer();
の部分で死ぬ

どうやら俺の環境に問題があるらしい。
何かにデバイス横取りされてるのかな。
Java Media Framework関係は普通に鳴ってる・・・。

651 名前:648 mailto:sage [2006/12/29(金) 18:23:49 ID:M9cmQJF8]
AudioClip play()も問題なし・・・。
こんな現象もあるんだ〜と感心。
今後の参考にします。



652 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 18:41:28 ID:0wIkKd8m]
>>648

オアー。環境スか...(´д`;
そのうち環境が整ったらプレーしてみてください。m(_ _)m
(ステージも結構あるので、80'sのアクションゲーム好きでしたら
楽しめると思います)

でわ。

653 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 20:26:04 ID:aT7rJMam]
ttp://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=cdd3f2d858bc6fffffffffa08e9d7dbe34c4:YfiG?bug_id=6483856
これかな?
Evaluationの部分を適当に訳してみる:
>指定されたサウンドカード(SoundMAX Digital Audio)はハードウェアMIDIポートを持っていないので
>Javaのソフトウェアシンセサイザーを使うことになります。
>標準ではJavaSE JREはソフトウェアシンセサイザーのサウンドバンクをインストールしませんが、
>しかしサウンドバンクが利用可能でなければシーケンサはソフトウェアシンセを使用しません。
>このためシーケンサは使用可能なアウトプットデバイスを見つけることが出来ないので失敗します。
>したがって新しいJavaSoundDemoのためにRFEの写しとしてCRを閉じて、
>それらのケースを詳細に取り扱うべきです。

最後の一文がよくわからんかったけど
JRE普通にインストールしただけじゃ
Java付属のサウンドバンクが入らないから入れろってことだね。
ただWindows側でソフトウェアシンセって持ってなかったっけ?


654 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 23:56:59 ID:J80FO9qV]
>>648
がうごかないっていうのはライブラリの問題だと思う
マルチコアだと動かないとかよくあるから環境を書いたほうがいいと思う

655 名前:名前は開発中のものです。 mailto:sage [2006/12/30(土) 10:34:14 ID:HoTiFon7]
マザー:gigabyte GA-965P-DS3
CPU:intel Pentium D 930 BOX(一個)
サウンド:オンキヨー SE-90PCI
OS:Win2000SP4
JDK:JDK5、JDK6(どっちもダメだった)

関連性があると思われるインストール済みソフトウェア
Audio Deck
JMF1.2

MIDIはWindowsMediaPlayerに関連付けられている状態

656 名前:名前は開発中のものです。 mailto:sage [2006/12/31(日) 10:14:46 ID:1VGXvsjp]
お前らのゲーム音源はMIDIですか、それともAUですか。

657 名前:名前は開発中のものです。 mailto:sage [2006/12/31(日) 21:54:30 ID:p+8prPoH]
BGMはMIDI、効果音はau使ってます。

658 名前:名前は開発中のものです。 mailto:sage [2007/01/01(月) 02:10:42 ID:6EV+wqWa]
BGMはOggVorbis、効果音はWAV
これデフォでしょ

659 名前:名前は開発中のものです。 mailto:sage [2007/01/01(月) 02:43:23 ID:moAKmPyK]
>>655

JMFのコンフリクト
ttp://forum.java.sun.com/thread.jspa?threadID=586287&messageID=3024044

sound.jar(またはjmf.jarも)を
lib\extから(またはclasspathからも)除外。

660 名前:名前は開発中のものです。 [2007/01/04(木) 22:53:24 ID:KxRY1/gx]
サウンドバンクを配布するってのもだるいな・・・。
配布する際は使ってるライブラリも含める?
それともインストールを促す?

含めると、そんなライブラリ持ってるわい!って言う人いるだろうな。
かといって含めずに「動かないんですけど」って問い合わせが来ると対応が大変だし。
なんか良い方法ないかな。

661 名前:名前は開発中のものです。 mailto:sage [2007/01/04(木) 23:04:33 ID:CqSR8cXM]
散々注意書きする



662 名前:名前は開発中のものです。 mailto:sage [2007/01/05(金) 00:53:20 ID:CKZiJJtc]
アプレットなら普通にHTTP経由でダウンロードすればいいだけでは?
アプリなら適当にファイル同梱すればいいし

別にJREにはいってる必要はない


663 名前:名前は開発中のものです。 mailto:sage [2007/01/05(金) 09:23:58 ID:EoheASy3]
>>662
その「適当にファイル同梱」の事を言ってるんジャマイカ。

664 名前:名前は開発中のものです。 mailto:sage [2007/01/05(金) 12:02:21 ID:CgA1l96c]
>>663
再配布可能物なんだから問題ないだろ?
それが問題になるなら画像やサウンドファイルなど他のリソースも問題になるってことだぜ?

665 名前:名前は開発中のものです。 mailto:sage [2007/01/06(土) 10:57:57 ID:51STjwfV]
色々な視覚効果を試行錯誤中なんだが
いい感じのエフェクトはないかね?

ttp://www.durius.com/
ttp://hp.vector.co.jp/authors/VA012735/

666 名前:名前は開発中のものです。 mailto:sage [2007/01/06(土) 15:14:07 ID:r24lOWtw]
エフェクトに対してJavaと何の関係があるのかと
それにゲームによって使い方違うだろ

667 名前:名前は開発中のものです。 [2007/01/06(土) 18:29:48 ID:nMuYdedC]
自分も視覚効果について考えていたけど処理速度の都合上
あんまり無茶するとフレームレートががた落ちになるのがネックだね。
sun.java2d.openglやsun.java2d.d3dのオプションで
OpenGLやD3Dのアクセラレーションが効くのはいいけど
環境や処理によってアクセラレーションが
効いたり効かなかったりするからあんまし過信できないかな。
というかアクセラレーションが効かないだけならいいけど、
D3Dだと拡大縮小が以上に時間かかるバグがあったり、
OpenGLだと色が化けたりでまだ実用には少々難ありっぽい。
(どちらも本家のバグレポートにあった)

とりあえずDirect3D向けの視覚効果テクニックから
軽そうなのだけをJavaに引っ張る予定。

668 名前:名前は開発中のものです。 mailto:sage [2007/01/06(土) 23:14:26 ID:CAKGleIT]
OpenGLによるJava2Dアクセラレーション期待していたらぜんぜん話にならなかった(DirectDrawのほうがまし)から
JOGL使ってOpenGLそのまま使うのが今は一番現実的かな

669 名前:名前は開発中のものです。 mailto:sage [2007/01/06(土) 23:36:13 ID:cnJipY2O]
ttp://www.balmunc.jp/

MMORPGをJavaで作るそうです。
説明によるとサーバーもクライアントもJavaみたいです。
どこまでいけるのやら?

670 名前:名前は開発中のものです。 mailto:sage [2007/01/07(日) 00:06:10 ID:NntNHMAa]
>>669
ブラウザ上で動くオンラインゲームってのは面白そうだな。
Javaのメリットも生かせそうだし、何より金の臭いがプンプンするぜー!!

671 名前:名前は開発中のものです。 mailto:sage [2007/01/07(日) 11:19:46 ID:6B2D6r/d]
ホームページビルダーですか(笑)

アドレス見て.hackを思いだした



672 名前:名前は開発中のものです。 [2007/01/09(火) 03:31:44 ID:EAQZbwWj]
javaじゃ無いけど、SecondLifeのクライアントソースがオープンソースになった
secondlife.com/developers/opensource/getit

673 名前:名前は開発中のものです。 mailto:sage [2007/01/09(火) 21:58:25 ID:HlHNM13x]
>>669
オモシロそうだね。

しかし、いまどき手作りサイトはきつくないか?
せめてCMSを使ってほしい。
xoops, joomla, pukiwikiあたり。




674 名前:名前は開発中のものです。 mailto:sage [2007/01/10(水) 10:31:16 ID:1y6WyCtf]
FrameとSwingの違いってなんです?

675 名前:名前は開発中のものです。 mailto:sage [2007/01/10(水) 13:02:27 ID:CY2D89Rv]
AWTはFrameやDialog等を含む
SwingはJFrameやJDialog等を含む

つまり比べている単位が違う


676 名前:名前は開発中のものです。 mailto:sage [2007/01/10(水) 16:06:33 ID:CUOEf+p3]
XOOPSはバグだらけだしコミュ荒れまくりだしトラブル起きまくりだし半分死んでる

677 名前:名前は開発中のものです。 mailto:sage [2007/01/10(水) 19:51:15 ID:1y6WyCtf]
>>675
ありがとうございます

678 名前:名前は開発中のものです。 mailto:sage [2007/01/10(水) 20:45:36 ID:oWjZFBCd]
>>673
ネットゲームを作ってるけどユーザー登録と認証のデータベースを
一々作らなくてもXOOPSとかのに便乗してしまえばいいことに気がついたよ。
でもXOOPSは荒れてるのか、残念。


679 名前:名前は開発中のものです。 mailto:sage [2007/01/10(水) 23:47:17 ID:ssMCF7LR]
>>669
試みは面白いけど
ブラウザMMOである必要があるかってのが不明だし
見た感じ完全な素人ぽいし、何をやりたいかってのがわからないから微妙だな

680 名前:名前は開発中のものです。 mailto:sage [2007/01/11(木) 00:27:37 ID:mphLe0zy]
>>679
Javaだからブラウザとは限らないと思う。
むしろブラウザでアプレットでも動いて、
WebStartやJavaアプリケーションだったら
他の機能も使えるとかだったら面白いと思う。
ただ募集で人を募ってるにしてはちと情報が足りないよねぇ。


681 名前:名前は開発中のものです。 mailto:sage [2007/01/11(木) 00:56:40 ID:NgTbegp6]
>>669
どこかでみたなって思ってたら BOTNEWSの人のサイトじゃん。



682 名前:名前は開発中のものです。 [2007/01/11(木) 08:07:23 ID:S2vx2eJV]
ラグナロクw

683 名前:名前は開発中のものです。 mailto:sage [2007/01/11(木) 14:53:51 ID:Yd1G/kpu]
.hackを思い出すようなURLだな

684 名前:名前は開発中のものです。 mailto:sage [2007/01/11(木) 21:55:18 ID:5qUJXaj7]
皆様こんばんは。JAVA初心者です。
JAVAゲームを作りたいのですが、どこかのサイトでフロッピーに一括DLできるようなところはありませんでしょうか?
プログラムはもう出来ていて、あとは入力すれば出来るような簡単なゲームで良いんです(テトリスなど)。
皆様ご存知でしたら大変申し訳ないんですが教えてくれませんでしょうか…?

685 名前:名前は開発中のものです。 mailto:sage [2007/01/11(木) 22:02:28 ID:+EVEwFD/]
申し訳ありませんが意味が分かりません。もう少し易しい日本語で書いてください。

686 名前:名前は開発中のものです。 mailto:sage [2007/01/11(木) 22:29:11 ID:XoWa/QNu]
ここ
javagame.main.jp/

687 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 03:00:48 ID:STRKeNbN]
そのサイトすごくいいんだけど
もちっと泥臭いJavaに限った情報を集めたサイトが欲しいなー


688 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 05:51:25 ID:h6iNVB6D]
どの程度Javaを理解してるかにもよるな。
とりあえずお前さんが書いたソースをどっかにあげてくれ。

689 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 18:19:58 ID:+JdArOF0]
Imageのサイズを取得することが出来ないんですが何故でしょうか
image.getWidth(this);でいけますよね?-1が返るんですけど

690 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 19:13:52 ID:k6cliGBg]
>>689
Javadocより
> abstract クラス Image は、グラフィカルイメージを表現する
> すべてのクラスのスーパークラスです。
> イメージは、必ずプラットフォーム固有の方法で取得してください。
ベクトルイメージとかもひっくるめてのスーパークラスだから
ピクセルの概念をImageは持ってない。
BufferedImageとVolatileImageはピクセルベースのイメージで
サイズの概念を持ってるからサイズの取得ができるよ。


691 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 20:07:18 ID:STRKeNbN]
>>688
ソースは公開してるけど、ここに紹介すれば
そんなサイトを君が作ってくれるの?




692 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 20:32:46 ID:h6iNVB6D]
別に作ってもいいよ。
で、どこで公開してるの?

693 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 22:41:44 ID:hpZMXN0I]
>>669
おもったんだけど、この理屈で言うんだったら、
ネトゲーのクライアントはアプレットでつくるより
Flex(ActionScript)で作ったほうがよくないか?
開発環境無料だし。

JREをインストールさせるより90%以上普及している
Flash使ったほうがよいかと。
(サーバサイドはJAVAでいいと思うが)

てかそういうゲーム誰か知らない?


694 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 22:46:22 ID:k6cliGBg]
>>693
JREをインストールさせることが面倒なのは同意だが、
サーバーとクライアントで別々の環境にすると
今度は通信プロトコルの統一が面倒なのよねぇ。


695 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 22:51:00 ID:STRKeNbN]
>>692
実名でやってるから2chに晒すつもりはない

とりあえずGraphics2Dの最適な描画について
まとめたドキュメントが日本語で読みたい
この方法は高速で、この方法は低速ですというのを
使ってるJDKのバージョンに合わせて知る方法があればすごく助かると思う

例えば画像の描画だけの場合でも描画面積のみ考えればいいのか、
そこでImageの描画回数はどのくらい影響するのかとか
src->dest間の色深度の違いでどのくらい影響があるのかとか
そういうのは試してみないとわからんし
結局は個人の常識とかノウハウに埋もれてたりする
みんながみんなの開発日記やソースを読める訳でもないから勿体無い

696 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 23:55:12 ID:4K5O+ZTo]
>>693
Flashで作る場合、試行錯誤で作り上げていくの難しいからまずはJavaででも問題はないと思う
それにほとんどのMMOhaアプリケーションセットアップ型だし、ランタイムのみってのはメリットはあるだろう
WebStartつかえば差分パッチとか入れることも出来るし、キャッシュさせることも出来る

UDPTCP直接バリバリつかうようなアプリだとFlashきつくね?
HTTPだけ使うようなのならいいと思うが、ターゲット考えれば暗号化とかのいたちごっこ打破も目的に入ってると思うし

697 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 00:04:09 ID:wpmqZDm6]
てか、2ch閉鎖すんのか。。。


698 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 01:06:04 ID:En3FXRLQ]
>>695
そういうのはいいだしっぺがやるもんだと思うぞ。
自分のノウハウをまとめたサイトをどこかで立ち上げて、その後、皆に協力を依頼するなりしてみたら?
いくらなんでも自分は何もせず、他人に頼りきりってのは虫が良すぎだろう。
こんなのが欲しい、あんなのが欲しいと言ってるだけではどうにもならないんじゃ無いかな。
まず自分が動こうぜ。

699 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 01:21:57 ID:dd/POorY]
Java2Dの場合まずアクセラレーションがきくかきかないかの判断が最重要
いまだとJOGLでアクセラレーション前提のほうがよさげ

700 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 01:58:25 ID:2t7E5/JS]
>>698
そういうのを言いだしっぺ厨って言うんだよ

顔が見えないからといって人をクレクレ厨呼ばわりするような君の為には
javadocもドキュメントもフレームワークも永遠に書かないと心に決めた

というか実際そういう需要ってあんの?

701 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 02:40:35 ID:En3FXRLQ]
だってお前、何もしてないじゃん。
まとめサイトが欲しいって言ってるだけじゃん。
欲しいものがあるのに何故自分から行動を起こさない?
まず何か行動を起こそうぜ。

俺の為に書くんじゃないよ。
自分の為、みんなの為に書くんだよ。
自分が培ってきたノウハウを他人に見せるってのはそういう事。
ここの連中、お前の質問に答えてくれてたよな。
俺じゃ無く、そいつらの為に書く気は無いか?
それとも最初から自分のノウハウをまとめたサイトなんぞ作る気は無くて、何かと言い訳して逃げたいだけか?

サイトを作るか?それとも作らないのか?どっちだ?



702 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 02:42:11 ID:Xgompw9t]
むしろ閉鎖しようかと…

703 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 02:46:35 ID:En3FXRLQ]
>>702
実際にサイトを運営してるのか?
よければ詳しく事情を聞きたいんだが。

704 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 02:49:01 ID:2t7E5/JS]
>>701
なんか自己啓発セミナーみたいだぞ
もうちょっとトーンダウンしろよ

705 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 02:51:13 ID:En3FXRLQ]
>>704
で?
結局、サイトを作るのか?それとも作らないのか?どっちなんだ?

706 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 02:59:43 ID:2t7E5/JS]
寄稿するくらいならできるけどサイト運営まで手を回すつもりはないな
自分は自分でやってる事沢山あるし
でも例えば gamedev.org の Java コーナーにみんな書く気があったら
自分も何かしら書きたいけどね
ただ重要なのはそういう雰囲気であって、やる気だけで上手くいく問題とは思わないよ

707 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 03:22:10 ID:2t7E5/JS]
あーJavaでゲーム作りますがってあんま見てなかったけど
そういうサイトになってたのね。てっきり個人サイトかと思ってた
じゃあ何か書けるよう準備しとくよ

708 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 04:25:06 ID:En3FXRLQ]
書くのか。そうか頑張れ。

>重要なのはそういう雰囲気であって、やる気だけで上手くいく問題とは思わないよ
これは同意。やる気だけでは上手くいかない。
でもその雰囲気ってのは待ってたら自然発生するのか?
するかもしれんが、それまでずっと待つのか?
そういう雰囲気になるよう自分で行動したほうが早いと俺は思うね。

709 名前:名前は開発中のものです。 [2007/01/13(土) 08:27:49 ID:ChZPL/q1]
このスレは伸びる!!

710 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 12:59:31 ID:ISA4z7mo]
>>707
あそこは個人サイトっぽい
Wikiだけどページ凍結されてるから他の人は更新できないし

711 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 17:39:42 ID:2t7E5/JS]
>>708
日本で恐しくマイナーな言語のwiki立ちあげた事あったけど
利用者が一人もいなかったのでやめた事あんだよ
どんなプロジェクトでも需要の母数がなければ本人のやる気とともに消滅する
やる意味が薄いと思ったらやらないで他の事をやるだけ

>>710
よく読んだらそうだったすまん
でやっぱgamedev.orgかなと思ったらgamdev.orgなのか




712 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 20:16:38 ID:VT89Y6hX]
gamdev.orzに見えた漏れはどうすればよいでしょうか?

713 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 21:09:30 ID:Q4fcHXOQ]
>>712
人並みに凹んだら良いと思うよ

714 名前:名前は開発中のものです。 mailto:sage [2007/01/13(土) 23:51:18 ID:VjT/WPc+]
Javaで作ったゲームってどうやって公開すればいいんですか?
クラスファイルを配布しても直接実行できないですよね?

715 名前:名前は開発中のものです。 mailto:sage [2007/01/14(日) 00:35:21 ID:pYfYvHXx]
ランタイムが入っていればダブルクリックで実行できるようにしておくといいんじゃないの?
細かい設定がほしいならバッチファイルとかexe作るとかもあるけど

716 名前:名前は開発中のものです。 mailto:sage [2007/01/14(日) 01:36:37 ID:W7oRzD5W]
>>714
アプレット or WebStart or Jarにする。


717 名前:名前は開発中のものです。 mailto:sage [2007/01/14(日) 04:14:21 ID:sLzS5csA]
>>714
とりあえずココ
自己実行型JARファイル
javagame.main.jp/index.php?%BC%AB%B8%CA%BC%C2%B9%D4%B7%BFJAR%A5%D5%A5%A1%A5%A4%A5%EB

718 名前:名前は開発中のものです。 mailto:sage [2007/01/14(日) 13:53:59 ID:cRcMzltB]
>>715- 717
Jarなんていいものがあったのか
ありがとうございます

719 名前:名前は開発中のものです。 mailto:sage [2007/01/14(日) 14:57:42 ID:xwM7+CqC]
なるほど
そういうことね

メインクラス指定してするだけでおけ
ライブラリを使うのであればその指定もしておくといい

NetBeansだと自動的にライブラリへのパス設定とかその辺全部やってくれるよ

720 名前:名前は開発中のものです。 mailto:sage [2007/01/14(日) 15:33:08 ID:GWjU6DST]
NetBeansいいよねEclipseよりスッキリしてるし
移行できない理由があってすごく悔しい



で、とりあえず今小さな描画テストのフレームワークを作ってるんだけど
スコア算出って基本的には

スコアA = fps値
スコアB = fpsの実測値 / 設定された目標のfps
スコアC = 指定秒内に描画した回数

くらいでいいのかな

721 名前:名前は開発中のものです。 mailto:sage [2007/01/14(日) 15:53:41 ID:xwM7+CqC]
設定値と実測値だけでいいとおもわれ



722 名前:名前は開発中のものです。 mailto:sage [2007/01/15(月) 14:26:02 ID:oOqpuHvf]
Java WebStartを使うにはサーバーやサーバー側でダウンロード受付対応するプログラム
を用意しないといけないんでしょうか?

723 名前:名前は開発中のものです。 mailto:sage [2007/01/15(月) 16:58:49 ID:/py25nqC]
差分ダウンロード使わないのならアプリのjarとjnlpファイルを配置して
mime指定するだけでおけ

724 名前:名前は開発中のものです。 mailto:sage [2007/01/15(月) 18:10:46 ID:JsWTQE8V]
>>722
とりあえず本家の文章
ttp://sdc.sun.co.jp/java/docs/products/javawebstart/ja/docs/developersguide_ja.html
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/javaws/developersguide/syntax.html



725 名前:名前は開発中のものです。 mailto:sage [2007/01/16(火) 20:40:33 ID:+dkH4MDj]
例の描画テストの件ですが、とりあえず最低限できたのでアップします

gamdev.org/up/img/8643.zip

何か意見とかくれるとうれしいです
特にフレーム周りの初期化について
この辺で失敗してるとテスト環境と呼べなくなるので

>>721
レスサンクス。スコアはオプションにしました


726 名前:名前は開発中のものです。 mailto:sage [2007/01/16(火) 21:01:12 ID:dN71f/93]
OpenGL使ったほうがおおむね早いけど、描画が崩れるよね
これはバグとしてあがってたと思う
5.0のときはまったく使い物にならなかったけど、アクセラレーションは一応聞いているようだ
ただ、これとJOGL組み合わせるとフリーズしたりするのが癌だな

ところでエッチな画像がはいってるといわないと周りの目がある家庭だと大変なことになるぞ

フルスクリーン切り替えが多いのであんまり切り替えないようにしたほうがいいかな
あとウインドウモード時にウインドウサイズを変更できないほうがいいか

727 名前:名前は開発中のものです。 mailto:sage [2007/01/16(火) 22:32:01 ID:B9km73hg]
OpenGLやD3Dのアクセラレーションは効果は大きいね。
だけどOpenGLは環境によって色化けしたし、
D3Dはsun.java2d.ddscaletoとsun.java2d.translaccelと同時に使わないと
逆に速度が落ちる上のに、
WebStartではd3dしか使えないという訳のわからない仕様なのよねぇ。


728 名前:名前は開発中のものです。 mailto:sage [2007/01/16(火) 22:32:51 ID:I2Iys4yO]
>>725
こういうエラーがでるけど何これ?
こちらの環境はver.1.5です、1.6でないとだめ?

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n
umber in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)


729 名前:名前は開発中のものです。 mailto:sage [2007/01/16(火) 22:35:50 ID:+dkH4MDj]
>>727
OpenGLで描画が乱れるというのは気付きませんでした。ビデオカードによるのかな…
jogl との組合せは考えてなかったですがちょっと試してみます
でも jogl はデモしか触った事ないんで時間がかかりそうかも
あのエッチ画像はフリー画像で真っ先に思いついただけなんで変えときます。やっぱダメかな
フルスクリーン/ウィンドウモードは了解です


>>728
多分JRE 1.6 じゃないからだと思います…
注意書き忘れてました


レポありがとうございました


730 名前:名前は開発中のものです。 mailto:sage [2007/01/16(火) 22:45:50 ID:+dkH4MDj]
>>727
その辺は本当に悩みどころです…
VM 起動オプションによる描画法の設定もテスト側には面倒なんで
まとめて試す方法を考えときます


731 名前:名前は開発中のものです。 [2007/01/18(木) 20:03:05 ID:cuqRge9/]
>>669
いっぱい文章が書いてあるにも関わらず、何をしたいのかさっぱり分からない(´・ω・`)



732 名前:名前は開発中のものです。 mailto:sage [2007/01/19(金) 19:41:29 ID:zUXwDm/l]
>>725
1.5だとコンパイルすら通らん〜

733 名前:名前は開発中のものです。 mailto:sage [2007/01/19(金) 19:54:37 ID:vmLWqdf7]
Javaでトゥーンレンダリングのサンプルってあるか?

734 名前:名前は開発中のものです。 mailto:sage [2007/01/19(金) 20:01:43 ID:jvhMK1qT]
つーかOpenGlスレいったほうがいいぞ

735 名前:名前は開発中のものです。 mailto:sage [2007/01/19(金) 23:14:22 ID:MHBKmwAD]
>>733
ttp://homepage1.nifty.com/open-prog/java/tip103.html

その他参考になるサイト
ttp://homepage1.nifty.com/open-prog/java/index.html
ttp://www012.upp.so-net.ne.jp/flab/3d/
ttp://nis-lab.is.s.u-tokyo.ac.jp/~nis/CG/cgtxt/index.htm
ttp://chiyo.sfc.keio.ac.jp/cgsoft/Release/Textbook/index.html
ttp://www.asahi-net.or.jp/~qb3k-kwsk/3dcg/know/know.html
ttp://www.imel1.kuis.kyoto-u.ac.jp/members/kameda/lecture/le4cg/html/html.html
ttp://www.interq.or.jp/piano/ishizaka/oldpg/3d0.htm
ttp://fabrice.bellard.free.fr/TinyGL/

OpenGLを使うのなら、NeheかOpenGLスレへ

736 名前:名前は開発中のものです。 mailto:sage [2007/01/20(土) 05:56:04 ID:miZanmCM]
質の高いサイトだな


737 名前:名前は開発中のものです。 mailto:sage [2007/01/20(土) 11:08:59 ID:1LaVUZaW]
良スレ認定

738 名前:名前は開発中のものです。 mailto:sage [2007/01/24(水) 18:19:41 ID:abB7yEBV]
設計の段階で悩んでいます。
具体的には、プレイヤークラス と 職業、職業毎のスキルの関係について悩んでいます。
戦士→剣士→騎士 のように転職可能なシステムを作りたいのですが、
騎士になっても戦士のスキルを使う事が可能というシステムにする場合、
スキルもオブジェクトとして持たせるべきなのでしょうか?

プレイヤーオブジェクトに 職業オブジェクトを持たせる
その職業オブジェクトが持っているスキルリストの中から習得したものを
名前を引数としてFactoryパターンのクラスに渡しスキルオブジェクトを作成
という形を取ろうと思うのですが、この形は非効率的だったり美しくなかったりしますか?
動くには動くのですが、確信が持てません
詳しい方が居ましたらご教授お願いします 説明分かりづらいですかね?

739 名前:名前は開発中のものです。 mailto:sage [2007/01/24(水) 18:51:58 ID:ds9ziEzR]
スキルは人につく

でいいんじゃね?

740 名前:名前は開発中のものです。 mailto:sage [2007/01/24(水) 18:57:34 ID:abB7yEBV]
スキルオブジェクトに スキルの名前、例えば"飛び蹴り"を渡したら
戻り値でその技の設定値を受け取るという形でしょうか?

プレイヤー→Skills.getSkills("飛び蹴り")
プレイヤー←"飛び蹴り"の設定値

741 名前:738 mailto:sage [2007/01/24(水) 18:58:43 ID:abB7yEBV]
すいません、名前入れ忘れてました
738=740=741=私です
>>740
>>739さん に宛てたものです



742 名前:名前は開発中のものです。 mailto:sage [2007/01/24(水) 19:34:45 ID:Z8dMdSBn]
EnumMapとか使うのがいいんじゃね?

743 名前:名前は開発中のものです。 mailto:sage [2007/01/24(水) 20:21:05 ID:OcoQZH/9]
それって実装の問題じゃなくね?
ドラクエ転職とかジョブチェンジなら人につければいい(直接オブジェクトにしないで習得フラグだけとかね)けど、例の様な継承系なら職につけてもいいよな
戦士:A,B
騎士:A,B,C,D
て上級は下級の全スキル含むようにすればいいし
ちゅうわけでシステムしだいでしょ

744 名前:名前は開発中のものです。 mailto:sage [2007/01/25(木) 18:55:38 ID:pxDlcTzW]
スキルを持ってるか持ってないかだけに意味があるなら、スキルはenumの方がコードが簡潔でいい。

enum Skill { SWORD, GUARD, ....... }
class Player {
EnumSet<Skill> skills;
}

スキル毎にレベルがあるとかいうなら、
class Player {
EnumMap<Skill, int> skills;
}
でレベルを表現。

スキル毎に経験値やらレベルやら使用回数やら細かいデータがつくなら、スキル毎にオブジェクトを作った方がいいと思う。
その場合でも、factoryを使う必要性はないような気がする。職業オブジェクトが直接 new していいんじゃない?

745 名前:名前は開発中のものです。 mailto:sage [2007/01/25(木) 23:13:37 ID:vy4zHB8R]
実装の仕方なんて好きにしろとしか

それを考えるのが正しいのだし、解法は何通りもあるわけで
マニュアルがないとゲーム開発が出来ないわけじゃないだろ?

そもそもJavaと何の関係もない

746 名前:名前は開発中のものです。 mailto:sage [2007/01/26(金) 01:34:06 ID:N/LVhBmn]
俺が今作ってる奴は魔法名とかもシナリオファイルにデータとして持っている。
シナリオファイルから読み込んだ際に管理クラスがオブジェクトを作成して
必要な時はそれを使うようにしてる。

747 名前:名前は開発中のものです。 mailto:sage [2007/01/26(金) 10:47:13 ID:pkjLw+pg]
Javaに依存しない話はここの方がいいよ。

ゲームにおけるデータ構造・クラス設計・パターン
pc10.2ch.net/test/read.cgi/gamedev/1155209226/

748 名前:名前は開発中のものです。 mailto:sage [2007/01/27(土) 23:16:36 ID:G5nenmLn]
サンプルがJavaで語られるんだからここでやる意味はあるだろ
無意味な誘導に見える

749 名前:名前は開発中のものです。 mailto:sage [2007/01/27(土) 23:53:20 ID:hFlZJXQy]
Javaに依存していればココでいいさ
だが、そうではないだろ

750 名前:名前は開発中のものです。 mailto:sage [2007/01/28(日) 00:07:53 ID:2uWkx2df]
ただの自治厨だな、実際にコードが出てるだろ

751 名前:738 mailto:sage [2007/01/28(日) 03:47:32 ID:rcpB4oX3]
レスをくれた方、有難う御座います。
EnumMapで実現する事が可能でした。
しかし、dojaなので使う事は出来ませんでした。
ただ、EnumMapを知らなかったので、列挙型についてあれこれと調べる内に知識が付きました。
大変感謝しています。
結局、上手いやり方が見つかるまで、
各職業毎にインナークラスでスキルを持ち、
習得時にインナークラスを作成してPlayerクラスのVectorに突っ込んでやる事にしました。

747さんのスレは、非常に参考になりそうなのですが、
レベルが高過ぎてちょっと参加出来なさそうです。
いえ、何もこのスレが自分みたいにレベル低いかというとそういうわけじゃないのですが
いつか参考に出来るレベルになった時に閲覧したいと思います。

今後は設計に関しての話題は自粛したいと思います。
なんだかすいませんでした。



752 名前:738 mailto:sage [2007/01/28(日) 03:54:34 ID:rcpB4oX3]
public Skills getSkill(String jobName,int No){
 return (Skills)Class.forName("skills."+jobName+"$skill"+No).newInstance();
}
try~catch文は省略していますが
この様にして内部クラスをオブジェクトとして得ました。
例としてSoldierクラスの内部クラスです。
public static class skill1 extends Soldier{
 public skill1(){
  skillName="剣士1";
 }
}
JVMがstaticに関してどのタイミングでメソッドをロード?するのかは
分かりませんが 上述の通り、「上手いやり方」が見つかるまでこれで行こうと思います

初心者なのに、dojaはきついなぁ…
String.splitもStringTokenizerも無いので自分で作ってます…

753 名前:名前は開発中のものです。 mailto:sage [2007/01/28(日) 12:06:30 ID:caDqapim]
dojaって最初にいってくれ
そういうスレがあるはずだから

また、容量が少なかったり速度が出なかったりするような環境の場合、
本来あるべきアルゴリズムを端折ることが多いから勉強にはむかんね


754 名前:名前は開発中のものです。 mailto:sage [2007/01/28(日) 20:06:02 ID:ItnxVFSk]
>>752
Skill を扱いたいのか Skills を扱いたいのかよくわからんが
int でナンバー振ってサブクラスがガチガチに定義するんなら
Skill の配列かリストで済むんじゃないのか

public abstract class AbstractJob implements Job {
 protected Skill[] skills;
 // ジョブのスキルを返す
 public Skill getSkill(int no) {
  return skills[no];
 }
}

というかリフレクションの使いどころを完全に間違えてる
あれはいざという時に使う伝家の宝刀みたいなものだ

755 名前:名前は開発中のものです。 mailto:sage [2007/01/28(日) 23:07:22 ID:caDqapim]
こまめにさしかえるような汎用的なフレームワークつくりたいのならインスタンスの生成の仕方それでもいいけど
dojaとかいってることからしてそういう目的ではないだろうしな

RPG用フレームワーク作るんです!とかいうのならなおさら

基本的にメソッド先で生成したオブジェクトを返すって使い方はしないよ
自前で登録してコンテナへ登録、もしくはコンテナが自動的に生成のどちらかかと
そしてコンテナからインスタンスを取得する。場合にっては使いまわしたり

756 名前:738 mailto:sage [2007/01/29(月) 00:36:23 ID:X8Jeor0A]
>>754-755
お二方とも有難うございます
稚拙なコードを晒すのは恥ずかしいですが、本当に勉強になります。
生成時にコンテナに追加という形でやってみたいと思います。
754さんの意見も大変参考になります。感謝しています。


757 名前:名前は開発中のものです。 mailto:sage [2007/02/17(土) 08:06:32 ID:L15CXcqa]
■いきなりびっくり Java 攻撃
古い記事だけど起動が遅いのは今も変わらないよな
ttp://www2.plala.or.jp/Cool/okite/red02.html

■Flashで動作する3Dエンジン「Papervision3D」
ActionScriptに浮気したくなる今日この頃
ttp://gigazine.net/index.php?/news/comments/20070212_papervision3d/

758 名前:名前は開発中のものです。 mailto:sage [2007/02/17(土) 15:10:04 ID:5v908nqH]
>>757
アプレットがすさまじかったのは原因はネスケで使ってたシマンテックJITの出来の悪さだろ
あれ起動中にネイティブに全部変換してる

おかげで1.3から標準でHOTSPOTVM搭載されるようになってVMのサイズが何倍にも膨れ上がったわりに
起動時間は何分の一にもなった

その後VMの起動速度はゆるやかに改善されていくことになるがJavaSE6は起動が急にはやくなったのは確か

適当なWEBに置くコンテンツとしてはFlashなりなんなりでいいだろう

ただ、規模がある程度大きくなり本格的なアプリとなれば別

759 名前:名前は開発中のものです。 mailto:sage [2007/02/24(土) 22:19:26 ID:/rYZcxU7]
Arkanae
edony.tuxfamily.net/~grad/arkanae.tuxfamily.org/en/index.html
ソースコードもあり
こんなのがあったとは知らなかった

760 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 00:29:28 ID:PImIuZ8L]
>>757
プログラミングを行う観点で見れば、
「開発環境死亡・ライブラリ設計死亡・Flash9でもJITの性能しょぼい」
と選択肢にも挙がらないぞ。

アニメーション作成ツールとして見れば素晴らしいが、
残念ながらアプリ開発には使い物にならない。

761 名前:名前は開発中のものです。 [2007/02/25(日) 12:31:39 ID:6L67UnbH]
age



762 名前:名前は開発中のものです。 [2007/02/25(日) 19:01:35 ID:LGf8AXIi]
>>760
「使い物にならない」のがFLASHなのか、おまいのプログラム開発力なのか、世の中の「FLASHアプリケーション」でも見ながらもう一度考えてみるんだなw


763 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 21:47:35 ID:o7vkhh81]
>>762
出来ることできないことがあってFlashはまだまだ制限は多い
アプリの種類によってはFlashでもいいこともあるが、開発コストとかそういうのもみてからな

764 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 03:01:50 ID:3IqZBjOx]
この本はコードサンプルがJava
Physics For Games Programmers
www.amazon.co.jp/exec/obidos/ASIN/159059472X/

765 名前:名前は開発中のものです。 [2007/02/26(月) 21:37:19 ID:g0XTbe0A]
good job!

766 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 22:47:55 ID:YymhnNUL]
いただきました!
ttp://www.apress.com/book/supplementDownload.html?bID=418&sID=2642

767 名前:名前は開発中のものです。 [2007/02/27(火) 17:21:30 ID:ZjZJQFQd]
woomy.dip.jp/hiyoriyama/index.html
初心者なのですが、こういう感じのはFlashで作った方が簡単なのですか?

768 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 17:56:16 ID:B4ufeums]
楽なのはJavaのほうかと

769 名前:名前は開発中のものです。 [2007/02/27(火) 18:54:43 ID:ZjZJQFQd]
そうなんですか! ありがとうございます ┌●ペコ
本屋行ってJavaの参考書を見てきます。

770 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 19:00:07 ID:B4ufeums]
Javaのゲームの本たくさんあるけど、比較的まともなのは14歳からとかいうやつだけだったような
比較的新しい書籍でもなぜか10年前のJavaの環境用につくっていたりするし

>>11のところにあるライブラリやゲーム、過去の日記がわりと参考になる

771 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 19:02:10 ID:OwhxanSJ]
java は覚えなきゃいけないことが多い。
もちろん java で覚えた事は他の言語でも役に立つけど。

つまり初心者が目的の作品を完成させるまで、
という意味では flash の方が簡単。

プログラミングそのものに興味があるなら java
それらしいものを作りたいだけなら flash でいいとおもう



772 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 19:10:29 ID:IkeFh1JT]
RADで言語が隠ぺいされてるflashと言語そのものjavaを比べて覚えること沢山てw

保守性考えたらjavaだよな。
javaゲームはハードウェアアクセラレータ効かんとバリバリの3Dとか無理だが。

773 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 19:12:53 ID:B4ufeums]
プログラミング自体がはじめてで本当の取っ掛かりがほしいなら昔のBASIC感覚で使えるHSPあたりだろうな
だが、flashは開発環境がお粗末なのでお世辞にも初心者が作りやすいとはいえないのが癌

JavaSE6ならJavaスクリプト+Javaのライブラリという使い方も出来るがIDEのお世話になることも出来ないので
ある程度の規模になるときつい

774 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 19:50:28 ID:3CmlaFoI]
Flashは仕様外の動作をすることがあるから
それを避けるためのオマジナイが多いとか聞いたけどこれは本当?

あとは>>771に同意。


775 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 20:47:13 ID:IkeFh1JT]
そう言う場合は他人が作ったフレームワークのバグリスク担いでフィードバックしてやるのが
バザールモデルの基本・・・

とか言ってみる。
結局間接的にOSSなライセンスされてんだし。

776 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 21:20:09 ID:1qONjX2a]
>>767
ずいぶん長い間いじってる割に画面が小さくて見づらい、flashの方が簡単に作れるんじゃないの?音もかなり悪いし

777 名前:名前は開発中のものです。 [2007/03/01(木) 11:25:25 ID:Q/MrFJlJ]
上のページ見てたらjavaだけでBGMとか効果音出るんですね
けっこうゲームらしくみえる

778 名前:名前は開発中のものです。 mailto:sage [2007/03/01(木) 12:14:46 ID:ycm+eBTU]
音は普通にネイティブと変わらんよ
むしろFlashのほうが制限が大きすぎる


779 名前:名前は開発中のものです。 mailto:sage [2007/03/01(木) 21:03:18 ID:8CEVVUMC]
midiとかwavファイルはJava1.4以降だったかも・・・
アプレットからの利用では制限があったような気がする。

ひょっとしてJava1.1辺りでも波形を生成して発音可能?


780 名前:名前は開発中のものです。 mailto:sage [2007/03/01(木) 21:26:44 ID:J8EC7Q4J]
>>762
AS2で3000行以上のコーディングが必要なもの書いてみろ。
開発環境は酷い、ランタイムエラーを吐かないで正直死ねるぞ。

781 名前:名前は開発中のものです。 mailto:sage [2007/03/01(木) 21:28:47 ID:BnQANlH3]
いまActionScript語るならFlashよかFlexの方がこのスレ的だろな

それでもアポロ登場まではアプレット比較前提だが



782 名前:名前は開発中のものです。 mailto:sage [2007/03/01(木) 22:56:33 ID:J3C3KVJN]
>>779
JavaSoundは1.3以上

>>781
ゲーム用途ならWebStartのほうがいいんじゃね?

783 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 04:04:27 ID:Isc+NXUT]
外国じゃけっこうwebstart見るけど日本じゃ見ないな。

開発者がwebstartに対して無知だから使いこなせてないんじゃね?

鯖丸ごと立てるかホスティングしちゃう他国と違ってレンタルスペース主体の日本じゃwebstart置けないしね。

クリック一つで必要なもん全部落としてキャッシュして後は差分だけネット越し・・・他はスタンドアローンと同じってのは使う側から見れば楽で良い。

同じ事はMEのAMSで出来るけどあっちは実装依存ヒドスw

784 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 12:01:55 ID:AlxNYkg4]
差分ダウンロードがつかえるかどうかはたしかに鯖次第だが、配置だけならApacheとかなら大丈夫だぞ

785 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 22:28:33 ID:e7ng/jU4]
レンタル鯖でもいけるってこと?

786 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 00:52:32 ID:LWiJuDbd]
JNLPファイルのMIMEタイプの設定が出来る or 既にされている所だったら

787 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 07:49:54 ID:94HMLa1l]
でもレンタルにwebstart置いたら鯖に負荷掛けそうで気が引ける・・・

788 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 09:09:45 ID:Lb6a9eHr]
そんなに人気出るのかお前のゲームは

789 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 09:10:53 ID:vVu9iFKK]
webstartはアプレットより負担かからんだろ

790 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 12:49:41 ID:e8MDKGEx]
同じだろ

791 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 14:05:57 ID:YkFSkvir]
WebStartはバージョンチェックやオフラインモードがある時点でアプレットやFlashより負担は少ない



792 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 14:54:27 ID:S2NfJpKC]
アプレットが常に鯖と通信してる訳じゃないだろ?

793 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 16:27:50 ID:cZ+W9Vw8]
なるほど、クライアント側でJ2REをインストールして、
更にJava Web Startもインストールしないと動かないんですね。
ttp://sdc.sun.co.jp/java/docs/products/javawebstart/ja/download-windows_ja.html

helloサンプルがダウンロードになるので、混乱してしまった。
今のところJava Web StartはWindows版だけ?

794 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 17:03:50 ID:nfMBIjTB]
Macもあるお

795 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 17:31:56 ID:cZ+W9Vw8]
おお!Macでも!

夢のJava Web Startのデモが動いた〜
ttp://java.sun.com/products/javawebstart/demos.html

もう少しアクションするゲームが見たかったなあ
なぜか日本語サイト行くと動かないです。

796 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 17:40:52 ID:6WDz0MUg]
jreにjws付いてなかったけ。
jdkだけだった?

797 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 17:51:56 ID:lyCQr1W4]
JREについてるよ。

ttp://www.java.com/ja/download/faq/java_webstart.xml
>Java Web Start ソフトウェアの入手
>Java Web Start ソフトウェアは、Java Runtime Environment (JRE) のコンポーネントで、JRE と一緒にインストールされます。

798 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 18:13:05 ID:xt9rX0Kw]
>>792
ブラウザ閉じればまたダウンロードが入ってしまう
あとは署名関係が5.0から柔軟になったのでライブラリが使いやすくなったというのは大きい

799 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 21:37:25 ID:4m5N8dVe]
AppleはSunに金払ってJavaの正式版を出してもらえよ

800 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 23:59:20 ID:sBNSOExJ]
MacOSXのJVMは、SunのJVMを元にAppleが手を加えたバージョン
だったと思うのだけど...

801 名前:名前は開発中のものです。 [2007/03/04(日) 00:33:57 ID:u4tLbN0a]
>>798
ブラウザのディスクキャッシュがある

>>800
sunがハードウェアアクセラレータ利かす前にcocoaと統合してOpenGL使っちゃったから描画周りが違ってたり、5.0の途中までしか出てない。



802 名前:名前は開発中のものです。 mailto:sage [2007/03/04(日) 01:51:19 ID:KQd1C5T2]
アプレットだとオフラインモードやデスクトップ統合がないからダメすぎ

803 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 22:47:43 ID:b9ULYpEb]
Andrew Davison's Home Page at PSU
fivedots.coe.psu.ac.th/~ad/
fivedots.coe.psu.ac.th/~ad/jg/
fivedots.coe.psu.ac.th/~ad/jg2/

804 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 14:55:45 ID:VaqQcumj]
コメント書き忘れたけど、下の本のPDFが読めるよ。
Pro Java 6 3D Game Development(発売予定)
Killer Game Programming in Java

805 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 04:01:52 ID:uOMRHvf+]
win2k と me でデュアルブートしてるんだけど (つまり、完全に同一マシン)
同じ Java5 SDK、同じ DirectX8(笑) を入れたはずなのに
2k で普通にサクサク動く画面が me ではものすごく重くて意外。

ウィンドウモードでのゲームを作りたくて、
あらかじめ BufferedImage から int[] を取得しておいて
そいつに描画して JFrame に貼り付ける、という処理を
wait() と Timer、notify() を組み合わせる常套手段で回してるんだけど
このどこかで 9x系 = 本質的に 16bit てのが足かせになってるのかな。。。
タイマの精度か、synchronized のコストか。。。

今まで C++ で書いてた時は、ここまでの差は見た事なかったんで
ちょとショックですた。。。

806 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 11:55:36 ID:zPOySlRd]
画面の色深度が違うとか

ソフトウェア描画は60fpsやるなら320*240くらいが限界だね


807 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 06:19:38 ID:K32nYRwN]
DirectX8ならVGAカードとドライバは?
directX9以降のカード+ドライバだとdx8の対応がいい加減になって来てる。

まあ、javaが5.0ならハードウェアはあんま期待出来んが・・・

808 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 02:15:59 ID:De8bQ7Op]
レスがついてるとはおもわなかた。サンクシコ。
色深度は両方とも32bit。
カードは6年前のDX8全盛期のもの。
だからおいらなかなかDX9に手出しにくいのですよ。

そんなわけで今プロファイラ勉強中。楽しくて萌え。いや萌えとかないけど。

809 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 02:36:59 ID:uJO/ivat]
タイマー周りはNTカーネルと9xカーネルとでまったく違うから
組み方によっては差が出るだろうね

プロファイルとればどこが遅いのかすぐにわかるはず
勉強することもないのでは?
IDEが一発で円グラフや棒グラフでビジュアル化してくれるし

810 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 04:25:06 ID:dk7DCFkt]
タイマーの差異でfps固定にミスってるとか描画性能が出てない上にディスプレイが32bitだからとかか・・・どっちかてとCPU性能かな?

こりゃベンチマークでマシン側の2Dと3D性能調べた方が良いね。javaの問題じゃなさそう。FF11がDX8世代だからちょうど良いと思うよ?

後はまあ、メモリの転送速度とか?java自身は十年前でも徹底的に叩きあげればそれなりに出たからね。
下手するとDX8末期に出た
イリュージョンのエロゲすら危ういかもしれんし・・javaで演算量を馬鹿みたいに増やしたベンチ組むと顔出すかも。

5.0だと初めから性能が大方バランス良く出てるから叩き甲斐の無いイケナイ子になってしまって残念。

6.0なんてそりゃあもう・・・再コンパイルなしであの速度はビビった。調教師いらねぇ。
けどサポートがxp sp2以降なんだよね。
vistのドライバが出そろってから乗り換えようと思ってる奴には正式サポートはなしですか?

811 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 10:54:20 ID:pyER6LIF]
>>810
6.0っつーのはJava SE 6のことか?

どうでもいいことかもしれんが、Java SE 6のサポートはWindows2000以降
(厳密にはWindows2000以降とは書かれてないが面倒なので他バージョンは省略)。
XP SP2以降でなければならないとはどこにも書かれていない。
ていうかすでにSunは6.0といった名称は使っていない。Java SE 6。

こういうことは調べてから書いてくれよな。
そういう俺はWindows2000ユーザー。
サポートがXP SP2以降とか書いてあったので焦ったぜ。



812 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 12:18:07 ID:e7LFbbBG]
xp sp1にjdk6入れたときテストしてないって出たよ。
動くがsp2移行にしろインストール続けるか?って聞かれた。

システム要件の所にはサービスパックの事までは書いてないはずだし。

書いてあるのは98,MEはサポート外ってだけ

813 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 21:59:28 ID:9+hAo8dr]
>>770
> Javaのゲームの本たくさんあるけど、比較的まともなのは14歳からとかいうやつだけだったような

そう、15歳からはじめる Javaゲームプログラミングとかいう題名の本、結構良いよね。
とにかく、読みやすいし、アクションゲームの基礎をきっちり学べる。
画像、MIDI,、wav、地形スクロール、タイマー とか。


ただし、この本を買うのは恥ずかしい。
あと、はがきを送ると、オマケPDFがもらえるとあるのだが、まったく返事なかった。
サポート宛にメール送っても返事も返さない出版社である。

814 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 23:51:00 ID:QfQeHSSr]
おいおいサポートめちゃくちゃだな

815 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 08:06:06 ID:5n5eAt21]
ラトルズか、あそこはHSPシリーズとか(吉里吉里で)同人ゲーの作り方の本とか一見厨臭いけど
15歳からはじめるjava〜は当たりだった。

pdfはこれか
ttp://www.rutles.net/books/134.html

だれかこれ読んだ事ない?
ttp://www.amazon.co.jp/Javaゲームプログラミング-アルゴリズムとフレームワーク-長久-勝/dp/4797318422/ref=pd_sim_b_3/250-1688549-7177063

816 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 09:32:39 ID:4+e7EI8M]
18歳から始める・・・が必要だな

817 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 11:21:26 ID:+DX9YtFE]
ゲーム作りが初めてなら悪くないとおもうんだけど
古いJavaで動くように書かれてるんだよね。

新しいJavaを使いたかった俺としては少し物足りなかった。

818 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 12:10:01 ID:xgekqMww]
>>816
エロゲでも作る?

>>817
1.4.2,5.0,6と全部別モンだから新しいっても書く方はバージョン毎に出せるよね。
何処ぞのeclipse本の様に

819 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 12:30:12 ID:/HVMBhqB]
>>817
どの本について?

>>818
最新版対応とかかかれていて1.1時代のコードの本大量にあるから困る
音を出すにはauファイルにコンバートしましょうとかみると泣けてくる
なんで10年前のままなんじゃぁと

820 名前:名前は開発中のものです。 mailto:sage [2007/03/16(金) 02:12:26 ID:xob5GmNS]
>>819
やさしいJava第二版なんて5.0対応とか言って触れてる言語仕様は前版(1.4.2)のままで5.0仕様には一切触れずにコードもなく加筆しただけだった気ガス・・・
ただ単にこの本のサンプルコードがそのまま5.0のコンパイラ通るだけ。

当たり前だのくryと言いたい所だが小一時間・・・


821 名前:名前は開発中のものです。 mailto:sage [2007/03/21(水) 20:05:26 ID:PxlWoCAm]
ちょっと質問があります。

[Javaでゲーム作りますが何か?]ttp://javagame.main.jp/
を見ながらコーディングしています。
[ボールを動かす]javagame.main.jp/index.php?%A5%DC%A1%BC%A5%EB%A4%F2%C6%B0%A4%AB%A4%B9
で挙動が理解できないことがあります。
サンプルどおりうつと、おもったどおりなんですが、クラス構成を変更すると、移動元のボールが削除されず、棒状態で描画されてしまいます。
ソースをミテモ理由が分からなかったのでコメントをもらえないでしょうか?

・変更後クラス構成
Sample.class
MoveBall.class
MainPanel.class

・実装
Sample -> main()があり、main()内ではMoveBallインスタンス、MoveBall.work()呼び出し の2つ
MoveBall -> サンプルとほぼ同じ、main()内のインスタンス化を削除、main()内の処理をwork()に変更
MainPanel -> サンプルと同じ

・環境
JDK1.5.0_11
Window Vista




822 名前:名前は開発中のものです。 mailto:sage [2007/03/21(水) 20:14:18 ID:p5zCnQO1]
ほぼおなじとかじゃわからん
ソースあっぷしてもらわんと

823 名前:821 mailto:sage [2007/03/21(水) 21:52:26 ID:PxlWoCAm]
ふじこ
自己解決しますた。
>>822スマソ、おっしゃるとおりでした。クラス構造はまったく関係ない箇所でした。

何がおこったのか簡単に書いておきます。

MainPanel(JPanelのサブクラス)内に、コンポーネントを描画するメソッドとしてpaintComponent()があるのですが、その中で
paintComponent(Grahics g) {
 super.paintComponent(g);
 //以下青いボールの描写が続く
}
と書く箇所で、以下のミスをしていました。
super.paintComponents(g);

本来JComponent.paintComponent()を呼び出すのを、Container.paintComponents()を呼び出してしまったのが原因でした。

#JComponent.paintComponent()とContainer.paintComponents()の違いは良く分からず
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/JPanel.html

824 名前:名前は開発中のものです。 mailto:sage [2007/03/21(水) 22:02:54 ID:p5zCnQO1]
つーか、親のpaintComponent呼び出す必要はないと思うぞ
普通にfillしたらええ

825 名前:821 mailto:sage [2007/03/21(水) 23:10:05 ID:PxlWoCAm]
>>824わざわざ補足までありがとう。
しかし現状ではなぜ必要/不必要なのか、分かりません。
Java Tutorialに引き篭もってきます。λ............
ttp://java.sun.com/docs/books/tutorial/ui/index.html

826 名前:名前は開発中のものです。 mailto:sage [2007/03/22(木) 00:48:34 ID://UyzQId]
Swingのソースコード読んで実装が何やってるか見た方が理解が早いと思うよ

827 名前:名前は開発中のものです。 [2007/03/29(木) 03:53:53 ID:V9bhDi93]
Java で高速(fps で管理される)ゲームを作ってますが、フルスクリーンを使うと速度が激遅になってしまいました。
自分で調べてもこれ以上わからなかったので、お力を貸して頂けないでしょうか?

単純に、Sun のチュートリアルのとおりに排他的にフルスクリーン化しました。
↓のようにゲームループを作って、アクティブレンダリングを行い、
もちろん bufferStrategy を使ってページフリッピングを行っています。

↓のを1秒間に実行できる回数が、ウィンドウモードに比べて
フルスクリーンだと激減します。(→800x600x32xUNKNOWN)

do {
update();
Graphics2D g = (Graphics2D)bs.getDrawGraphics();
rendering(g);
g.dispose();
if(!bs.contentsLost()) bs.show();
}

これが、αを使ったりすると、ウィンドウモードでは 40fps 出るのに対してフルスクリーンでは 3fps。
明らかにお前のやり方間違ってるということですよね。
rendering(g) をコメントアウトしたときでも、ウィンドウモードは 1000fps、
フルスクリーンで 60fps でした。この60という数字を見るとふと505さんの発言に関係している気がしたんですが、
調べてもわかりませんでした。ここを見れば?でも結構ですんで、よろしくお願いします。

828 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 09:34:49 ID:DOhi2zRK]
そういえばフルスクリーンの時にDirectXかOpenGL使う指定したら描画速度上がるんだろうか?


829 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 16:17:47 ID:TdF2VMR1]
まず前提条件としてウインドウモード時の色深度

あとJava2Dのアルファブレンドはソフトウェア描画なのでネイティブなVRAMにバッファが置かれると大幅に遅くなる

そもそもフルスクリーン時で、というか高FPS時にイベントベースでの描画はつかうものではないぞと

830 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 17:47:03 ID:QM1oZ8YS]
javaのDirectX/OpenGLの使用はどちらかというとDesktop Javaの一環でフォントや図形の描画品質を上げる為に
それを使ってて描画速度を上げる為のものじゃないってイメージだったけど
それで合ってるって事かな?

831 名前:827 mailto:sage [2007/03/29(木) 18:09:59 ID:V9bhDi93]
ウィンドウモードは解像度 1024x768x32 の画面上に
800x600 のウィンドウを作ってます。フルスクリーンでは 800x600x32 にしました。
ウィンドウの初期化時にフラグでフルスクリーンとウィンドウモードを場合分けしてます。
要するに描画ルーチンはウィンドウモードでもフルスクリーンでも
同じゲームループ(上に描いたやつ)を使ってます。
αを使ったら激遅になるのはわかってますが、αを使ったときに
フルスクリーンでここまで遅いというのが納得いかなかっただけです。
このやり方ってイベントベースっていうんですかね…。
フルスクリーンにすると処理範囲も狭くなるし、排他的に画面全体を使うとなると
う〜む、どう考えてもフルスクリーンの方が速いはずではないんですかね…。

一応、大枠はここのやり方を真似てるつもりです。
ttp://fivedots.coe.psu.ac.th/~ad/jg/ch03/index.html



832 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 20:38:15 ID:TdF2VMR1]
>>830
あってない

833 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 20:42:13 ID:TdF2VMR1]
>>831
フルスクリーン時描画してるのはVRAM
ウインドウ時描画しているのはメモリ内ビットマップ
あわせるのならまずメモリ内のバッファで描画をしてそれをVRAMへ転送とする

描画の仕方が大幅に違うのだから速度も大幅に違うのは当たり前

イベントベースってのはみまちがいだったようだ
updateというメソッドがあったのでな

834 名前:名前は開発中のものです。 mailto:sage [2007/03/30(金) 10:14:03 ID:CxiJR9tX]
単純な質問ですいません。

RPGを作っていて、
マップと自キャラを表示するところまでは
作ったのですが、NPCを表示させる
いい方法が思いつきません。

背景画像のように、固定ならいいのですが、
動き回るNPCをうまく表示できません。

効率のいい表示方法があれば教えてください。

いまは、

1.背景描画
2.自キャラ描画
3.表示範囲内にいるNPCを探し、描画

今は、この3の処理が無駄な動きになっている
気がします。


835 名前:名前は開発中のものです。 mailto:sage [2007/03/30(金) 14:54:44 ID:QwdAmNT9]
3. の処理を行ったとしても動きとは無関係だと思うけど。
とりあえず MVC でやってみると単純になるよ。

1. モデルを次の時間に進める (キャラ座標の計算など)

2. ビューがモデルの内容をまとめて描画 (キャラの座標は 1. で計算済み)

あと表示範囲内の判定はJVMも勝手にやってくれるので、必要になったら実装でいい。


836 名前:名前は開発中のものです。 mailto:sage [2007/03/31(土) 14:47:41 ID:aOuaJNjw]
そういうのって描画範囲に入ってないキャラも描画しちゃっていいんじゃない?
画面に表示されないから無駄かもしれないけど、マップのキャラクターが多くなってもそんなに重くはないんじゃ・・・

837 名前:名前は開発中のものです。 mailto:sage [2007/03/31(土) 15:21:06 ID:bPcXSKJZ]
実装依存だな

クリップ外に描画すること自体は重くはないのだが、
その前にテクスチャ座標とか計算して渡す処理だけははいるから
重くはならないというのは間違い

画面外かどうかの判定なんてスプライト描画処理で一括して扱うだろうからいれとけ
最初はまったく処理をしないラッパでいいから

838 名前:名前は開発中のものです。 [2007/04/02(月) 00:03:15 ID:0q+4yudy]
AGE

839 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 11:01:35 ID:M2CzSpdn]
ありがとうございました。

画面外のキャラも、さほどの数にはならないので、
描画する方向で作成してみます。



840 名前:831 mailto:sage [2007/04/03(火) 01:04:07 ID:Wawfbgtr]
遅れながらレスくれた方ありがとうございます。
う〜む、色々試してますがウィンドウで BufferStrategy 使った場合も
VRAM直…ではないんですかね…

505さんの
>フルスクリーン時は垂直同期取るのに対してウインドウモードは取らない
って何か関係してませんかね?そもそも垂直同期って言葉自体なじみがなかったんですが、
垂直同期を取ってるのでいくら処理が速くても bs.show でリフレッシュレート以上に
ならないようになってる、と考えるのは間違いですか?
それだとしてもα使って 3fps って明らかな処理落ちか…う〜む…

841 名前:名前は開発中のものです。 mailto:sage [2007/04/03(火) 02:08:11 ID:tJ3eBjgj]
BufferStrategyでの同一API使ったアクセスが可能というだけで
VRAM直になるかはVM実装(つまり環境)依存

でも問題はなかろう?
Windowモードと同じようにいったんメモリ内で作ればいい
どういうゲーム作ろうとしているのかにもよるけど

あとは逆に積極的にハードウェアアクセラレーションを使うという方法もある
>>11のところでOpenGL対応してJava2D以上の表現が可能になったようだ
Java2Dはゲームで多用する加算合成がないしね



842 名前:名前は開発中のものです。 mailto:sage [2007/04/03(火) 11:37:06 ID:QAPO4Fq8]
>>11
これスゲーな

843 名前:名前は開発中のものです。 mailto:sage [2007/04/03(火) 16:29:50 ID:Js4qFq6o]
手軽そうだね
前見たときあまり内容無かった気がしたが地味に進めてるのね
今後に期待しとこ

844 名前:名前は開発中のものです。 mailto:sage [2007/04/04(水) 12:34:42 ID:xNft8wzX]
>>840
確かに遅すぎるようにも思うが、それだけの情報じゃ何とも言えない。
α使わないようにしてみたり、rendering(g)の中身を1行ずつコメントアウトしてみたりして原因をもっと追求してみたら?
フルスクリーン時にのみ毎回妙な処理してたりしないかい(毎回DisplayMode変更してたり…さすがにそれは無いか)
ともかく・どの部分で遅くなっているか・現象を再現できる最小限のコードはどんなか をもっと追求した方がいいと思うよ。

845 名前:名前は開発中のものです。 mailto:sage [2007/04/05(木) 23:12:06 ID:IyGK/jzk]
GTGEの日本語資料は"Javaでゲーム作りますが何か?"以外無いかのぉ。

使ってる奴居る?

846 名前:名前は開発中のものです。 mailto:sage [2007/04/06(金) 00:02:37 ID:xOHyAwJg]
Javaの場合あんまり泥臭いコード必要としてないので必要性が薄いだけでは?


847 名前:840 mailto:sage [2007/04/06(金) 21:28:03 ID:/J9SjvCf]
レス下さった方ありがとうございます。

rendering(g)の中身を1行ずつコメントアウトしてみたりってのは
やってるんですが、rendering の中身を空にすると今度は bs.show で
時間かかってたりして、どうにも思うように動いてくれないんですよね。
つまり、プログラムの動作速度をはかって原因を探るだけでは解決できず
そこで、ここで皆様の力を借りようという経緯です。
コードはどうあがいても結局 60fps になってるんですよね…。

BufferStrategy は実装依存、なんですね。
15歳から始めるJava〜ではウィンドウのみのサンプルがあって
そこで「BufferStrategy はビデオメモリに直接書き込むので高速」と
断言してあったような気がしてそこは疑ってませんでしたが。
実装依存としてウィンドウモードと同じ方法を用いる、という方法は
そういえばまだ試してませんでしたね。一度試してみます。

848 名前:名前は開発中のものです。 mailto:sage [2007/04/07(土) 02:14:29 ID:2RXqF7NF]
847
だからメインメモリでの描画はどうなんだと

849 名前:名前は開発中のものです。 mailto:sage [2007/04/07(土) 07:28:23 ID:Y1V3BpGY]
BufferStrategyがVRAM使うのってsunの実装だと、DirectXかOpenGL使うときだけじゃなかったけ?



850 名前:名前は開発中のものです。 mailto:sage [2007/04/07(土) 08:23:33 ID:2RXqF7NF]
何のオプションも指定していないデフォがDirectXなんだが

851 名前:名前は開発中のものです。 mailto:sage [2007/04/07(土) 11:27:10 ID:GIyVfDKh]
DirectXはDirectXでも指定なしはDirectDraw。
指定するとD3D。javaでのOpenGLとD3Dの基本的な使い方は同じで
どっちも極力VRAMに置こうとする。

けどだからと言って早くなるわけじゃない。



852 名前:名前は開発中のものです。 mailto:sage [2007/04/07(土) 16:20:47 ID:2RXqF7NF]
アルファブレンドがどういう描画をしているか、ソフトウェア描画がどういう経路でメモリアクセスしているかがわかるなら
遅くなる原因はわかると思うぜ>>840

BufferStrategyそのものが問題じゃないんだよ
Java2Dでゲーム開発ならBufferStrategyはどんな状況においても必須だし

853 名前:名前は開発中のものです。 mailto:sage [2007/04/09(月) 09:45:56 ID:uR3mQ2BL]
スレチで悪いんだが「Javaでゲーム作りますが何か?」の掲示板書き込める?

IPAフォントのライセンス違反してるからライセンスのリンク貼ってやろうかと思ったらCGIに怒られた・・・。
不明な処理って何ざんす?

スレチスマソ。

854 名前:名前は開発中のものです。 mailto:sage [2007/04/09(月) 10:53:28 ID:dS/RvBxG]
再配布してるってことだな

あとそこのサイトのコードバグもちなのでそのままつかわないこと
もしくは参考にしないこと

855 名前:名前は開発中のものです。 mailto:sage [2007/04/09(月) 11:16:24 ID:TJO4g1v+]
再配布自体はOKのようだが?
配布方法に問題があるとか?

856 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 03:26:17 ID:ZXpjg5Ty]
>>855
良く嫁。
ttp://www.grass-japan.org/FOSS4G/license-ipafonts.eucjp.htm

GRASS GIS / MapServer / PostGISのどれかに同梱される形でのみ再配布可能。

かつ、フォントがIPAフォントである事を明示し、上記ライセンスを配布物に同梱しなければならない。
更に同ライセンス条項3)。

つーか、IPAフォントの単体配布が出来るならわざわざスターオフィスのパッケージ版なんて買わね。

857 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 03:49:48 ID:t/2fHoZt]
重要な事忘れてたがIPAフォントはGRASS GIS / MapServer / PostGISからの利用以外許されてないよ。
他ソフトウェアからの利用がライセンスに含まれてない。

自分とこで作ったソフトに使うためにわざわざ商用フォントベースで作ったんだから当然だが・・・。

んでIPAフォントの権利持ってんのはオークニーだから聞くならこっち。


858 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 10:08:56 ID:HEVeN1vj]
【初心者】課題をクリアしていくスレ【講習会】
pc11.2ch.net/test/read.cgi/gamedev/1086858349/
>>655です。お時間のある方、もしよかったら
講師になっていただけませんでしょうか?

【初心者】スレを立てる前にココで質問を【Part14】
pc11.2ch.net/test/read.cgi/gamedev/1175521815/
ここの>>26の質問にも答えていただけると幸いです。

マルチをしてすみません。
お手数おかけして申し訳ありませんが
レスは該当スレにてお願いいたします。

859 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 10:25:29 ID:tXE5CmGv]
すいません、質問です。

JAVAで最短経路探索(A*)を組みたいのですが、
よいサンプルがあれば、教えてください。

860 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 10:33:35 ID:E2YWJL/P]
えーすたーのアルゴリズムがわかってるならそのままやればいいのでは?
まずgoogleなどで検索してみよう


861 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 22:10:47 ID:0Wd+5rPi]
>>853
管理人なんですが忠告ありがとございます。
IPAフォントのライセンスよんだんですが「当該ソフトウェア」って自分のソフトウェアと勘違いしてました。
即刻他のフォントに入れ替えます。



862 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 00:50:15 ID:2lk0UE8X]
超亀レス恥ずかし><!なんですが
>>815の ゲームプログラミング-アルゴリズムとフレームワーク-長久-勝
は内容的にはjdk1.4.2の時代に1.1でも動くようにと書かれているので現在からすると
古すぎる感は否めないのですが、自分はこれでリフレクションを覚えたりしたので
懐かしくてレスしてしまいます。

でもその後、雑誌などを読んだ限りではリフレクションはあまり推奨されてないんですよね。
保守性が落ちるとかで。趣味な自分はへろへろ無駄に使ったりしてますが。

863 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 09:46:28 ID:EazSdGuN]
リフレクションはアプリが使うものではなくライブラリやフレームワークが情報を引き出したり設定したりするのに使うもの
アノテーションが使えるようになってからは必須事項だよ

864 名前:名前は開発中のものです。 [2007/04/15(日) 14:22:41 ID:Do4UH/Bo]
>>176
こっちできいてみれば?ちなみにタスクシステムを作るのは可能。っていうかタスクシステムはデータ構造とクラス設計の話だから言語に由来することはないです。

タスクシステム総合スレ
pc11.2ch.net/test/read.cgi/gamedev/1173708588/

865 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 16:02:43 ID:yPdKGk0j]
いまさらタスクシステムの話されても。
オブジェクト指向が使えない時代のお話。


866 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 21:33:34 ID:JKlRxbBA]
ですよねー

867 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 22:29:58 ID:gWanPSzj]
誰一人として悪くはない。
この企画は…構造自体が不幸を孕んでいたのだ。

戦犯はいない。
理解できない、根源から違った存在がいただけだ。
誰にとっても。

本当なら決して出会うことのなかった、才能も、経験も、熱意も、人脈も、
何もかも違う人々に関わってしまった事自体がお互いに不幸だった。
つまり…関わった時点で無残な結末が予定されていたのだ。

今はもう…その不幸を呪い、やがて忘れる時を待つしかない。

868 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 12:26:43 ID:avbdJuoP]
>>865
オブジェクト指向言語でタスクシステムが不要にはならないよ。むしろより簡潔に書ける。

マルチスレッドとかコンカレント関連のAPIのない時代でもあるまいし、というしてきなら、いいたいことはわかる。だがまちがっているけどね。

869 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 12:35:17 ID:uVwoDyO/]
クマー。

870 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 12:57:04 ID:ZWSYWvOP]
釣るならもっとそれっぽいことかいてよ

871 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 11:10:51 ID:QxABkYIn]
drawImage(image, 0, 0, ★)
の★のところなんですが、パネルを渡してもnullを渡しても同じように描画できるんですが何か意味あるんでしょうか?



872 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 12:01:41 ID:OQsH7rKB]
画像のロードに時間がかかるときとかに、
★にImageObserverを渡すと、ロードの完了を通知してもらえたりする。

873 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 12:50:31 ID:caMfTdAs]
ゲームの場合、通常非同期でテクスチャロードすることはないから意味のない引数だと思っていい。
ネトゲだとしてもそのへんは自前でコントロールするわけで。

874 名前:名前は開発中のものです。 mailto:sage [2007/04/26(木) 09:04:29 ID:LGVs5GvF]
遅くなったけどd


875 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 18:13:48 ID:GHCrYaAw]
誰か前スレ持ってる人いませんか?
保存しておいたと思ったけどなくしてしまったorz


876 名前:名前は開発中のものです。 mailto:sage [2007/05/04(金) 00:25:28 ID:Z9OOsWLs]
ほいdat
gamdev.org/up/img/9407.zip

877 名前:名前は開発中のものです。 mailto:sage [2007/05/04(金) 08:24:01 ID:2lM108GL]
>>876
アップしていただけてうれしいんですがそれこのスレですorz

878 名前:名前は開発中のものです。 mailto:sage [2007/05/04(金) 14:31:17 ID:Z9OOsWLs]
今度こそ
gamdev.org/up/img/9411.zip

879 名前:名前は開発中のものです。 mailto:sage [2007/05/04(金) 14:40:06 ID:2lM108GL]
>>878
ありがとございます。
おかげさまで見れました。

880 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 00:18:32 ID:E4gxwLZa]
爆発のエフェクトを作りたいんですが、爆発させるときにTimerTaskオブジェクトを生成して起動、爆発が終わったらcancel()で破棄って方法でよいでしょうか?
何か大量に爆発させるときオブジェクトごとにTimerTask起動するのはあまりよくないような気がするんですがいい方法ないでしょうか?

881 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 00:23:25 ID:qNXdFV63]
そもそも、ゲームPGでは余りスレッドを使わないんじゃない?



882 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 00:37:49 ID:Z2/Vlbj0]
基本的にはオブジェクトごとにスレッドはやめとけ

関連性のないエフェクトだけ別スレッドというのはやってもいいけど(というか3Dはわりと普通気味)
そういうのはスレッドプールとか使うのが普通

こまめにON/OFFはとろいぞ

883 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 07:46:38 ID:E4gxwLZa]
ありがとうございます。

結城さんのデザインパターン本のスレッド編にWorkerThreadの実装があったけどこれかな。
ttp://www.hyuki.com/dp/dp2_ch08.pdf

あとJakarta CommonsにThreadPoolっていうクラスがありました。
ttp://jakarta.jp/commons/components.html

調べてみます。

>>881
とはいってもスレッドプールも結局スレッドですよね。
スレッド使わずにアニメーションとかできるんでしょうか?


884 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 10:37:03 ID:Z2/Vlbj0]
>>883
スレッドをかんちがいしてないか?
ゲームで処理単位でスレッドは使う必要はない
使う場合同期等ちゃんと理解してから出ないとダメ

スレッドプールは標準APIにはいってるんだからそれを使えばいい
これはこまめにスレッドを生成破棄しないからタイマータスクの生成+破棄とはまったく動きが違う

言っている意味がわからないならスレッドは使わないで下され

885 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 14:36:33 ID:S0VZ5lLo]
>>883
普通にwhile文を使って、一こま毎計算して表示する。
スレッドは処理の種類によって必要なら使うと言う感じでは。
ある程度本格的なゲームPGの本とか、次の本辺りを読んでみれば分かると思う。
www.amazon.co.jp/dp/4627918615/
www.amazon.co.jp/dp/4501539208/

886 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 20:16:15 ID:2yfTJp2D]
どうでもいいことだが、
>タイマータスクの生成+破棄

>タイガーマスクの生成+破棄
に見えた。

887 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 21:13:20 ID:LKYrIilR]
タイガーマスクと聞いてなぜかアンパンマンの顔が浮かんだ。
アンパンマンの顔のライフサイクル想像すると笑えるw

888 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 02:33:22 ID:qUFCPdNa]
sdljavaが結構いいと思うんだけど
このスレ的には評価はどう?

889 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 11:33:01 ID:EfvfG/mQ]
それ開発とまってなかったっけ?
アクセラレーションもつかえないし、ネイティブのSDLもあんまりほめられたものじゃないけどね


890 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 16:28:36 ID:dKqdtDi9]
sdlって俺だと動画表示くらいしか使わんなぁ。
動画ならJMFのVideoRenderer実装してるんで間に合ってる。
他はCDへのアクセスとジョイスティックだっけ?
javaゲーをCD・・・。

891 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 00:14:02 ID:Odp2f4Vl]
graphicsクラスとかImageうんたらクラスとか描画関係のことだが、javaSE6(別に5.0でもよい1.4より新しい奴)でどうすればいいのかサンプル紹介しているページないかな
とりあえず、BufferStrategyとかが1.4で加わったのは記憶にあるのだが、それ以降描画関係一切追いかけてないのでどのAPI使うのが最新手法なのかよくわからん
その辺の解説とサンプル紹介しているページキボンヌ



892 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 04:15:14 ID:xzeMUWWG]

SE5,6のJava2Dは内部実装が変わっただけで1.4以降から特に使い方が変わるようなAPIの変更はないよ。
強いていうならLCD向けアンチエイリアシングが強化されたのと、JOGLから描画パイプライン触れるようになったくらい。
アプリケーションプログラマには関係ないね。
だから1.4の事知ってりゃ、それが使える。


893 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 10:07:11 ID:gi7La1ao]
確か、Java in the Boxにいろいろ記事がありましたよ
www.javainthebox.net/index.html

それと、Java NIOは次の本が結構詳しい
Developing Games in Java
www.brackeen.com/javagamebook/
books.google.com/books?id=rSs35Uw11okC

894 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 10:27:15 ID:BH7EzlMX]
JavaSE6のOpenGLパイプラインは不安定なのでデフォ動作は取りやめになったよ
おかげでSwing+JOGLが5.0までとおなじ遅い動作しかできん

895 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 19:17:37 ID:GvMFqj5n]
win版のOpenGLまわりは全部VGAドライバ寄りの原因だからしかたない。
プロパティ与えて起動すると描画がめちゃくちゃだからな。
そもそもゲームはSwingと相性悪いからAWTで良いよ。

896 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 21:01:58 ID:M11kx4ro]
MORPGとかネット対応とかになるとSwingコンポーネント使えないのは不利かと
ドライバの不具合ってほんの一部の話なら別にそのドライバが対応すればいいだけのこと

nVidia、IntelともにOpenGLを有効にしてもまともに動かないのだから原因は他にあるはず


897 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 23:14:46 ID:Odp2f4Vl]
891です
レスさんくすです
参考にさせていただきます

それはそうと、今日15才からはじめるJavaゲーム製作だかなんだか言う本を軽く立ち読みしたのだが、
音楽とかタイマ関係まで一通りそろってそうでよさげだと思っている
ただ、心配なのが、ここで使ってるAPIて古い奴まじってたりしない?
わかる人、教えてくれ


898 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 23:26:30 ID:M11kx4ro]
そこのは1.4だったかな
許容範囲

Javaのゲーム開発本は大量にあるが唯一実用となる書籍として有名なやつだよ
新目なのに1.1対応とか、やってることがひどいとか参考にならないのが多いからね

@ITとかも平気で嘘のせるからAPIマニュアルとソース読むしかないというのが悲しい

とりあえずその本で一通りわかるようになったら次はたぶんOpenGlとかやるレベルだから中級まではそれでいいと思う

899 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 23:47:07 ID:Odp2f4Vl]
>>898
レスさんくす
土日勉強してみます

>そこのは1.4だったかな
>許容範囲
だよね
俺の会社(メーカー、ソフトハウスじゃないが、ソフトもそれなりに作ってる)もほとんど1.4しか使ってない
極たまに5.0のところあるが、6は使ってる部署0

900 名前:名前は開発中のものです。 mailto:sage [2007/05/26(土) 00:42:13 ID:px/b9uk2]
15さいからはじめる〜は日本のjavaゲー本の中では良い本だよ。
あれの内容を完全に理解できたぜ!ってレベルなら一人でシコシコハードコーディングでもゲーム作れるんじゃないかと。

日本の企業が仕事で1.4系使ってるのは単について行けてないだけだよ。
エンドオブライフだからやめた方が良いんだけどね。5.0の新文法だけでも覚えた方が良い。
趣味グラマの間に使って覚えとくとか・・・。6.0は追う気がないならどうでもいい。

901 名前:名前は開発中のものです。 mailto:sage [2007/05/26(土) 01:00:42 ID:3yf6+JCa]
去年あたりから5.0は普及してるよ
ツールも対応したし、アプリ鯖もJ2SE5.0対応したしね

今年に入ってからアプリ鯖もJavaEE5対応したのが出始めてきたから加速すると思う
効率が別次元なので今のうちに覚えておくといいかと

個人のゲームなら1.4を選択する必要はないしJavaSE6一択かと
仕事だと6は今は検証中だと思う
update1が出る前はほんとひどいバグもちだったし

ただ標準でJAXB2.0やJAX-WS2.0はいったのが面白いし5.0のときはほとんど強化されなかったAPIに
かなり手が入っているのもポイントでびっくりするほど使いやすくなったよ



902 名前:名前は開発中のものです。 mailto:sage [2007/05/26(土) 03:14:19 ID:E/o29az5]
>>900
古いBroadVisionとか使ってる会社だと
今でも1.3onlyだな
つかうちもそうなんだが

903 名前:名前は開発中のものです。 mailto:sage [2007/05/26(土) 08:34:56 ID:7uwRZyAG]
1.3と6じゃVMすら別モンだよな。Swingがまだ屑だったころだしXML APIもろくに無かったころか。

904 名前:名前は開発中のものです。 mailto:sage [2007/05/26(土) 10:15:56 ID:6pNAZ0zx]
でもMACを視野に入れたゲームだと5.0は動かないよね?

905 名前:名前は開発中のものです。 mailto:sage [2007/05/26(土) 10:56:51 ID:OQbVauRb]
たとえば?

906 名前:名前は開発中のものです。 mailto:sage [2007/05/26(土) 11:08:04 ID:J3LywcEw]
>>904
6はだめだが5.0はあるぞ

907 名前:名前は開発中のものです。 mailto:sage [2007/05/26(土) 12:43:35 ID:OQbVauRb]
そういう話じゃないと思うぞ

908 名前:名前は開発中のものです。 mailto:sage [2007/05/27(日) 22:13:07 ID:8JpcMLEY]
15才の〜で勉強しようと思ったが、近所の本屋で売り切れだ
ついでに俺の金も無い
てことで、節約してnetだけで勉強しようと思うのだが、Javaでゲーム作りますがなにか?はどうなんですか?
自分が軽く見たところ、基礎からしっかりやってくれているみたいだが、ダメダメなところとか、注意するところありますか?

909 名前:名前は開発中のものです。 mailto:sage [2007/05/27(日) 23:31:08 ID:wTM4DUzU]
本格的に開発しないのであれば通過点としてはそれなりにいいんじゃない?
目的がゲーム作成だけならライブラリ用意してすぐに開発に入ったほうがいいけど。

ただ、画像はImageIO使ってロードしたほうがいいとかバッファは現在のピクセルフォーマットとあわせるといいとか
Java2D細かい挙動が必要になったときがたぶんのってない。

まず>>908がゲーム開発自体はすでにしていてJavaでのやり方がわからないだけなのか
Javaはわかるがゲーム開発自体がわからないのか、どちらもわからないのかによってとるべき道は違うかな。

910 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 00:08:25 ID:kxuyYAly]
>>909
Javaはそれなりにやってます(SE5.0、webアプリ開発)
会社の同僚と趣味でSE6勉強してます
最近勉強仲間がSE7だのクロージャだの言い出して、俺自身は最新テクノロジとかよりゲームの方が好きなので個人でゲーム勉強しようかと思ってます
ちなみに、グラフィック、swingは全く触ったことありません
学生時代awtすこし勉強したけど、それも研究室の新人研修だけで、忘れてしまいました
よろしく

911 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 00:25:24 ID:fdi5zjDi]
ということはゲームの開発に関する知識だけがないのか
ならそのサイトで軽く覚えるといいかと

あとはJavaに関係なくゲームの作り方を教えてるサイトもみること
流れとかそういうのはかわらんから

基本的にタイマーや垂直同期によって一定頻度でのループをつくり、1フレームごとに処理をしていく
まず最初にキーなどの入力>その後ゲームの処理処理>出力

出力する際逐次表示されているVRAMへ描画していくと描画途中が見えてしまうので
オフスクリーンバッファという見えない領域へいったん描画、出力時にコピーまたはフリップ(フルスクリーン専用)となる

基本的にイベントを取るのはキーボードくらいなのでawtやSwingはそんなに深く知る必要はないよ



912 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 00:34:07 ID:XL3m6L+U]
Javaの文法がわかっていてゲームを作るのが目的ならフレームワーク的になっている>>11をつかうのがいいかと。
本格的なSTGも作れるようだし。

自分でフレームワークを作りたいというのなら上記の細かい仕組みを知る必要になるが。

913 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 01:10:28 ID:kxuyYAly]
レスどうもありがとう
ゲームは1日1時間てことで明日から1時間位づつゲーム勉強してみまつ
Javaでゲーム作りますが何か?のページ見てたらGTGEが面白そう
とりあえず、こいつの中身読んでみよっかな
なんか、やる気出てきたので週明けから暇であることを祈る
また、なにかあったらよろしく

914 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 09:50:19 ID:dR+mP3mE]
俺も毎日一時間以上ゲームPGや勉強やることにしたよと会社から

915 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 11:32:44 ID:ahItnJp8]
ゲームはモチベーションを上げるため、と割り切れば勉強のためにもいいとおもわれ。
殺風景な業務用のコンポーネントがならぶだけではなく、フレームの中をボールが飛び跳ねてアニメーションしてるとか
DBとの連携やゲームとの相性の悪くないORマッピングとか、各種デザインパターンとかものにはなるし。

WEBアプリのフレームワーク側ではなくドカタ側にまわってると技術力とモチベーション低下が避けられないからね。

916 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 14:22:09 ID:dR+mP3mE]
まさにそんな感じ。
去年まで4年以上ミドルウェアを開発してて、
上司の退職をきっかけにずっと前に出した異動希望が発動して、
グラフや統計などを使う研究用Webアプリを開発することになって、
プログラミング的には難易度が下がった。
とはいえ計画通りだし、年内は勉強しながらMyライブラリを作る。
2年ほどで作りたいのはトバルみたいなの。

917 名前:名前は開発中のものです。 [2007/05/28(月) 21:47:29 ID:9APdzwvN]
トバルとはなつかしいな

918 名前:名前は開発中のものです。 mailto:sage [2007/05/29(火) 01:11:09 ID:QU7Bv3WN]
No.1だな

919 名前:名前は開発中のものです。 mailto:sage [2007/05/30(水) 00:26:54 ID:9qP8n2n4]
トバル2は面白かった

920 名前:名前は開発中のものです。 mailto:sage [2007/05/30(水) 02:01:02 ID:JwW2N6l2]
PSで格ゲーは邪道。SSでアーケードスティックプロ、それが俺のジャスティス!

921 名前:名前は開発中のものです。 mailto:sage [2007/05/31(木) 08:52:09 ID:zC6v4guW]
15才〜、以外にお勧めの本もしくはwebある?
ゲーム製作本でなくても、描画とか同期とかキー入力とかゲームに関係あることが書いてある奴があれば教えて欲しい
レベルは基礎でも応用でもどっちでもいいです
あ、javaのAPIは無しね
よろぴこ



922 名前:名前は開発中のものです。 mailto:sage [2007/05/31(木) 11:46:26 ID:ElLhOgmF]
実際のところ標準APIの組み合わせで2Dゲームならだいたいことたりるから
APIマニュアル見ながらテストするのが一番わかりやすかったりする

Javaの命令がわからない、という人ならそれでわからない問題ってのはたしかなかったと思う

ゲームの作り方そのものがわからないならJavaとか言語以前の話

923 名前:名前は開発中のものです。 mailto:sage [2007/06/02(土) 12:45:52 ID:ySjBjTJY]
ようするに、15才〜以外にまともな本もホームページも無いのね

924 名前:名前は開発中のものです。 mailto:sage [2007/06/02(土) 12:47:59 ID:KQGH3f1A]
ゲーム開発がわかる人=APIマニュアルだけでおけ
ということだろ

だからある程度のゲーム開発になるとまともな本がない
あとは開発者の減少だろうね
昔はベーマガとか大量にゲーム開発のための本があったわけで

実際同人の開発者もほとんどがその世代である30代以上だ

Javaに限らんのよ

925 名前:名前は開発中のものです。 mailto:sage [2007/06/02(土) 14:19:19 ID:4zeBTZ5e]
MIDPってはやってる?

926 名前:名前は開発中のものです。 mailto:sage [2007/06/02(土) 14:33:58 ID:bNMRwVZE]
MIDP汎用は日本じゃはやってない
やれることが少なすぎるから

ドコモが使ってないというのもあるかも

一応2.0からはやれることは増えたけど使いにくいかな

927 名前:名前は開発中のものです。 mailto:sage [2007/06/03(日) 11:38:31 ID:foEaYR55]
スプライトのアニメーション(イメージの切替)なんですが、スプライトクラスの中でTimerTaskを起動して表示するイメージ番号を切り替えるのって効率悪いですか?
定石としてはメインループで各スプライトに対して表示するイメージを切り替えるメソッドを呼ぶようにするんでしょうか?

928 名前:名前は開発中のものです。 mailto:sage [2007/06/03(日) 12:21:22 ID:XU9gmanv]
つまりメインループとキャラと完全な非同期ってことね
スプライト100個出したら100個のスレッドがたちあがるってことかな?

そうでないにしろ、表示されるタイミングとスプライトの時間管理とのずれが問題になるよね
たとえば1フレームごとに点滅表示させるような場合、それらが同期取れてないのでずっと表示されたり
ずっと消えたままになるよね

各種オブジェクトは内部でカウンタを持って1フレームごとに呼び出されるメソッドで+1していくのが基本だよ
メインループ側(フレームワーク側)とは切り離して独立して動けるようにね

そうすると単体テストが容易になったりするし、見るクラスが1つだけなのでバグもでなくなる
外部からのきっかけがほしい場合はオブザーバーパターンを使えば汎用的になってなおよろし
小規模であまり深く考えないのならpublicなメソッドでもいいと思うけど

929 名前:名前は開発中のものです。 mailto:sage [2007/06/03(日) 23:30:45 ID:NMJr+FyS]
それならフレームじゃなくて時計の時間にスプライトの状態を同期すれば
完全非同期でも問題ないの?

930 名前:名前は開発中のものです。 mailto:sage [2007/06/03(日) 23:35:39 ID:qjYqK/Ln]
タイマつかっても完全同期は無理。
スレッドの動く時間は保障されないし、逐次処理しても当たり前だが時間は常に動いている。
それと処理落ちとかした場合は?OSがリアルタイムでない時点でいくらでもあることだよ。


931 名前:名前は開発中のものです。 [2007/06/04(月) 01:03:47 ID:LU4adZL7]
モーション付モデルデータを表示するために、何か良いエンジンありますか?



932 名前:名前は開発中のものです。 mailto:sage [2007/06/05(火) 23:07:38 ID:YHsxbudA]
>>926
レスサンクス。
auのオープンアプリレイヤーに興味あったんだけどこれからなのかな。

933 名前:名前は開発中のものです。 mailto:sage [2007/06/05(火) 23:14:12 ID:geU+8UYE]
というか新しい機種しか対応してないし、ここはJavaSEの話がメイン

934 名前:名前は開発中のものです。 mailto:sage [2007/06/06(水) 21:05:44 ID:WeNeu8ST]
eclipseでjarファイル生成させたのにクリックしても起動しませんorz
何が問題なんでしょうか。
クリック時にエラーは出ません

935 名前:名前は開発中のものです。 mailto:sage [2007/06/06(水) 21:18:40 ID:O774Z098]
マニフェストファイル作った?
わからないのなら正直NetBeansのほうがいいと思うぞ
必要なライブラリもクラスパス自動登録されるようにしてくれるし

936 名前:名前は開発中のものです。 mailto:sage [2007/06/06(水) 21:46:27 ID:/nuanp7M]
ふむ
同意してみる
eclipseの方が好きなの、ちょっと玄人向けの気もする
何でもかんでも後からplugin追加だからな

その点、NetBeansは何もしなくてもある程度使える
個人的には何もしなくてもWebアプリのプロジェクトがサクサク作られたのが気に入った


しかし、疑問なのはゲーム製作にしてもそれ以外にしてもIDEの話になると、ほとんどの書籍がeclipse使うよな
NetBeansはなんか問題(著作権とか?)でもあるのかね

937 名前:名前は開発中のものです。 mailto:sage [2007/06/06(水) 21:53:54 ID:O774Z098]
NetBeansの使い方知らないやつが多いだけじゃね?

去年のJavaのIDE TOPはNetBeansが選ばれてる時点で流れに乗れない人たちと思われ。
あとEclipseはプラグイン入れるだけでページ数稼げる。これポイント。

938 名前:名前は開発中のものです。 mailto:sage [2007/06/06(水) 23:20:53 ID:WeNeu8ST]
>>935
マニフェストファイルは作ってます
必要なライブラリはありません
大学がeclipseなのでそれを使ってます-`)

939 名前:名前は開発中のものです。 mailto:sage [2007/06/06(水) 23:58:27 ID:IfzalnNn]
考えられるのは、
・マニフェストファイルがおかしい
・実行環境に問題がある
・そういうプログラムである
くらいか

マニフェストファイルをEclipseに生成させるようにしてJARを作成してみたら?
それで上手くいくようなら自作マニフェストファイルがおかしいって事になる

940 名前:名前は開発中のものです。 [2007/06/07(木) 13:02:37 ID:vuPLnRCS]
NetBeansのほうがお勧めというが、
プラグインを入れなくても、
リファクタリングとか、補完とかの機能がEclipseのほうが使いやすい。
必要としない人も多いから何とも言えないが。

まぁ、次期NetBenasで解消されるようだけど。
Swingが速くなったおかげで、重さも解消されたし。

最初からNetBeansを使ってるひとは、Eclipseのほうが便利な部分を知らなくて使っていくだろうし、
逆もそうだとおもうんだよね。

まぁ、初心者にはNetBeansが良いと思う。

941 名前:名前は開発中のものです。 mailto:sage [2007/06/07(木) 13:04:07 ID:vuPLnRCS]
う、下げ忘れた。ごめんなさい。

>>934
まずは、コマンドプロンプトで
java -jar ***.jar
で起動させてみて。



942 名前:名前は開発中のものです。 mailto:sage [2007/06/07(木) 16:59:15 ID:5Qk7KRIL]
>>940
JBuilderとかになれてるとEclipseのほうが使いにくいのだ
EclipseはCTRL+スペースばかりに機能が統合されていてすばやく撃ち込む場合使いにくいのだよ
NetBeansも最近CTRL+スペースに集中してきて悪化している

ユニットテストとかライブラリとかはNetBeansのほうが使いやすいね

EclipseでまともにGUI開発できないってのはまぁ致命的といえば致命的だが
ゲームだとせいぜいコントロールパネルくらいだからどうでもいいか

あ、ゲームだと問題となるのが最新のJDKが推奨されるけど、
Eclipseは最新のJDKが使えない可能性が高いのが問題となりやすいかも

943 名前:名前は開発中のものです。 mailto:sage [2007/06/07(木) 18:06:19 ID:vuPLnRCS]
>>942
なるほど。
JBuilderはほんとの初期しか使ってないから評価できないけど、
forループとかでイテレータ使うテンプレートが無かったのは覚えてる。
あと、sysoutとかで補完とかそういった細かい所は好みの問題だし、
慣れだからね。

確かにユニットテストはNetBeansのほうが良い。
Eclipseはわかってる人からすれば、なんてことはないけど
知らない人に説明するの面倒。
プロファイラも同じなんだよね。
Eclipseのプロファイラの重さはかなり致命的。TPTPとかもうね・・・・。

GUI開発に関しては、VEが一応ある。Matisse(NetBeansのGUIエディタ)も動く・・・・・・有料だけど。
コレが無料ならいいのだけどねぇ・・・・。
ただ、Matisseはソースは出力物であって、編集できない形だから俺はいまいち。
その点VEは編集しても頑張って再現してくれる。失敗も多いけどね。

俺の印象だと、
Eclipse 巨大な整理されていない道具箱
NetBeans 必要な道具だけが綺麗に整理されている道具箱

ある程度使えばどっちも生産性に差は無いと思う。
とくにゲーム制作に関しては。

944 名前:名前は開発中のものです。 mailto:sage [2007/06/07(木) 18:47:03 ID:5Loz1nuS]
>>941
java -jar ***.jarで起動させました
するとエラーが表示されました
eclipseには何も表示されなかったのに何故…
どうやらファイル入出力が拙いようでした

いろいろ弄って何とか解決できました
皆さんありがとうございました

945 名前:名前は開発中のものです。 mailto:sage [2007/06/07(木) 20:32:04 ID:wcTYYNm5]
ん?Eclipseでも実行させたらエラーちゃんとでてるよな?


946 名前:名前は開発中のものです。 mailto:sage [2007/06/07(木) 20:53:24 ID:vuPLnRCS]
Jarにまとめる前に実行するだろうから
やっぱり、コンソールに出力されるはずだがなぁ・・・・。

自動的にコンソールが前面に出てくる設定になってないとか。

947 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 07:45:07 ID:dU1vbfjk]
>>943
>俺の印象だと、
>Eclipse 巨大な整理されていない道具箱
>NetBeans 必要な道具だけが綺麗に整理されている道具箱
激しく同意
しかし、最近NetBeansの勢いが増してきた気がする
6.0楽しみだ

Eclipseは最新の技術への対応が遅くなってきて無いか?
ただで使わせてもらってるのにえらそうに言うのもなんだが

ただ、個人的にはEclipseの方が好き
なぜなら、日本語のドキュメントが多いからw

948 名前:943 [2007/06/08(金) 11:19:22 ID:uRAOQaxB]
ちょっと補足。
>Eclipse 巨大な整理されていない道具箱
>NetBeans 必要な道具だけが綺麗に整理されている道具箱
NetBeansは必要な道具が無かった場合、かなり苦労を強いられる。(出来ないことはない)
Eclipseはほとんどの場合箱のなかを探し出せばそれを実現する道具(プラグイン)を誰かが作ってる。

俺もEclipseの方がすき。

長いこと使ってきて愛着があるってのもあるし、使えるプラグインが多いことも私にとっては重要。
Amaterasのプラグインとか無いとやっていけない。
それにNetBeansのとにかく簡単に!という流れに乗ってか、Callisto
という、
コレさえあれば大抵大丈夫っていうプラグインセットも出てきたから
NetBeansの勢いに負けずに頑張って欲しいなぁ。


Eclipseで一番危惧しているのはJavaが疎かになるんじゃないかなってこと。
PHPやC++、Rubyへの対応がニュースの目玉になるぐらいだから・・・。

ゲーム関係ないなw

949 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 11:43:53 ID:0pRpBrj+]
NetBeans、この1年でのRuby対応すごすぎ

Ruby対応は今IDEでもっとも旬なものじゃないかな

950 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 14:37:30 ID:S8TOMltZ]
>>928
遅くなったけどありがとうございます。

>>スプライト100個出したら100個のスレッドがたちあがるってことかな?
そうです。

結論としてはオブジェクトごとにTimerTask持つやり方でいいってことでしょうか?

951 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 14:43:00 ID:0pRpBrj+]
皮肉をこめたあの文章でダメだと思わないのならやめたほうがいい

マルチスレッドでやるにしろスレッドプールと排他制御を理解してからね
タスク間での通信とか大丈夫に見えない

別スレッドでやるにしろ手軽なものじゃないよ
何も考えない場合依存性がないエフェクト関連でしかつかえん



952 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 16:42:07 ID:S8TOMltZ]
キャラクターのアニメーションに使うだけなので他のオブジェクトと依存性はないかと・・・


953 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 16:47:14 ID:0pRpBrj+]
で、スレッドが増えることによる弊害は考えないの?
各スレッドごとにスタックもつわけだし、綺麗なアニメーションも出来ないよ


954 名前:名前は開発中のものです。 [2007/06/08(金) 18:43:35 ID:f1IK12WV]
fillPolygonなんかで多角形を一色に塗る方法は分かったのですが、
ゲームなんかでよくあるように画像をはめ込むことはできませんでしょうか?

955 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 18:46:08 ID:0pRpBrj+]
矩形ならJava2Dですぐ出来るんじゃね?

多角形が必要ならJOGL使ったほうがよさげ

956 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 19:29:42 ID:pznBE7uN]
javaのゲームプログラミングを勉強したいんですけど、何かお勧めの本はありますか?

957 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 20:40:58 ID:f1IK12WV]
>>955
ありがとうございました。ド素人なんでググるところから始めてみます。

958 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 21:08:19 ID:rLAdfwxn]
>>956
ゲームじゃないプログラミングの経験はあるの?
ないならしばらくゲームを作るのは忘れて一般のJavaの入門書買って勉強した方がいい
ゲーム作りながら0から学ぼうとするのはかえって遠回りになるよ

959 名前:名前は開発中のものです。 [2007/06/08(金) 21:56:13 ID:JbwzLCuD]
>>948
一人称を統一してくれ。

960 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 22:31:58 ID:S8TOMltZ]
>>953
それを>>927で聞きたかったんです。
やっぱりオブジェクトが増えると効率悪くなりますかね。
今のところ数十個ならちゃんと表示されてるんですが。
一般的にキャラクターのアニメーションとかエフェクトとかでもスレッドプールというのを使うんでしょうか?


961 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 23:06:41 ID:pPM/oaLv]
>>958
普通のプログラミングも始めたばかりです




962 名前:名前は開発中のものです。 mailto:sage [2007/06/08(金) 23:42:07 ID:0pRpBrj+]
>>960
スレッドが増えるとメモリなどの効率が悪くなるし、排他制御での効率の問題も出やすい
マルチコアが普及してもこの数年じゃせいぜい同時に動けるのは4スレッド程度
ならば4スレッドつくっておいて毎フレームなげる
100個のオブジェクトがあった場合最初に4つなげて空きができるまで残りの96個は待っている状態になる

ただ、本当に並列動作が意図的にほしいのでないのならマルチスレッドはバグの原因になるから使わないほうがいい
TimerTaskが便利そうに見えるというのならそれはフレーム管理を理解していないだけ
書籍なども読んだりしてまずシングルスレッドで行うようにしよう

バックグラウンドで動かしたいスレッドなんて音楽や効果音などでたくさんあるんだし、必要になってから勉強しよう
並列処理を理解せずにTimerTaskを使うのは危険すぎる

963 名前:名前は開発中のものです。 mailto:sage [2007/06/09(土) 01:08:05 ID:vu3KtdAq]
>>960
いわゆる擬似タスクを使えばいいのでは?
スレッドは同期処理とかなにかと面倒。

964 名前:名前は開発中のものです。 mailto:sage [2007/06/09(土) 07:49:01 ID:EZVk7j6P]
疑似タスクとかフレーム管理とかJavaの本でお目にかかったことないんですがC++関係のゲームプログラミング本に書いてあるのでしょうか。
何かよい資料があれば紹介していただきたいんですが。

965 名前:名前は開発中のものです。 mailto:sage [2007/06/09(土) 08:32:30 ID:vu3KtdAq]
擬似タスクやフレーム管理はJAVAとはまったく関係のないゲームプログラム独特の話。

ウェブならここ。ただしCやアセンブラの時代の話なので概念だけ見るとよい。
ttp://www.hh.iij4u.or.jp/~peto/index.shtml

と思ったら閉鎖してたので以下で見てみて。
ttp://web.archive.org/web/*/www.hh.iij4u.or.jp/~peto/index.shtml

ここもよいかも。
ttp://homepage3.nifty.com/moha/

本ならこれ。C++で書かれてて結構新しい本なのでメモリまわりを工夫すれば参考になるんじゃないかな。
「シューティングゲーム プログラミング 松浦 健一郎 司 ゆき」
amazonで検索してくれ。

あと、以下は解説はないけど豊富なソースがある。
D言語で書かれてるので一番参考になるかもしれない(windows系のやつ)。
タスクはActorというクラスで管理している。
ttp://www.asahi-net.or.jp/~cs8k-cyu/

966 名前:名前は開発中のものです。 mailto:sage [2007/06/09(土) 08:59:52 ID:bbYOCeLH]
場合によってはデザパタ本よんだほうがいいかもしれん

967 名前:名前は開発中のものです。 mailto:sage [2007/06/09(土) 15:23:47 ID:EZVk7j6P]
>>965
JavaであるといいんですがやっぱりC++のほうがゲームプログラミングは充実してますね。
ありがとうございます。読んでみます。

968 名前:名前は開発中のものです。 mailto:sage [2007/06/09(土) 17:55:28 ID:O4qCppAQ]
別にObject指向わかっていればたいしたことはないと思うし、そういうゲームの基礎的な部分ってのは
みんなアセンブラやC,BASIC時代で終えてきた人ばかりだしね

今のほうが基礎的なこととか情報の入手に困る時代
Cでもサンプル少なすぎってわけさ

969 名前:名前は開発中のものです。 [2007/06/09(土) 19:01:59 ID:Z0TKLmia]
タスクシステム使った事ないけどワークメモリと関数ポインタもった構造体のリストを時間ベースで管理するってかんじ?
OOと合うの?普通に並列化したほうがいい気がする。


970 名前:名前は開発中のものです。 [2007/06/09(土) 19:45:16 ID:zoMf1LX5]
SFCの聖剣伝説のようなARPGを作るにあたって、MVCを考慮したシステム設計で悩んでいます。
ARPGを作成する上で参考になりそうなクラス図一覧やシーケンス図が記載されているような
参考書はあるのでしょうか?
JAVAで無い場合はそれ以外の言語でもいいのでよろしくです。

971 名前:名前は開発中のものです。 mailto:sage [2007/06/09(土) 22:47:46 ID:O4qCppAQ]
普通に作れば?
どこがひっかかるの?



972 名前:名前は開発中のものです。 mailto:sage [2007/06/10(日) 18:04:49 ID:x8dp2pdS]
このスレの少し前でも話題になってるようなのですが
15歳からはじめる〜の本の応用編PDFのパスワード誰か知りませんか?
出版社のサポートに問い合わせても何の返事も来なくて・・・

973 名前:名前は開発中のものです。 mailto:sage [2007/06/10(日) 18:16:16 ID:/a81qKx+]
>>972
あれの葉書の締め切りとかってもう終わってる?
今から葉書出しても遅いかにゃ?

974 名前:名前は開発中のものです。 mailto:sage [2007/06/10(日) 20:35:19 ID:StHZ6Btk]
>>813見ると送ってももらえなさそうだね

975 名前:名前は開発中のものです。 mailto:sage [2007/06/10(日) 23:14:46 ID:/a81qKx+]
>>974
本当だ
葉書見たら、無料で送付してくれる期間も過ぎてたわ


976 名前:名前は開発中のものです。 mailto:sage [2007/06/12(火) 22:48:39 ID:54Piwy01]
graphic関係で質問
BufferStrategyてJPanelで使えないの?
今、JFrameでWindow作って、その上にJPanel乗せて、JPanelにゲーム画面を描画しようと考えているのだが、間違ってるのか?
直接JFrameに描くほうが正しいのか?
それとも何か解決法があるのか?
すまんが、よろしこ

977 名前:名前は開発中のものです。 mailto:sage [2007/06/13(水) 00:22:14 ID:xt1HCEaa]
ドキュメントちゃんとよんだ?
1行目に書いてあると思うけど。

978 名前:名前は開発中のものです。 mailto:sage [2007/06/13(水) 00:48:27 ID:DenGxzXk]
>>977
もちろん読んでる(BufferStrategyのことだよね)
そこで、WindowsとCanvas上の〜〜〜とあるのはわかるのだが、JPanelやそのほかのコンポーネントでも描画すること多いから、普通に考えるとJPanel上でも使用する方法があるのでは無いかと思って質問した
結論としてはやっぱり、無理なの?
とすると、JFrame上にべた書きか



979 名前:名前は開発中のものです。 mailto:sage [2007/06/13(水) 00:54:59 ID:xt1HCEaa]
ようはライトウエイトコンポーネントじゃないんだよ
WindowとCanvasってのことはね
JComponentなんてかいてないでしょ?

980 名前:名前は開発中のものです。 mailto:sage [2007/06/22(金) 02:15:12 ID:26NocAGI]
ゲーム作ってみたいがどれダウンロードすればいいか分からない

981 名前:名前は開発中のものです。 [2007/06/22(金) 10:24:46 ID:GQikK9pU]
開発環境込みでダウンロードしたいなら
java.sun.com/javase/ja/6/netbeans.html

昔ながらのエディタでいろいろいじるなら
www.javadrive.jp/install/jdk/index.html
コレ参考にしたらよいよ。








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<296KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef