- 1 名前:名前は開発中のものです。 [2008/10/28(火) 18:23:40 ID:2CMNNHdH]
- Javaでゲームを作ろうと思っている人、今作っている人等が情報交換するためのスレです。
2Dのスレはありましたが、総合スレがなかったので立てました。 2D,3DどっちでもOKで、グラフィックス、アルゴリズム、お勧めサイト等、内容も自由です。
- 305 名前:名前は開発中のものです。 mailto:sage [2009/06/14(日) 01:09:15 ID:MK353TQU]
- 物だけ見せられても宣伝乙としか
- 306 名前:名前は開発中のものです。 mailto:sage [2009/06/14(日) 03:42:19 ID:g6ViaG4n]
- >>304
死なないシューティングゲームって爽快感があっていいね もっと弾とか相手がぶっ壊れるときのエフェクトを派手にして 爽快感だけのシューティングゲーム作りたいなあって思った
- 307 名前:名前は開発中のものです。 [2009/06/14(日) 11:28:09 ID:YAYpVdk3]
- >>304です
>>305 確かにこれだけじゃただの宣伝ですね。すみません。 どんな物にしたいか: ・要するにいくつかのステージに渡って隕石を駆除するゲーム(制限時間付き) ・まず巨大だが速さが低い隕石がいくつかある状態から開始する ・直径50pixel以上の隕石は破壊されると分裂する。 ・隕石の最大速度はサイズに反比例する。 ・隕石に衝突すると、何らかのペナルティが発生する。 ・隕石を破壊(分裂)させると、得点が隕石のサイズに応じて増える。 こんなところです。 よろしくお願いします。 >>306 見た目に関してはこれからも色んな効果を追加していくつもりです。 まずはもうちょっと画面を揺らす効果を強くしてみます。 実は途中までは死亡出来る仕様だったのですが、「死ぬまで続ける」よりも「制限時間内でより効率的に隕石を掃除する」 ようにするために急遽死亡判定を取り除いてみました。
- 308 名前:名前は開発中のものです。 mailto:sage [2009/06/14(日) 14:03:19 ID:dPzbkR7D]
- 超巨大な隕石にちっぽけな自機が挑むっていう構図がいいね。
ただ、主砲が小さな隕石に当たってかき消されちゃうのは少しさびしいと思った。 爆風とかあってもいいんじゃないかな。 そうすれば効率的に隕石を掃除するっていうコンセプトにも一致するし。 あと反射、分裂ってところでbio100%の蟹味噌思い出した。
- 309 名前:名前は開発中のものです。 [2009/06/14(日) 15:23:29 ID:YAYpVdk3]
- >>306と>>307の意見を参考に、少し細かい修正を施して見ました。
nsj.hp2.jp/asteroid002/ ・ゲームの速度を全体的に上げた。 ・隕石が分裂する際に粒子を放出するように。 ・隕石のサイズを更に少し上げた。 ・主砲の仕様を変更。「ただの強力な弾を発射」→「貫通性を持った削岩機を射出」するように。 爆発物もその内実装してみようと思います。なんで思いつかなかったんだろう。 結構発想を得る事が出来ました。ありがとう。 >>306 少しは爽快感増えましたかね。 >>308 俺も気に入ってます、この構図。 主砲弾のダメージ量を変えずにダメージの与え方だけを変更してみました。いかがでしょう。
- 310 名前:名前は開発中のものです。 mailto:sage [2009/06/14(日) 19:24:58 ID:g6ViaG4n]
- >>309
速度が上がって隕石を早く壊せるようになったから、ただ弾を撃って待ってる時間が減ってテンポが良くなってて、 爽快感も増えてる。 今のところ画面内だけを飛びまわれるけど、このゲームはテンポが速いからもっと広いマップを飛びまわれれば 面白いかなあと思った。でも、あまり広いマップだと隕石を見つける作業が大変になってつまらなくなりそうかなあ。
- 311 名前:名前は開発中のものです。 [2009/06/18(木) 19:43:08 ID:qodO8hsI]
- GTGEのオープニング画面消せませんか?
- 312 名前:名前は開発中のものです。 mailto:sage [2009/06/19(金) 00:36:36 ID:Re09H4o6]
- ライセンス違反
- 313 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 03:27:34 ID:eJZ0zwQp]
- GTGEはだいぶ前に開発止まって、JMonkeyEngineに人が流れたと思ってた
ちょっとgoogleで検索してみたけど、JMonkeyEngineはほとんど情報ないね 2.0もよくわからん状態だし Javaでゲーム作る人はフレームワークとか使わんのかね?
- 314 名前:名前は開発中のものです。 [2009/06/21(日) 19:11:59 ID:7M0/xeSN]
- GTGEはちょっとしたゲームにはすごくいいっぽいね
最近ゲーム勉強してフレームワーク作ろうとしてたけど使って見て馬鹿らしくなったw
- 315 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 22:47:18 ID:JjTebPbF]
- Java自体が半フレームワーク
みたいなもんじゃね。標準で付いてるクラス使いこなせてれば
- 316 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 10:23:26 ID:hPMjGfX/]
- フレームワークって概念をどうとらえているか知らんが、
普通はそういう言い方はしない。 Javaは基本的なAPIは提供するが、 フレームワークで準備されるような拡張API的な部分はかなり少ない。 多いなら、JakartaCommonsやらは出てこない。 とはいえ、PC上でやりたいことのほとんどにたいしての、 基本的なAPIを提供してくれているのには同意。
- 317 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 21:30:21 ID:D4ho1sgZ]
- JMonkeyEngineがバージョンアップして、日本語の解説記事がガンガン出てきたら本気でゲーム作る
それまでは、会社でWebアプリ作ってます
- 318 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 02:32:57 ID:Z4M/wv7L]
- そういえばjME2.0、鯖が重くてうまく落とせなかったな。
F/Wの話だが俺は2DゲーメインなんでjME程の3D機能はいらんな。 JOGL使って小型のものを作った。 ただ、スプライトをどう制御するか悩むね。 スプライトクラスが個々のフレームの表示時間も持つのか描画する時に管理するかとか。
- 319 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 11:22:25 ID:GkwNF2sp]
- スプライトの当たり判定をアルファ値考慮して実装したら平均68msの実行時間がかかってしまう。
どうやって高速化するんだろ?
- 320 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 11:52:19 ID:jlXOwoDQ]
- 厳密なアルファ値判定が必要な物だけをリストしたらいいんでない。
もうやっているならスマン。
- 321 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 15:53:53 ID:86MRbq/S]
- クロスプラットフォーム目指してるならSDLがあるでよ
Javaの方が手間がかからないけどね
- 322 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 19:20:49 ID:p2fvfWui]
- SDLならjavaにもあるんだが
- 323 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 21:35:08 ID:PEcZRotC]
- JavaのSDLでいきてるのってるのか?
- 324 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 22:58:00 ID:q4KJV7Tw]
- >>319
大きさや個数が分からんから何ともいえんが ピクセル単位の判定前に矩形チェックで弾くのはやってるとして ・大きなスプライトを使うんならあらかじめ32x32くらいの判定ボリュームを 用意して精度を落としてしまう ・輪郭線に該当するピクセルだけをあらかじめ列挙しておき、 そのピクセルから相手のキャラのアルファ値を見に行く(相互にやる) ・衝突判定用描画バッファを用意し、各ピクセルに色ではなくキャラクタ番号を 書き込みながら、書き込み先のピクセルを見て判定する ※描画順序に判定条件が依存するので注意 のうちのどれかを実装するとか
- 325 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 23:31:26 ID:E6VQkcW7]
- データ構造の仕様も判定の仕様もわからんが
あらかじめ判定のある不透明部分だけ抜き出して適当なデータ作っとくとか
- 326 名前:名前は開発中のものです。 mailto:sage [2009/06/25(木) 18:29:50 ID:Hr5vf1Co]
- >>319
ゲームの種類にもよるけど、ドット単位で厳格な判定をしようと言うのがそもそもの間違い。 (これはスプライト同士の場合。マウスカーソルとアイコン等、点とスプライトの判定ならドット単位でも大丈夫) 例えば、格闘ゲームの判定なんかは長方形の判定が数個配置してあるだけ。 キャラの喰らい判定も、パンチやキックの攻撃判定も、みんな2・3個の長方形で表現されている。 衝突判定が重要な格闘ゲームですらこうなんだから、他のジャンルもこんな感じ。 どうしても気になるんなら、当たり判定を複数の円や三角に分割して処理すれば軽さと精度を両立できる。 あまり細かく分割すると余計重くなるので、多少の誤差なら無視してしまってok。 STG等、敵の大群と自機の弾幕の間で判定を行なう場合の高速化方法もあるけど、 アルファを考慮して68msって規模なら必要無いので省略。
- 327 名前:319 mailto:sage [2009/06/27(土) 02:44:14 ID:jkJfUe9s]
- い、忙しい。コード書けねぇ。
スプライトの仕様は以下 ・スプライトの描画座標系での位置(x,y)を持つ ・スプライトのサイズ:w * hを持つ ・表示される画像を持つ ・可視性-visibleを持つ で当たり判定の実装は以下 1) 可視性をみる 2) 二つのスプライトの位置とサイズから重なっているか見る --- ここから実際にアルファ値考慮 --- 3) 二つのスプライトの共有された矩形の情報を得る 4) 3)を元に二つのスプライトの画像の共有部のみそれぞれint[]に各ピクセルのargb情報を格納 5) 4)より得た配列二つのピクセルの全アルファ値をみる 6) 見たアルファ値の両方が完全に不透過ならば当たっていると判断 こんな感じ。 それで当たり判定メソッドにアルファ値を考慮するかどうかのフラグを指定できるので、 >>320の"アルファ値判定が必要な物だけ"というのはこれをoffにすればいい。(そのとき実装の 2) までやってreturnする) それ以外は上記に挙げたこと以外は特にやっていない。 とりあえず>>324の"あらかじめ32x32くらいの判定ボリュームを用意して精度を落としてしまう" を時間がある時に実装しようと思う。 レスくれたみんなありがと。
- 328 名前:名前は開発中のものです。 mailto:sage [2009/07/13(月) 20:05:52 ID:L/yN0+Rr]
- スレ違いだとおもうけど
就職作品で提出する場合 MIDPとDojaどっちで作るのがいいと思う? てかどっちが主流なんだろう
- 329 名前:名前は開発中のものです。 mailto:sage [2009/07/13(月) 21:00:36 ID:m1tx5Cmh]
- どっちでも作れるなら両方作っておいたほうがいい。
私なら使うかどうかは別として常に保険は持っておく。 ただ「提出」となるとMIDPの方が用意しやすいんじゃないか?
- 330 名前:名前は開発中のものです。 mailto:sage [2009/07/13(月) 21:20:41 ID:L/yN0+Rr]
- >>329
了解ありがとう〜
- 331 名前:名前は開発中のものです。 mailto:sage [2009/07/13(月) 22:39:13 ID:X6MZ6Qd8]
- その会社の製品がどっち優先か調べて決めれ
- 332 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 07:11:46 ID:d7m2rzzT]
- いまDojaじゃないけどな
- 333 名前:名前は開発中のものです。 mailto:sage [2009/09/11(金) 12:02:33 ID:yaQ7P120]
- 質問させてください
Javaでゲーム作る場合は、Swingを使うのでしょうか?それともAppletを使うのでしょうか? 勉強中なのですが、ネットで色々と検索するとJFrame上に画面を生成している人とAppletに画面を生成している人がいます どちらが一般的なのでしょうか? PC用、携帯用とかで使い分けるものなのでしょうか? よろしくお願いいたします
- 334 名前:名前は開発中のものです。 mailto:sage [2009/09/11(金) 14:11:16 ID:UvBFGDsD]
- アプレットでSwingが使えるJAppletというのもあるよ!
ブラウザ上で動かしたいならアプレット、単独で動かしたいならJFrame やろうと思えば両用に作ることもできるが、好みで選べばいい 携帯用は根本的にまったく異なる
- 335 名前:名前は開発中のものです。 mailto:sage [2009/09/11(金) 20:42:59 ID:mQuEMJXs]
- SwingかAppletかっていう選択はおかしい。
選ぶのはまずターゲットにする実行環境を選ぶ。 ・アプレット(ブラウザ内で実行) ・アプリケーション(ダウンロードして実行) ・携帯 WebStartとかFXとかもある それとは別に使うライブラリとして ・Swing ・AWT を選択。他にもSWTやJOGLを使う手もある。
- 336 名前:名前は開発中のものです。 mailto:sage [2009/09/12(土) 14:13:51 ID:IEF6R4ya]
- レスありがとうございます
基本的に、ダウンロードして遊ぶアプリケーションを考えています 色々と調べましたけど、appletは過去に現在のFlash見たいな位置づけにあった技術ってことでいいんですかね? Java Web Startとかも同じようなことやっているみたいですし、今回はappletは無視の方向でがんばってみます
- 337 名前:名前は開発中のものです。 mailto:sage [2009/09/13(日) 12:41:46 ID:uuePN42W]
- ゲームでSwingはJOGLが安定してからの方がいいような
- 338 名前:名前は開発中のものです。 mailto:sage [2009/09/13(日) 18:57:10 ID:Myip4/jy]
- 質問者のレベルからいっておそらくJava2DだけでいいからSwingでもAWTでもかまわんかと
- 339 名前:名前は開発中のものです。 mailto:sage [2009/09/14(月) 12:43:38 ID:PZzYIY3C]
- >>333
いつの日かAndroidにRhino組み込んでゲーム作る日が来るよ
- 340 名前:名前は開発中のものです。 mailto:sage [2009/09/15(火) 20:39:38 ID:zYM08P02]
- 皆さんどんなゲーム作ってるの?
- 341 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 02:51:49 ID:hUUmuj0G]
- 皆さんゲーム作ってないのですか??
- 342 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 09:58:13 ID:J1BQH5PO]
- 誰もいないでちゅか?
- 343 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 07:27:17 ID:8Vk+ua23]
- 誰もいないなら削除依頼だしたほうがいいですかね?
- 344 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 16:48:22 ID:ULQNoLtL]
- 削除依頼を出す必要性が見つからないんだが。
- 345 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 23:01:58 ID:8Vk+ua23]
- よかった!私以外にも人がいたみたいですね!!
削除依頼は延期させてもらいます!!!
- 346 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 23:31:47 ID:4EjDbNUg]
- Javaだと、標準機能だけで2D系ゲームならすぐ作れそうだよね。
新入社員教育で、「期間8時間x5日間の課題としてテトリスクローン作成」 程度のメニュー組んでも大丈夫そうな気がする。
- 347 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 07:41:58 ID:aJX6kioG]
- >>346
テトリスだとアルゴリズムの部分を除けば必要な機能はキー入力の処理と画像表示だけだよね 疑問なんだが、C#とかC++とかにはそういう機能は標準ではないの?
- 348 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 08:03:30 ID:Zzm+z8T1]
- >>347
C++は画面出力用の標準ライブラリは存在しない。 C#にはあったと思うけど、本格的に使ったことがないんで自信なし。 Javaで40時間で作れそうなゲームというと、大抵の落ちものパズル、インベーダー、パックマンとかかな。 黎明期のゲームはわりとどうにかなりそう。 もちろん、敵も味方も丸や四角になるけど。
- 349 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 11:39:50 ID:7JGC3MOY]
- >>343
スレがのこってるということ自体に意味があるので自然の落ちない限り残すのが普通だろ たとえば間をおいて質問等があった場合スレを新規に立ち上げるのと書き込むだけでは敷居が違いすぎる スレは一個人のものではないんだぜ? スレはたった時点で「1」の手を離れてるんだぜ…
- 350 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 12:37:48 ID:a6aeKiDs]
- 今のJavaはゲーム作成環境としてもけっこうこなれてきたと思うんだが、
フリーや同人の世界でもJava製ゲームってあんまり無いね。
- 351 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 18:33:12 ID:+i1IzwK6]
- PCのスペックがどんどん上がってきて、比較的大規模なソフトウェアがJavaで
作られて実際に使われることが多くなったから、Javaの評価は少しづつ上がってると思う。 開発者にとっては楽な言語だからもう少し増えてもよさそうなのになあ。
- 352 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 19:52:15 ID:LwoQ3y57]
- 楽な言語ではないんじゃないかなw
楽な環境だとは言えなくもないけど 今時ならScalaやJRubyでゲーム製作ってのもアリかもな
- 353 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 20:52:06 ID:y+fTXPF0]
- 最近、Applet動かすとき一瞬で起動してきもちい。
Java6になってだいぶ良くなった気がする。 FlashやDirectXに浮気せずAppletやJOGLで頑張りますよ。 やっぱり俺はJavaが好き。
- 354 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 01:10:42 ID:odjYAQpQ]
- >>348
俺の中ではC++とC#はVisualStudioのイメージしか無いからGUI関連は充実してると思ってた >>350-351 JavaはなんだかんだでWebアプリが主戦場だからね SwingはSwingUtilities使ってイベントディスパッチスレッドでアクセスするようにしなければならないとか、仕様だかバグだかわからん状態だし Sunも買収されちゃって、今更Webアプリ以外の分野に大量の技術者投入してくれるとかありえないだろうから、この状態のままだろうね、、、 JMonkeyEngineとかもあるけど、プロジェクトの勢いはあまり無さそう それと、ネットに落ちているサンプルコードが少ないのが痛いかな C++は大量にあるのに、Javaは少ない どう考えてもC++よりJavaの方が書きやすいし、C#と比べても別に遜色ないから、もっと流行って欲しいけどなー
- 355 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 17:26:03 ID:9zReYZbr]
- >>354
GUIは安全にやろうと思ったらシングルスレッドモデルになるのはなのはどれも当たり前 Javaに限らんぞ
- 356 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 19:21:25 ID:/8MbXK30]
- マルチスレッドなGUIライブラリを作ろうと思ったらそういったものも作れるはずだけど、
GUIを扱う人すべてがマルチスレッドに精通してないといけなくなってしまう スレッド、同期、排他制御等の正しい知識がなくこれらを扱えない人はGUIお断り、ってのは門戸が狭すぎる そもそも別スレッドを起動しなきゃイベントディスパッチスレッドを気にする必要なんて無いんだから、 スレッドを使う人だけがスレッドを知ってれば済む今の仕組みがたぶん一番いいんだよ ところでゲームでSwing使うの?
- 357 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 19:23:55 ID:Z1ihaRDW]
- >>356
Window動作するゲームだとJFrameは使うと思う。 JMenuBarとかも使われそう。
- 358 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 02:19:53 ID:w83xHhR5]
- どうせBufferStrategyかGLCanvasになるからFrameにCanvas張り付けて中で全部自前だなぁ。
設定ダイアログを別に付けるならSwing。
- 359 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 08:22:05 ID:c2zkrtYj]
- >>358
基本的にFrame一個作って、その上のBufferStorategyに全部処理させるのが基本なのか RPG作るとしても、コマンドとか戦闘画面とかは全てお絵かきすべきであって、いちいち新しいFrameとかPanel立ち上げたり、コマンドをあらわすTable作ったりはしないのが正解かな
- 360 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 10:18:10 ID:ouCzztcy]
- >>359
Swingコンポーネントを使う意味があるとしたらSLGだと思う。 RPGとかACTなら、基本的に全部自前で処理じゃないかと。
- 361 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 13:09:00 ID:GkatRSH2]
- RPGのウィンドウやなんかは独自L&F実装したSwingでやってもいいんじゃね?
- 362 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 13:10:18 ID:Ts8Codr2]
- 半透明パネルとか可能だからそれもありかもね。
メリットとしては、マウス関係のイベントとかをswingで取得できることか。
- 363 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 14:19:32 ID:xOGATpGU]
- GLCanvas/GLJPanelとかつかってるならSwingの重ね合わせ鬼門だな
- 364 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 16:03:38 ID:TgmjWOtf]
- SwingとJOGL混ぜたら透過周りがすごいことになったような・・・あれはJava3Dだったかな。
- 365 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 16:06:49 ID:VE8wUZqH]
- どうすごいの?
- 366 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 18:54:04 ID:yghp6+zA]
- >>364
GLCanvasとswingは混ぜるな危険だけど、GLJPanel使えば問題ないんじゃないか?
- 367 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 22:32:16 ID:xOGATpGU]
- >>366
やってみればわかる
- 368 名前:名前は開発中のものです。 mailto:sage [2009/10/05(月) 04:32:06 ID:/FBVWM1E]
- いまのGLJPanelはまだ不安定な部分が
- 369 名前:名前は開発中のものです。 mailto:sage [2009/10/06(火) 15:09:55 ID:DNDsP0px]
- JAVAのゲーム作り関係の本で初心者にお勧めなのってどれだろう?
古すぎるやつは買わないほうがいい? amazonの中古で1000円切ってるのあるけどさ 環境はeclipseです
- 370 名前:名前は開発中のものです。 mailto:sage [2009/10/06(火) 23:20:12 ID:1V/8RsIs]
- 基本的な質問かもしれんが、RPGとかシミュレーションを作成する場合、命令入力やステータスを表すWindowをあらわすクラスを生成して、それをpaintComponent(Graphics g)で描画するのが基本なのかな?
Webアプリしか作ったこと無いから、イメージがわかない >>369 「14才からの〜」が評判良かったような気がします 読んだことは無いけど
- 371 名前:名前は開発中のものです。 mailto:sage [2009/10/07(水) 00:18:11 ID:wMLe0J1A]
- >>370
アクション要素なしならそれでもいいけど、どの方式でやるにしろ、 オフスクリーンバッファで全部描画処理を完成させておいて。 そうすれば出力方法は何でもいいし、ウインドウにあわせて描画を拡大縮小させるとかできるから。 paintComponentやpaintメソッドとかでゲームのオブジェクトの描画処理はだめね。 また、これらのイベントの場合ダブルバッファだと問題が起きるからトリプルバッファにすること。
- 372 名前:名前は開発中のものです。 mailto:sage [2009/10/07(水) 01:47:32 ID:0p5gfWJh]
- アクティブレンダリング自前で書く。
- 373 名前:名前は開発中のものです。 mailto:sage [2009/10/07(水) 19:16:17 ID:8uGSJp5y]
- >>369
少なくともJava5以降を対象にしたものを買った方がいい。 総称型や拡張forのお陰でプログラムスタイルがかなり違う。 ただ、本気のゲーム作りのための参考書ってあんまり無い気がする。 JOGLやLWJGL系は皆無。
- 374 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 11:14:07 ID:LM8f1SUk]
- >>371
ごめん、何を言っているのかまったく理解できない、、、 レベル低くてすみません paint系メソッドはすでに非推奨なの? てか、描画はどうすればイイの、、、 サンプルになるものとか紹介していただけると嬉しいです
- 375 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 19:49:44 ID:C8pidVMn]
- >>374
単にGL使えって意味じゃないか? GLCanvasとかGLJPanelを使う場合、paintとかpaintComponentじゃなくて displayが呼ばれる。
- 376 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 21:52:03 ID:LM8f1SUk]
- >>375
2DのゲームでもすでにGL...系使うのが当たり前なのかな 俺はてっきり、JFrameに直接描画するか、上にJPanelかなにか張って、それにpaint系で描画するものだと思ってた いずれにしても、参考にしても良いサンプルが欲しい…
- 377 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 23:44:25 ID:C8pidVMn]
- 2DゲームならGraphicsクラスのメソッド使ってもそれなりに実装出来そうなきがするなあ…
加算半透明以外の要素は大体そろってるし。
- 378 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 01:14:28 ID:JcFEYjJn]
- >>376
paintのメソッドでもかまわないよ。 ただし、きれいにまわすには描画用のバッファが2枚必要。 paintイベントはOSによっていつ呼ばれるかわからないというのに注意しないといけないからね。 再描画はrepaint自前で呼び出すのみにするという方法もあるけどフレームレートが言っていないと厳しい。 その場合setIgnoreRepaintをよんで無効にしておくこと。GLでもそうだけど。
- 379 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 20:00:50 ID:kPk3xGOi]
- Java5以降は標準でダブルバッファだと思ったけど、トリプルバッファまでやる必要あるかなあ…?
- 380 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 20:37:11 ID:4MfvuD2J]
- >>379
>ダブルバッファだと思ったけど そうなの? だとすると、トリプルバッファ以上やらない限りはBufferStorategyは使わなくていいのかな? あれは、JFrameとCanvasでしか使えなかったから、JPanelで自動的にダブルバッファにしてくれるなら、嬉しいよね
- 381 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 21:35:46 ID:JcFEYjJn]
- >>379
Swingの自動のダブルバッファとは違う話。 ゲームの処理がまわるスレッドがあると思うけど、そこで使う描画バッファが1枚だと 次のフレームの描画に使用可能なバッファが存在しない。 paintイベントで表示するときに前のフレームで描画したバッファが使用中だから。 アクティブレンダリングならその問題は起きないが、フレームレートが一定はないと厳しい。 paintイベントはいつ起こされるか判らないから。
- 382 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 13:58:45 ID:hq8APMAs]
- >>381
自分が前に実装した時はゲームスレッドを用意して、そこからrepaint呼ぶようにしてた。 この場合、システムがrepaintしたときは内容に変更が無いから同じ絵が再描画される。 フレームレートとかはあんまり気にしてなかったな。 実際問題として、全画面のアクションゲームとかでなければあんまり気にしなくていいと思う。
- 383 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 14:55:42 ID:nBhhlmBk]
- >>382
そのrepaintする際のバッファが1枚だと描画中はだめなんで排他制御が必要になる
- 384 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 15:12:17 ID:ufkJMSFN]
- 1フレーム画面が乱れるとかなら、ホビーゲームのレベルで特に気にしなくてもいいような。
そこでハングアップにつながるようだと問題だけど。
- 385 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 18:56:19 ID:nBhhlmBk]
- イベントディスパッチスレッド以外でゲームの描画すると不具合は生じるね。
フリーズ等はないとは言い切れない。 ハードウェアアクセラレーションを使うってことは実装上オフスクリーンバッファを VRAMに確保しているはずなのでへんに動くと怖い気もする。 実装依存にするのも将来のバージョンで動かなくなる可能性もあるし。 ダブルバッファの場合ゲームのスレッドから描画処理だけ抜き出して InvokeAndWaitで処理させてからのrepaintというのが必須になる。
- 386 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 23:49:32 ID:GjpbDtnI]
- トリプルバッファってのはオフスクリーンバッファと画面エフェクト合成用バッファがいるって意味じゃね?
>>385 AWTと並列処理の組み合わせでいける。シングルスレッドなSwingを使うから余計変なことになる。 というかそもそもパッシブレンダリング使うからrepaintまわりで排他制御が必要になるんじゃ?
- 387 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 01:22:50 ID:ssskajUX]
- AWTもシングルスレッドモデルだよ。
それに今の話の流れはパッシブレンダリング上での話。
- 388 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 10:14:08 ID:Vof/a9NH]
- 排他処理する場合、repaintをオーバーライドする時にsynchronizeつければいいだけ?
- 389 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 11:08:47 ID:ssskajUX]
- 描画バッファに対してrepaintの中と描画処理部分にsynchronizedブロックをつけるとよい。
少しでも高速化したい場合はLock構文を使うとよい。 したがって描画部分をまとまるようにすること。ゲームのロジックの中で描画していくのはさける。
- 390 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 13:10:06 ID:b7DeQBBg]
- 14才からはじめるJavaゲーム製作だかなんだかの本を軽く立ち読みしたけど、排他制御には触れていなかったような、、、
JFrame上でBufferStoratgy使って描画するように書いてあったと思うんだが、これだけじゃ、不足なのかな?
- 391 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 13:21:07 ID:S5wUXJ38]
- JOGLだとFPSAnimatorに任せられるから、その辺は全然気にしたことなかったなあ。
- 392 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 13:22:26 ID:ssskajUX]
- >>390
それはアクティブレンダリングでしょ?今回の話とは違う。 ペイントイベントつぶすsetIgnoreRepaint()使ってるはず。
- 393 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 13:25:58 ID:ssskajUX]
- >>391
FPSAnimatorはイベントディスパッチスレッド上でdisplayがきれいに動くようになってるからね。 AnimatorやJava2Dなどでパッシブレンダリングやろうとすると自前での管理が必要になる。
- 394 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 15:26:14 ID:7VD6H4ki]
- しかし、なかなかゲームとしての完成品にたどりつかん。
「JOGLをいれてGLCanvas…、おお、動いた!」 「GLSL? ためしにウェブ参考にPhongシェーダー実装して…、おお!これがピクセルシェーダー!」 みたいに、断片断片を動かしては満足してしまう。 社会人になると、なかなか本腰いれてやろうって気にならないしなあ。 jMEは面白そうだが、趣味のために英語資料を読むのはめんどい。 日本語資料がもっと充実してるといいんだけど。
- 395 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 17:50:39 ID:/J/iPP1R]
- 動画がうごかねぇ・・・
マック環境でうごかねぇ・・・
- 396 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 20:53:55 ID:uhiVH5l+]
- さすがにそれだけではなんとも言いようが無い
- 397 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 22:54:45 ID:ZadvBdPe]
- AWTはシングルスレッド前提じゃないでしょ?
- 398 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 01:11:47 ID:/6vHGSxG]
- イベントディスパッチスレッド前提なんでおなじだよ
- 399 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 14:54:55 ID:2xaDgDSW]
- そういや、みなさんモデル情報の持ち方ってどうしてる?
三角分割するのは当然として、自分はフラットポリゴンとグーローポリゴンが混在する場合の効率のよい 持ち方が今一つ詰め切れて無い。 現状だと、ポリゴンが頂点を共有しないという不効率な実装になってて、かなりメモリを浪費してる。 というのは、メタセコイアの形式に慣れてるんで、ポリゴン中心の設計だから。 マテリアルをポリゴンごとに指定できるようにすると、座標を共有する頂点でも ポリゴンごとに別管理しないといけない。 正四面体で言うと、本来なら頂点は4つで済むところ、各ポリゴンが頂点を指定するので 内部的には12頂点が存在する。 そのかわり、各面それぞれ色が違っても問題ない。 頂点中心の設計にするとこの辺は効率化できるはずなんだけど、そうすると 各面それぞれ色が違うような多面体は例外処理が必要になり、メタセコイアからのインポートが面倒になる。 現在思案中。
- 400 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 17:19:28 ID:ry4or4sG]
- >>399
> マテリアルをポリゴンごとに指定できるようにすると、座標を共有する頂点でも > ポリゴンごとに別管理しないといけない。 メタセコイアは面がマテリアル番号を持ってるから、頂点を共有して面を色分けしても 何の問題も無いはず。 部分フラットシェーディングについては俺も頂点を共有しないことで対応してるよ。 フラットな面がある程度多いなら、その範囲だけ別オブジェクト(レイヤ)にして スムージング角度をゼロにすれば、範囲内外の境界以外は頂点を共有できる。
- 401 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 17:32:20 ID:2xaDgDSW]
- >>400
>>399だが、glBegin〜glEndだとマテリアルバラバラでも問題ないんだけど、 同じ頂点でマテリアルが違う場合、VBOにできないんだよね。 あれは頂点を座標、法線、テクスチャ座標でパックするから。 まじめに考えると、メタセコから読み込む時点でその頂点を共有するポリゴンを解析して、 法線とマテリアルとテクスチャ座標が同じなら同一頂点とみなし、そうでないなら別の頂点とみなすという 処理をいれるのが一番という気がしてきた。 内部フォーマットはあくまでOpenGLに寄り添う方向性で。
- 402 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 18:01:47 ID:ry4or4sG]
- >>401
デバイス側も含めた問題でしたか、トンチンカンなレスしてすみません。
- 403 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 18:07:34 ID:2xaDgDSW]
- いや、別に謝られるような内容じゃないっす
あと自分のソース見直してみると、モデルのクラスに 頂点登録やポリゴン設定とかのメソッドがあって、設計の不備に気が付いた。 同じクラスにしてるんで面倒なことになってたようだ。 つまり、頂点やポリゴン単位で細かく制御できるクラスと、 「コンパイル済み」みたいな、Bufferで管理するクラスに分けるべきだったんだな… どうせいったんVBOにしたあとは頂点とかいじれなくなるんだし。 (Java3Dはそういう発想だね) ただ、その場合はボーンとかの処理をどうするか。 頂点座標をCPUから参照できなくなるから、頂点とシェーダを使わざるを得なくなる気がする。 なんか、趣味プログラマには敷居の高い領域になってくるなあ。
- 404 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 20:33:25 ID:84ezoqsI]
- エディタの場合、考え方として、
「このポリゴンはどのマテリアルか」になるけど、 ゲームとして実装する場合は 「このマテリアルが使われているのはどの頂点か」という考え方になるわけだよね。 そうしないと、描画中にマテリアルの切り替えが大量に発生してしまう。
- 405 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 23:01:44 ID:84ezoqsI]
- Nordとか見ると、Javaゲームもかなりのことができるんだよね。
WebStartでMMOゲームが起動するというのは、オンラインゲームの管理としては 非常に分かりやすいし。
- 406 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 00:20:23 ID:thuOI5ho]
- 半年振りくらいにこのスレ来たけど、
まさかの盛り上がりだな。 俺も2年ほど放置したアプレットゲームの制作を再開するか。
- 407 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 04:19:41 ID:1Hrt5Svp]
- 皆さんJAVAでゲーム作る際に環境は何を使ってゲーム作ってますか?
俺はエクリプスです
- 408 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 05:21:18 ID:dqL7qzpW]
- EclipseときどきEmacs最後にantでjar化。
- 409 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 12:51:21 ID:yCmNZ1Ay]
- EclipseのJAR Export Wizardって微妙に使いにくいと思ってたんだが、そうかみんな使ってないのか
俺もantかなんかにしよ・・・
- 410 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 14:34:05 ID:Ji4Xwih5]
- NetBeansだな。
ビルドにant使ってるのでカスタマイズも楽な上に、 何もしなくてもライブラリへパスを通す設定がされた 実行可能jarが出来上がるようなant設定がしてある。 Eclipseのプロジェクト開けるのでEclipse使いにもやさしいかも。
- 411 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 22:09:11 ID:M2HVcjGa]
- JDK6 + eclipse3.5で今度こそゲーム作る
シミュレーションRPG作る 絶対に作る 宣言しておけば、たぶん作り始めると思う
- 412 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 23:32:04 ID:L+b49hPv]
- 宣言すると同時にコテつけて
ここで進行を記録しておくと、さらに完成に近づくと思う
- 413 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 23:39:13 ID:l8AjUbxo]
- 2DベースのSRPGなら、比較的完成にこぎつけやすいゲームかも。
シナリオの区切りがあるから、メリハリもつきそうだし。
- 414 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 23:54:20 ID:VKlbPbBA]
- EclipseでJBuilderみたいな感じのjar作成ウィザードが使いたい
- 415 名前:名前は開発中のものです。 mailto:sage [2009/10/15(木) 00:24:31 ID:IgjPbfHm]
- >>411
応援するよ がんばれ 俺もなんか作る
- 416 名前:411 mailto:sage [2009/10/15(木) 21:22:48 ID:lHaDd0Hq]
- 応援ありがとう
いきなり仕事が忙しくなったので、開発ははかどらないかもしれないけどがんばるよ とりあえず、毎日何かすることに決めた 今日はJDK6のアップデートとeclipseのアップデートをしました このスレのログみると自分はかなり低レベルだけど、とりあえず、簡単なものから作ろうと思います コテハンとか進行記録は無理そうだけど、毎日なにかやるよ!
- 417 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 00:36:05 ID:PZVqNOq4]
- 俺もがんばろうっと。
作成しているゲームがあまりに恥ずかしいので アドレス晒せないのが申し訳ないが。
- 418 名前:名前は開発中のものです。 [2009/10/16(金) 18:37:59 ID:Wrwd6j5r]
- 誰か僕にLWJGLを教えてください
- 419 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 23:44:40 ID:T6yXgGZl]
- そもそも、LWJGLでゲーム作ってる日本人って三桁いないと思う。
…二桁もいないかも。
- 420 名前:名前は開発中のものです。 mailto:sage [2009/10/17(土) 15:16:24 ID:YqwXxzdo]
- 昔は居ただろうが今は標準拡張のJOGLが正式リリースされたからな。
- 421 名前:名前は開発中のものです。 mailto:sage [2009/10/17(土) 18:44:41 ID:oMDkhpiN]
- …まあ、JOGLでゲーム作ってる人もそんなに多いとは思えないけどな…
そもそも、日本でJavaゲームというと商用はほとんど皆無だし、フリーor同人ゲームにしてもほとんどがWindowsだし。 Win32>.net>flash>mac>Javaと、勢力順でこんな感じじゃないかと思う。
- 422 名前:名前は開発中のものです。 mailto:sage [2009/10/17(土) 22:31:03 ID:21crL4yP]
- Win32>flash>.net≒Java>mac
だろ
- 423 名前:名前は開発中のものです。 mailto:sage [2009/10/18(日) 17:01:35 ID:cz1CRBCl]
- w
- 424 名前:名前は開発中のものです。 mailto:sage [2009/10/18(日) 17:29:54 ID:uM0lrslx]
- オライリーからColladaの解説書とかでないもんかな?
OpenGLと相性のいい設計になってるはずだし、JOGLゲームで3Dを扱う場合の参考になりそう。 というか、正直、仕様書読むのめんどいので…
- 425 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 00:47:05 ID:Opw9A39m]
- ツクール系>個人製作のアドベンチャー作成スクリプト>>>>>>>>>>>>>>HSP>>>>>>>>>>Javaとか.netとかじゃね?
吉里吉里とかも意外と使ってる人多いし、HSPも多い、ツクール系に関してはものすごく多い それと、ちょっと前まではVisualC++が結構多かった気がする
- 426 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 02:14:36 ID:xfJue+KX]
- 何いってんの?
ここはPLでゲーム作るスレ。ここだとそのツールから作るわけになるんだが。
- 427 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 08:05:58 ID:7FbO+rDm]
- バカはすぐ同人やフリーウェアの話をしたがる。それはこの板の伝統。
- 428 名前:名前は開発中のものです。 mailto:sage [2009/10/20(火) 22:17:16 ID:DCTVxMp1]
- >>426-427
すみません。 馬鹿ですみません。 スレタイが「Javaゲーム作成総合スレ」なので、基本的にJava以外の話は禁止だと思ってました。 しかしながら、.netだとか色々な話がでてきたので、自分も調子にのってしまいました。 本当にすみません。 もう、二度としません。
- 429 名前:名前は開発中のものです。 mailto:sage [2009/10/20(火) 22:54:00 ID:Ly5jz5+S]
- .netはPLでflushはいまやASがあるだろ。ツールがスレチと言ってんだろ。
- 430 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 00:24:52 ID:65KOfpJq]
- しかし、話がJOGLに行ってしまうとJava固有のネタはあんまりでなくなってくるな。
- 431 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 07:09:58 ID:ObmM+1fr]
- GLCanvasとか語ればいいではないか
- 432 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 23:49:03 ID:L3jjgFOp]
- GLCanvasとGLJPanelはどっちが好き?
自分はSwingと組み合わせることを考えて汎用性でGLJPanelを使っているが、 性能的にはGLCanvasの方が良いって聞くよね。
- 433 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 14:49:09 ID:fafaEc4r]
- ゲームにSwing使わないんでGLCanvas
- 434 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 17:01:42 ID:FB3nMFnG]
- 統合環境等ツールで使いたいのならGLJPanel
ウインドウ占有するゲームならGLCanvas ただし、GLJPanelを使えば重ねあわせがちゃんと動くというものでもないのが厄介。
- 435 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 23:48:12 ID:JRkMaRys]
- OpenSceneGraphがJava対応してくれないもんかな。
jMEに比べれば資料も多いし、ゲームにも使えそうだし。
- 436 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 18:21:42 ID:GVwudGx0]
- Javaで商用ゲームが少ないのは、動作確認がしんどいからというのがあるのかな?
OpenGLからGPUが叩けるようになると、VM上で動くことのペナルティはもはや ほとんど問題じゃないような気がするし。 …もっとも、フリーや同人ゲームも少ないから、単にC++プログラマとJavaプログラマの 数の差が大きな理由かも。
- 437 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 22:17:10 ID:WlC+lKAY]
- デスクトップのjavaやってるマが少ないのかと。
海外のネットゲーだとクライアントがjavaだったりする。マイナーだが。
- 438 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 23:34:50 ID:GVwudGx0]
- 「javaでもそれなりのゲームが作れるんだぜ」
というデモンストレーションがJake2だったと思うんだが、 だからと言ってJavaゲームが登場するわけでもなかったね。 Javaはデバッグしやすいし、プログラム作成の工数はC++系よりも少なくてすむと思うんだが、 最近のゲームの工数だとデータ作成が圧倒的で、プログラムの占める割合はそれほど多くない感じだしな…
- 439 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 00:18:35 ID:xyHZAjLv]
- 工数減らすアドバンテージなら既存のLLのが大きいし学習曲線もぐんと右肩上がりだから
いっそそれでフレームワーク作っちゃおうていう発想も十分通用するからね。 javaは色々容易ですよは選択肢として弱い。 じゃあjavaでどこまで作れるの?って疑問に直行じゃないかねぇ。 javaでゲーム作ったことないなら至極当然だけどこういう感じで作りますってサンプルが少ない。 あとはライセンスかね。java界だとオープンソースが多いからやれGPL,LGPLになっちゃう。 ライブラリ探してる段階でogg vorbisデコードにLGPLですとか言われるとほかに無いかと思うだろう。 C++だとdeeたんのアレがあるし。 ファルコムからエロゲ屋までどこでも見るぞアレ。
- 440 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 00:59:43 ID:QEmyKo7r]
- GPLはともかくLGPLは問題になるとは思えんが
- 441 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 01:16:19 ID:wzkOY8Na]
- PS3LinuxでJOGLが使えたら、ちょっと面白げではあったんだけどね。
PCで作りかけのゲームとか動かしてみたかったし。 …現実にはGPU封印だったけど。
- 442 名前:名前は開発中のものです。 mailto:sage [2009/10/26(月) 03:39:44 ID:PLJeDwX/]
- よし!俺がJavaでゲーム作るお!
半年ロムって待ってろ!!!
- 443 名前:名前は開発中のものです。 mailto:sage [2009/10/26(月) 22:06:21 ID:hllCy56y]
- 仕事や学校に通いながらの半年ってけっこう短いけどな…
落ちものパズルとかならどうとでもなるだろうけど、 本格的なのを最初から作ろうとするとまず挫折するよ。
- 444 名前:名前は開発中のものです。 mailto:sage [2009/10/26(月) 22:35:09 ID:ZHbA3j0j]
- まぁ、このスレの平均的な住民像は「35歳独身無職引きこもり」だから何とかなるだろ
- 445 名前:注目 [2009/10/28(水) 11:33:04 ID:QwfmzkGR]
- 696533203124999
中学生が 自主制作ハメ撮りAV 売り捌いてたらしい ★12 yutori7.2ch.net/test/read.cgi/news4vip/1256682280/ まとめwiki www31.atwiki.jp/shotakon_pachinkas/ 805816650390624
- 446 名前:名前は開発中のものです。 mailto:sage [2009/11/03(火) 23:50:41 ID:5Dn8MK58]
- ほ
- 447 名前:名前は開発中のものです。 mailto:sage [2009/11/06(金) 02:47:44 ID:eguNfchF]
- しゅ
- 448 名前:名前は開発中のものです。 [2009/11/10(火) 23:28:35 ID:jiRKtvC7]
- 保守するならついでに話題提供してくれよ。例えばJavaFXとかってどうなの?
ムービー対応してるなら、割と本格的なゲーム基板になり得るの?
- 449 名前:名前は開発中のものです。 [2009/11/12(木) 08:13:58 ID:NaPi8Zf3]
- 最近Javaを始めたのですが、みなさんよろしくね!
保守
- 450 名前:名前は開発中のものです。 mailto:sage [2009/11/13(金) 00:18:46 ID:sBpNol3C]
- >>448
スタンドアロンの配布が絶望的な時点でFXはねーよ そもそもメリットないし
- 451 名前:名前は開発中のものです。 mailto:sage [2009/11/13(金) 09:34:44 ID:ROqonUQx]
- FXは位置的にはSilverlightとかFlashの対抗馬なんだよな
昔のApplet全盛期には考えられないけど、完全に後塵を拝している感があるな
- 452 名前:名前は開発中のものです。 mailto:sage [2009/11/17(火) 12:20:38 ID:FGBrHn83]
- JAVAアプレットでシューティングゲームを作っているのですが、 サウンド関連で質問があります。
au形式だとかなり音質が悪いので、wavでサウンドを実装したいのですが、 そのままのwavでは容量が大きすぎるので、中身mp3のwavに変換したら 音がなりませんでした。 ある程度の音質を保ったまま、JAVAアプレットで実装可能で容量の小さい形式に変換する 良い方法はありませんか?
- 453 名前:名前は開発中のものです。 mailto:sage [2009/11/17(火) 18:49:43 ID:uPDP5QI5]
- 現在のJavaで圧縮音源に対応するには外部ライブラリが必須。
どうしても外部ライブラリを使いたくない場合は、java.util.zipパッケージの機能でwavをzip圧縮して使う。 mp3と違って容量が1割くらいしか減らないけど。
- 454 名前:名前は開発中のものです。 mailto:sage [2009/11/17(火) 22:09:19 ID:6v3HQdPf]
- JavaSoundは無圧縮WAVとauのみかな
mp3はライセンスが絡むので公開するならやめとき わからないならwavのビットレート下げるのが一番いいよ たとえば効果音はステレオである必要は大概の場合ないし、8bitでいいよね 8bit-11KHz-monoならそれほどでもないかな 音質が問題になるようなものは22KHzにすればよい BGMでストリーム再生するならoggVorbis等のほうがよい これはWindowsでも同じだが ライブラリはググれば一発で出てくる
- 455 名前:名前は開発中のものです。 mailto:sage [2009/11/17(火) 23:53:48 ID:6cI0Sz7G]
- Vorbis SPIでもバンドルしてJava Soundでいいんじゃないだろうか。
俺はBGMはogg vorbis、音声はFlac、ジングルは無圧縮wavにしてる。
- 456 名前:452 mailto:sage [2009/11/18(水) 19:56:52 ID:aee6rcNi]
- >>453-455
レスありがとうございます。 アプレットは勉強し始めたばかりで分からないことばかりですが、 皆さんのレスを参考に調べてみます。
- 457 名前:名前は開発中のものです。 mailto:sage [2009/11/18(水) 23:29:17 ID:74GYtLg5]
- Vorbis SPIはバグもちなのが厄介
Jorbisのバグつきサンプルそのままいれこんでるっぽい
- 458 名前:名前は開発中のものです。 mailto:sage [2009/11/20(金) 22:43:35 ID:ukbsOzCr]
- 音楽ながしたいなら、画面にテキストで「このシーンは○○のCDをかけながらプレイして下さい」とか出したらいいんじゃね?
そしたらdrawStringかなにかの知識さえあれば問題ないし
- 459 名前:名前は開発中のものです。 mailto:sage [2009/11/20(金) 22:53:59 ID:R9LWndUv]
- 真面目にいってんの?
- 460 名前:名前は開発中のものです。 mailto:sage [2009/11/21(土) 07:54:57 ID:a9o8nWDh]
- 著作権の問題も解決!
- 461 名前:名前は開発中のものです。 mailto:sage [2009/11/21(土) 13:50:51 ID:GMSZKW+x]
- BGMならApplet.getAudioClipでmidiが指定できるんじゃなかったっけ
実行環境が対応してるかは知らんけど
- 462 名前:名前は開発中のものです。 mailto:sage [2009/11/21(土) 15:09:40 ID:hakoreVR]
- mp3といってるからサンプリングデータがいいんじゃないの?
- 463 名前:名前は開発中のものです。 [2009/11/21(土) 17:36:08 ID:QGK3+ipq]
- 2Dポリゴンでゲームを作ってみたいんだけど、JAVAでできる(動く)かな?
- 464 名前:名前は開発中のものです。 mailto:sage [2009/11/21(土) 19:55:05 ID:cRsxZ2aR]
- 2Dポリゴンてイミフ
- 465 名前:名前は開発中のものです。 [2009/11/21(土) 22:42:39 ID:QGK3+ipq]
- 実は俺もよく知らないんだけど・・・
↓みたいな感じの奴 www.youtube.com/watch?v=LoOsXCDyASE&feature=related ja.wikipedia.org/wiki/%E3%82%A2%E3%82%A6%E3%82%BF%E3%83%BC%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89 本作の特徴である、2Dポリゴングラフィックや滑らかなモーションは、近年において馴染みのある3Dポリゴンやそれを動画化したムービーではなく、座標変換済み頂点設定を使用した頂点フォーマット2Dポリゴンを、リアルタイムで演算し描写させると言う手法
- 466 名前:名前は開発中のものです。 mailto:sage [2009/11/21(土) 22:53:23 ID:TCiZ9uuf]
- 処理上は3Dとかわらなさそうだからjoglつかえばいいんでない?
- 467 名前:名前は開発中のものです。 mailto:sage [2009/11/22(日) 09:05:54 ID:qvE9fErr]
- Zソートなんてどの環境でもできるだろ・・・
- 468 名前:名前は開発中のものです。 mailto:sage [2009/11/22(日) 22:17:05 ID:OxEoSOnU]
- ワールド変換を事前にやってるだけに見えるんだけど
- 469 名前:名前は開発中のものです。 mailto:sage [2009/11/23(月) 23:53:05 ID:nfbjfJHk]
- 皆さんは完成させたゲームとかアップしてますか?
アップするとしたら、JREが必要であることをどう説明してますか? 参考にさせてください。
- 470 名前:名前は開発中のものです。 mailto:sage [2009/11/24(火) 00:19:25 ID:kmoskJ57]
- privateJREにすればネイティブアプリと見分けはつかないよ
- 471 名前:名前は開発中のものです。 mailto:sage [2009/11/24(火) 16:08:46 ID:lMEz1pzY]
- JWSとか
- 472 名前:名前は開発中のものです。 mailto:sage [2009/11/26(木) 20:09:00 ID:2ELhHTEW]
- 皆さん、逆コンパイル対策は実施してます?
難読以外で
- 473 名前:名前は開発中のものです。 mailto:sage [2009/11/26(木) 20:35:30 ID:4ONdMJCg]
- 一応してるけど無意味かもなぁ
- 474 名前:名前は開発中のものです。 mailto:sage [2009/11/26(木) 23:15:04 ID:mierGwHW]
- >>470-471
調べてみます ただ、その前に配布するソフトを完成させなきゃならないんですけどね^^;
- 475 名前:名前は開発中のものです。 mailto:sage [2009/11/27(金) 00:12:22 ID:8UUt4tMd]
- 逆コンパイルを防ぐ意味ってあるの?
不正防止ならユーザーがホストになれないような ネットワークゲームとかでも無い限り無理でしょ。
- 476 名前:名前は開発中のものです。 mailto:sage [2009/11/27(金) 13:41:24 ID:jadUzCaz]
- >>475
一部だけ書き換えて我が物顔で再配布する奴がいるんだよ やられたことないのか?
- 477 名前:名前は開発中のものです。 mailto:sage [2009/11/27(金) 18:54:28 ID:07MHdjDR]
- 海外の鯖ちょっと探すとわんさか出てくるよな。
特に勝手に翻訳されたflashゲー。
- 478 名前:名前は開発中のものです。 mailto:sage [2009/11/28(土) 13:25:59 ID:jEq3DzrB]
- >>476
いつかはコピーされてしまうようなゲームを作りたいです
- 479 名前:478 mailto:sage [2009/12/07(月) 19:23:11 ID:vxMhXY6d]
- すみません。
私の書き込み以降書き込みが無いのですが、なにか気に障ることでも書き込みましたでしょうか?
- 480 名前:名前は開発中のものです。 mailto:sage [2009/12/07(月) 22:42:08 ID:EiZDgP+H]
- もともと過疎気味で話題が無ければ特にスレすすまない
- 481 名前:名前は開発中のものです。 mailto:sage [2009/12/08(火) 03:25:05 ID:o4DmhHXZ]
- そうですか
よかったです 私に話題を振る能力がないのが残念ですが
- 482 名前:名前は開発中のものです。 mailto:sage [2009/12/08(火) 16:47:34 ID:gpTckhGn]
- じゃあ俺が振る。
・Androidでゲーム用ミドルウェア作ってるやつ居る? ・javaでモーションポートレート実装しようぜ! これだけしかでなかったorz
- 483 名前:名前は開発中のものです。 mailto:sage [2009/12/13(日) 21:48:15 ID:mcEmnsXb]
- おまいら、shortって使います?メモリ節約なら使うべきだが
キャストうざいのでintだけです、なんか間違ってる?
- 484 名前:名前は開発中のものです。 mailto:sage [2009/12/13(日) 23:30:09 ID:8aTa/ExS]
- でかい配列作るときと外部APIとのやり取りぐらいにしか使ってない
ふと思ったんだがキャッシュにのるかどうかで速度変わったりするんだろうか
- 485 名前:名前は開発中のものです。 mailto:sage [2009/12/14(月) 17:36:08 ID:63Ve35Fl]
- ああ、shortなんてあったなぁ。
どうせ32bit単位に詰められるぞ。
- 486 名前:名前は開発中のものです。 mailto:sage [2009/12/14(月) 22:38:17 ID:jRyguNfu]
- PCならintでいいよ。
配列で大量にもつならshort使ってもいいけど。
- 487 名前:名前は開発中のものです。 mailto:sage [2009/12/14(月) 23:44:29 ID:HScypyP7]
- javaの配列じゃ意味ないだろ
- 488 名前:名前は開発中のものです。 mailto:sage [2009/12/15(火) 00:25:50 ID:Xsda0EZ7]
- nioじゃないと4バイト使います?
- 489 名前:名前は開発中のものです。 mailto:sage [2009/12/15(火) 20:42:46 ID:r9J0mMFL]
- スレチな質問かもしれませんが、
名作ゲームのパロディを作って(Javaアプレット)公開する場合、 キャラクタに基のゲームのスクリーンショットから切り取った物を使ったり、 BGMやSEを録音して使用するのはやっぱり著作権的にアウトでしょうか? また、キャラクタの色を塗り替えたり、サウンドのキーを変えるなどの加工をしても 回避できませんか?
- 490 名前:名前は開発中のものです。 mailto:sage [2009/12/15(火) 21:25:58 ID:wBirmWPL]
- ダメ。
- 491 名前:名前は開発中のものです。 mailto:sage [2009/12/16(水) 13:23:49 ID:HjttIBlj]
- 著作権法と著作関連法くらい暗記して来い
- 492 名前:名前は開発中のものです。 mailto:sage [2009/12/16(水) 21:21:26 ID:5APJYesI]
- ゲームでマルチコアとかどうやって最適化したらいいのだろうか。
描画周りがDepth処理などの関係で単一のゲームループでやってるんだよね。 AIゲーとかじゃなきゃマルチコアとか要らない?
- 493 名前:名前は開発中のものです。 mailto:sage [2009/12/16(水) 22:37:51 ID:6cbFeaq2]
- >>492
すげぇ、、、 俺なんて基本的なRPGすらまともに完成できそうになくてなきそうなのにorz やっぱ、ソフトウェアは個人の能力差がもろにでるな まあ、もうちょっとがんばって完成目指すよ
- 494 名前:名前は開発中のものです。 mailto:sage [2009/12/18(金) 06:13:38 ID:tQT7ID8W]
- >>487
WindowsXP sp3 32bit java version "1.6.0_17" (Client VM) VM引数 -Xms64M この環境だとプリミティブ型の配列確保でメモリ使用量変わったよ。 booleanの配列は1bitではなく1byte使ってるがw 1000000個の配列を確保した時のメモリ使用量 long 226,488 → 8,226,504 (8,000,016) int 226,488 → 4,226,504 (4,000,016) short 226,488 → 2,226,504 (2,000,016) char 226,488 → 2,226,504 (2,000,016) byte 226,488 → 1,226,504 (1,000,016) boolean 226,488 → 1,226,504 (1,000,016) おまけ BitSet 226,488 → 351,504 (125,016)
- 495 名前:名前は開発中のものです。 mailto:sage [2009/12/20(日) 13:45:31 ID:+V/0tKfc]
- それ一次元でしょ
- 496 名前:名前は開発中のものです。 mailto:sage [2009/12/20(日) 16:02:53 ID:OajyaggP]
- >>483からの流れでどこに多次元配列が?
- 497 名前:名前は開発中のものです。 mailto:sage [2009/12/20(日) 20:30:53 ID:c3hPAZR6]
- 多次元だとリファレンスの配列になって32bit分喰うっていうのはあるな
しかし1次元少ないから大きい配列だと支配的ではない
- 498 名前:名前は開発中のものです。 [2009/12/22(火) 00:27:08 ID:m1M3sFMT]
- JOGLとJava3Dでゲーム作った.
www10.ocn.ne.jp/~shinod/game/java/Baller0.00001.zip もしプレイしたら,感想聞かせてくれるとうれしい.
- 499 名前:名前は開発中のものです。 mailto:sage [2009/12/22(火) 13:35:06 ID:hmqOLPIl]
- >498
java.io.FileNotFoundException: world.bmp (指定されたファイルが見つかりません。) at Baller.init(Baller.java:672) が出るけどいいのかな? 思ったより面白かった 2面とか、次々発生するようにするのかな だが視点によって変になるときがあるな・・・これはしょうがない?
- 500 名前:名前は開発中のものです。 mailto:sage [2009/12/22(火) 19:31:45 ID:m1M3sFMT]
- >>499
とりあえず使ってないので,ゲームが正常にできるなら良いです.thx. >だが視点によって変になるときがある なんかバグはあるかも.
- 501 名前:名前は開発中のものです。 [2009/12/31(木) 06:42:10 ID:VlIgB2+S]
- 宣伝age
敵性オブジェクトを実装した. と言っても,自機に向かって旋回移動して,弾を発射してくるだけ. 障害物などの回避は一切しない. www10.ocn.ne.jp/~shinod/game/java/Baller0.00002.zip
- 502 名前:名前は開発中のものです。 mailto:sage [2010/01/03(日) 03:47:49 ID:M0YzzCX0]
- javaでゲーム作ろうって人こんなにいるんだ。勇気付けられるねぇ。
中身見てないけどjava3dとjoglって組み合わせると良くないとか 聞いたことなくはないけどどうなんかね。 あとjava3dやjoglを使う場合はゲームに始めから同封したほうが いいと思われるよ。ファイルサイズが何MB増えても、やはりユーザー としては訳分からんものをとって来させられるのは苦痛らしい。 実行ファイルと同じフォルダに入れてマニフェストファイルから classpath指定してやるだけで動くから。
- 503 名前:名前は開発中のものです。 mailto:sage [2010/01/03(日) 04:55:35 ID:DHnbDAoH]
- 反町って韓国から帰ってきた?
- 504 名前:名前は開発中のものです。 mailto:sage [2010/01/03(日) 15:41:51 ID:c4cjbicy]
- ライセンスがダメなのかなーと思ったけど大丈夫そうだしね
>Java3D
- 505 名前:名前は開発中のものです。 mailto:sage [2010/01/03(日) 22:11:43 ID:AXfntCHB]
- >>502
アドレスを見る限り、そんな容量は使えそうにない人だろう。 ま、どこか適当な場所を用意すれば済むんだろうけど、 そこまでするもんでもないと思ってるんじゃないかな多分。 いずれにしろ俺は遊んでないので、>>502の意見は真理だと思う。
- 506 名前:名前は開発中のものです。 mailto:sage [2010/01/04(月) 23:59:02 ID:x7MCfIiy]
- ocn鯖って10MBしか置けないんじゃ…
java3dってライセンスよく分からないんだけど誰か説明してくれてる人いないのかな…。 再配布に関してはlicenseのRedistributableの項目に「自作アプリから利用する目的のみでバンドル する場合なら再配布可能」とはあるんだけど、GPL v2 CLASSPATH exceptionというのが よく分からない。多分「classpathで動的リンクされる場合のみGPL守らなくていいですよ」 ということなんだろうけど、コレを説明している公式の英文が読みづらくて 分からないのよね…。
- 507 名前:名前は開発中のものです。 mailto:sage [2010/01/05(火) 20:45:50 ID:Nec4HdHu]
- >GPL v2 CLASSPATH exception
これどこにある? 俺が読む限りだと、商用/非商用問わず、バンドルする場合で、 修正/変更なしなら再配布可と書いてあるように読めるんだが・・・ もちろんドキュメンテーションや免責を含めろとも書いてあるけど。
- 508 名前:名前は開発中のものです。 mailto:sage [2010/01/06(水) 02:40:54 ID:89pgGn6V]
- https://java3d.dev.java.net/の「license」の項目に書いてある。
要約するとつまり「一部はBSDだけど一部はGPL v2 classpath exceptionですよ」とある。 GPL v2 classpath exceptionはJDKで新しく採用されたJava関連の特殊ライセンス体系で、 原文はen.wikipedia.org/wiki/GPL_linking_exceptionの「The classpath exception」 以下に書いてあるんだけど、これが読めない…。こんな重要な英文なのに1文がやたら長いって アメリカンすぎるだろ blog.taragana.com/index.php/archive/java-open-sourcing-details/ja/に機械翻訳 も載ってるけど英語のほうがまだマシというくらいイミフw まぁjava3d本体付属のライセンスに>>507以外特に何も書いていないし、おそらく 問題ないんだろうけど…
- 509 名前:508 mailto:sage [2010/01/06(水) 02:59:17 ID:89pgGn6V]
- ja.wikipedia.org/wiki/GPL%E3%83%AA%E3%83%B3%E3%82%AF%E4%BE%8B%E5%A4%96
ごめん。日本語版見つけて自己解決した…。
- 510 名前:名前は開発中のものです。 mailto:sage [2010/01/06(水) 22:20:54 ID:IKqkhxN8]
- その日本語でよく分かるな。
- 511 名前:名前は開発中のものです。 [2010/01/09(土) 01:03:31 ID:Vzjk76l2]
- 宣伝age.誘導弾発射を実装した.
www10.ocn.ne.jp/~shinod/game/java/Baller0.00003.zip jogl, java3d のバンドルについては,他人が作ったものをくっつけて配布するのは なんだか気が引けたし,面倒なのでやってない.
- 512 名前:名前は開発中のものです。 mailto:sage [2010/01/09(土) 17:00:15 ID:X21U+ciY]
- >509のリンク先の日本語が我慢ならないレベルだったので
自分なりに訳してみた As a special exceptionって段落 特殊な例外として、このライブラリの著作権者は、 独立したモジュールをこのライブラリとリンクして 実行可能ファイルを作ることを、 それらの独立したモジュールのライセンス条項に関わらず許可する。 また、結果としてできた実行ファイルを任意の条項の下に コピー及び配布することも許可するが、 リンクされた他の独立したモジュール全てに対して 各モジュールのライセンス条項と使用許諾を守る場合に限る。 ここでいう独立したモジュールとは、本ライブラリの派生物でも、 本ライブラリに依拠したものでもないモジュールを指す。 本ライブラリを改変した場合、この例外条項を 改変版ライブラリに適用してもよいが、 そうすることに義務はない。 例外条項を適用する意志がないのなら、 改変版からこの例外条項を削除すること。
- 513 名前:名前は開発中のものです。 mailto:sage [2010/01/09(土) 17:12:21 ID:X21U+ciY]
- ttp://www.gnu.org/software/classpath/license.html
classpath自体を改変しないなら静的リンクでも問題なさそうにも見える 間違ってるかも知れないが
- 514 名前:名前は開発中のものです。 mailto:sage [2010/01/10(日) 00:39:30 ID:aDa5gCd8]
- >>509
おお…素晴らしい。もうwikipediaの文章コレで書き換えたほうがいいんじゃないかw >>513 どうなんだろう。そもそも「独立している」という定義が良く分からない。おそらく ライブラリA→B→Cみたいに中間コードを噛ませることで ライセンスを逃れるみたいな状況を回避するために書かれている所もあるんだろうから、 動的リンクか静的リンクかが問題になっていない可能性はある。 LGPL…どんなに巨大なアプリケーションでもLGPLライブラリの派生物だと強制される GPL classpath exception…独立していると認められればライブラリの派生物ではない いずれGPL linking exceptionはLGPLと違って結構安心できる(甘いライセンス)はず でしょう。リバースエンジニア(=デコンパイル)を禁止できないLGPLでは、デコンパイルが 容易なjavaにとってはGPLとなんら変わらないことになってしまう そういう理由でGPL classpath exceptionが採用されたのかもしれない
- 515 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 21:11:05 ID:dlNY6FyO]
- クラスパス例外付けなきゃ生成物までGPL継承するでしょ。
JDKやJava3Dはクラスパス例外付けなきゃそれで作ったアプリケーションまでソース公開になるがPhoneMEはただのランタイムだから付いてない。 そういう問題。 LGPLでソース修正なしに動的リンクすれば独立してると認められるけど SFSは今後はLGPLではなくクラスパス例外付きGPLを使ってくれとアナウンスしたからそれにしたがったんだろう。
- 516 名前:名前は開発中のものです。 mailto:sage [2010/01/18(月) 21:30:35 ID:dlNY6FyO]
- それよりおまえら、JOGLで2Dと3D混在するときはどういう実装してる?
com.sun.opengl.util.j2dパッケージのレンダラ群つかうと2D描画するときにJava2Dパイプライン経由になって 劇遅になるからdrawImageは板作ってテクスチャ貼ってて感じでやってるけど。 ちなみにGraphics2DをオーバーライドしてるからコードはJava2Dと変わらん。 (というかライブラリで描画バックエンド差し替え可のインターフェイス統一だから Java2DだろうがバッファーストラテジだろうがJOGLだろうが変わらん)
- 517 名前:名前は開発中のものです。 [2010/01/20(水) 21:51:21 ID:kTDZ/tcO]
- 宣伝age 効果音を鳴らすようにした
www10.ocn.ne.jp/~shinod/game/java/Baller0.00006.zip >>516 2D使ってないから,わかんね
- 518 名前:名前は開発中のものです。 mailto:sage [2010/01/23(土) 01:00:37 ID:wc6hSibN]
- 俺はjava3dで2D描画してるから分からんけど、D3DだろうがOpenGLだろうが
普通2Dを描画するときも3Dと同じモジュールを使用するんじゃないか。 3D空間上でカメラの向きと垂直に存在する平面にテクスチャで2D画像を入れれば「2D」になる。 基本3Dデバイスを利用して2Dを描画するゲームは大抵そういう処理をしていると思われる。 だから>>516のやった記述で正解だと思われる。 Direct3Dにはトランスフォーム後の(x, y, depth_buffer)座標で描画できるモジュールが 用意されていた気がするけど、OpenGLでは見たことがない。少なくとも私は…。 javaに限らずC#でもdrawImage()は鬼のように重いので、出来る限り使わないのが無難だと思われる。 アニメーションを表示したいなら、あらかじめ複数のテクスチャを用意して 3Dモデル上に貼り付け、表示を切り替えるのをお勧めする。 「2Dも3Dで描画したほうが速い」という事実があるように、一切3D要素を持たない 2D画面でも、3D空間上でテクスチャとして表示した方が速い。
- 519 名前:名前は開発中のものです。 mailto:sage [2010/02/06(土) 05:33:18 ID:ajoGIZRs]
- DirectDrawも下位互換のために残ってるだけで
2D表示はビルボードが推奨されてるね 最近のGPUに至っては2Dのハードウェアアクセラレートをしないのもあったはず
- 520 名前:名前は開発中のものです。 [2010/02/06(土) 21:11:41 ID:uFKJJ/6Y]
- 宣伝age 複数ステージを実装したり敵の数を増やしたりした
www10.ocn.ne.jp/~shinod/game/java/Baller0.00007.zip
- 521 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 23:07:36 ID:i+TR14Tz]
- 自作ゲームエンジンを手間かけてVBO化して
「これでOpenGL3.x時代にも完全対応だぜ!」と喜んでいたら、 ディスプレイリスト+glVertexの方がむしろ高速だった。 泣きたい。
- 522 名前:名前は開発中のものです。 mailto:sage [2010/02/16(火) 23:46:43 ID:SsJEiu+Z]
- glVertex()をglDrawArray()にかえるともっと早いぞ。
- 523 名前:名前は開発中のものです。 mailto:sage [2010/02/17(水) 20:47:58 ID:WYrUY0x5]
- ディスプレイリストいいよな
なんで廃止するんだろう
- 524 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 00:10:33 ID:vE6JDb4d]
- 手続き型臭いからじゃね?
OpenGL ESには元からないでしょ
- 525 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 00:20:01 ID:TESa05KF]
- glBegin、glEndを無くしますと言われても、
我々のような趣味のゲームビルダーはVBOに移行すると思う。 ゲーム的な発想からすれば、それほど違和感無いし。 問題は、ゲームやCGが専門でない研究者とか技術者が、 「可視化の手段」としてOpenGLを使っていた場合じゃないか。 彼らに三角形表示するためにシェーダ書いてくださいというのは酷だろう。 …というか、GLUTや赤本はどうなるんだ?
- 526 名前:名前は開発中のものです。 [2010/02/18(木) 19:42:59 ID:elgZU+Tz]
- 宣伝age 弾の数を増やしてみた
www10.ocn.ne.jp/~shinod/game/java/Baller0.00013.zip ディスプレイリストって無くなるの? それを使ってゲームを高速にしたばかりなのに. VBOとやらを勉強しなきゃいかんのかな.
- 527 名前:名前は開発中のものです。 mailto:sage [2010/02/18(木) 23:57:56 ID:mVpRkEUs]
- javaでプログラミングの勉強始めたいが、何をダウンロードしたらいいのかもわからない。
2003年発行の「ゲーム作りで学ぶJavaプログラミング入門」を借りてきたら、 J2SE 1.4.1を使って解説してるけど、ググったらすでにサービス終了だった。 今だったら、どれをダウンロードしたらいいの? 最新のをダウンロードしても、J2SE 1.4.1準拠のテキストで勉強できるの?
- 528 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 00:11:50 ID:RaKdEUci]
- >>527
基本的には、1.4世代のコードは最新のJava6でも普通に動く。 ただ、これから勉強するならJava5以降の方がいいと思うが。
- 529 名前:名前は開発中のものです。 mailto:sage [2010/02/19(金) 08:11:45 ID:+Pv/DaT4]
- >>527
入門レベルならJavaのバージョンはあまり関係無いはず 極端に言えばオブジェクト指向言語でさえあればJavaである必要すら無いよ おれもまともに勉強したのはC++だけだけど、 その他の高級言語もリファレンス読むだけで使いこなせてるし
- 530 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 16:13:25 ID:MPj95+GX]
- C++ができれば、大抵の言語は大丈夫だろう。
高級アセンブラ+オブジェクト指向というなんでもあり状態だし。 逆に、JavaからC++に行った時の方が混乱しそうだ。
- 531 名前:527 mailto:sage [2010/02/20(土) 16:23:21 ID:oPyOq2Qj]
- 色々と意見をありがとう。
これから始める初心者なんで、扱いやすくて簡単と聞いたJavaから始めようと思ってたんだが C++から始めた方がいいのだろうか。 ちなみに俺が作りたいのは歴史SLG 3Dとか使うやつじゃなくて、2Dの古典的なやつ。
- 532 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 16:51:30 ID:nyyTA+gj]
- >>531
それだと、javaとかC++というより、rubyとかの方が作りやすいかも。
- 533 名前:名前は開発中のものです。 mailto:sage [2010/02/20(土) 19:41:53 ID:OJXUuVzK]
- javaだからRhinoで変態脳汁噴出コード書こうぜ。
- 534 名前:名前は開発中のものです。 mailto:sage [2010/02/22(月) 16:03:03 ID:N+EuOs9T]
- 俺はPythonをお勧めする。
もうJavaとかと違いすぎて、新たな気持ちになれた。 py2exeというexe化ツールもあるでよ。 ocamlとかもどうよ。
- 535 名前:機会おんち [2010/02/22(月) 16:27:40 ID:P/wA3u7l]
- konsoleでjavaのチャットを作りたいのですが作り方教えてくれる方いませんか?
つくれなくてなやんでます・・・。
- 536 名前:名前は開発中のものです。 mailto:sage [2010/02/22(月) 17:25:09 ID:yL42oXqc]
- >>531
携帯アプリやAndroidのゲームはJavaで作られているけどWindowsではほとんど見当たらない。 RubyやPythonも参考になる情報が非常に少ないので初心者には向いていないと思う。 Javaの代替としはC#が良いと思うけど、個人的にはC言語がお奨めかな。 ゲームプログラミングの情報量も多くて勉強し易いしね。 >>535 ttp://codezine.jp/article/detail/193
- 537 名前:527 mailto:sage [2010/02/22(月) 19:56:56 ID:ybrOgo8H]
- もうどれで始めればいいのか、わからなくなってきたw
>>536 C言語は難しいというイメージがあるけど、初めてやるプログラミングとして正しい選択なんだろうか。 自分としては ・グラフィックとかはあまり重視しない ・AIとかは出来たら賢く、複雑にしたい。 ・わかりやすい、覚えやすいプログラムがいい この3つのバランスが取れたものを探してるんだけど。
- 538 名前:名前は開発中のものです。 mailto:sage [2010/02/22(月) 21:08:23 ID:yL42oXqc]
- >>537
初心者にとってはどの言語もほとんど差は無いよ。 C言語を奨めたのも参考書や解説サイトが多いからというだけなので。 考えているだけ時間の無駄だし、何でも良いので早く始めた方がいいよ。
- 539 名前:名前は開発中のものです。 mailto:sage [2010/02/22(月) 22:44:38 ID:ypbsf0Tk]
- >RubyやPythonも参考になる情報が非常に少ないので初心者には向いていないと思う。
rubyはともかくPythonはいらないほどにあるだろ。 英語読めないなら別だが。
- 540 名前:名前は開発中のものです。 mailto:sage [2010/02/22(月) 22:45:35 ID:HKYfHRuC]
- 読めないんだろほっといてやれよ
- 541 名前:527 mailto:sage [2010/02/22(月) 23:36:23 ID:ybrOgo8H]
- >>538
っしゃあ! C言語で始めてみるぞ。
- 542 名前:名前は開発中のものです。 mailto:sage [2010/02/23(火) 11:34:02 ID:4oRWxveO]
- Cと決めたところで悪いんだが、
Cは実際の画面を作るところで悩むぞw Windowsなりの実行環境での作法・手順があるから。 素のCじゃなくて、VC++でXNAとかのほうがまし。 Windowsしか考えなくて良いのであればC#で良いと思う。 それこそ書籍・ネットで情報がいくらでもある。 画面・入力部分で楽できる環境が良いからね。 ロジックに凝った物を作るのが目的だったら、言語は何でも良い。 いまあるメジャーな言語なら、やりたい事が出来ない言語なんて無い。
- 543 名前:名前は開発中のものです。 mailto:sage [2010/02/23(火) 11:55:47 ID:Q2/MgOuZ]
- 最初と最後で言ってること違う気がしなくもない
- 544 名前:名前は開発中のものです。 mailto:sage [2010/02/23(火) 12:19:00 ID:4oRWxveO]
- 俺より先にゲーム作らせないために悩ませてるの!
- 545 名前:名前は開発中のものです。 [2010/02/24(水) 00:49:51 ID:r64JoLGK]
- ゲームのシーンごとにkeylistenerを持たせようとしてるんだけど・・・
そのキーリスナーはシーンオブジェクトへのアドレスを保持していて、そのシーンも キーリスナーへのアドレスを保持している。そうすると、コンストラクタの中だけでは変数の 初期化ができなくなる。なんかきれいに繕う方法ってない?
- 546 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 01:16:08 ID:6Ou921by]
- ・循環依存とか相互依存になってるならそれをなくす。
・初期化を遅延する
- 547 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 10:15:55 ID:vFuKqqgG]
- 初心者がCでゲーム組むとか、おれが初心者の頃なら途中で挫折してただろうな
モチベーション維持のためにも画面に画像を簡単に表示できる環境が良いんでないかい 画面で絵が動くの見るとやる気出てくるよ
- 548 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 10:51:51 ID:vsS19SCg]
- >>545
参照(ポインタでもいい)と言わずにアドレスと表現してるところがよくわからん。
- 549 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 12:06:51 ID:6tuyCZnA]
- せめてハンドルって言ってほしかったな
- 550 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 18:49:45 ID:0XfxFTST]
- >>547
初心者向けの参考書を見ると専用のライブラリを使っているので心配ないと思うよ。 画像を表示させるのも数行のコードを書くだけで実装できる。 Win32APIやDirectXは言語とは別の問題だし、初心者がいきなり覚える必要は無いしね。
- 551 名前:名前は開発中のものです。 mailto:sage [2010/02/24(水) 22:51:58 ID:V52UY3a7]
- もうWinMainはいやだお・・・。
NN5でいやというほどコンパイルしたお。
- 552 名前:名前は開発中のものです。 mailto:sage [2010/02/25(木) 00:51:18 ID:2BiifXD1]
- Javaおすすめ
JDKの中にGUI関連のツールも含まれているからJavaだけ勉強すればとりあえずゲーム作れる
- 553 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 00:19:42 ID:JpqAtdnH]
- iPhoneはあるけどAndroidのスレってないよね
ここでやればいいの?
- 554 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 09:03:22 ID:tyywBe4S]
- >>553
GoogleAndroidアプリ作成part2 pc12.2ch.net/test/read.cgi/tech/1253197333/ ゲ製板には無いね。 まあiPhoneスレも過疎ってるし需要が無いんじゃない?
- 555 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 12:01:11 ID:3XLimM0d]
- とりあえず、JDK6とeclipseインストールした
これから何をすればいいんだろ?
- 556 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 13:18:28 ID:tyywBe4S]
- 目標を立てる。
それによって次に何をすべきかが変わってくるので。
- 557 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 13:33:04 ID:XM9i9EyX]
- >>555
とりえあず、作りたいものを具体的に考えてみて、 こことかで javagame.skr.jp/ 近そうなものや、役立ちそうな機能を探してみては? そこのサイト、実行できる jar の中にソースコードあったと思うし、 簡単なやつを eclipse 上で動かしてみるとか。
- 558 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 13:56:26 ID:I97vF7We]
- 555じゃないけど、入門用の書籍を選ぶのが難しいな。
>>557のサイトで紹介されてる本をアマゾンのレビューで見てみたら 微妙な評価だし。
- 559 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 14:12:19 ID:sXZ2vpwQ]
- Javaでゲーム作ってる有名どころの洋書全部漁ればいい。
google book searchでlimited previewくらいできるだろ。
- 560 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 17:15:15 ID:lw1I8SRq]
- >>555
まずはキャラクターをカーソルキーで動かしてみてはどうだろう >>558 参考書籍みてみたが確かにあんまりよくないのが多いね 言語自体がはじめてなのかゲームプログラミング自体が始めてなのか どっちもはじめてだと多少厄介だが、目標を高くしないなら大丈夫か EclipseよりNetBeansのほうがライブラリへのクラスパス設定された 実行可能jarが自動で作られるので楽な気もするが しかしみんなやさしいな
- 561 名前:名前は開発中のものです。 [2010/02/27(土) 18:32:56 ID:HySRugFq]
- 宣伝age リプレイ機能を実装した
www10.ocn.ne.jp/~shinod/game/java/Baller0.00016.zip 俺の場合は3Dゲームを作りたかったので,JOGLをインストールするところから始めたなぁ.
- 562 名前:名前は開発中のものです。 mailto:sage [2010/02/27(土) 18:52:42 ID:6MkUCZcn]
- 学生時代勉強したサーバサイドjavaの知識だけでゲームも組めたよ
"だけ"といってもネットで情報収集はしたけど参考書の類は特に使ってない 基礎さえ身につけば応用で何でも作れるんじゃないかと
- 563 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 02:12:26 ID:dzeS6sZN]
- Graphics2DのdrawImageが重いって話が上にあったけど
JDK 1.5 -> 1.6 の流れでかなり早くなったはず。 ほどほどの2Dゲームなら十分だと思うよ
- 564 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 17:08:33 ID:YamdAbFz]
- デフォで無効化されてる描画用オプション有効にすれば1.5でもほどほどならでる。
- 565 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 17:27:40 ID:1xNPxTI/]
- こんなつぶやき見たいな適当な書き込みにレスありがとうw
せっかくのご好意なので、返信 >>557 最初に色々と読んでみた ドラクエクローンはゲームループから入力処理、描画まで色々と参考になりそうだね >>560 Javaはちょっと使ってる でも、大きなソフトウェアの一部分を言われるままに作成してるので、わけわかめ Webアプリだったので、Swingとかキーボードやマウスの入力処理は初体験 ゲームプログラミングはもちろん初めて まあ、コツコツやってみるよ NetBeansは面白そうだけど、eclipseが主流ならそっちを使いたいな NetBeansの方が明らかにゲーム製作に向いているなら考えるけど >>563 いいこと聞いた ここ見ると色々なフレームワークがあるみたいだけど、勉強めんどうなんだよね JDKの機能だけでそれなりのものが作れるなら、俺の作りたいのは大戦略とか信長の野望みたいなゲームなので問題ないかな
- 566 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 20:01:54 ID:9UtHy1EC]
- >>563
1.5ののdrawImageが遅いっといっても初心者向けでまずそれが問題になるレベルではないだろう ハードウェアアクセラレーションが効く描画が少ないってだけだ 遅いDXライブラリとかでも普通に使われてるよね むしろJava2Dはαブレンディングが弱いほうが致命的 >>565 そういったタイプのゲームなら1.3以上なら問題なし 使い慣れてるIDEでかまわないよ NetBeansはダブルクリックで実行可能なJarが作りやすいというだけ ただ環境設定画面とかSLGならメイン画面以外のウインドウの描画等はSwingつかったほうがいいかな 環境設定等の定型的な画面ならNetBeansが圧倒的に有利という話にはなるが 必要になったときでいいと思う
- 567 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 20:38:39 ID:bA//nrm1]
- よく分かんないんだけど、
αブレンディングが弱いってよく言われるけど それって誰かが自前で重ね合わせルーチンとか 書けばいいだけのことじゃなくって?
- 568 名前:名前は開発中のものです。 mailto:sage [2010/02/28(日) 20:46:02 ID:9UtHy1EC]
- 確かにピクセル単位で処理は可能
ただし、ハードウェアアクセラレーションは効かないからアクション系はきついんだ VolatileImageはVRAM側へ配置するので(というかJavaSE6から積極的にVRAM使う) ソフト描画との相性は最悪 というわけでほとんどの人はOpenGLへいく
- 569 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 01:52:26 ID:D+/GcsWx]
- -Dsun.java2d.ddforcevram
-Dsun.java2d.translaccel か -Dsun.java2d.ddscale でおk
- 570 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 02:42:29 ID:VHqqtoLd]
- αブレンディングというか、特殊な合成が弱い。
画像のスクリーン合成(1-(1-src)(1-dst))はゲームのエフェクトで良く使うけど、Java2Dでは使えない。 自前で処理を書いても、遅すぎて使い物にならない。他のライブラリに頼るしかない。 この話題>>150-200あたりでも出たな
- 571 名前:名前は開発中のものです。 mailto:sage [2010/03/01(月) 07:27:10 ID:W0xt/zd5]
- java3Dでゲームを作ろうとしているんですけど、市販されているゲームのポリゴンと、Geometrryクラスで定義したポリゴンって何か違いがありますか?
何かイメージと根本的に違う様な気がします・・・
- 572 名前:名前は開発中のものです。 mailto:sage [2010/03/02(火) 23:07:42 ID:Ex3WWwU3]
- tet
- 573 名前:名前は開発中のものです。 mailto:sage [2010/03/02(火) 23:13:38 ID:hmyMCdfx]
- お前さんが3Dにどういうイメージが抱いているか知らんが、
java3dのgeometryはかなり「実際の処理」に即しており合点がいく。 「市販されているゲーム」ってのは一体何だ…。市販のゲームは 末端で行われる原始的な処理を、見てる人にイメージし易いように 高度な変換を加えているだけのものだ。イメージだけで いきなりあんな美麗な物体を描けるようにはならない。 いくらjava3dでも、末端で行われているdirect3dなどの 実際の3D計算方法をまったく知らない状態では厳しいぞ。 msdn.microsoft.com/ja-jp/library/aa515581.aspx とりあえずこの4つの項目くらいは目を通しておくんだ。 俺はmanaged DXから入って、かなり読みやすかったのでこれが一番 分かりやすいだろう。 ブレンディングに関してはそもそもハードウェアアクセラレーションの 効かない場所でやるべきじゃない。自前処理でjavaだと遅いからc++なら 早いかって言ったらそこまで速くはない。結局openglなりd3dなりの 恩恵下で計算するのが一番速いんだから、言語を問わず 画像処理は2dであっても3dを利用しましょうということになる。 >>519が本当なら、そもそも2dのアクセラレーションは推奨されないこと になる。 javaでゲームを作る場合、javaアプレットにするつもりがないなら 必ずGTGEなりjoglなりjava3dなりの3dデバイス系を利用することを 絶対に勧める。というかそれ以外で動きの多いゲームを作るのは 不可能だぞ。
- 574 名前:名前は開発中のものです。 mailto:sage [2010/03/02(火) 23:43:45 ID:keRp0vK6]
- >>573
一番の問題は>>570だけかな。 速度に関しては今のJava2DはDirect3DやOpenGLでアクセラレーションがきいている。 ただし、VMの実装次第だし、どこがきくのかといったドキュメントは無いはず。 Java2Dはアクセラレーションの効きかたを意識しないで使えるのが利点ではあるが ゲームだとそうはいっていられないのが厳しいところ。 ただ、2Dゲーなら速度的にはブレンディングの種類が少ないこと以外では問題にはならないね。 「必ず」というのはいいすぎで、不可能ではないよ。 ただしJavaSE6 update10以上必須ね。 これより前だと回転拡大縮小系はアクセラレーションきかないから、いっきに処理速度が1/100とかになる。 通常のJavaの実行速度も大幅に上がってるしアプレットでもJNLPかけるようになったので update10未満使う理由はないのだけれども。Vistaの不具合回避したらすごいよいものになったというのが笑える。
- 575 名前:名前は開発中のものです。 mailto:sage [2010/03/03(水) 00:23:02 ID:Ft2QLlFC]
- u10からOpenJDK6の成果が本格的にマージされて確かに実行速度は上がったがバグもかなり増えたぞ。
- 576 名前:名前は開発中のものです。 mailto:sage [2010/03/03(水) 01:15:37 ID:4e2irmLH]
- どんなバグなのか具体的に
- 577 名前:名前は開発中のものです。 mailto:sage [2010/03/03(水) 02:48:16 ID:bM8RSZ0B]
- 公式のBTS全部見ろよ。
OpenJDKのパッケージがあるlinuxの適当なコミュニティにも上がってるぞ。 毎度のこと量があるのにスレに貼れる程度の具体的なバグなんてここに貼っても意味はない。
- 578 名前:571 mailto:sage [2010/03/03(水) 03:06:07 ID:/DdOkaZg]
- >>573
有難う
- 579 名前:名前は開発中のものです。 mailto:sage [2010/03/03(水) 08:52:43 ID:4e2irmLH]
- J2SE 5.0はサポート期間が終了してバグあっても放置だからもうJavaSE 6つかうしかないだろう
でもupdate10未満も大量にバグがあってupdate10以降で直ってるのも大量にあるのがな でもゲーム程度で問題になるバグなんてまずないだろ
- 580 名前:名前は開発中のものです。 mailto:sage [2010/03/06(土) 15:16:24 ID:9hs0NXi7]
- 明日、韓国からのテロ攻撃の第2波があるかもと言う情報が・・・。
下手したら週末にまた2chが落ちるかもしれないね  ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ <丶`∀´> ∧_∧ / \ ( ) はぁ?黙ってろ在日w .__| | .| |_ / ヽ ||\  ̄ ̄ ̄ ̄ / .| | | ||\..∧_∧ (⌒\|__./ ./ ||. ( ) ~\_____ノ| ∧_∧ / ヽ 氏ねよクズ \| ( ) | ヽ \/ ヽ. 祖国に帰れよ | |ヽ、二⌒) / .| | | .| ヽ \∧_∧ (⌒\|__./ /
- 581 名前:名前は開発中のものです。 mailto:sage [2010/03/07(日) 02:52:45 ID:mJhS8YgC]
- jinputでアプリケーションの起動中にジョイスティックの追加/削除を検知する事って出来ますか?
ControllerEnvironmentにControllerListenerを追加してもイベント飛んでこないす。
- 582 名前:名前は開発中のものです。 mailto:sage [2010/03/07(日) 11:20:32 ID:YVbfusWB]
- とりあえず、以下のコード読んで勉強してる
・ドラクエクローン(javagame.skr.jp/index.php?%A5%C9%A5%E9%A5%AF%A5%A8%A5%AF%A5%ED%A1%BC%A5%F3) ・シヴィライゼーションクローン(www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4328&lngWId=2) これらが、理解できるようになったら俺の目指すシミュレーションゲームも作れるだろう Swingはよくわからんが(てか、JavaのGUI自体初体験だが)、ドラクエクローンの動作を見ると、メッセージWindowも自前で製作しているみたいだし、勉強せんでもよさそう がんばるぉ^^
- 583 名前:名前は開発中のものです。 mailto:sage [2010/03/07(日) 12:38:46 ID:8J4pTqVT]
- >>582
下のリンク先、見れないんだが。
- 584 名前:名前は開発中のものです。 mailto:sage [2010/03/07(日) 15:17:28 ID:yFiVhkjz]
- >>583
末尾の括弧をURLに含めてるとか
- 585 名前:名前は開発中のものです。 mailto:sage [2010/03/07(日) 15:18:39 ID:YVbfusWB]
- >>583
最後に")"をつけちゃったから、それがURLの一部にされていると思われ URLから")"消してみて それはそうと、他にも読んでおいたほうがいいソースコードあったら教えてね^^
- 586 名前:名前は開発中のものです。 [2010/03/07(日) 20:31:59 ID:seQ6S77i]
- 宣伝age 弾の軌跡を描画するようにしてみた
www10.ocn.ne.jp/~shinod/game/java/Baller0.00023.zip 見た目は派手になったけど,処理が重くなった. 俺の場合,OpenGLの本とか衝突判定の本とかは読んだけど, 他の人のソースコードとかはあまり見てないな.
- 587 名前:名前は開発中のものです。 mailto:sage [2010/03/07(日) 21:08:52 ID:EoGWWfXW]
- >>585
GOFのデザインパターンやっとくといいよ ストラテジー、メディエーター、シングルトン、ファサードあたりを 意識すると上達が早くなる
- 588 名前:名前は開発中のものです。 mailto:sage [2010/03/07(日) 22:21:35 ID:4Rnyo7gg]
- GOFぱっと見で理解できんならオブジェクト指向の利点を知ると良いね
するとGOFを見たこと無くても無意識にデザパタを適応していたりする でもまあリファクタリングの勉強は最後でもいいはず 動くゲームを完成するまでの気力維持の方が大変だw
- 589 名前:587 mailto:sage [2010/03/08(月) 09:38:02 ID:0N3PdWPF]
- 俺の経験則としては、デザインパターンなしで
テトリス以上のゲーム作るのは無理だと思う たとえばSwingを始めた>>585は、分離されたGUIコンポーネントや イベントリスナーをどうつなげたらよいかについて困惑するはず 引数で無数に参照を渡す力押しとかでも不可能ではないけど それじゃやっぱりコード書く楽しさがない
- 590 名前:名前は開発中のものです。 mailto:sage [2010/03/08(月) 20:38:45 ID:fOUjfaLl]
- >>589
構造化プログラミング主体の頃の人間だったおれは、 デザインパターンを知らんでも作れたんだが・・・・。 C言語ライクなJavaプログラミングだったけどな。
- 591 名前:名前は開発中のものです。 mailto:sage [2010/03/08(月) 21:37:40 ID:InSeFkGY]
- こういっちゃ悪いがデザインパターンについて何か勘違いしてる
OOPの理解とデザインパターンの適応は別物だぞ デザインパターンは使える状況なら使ったほうが良い物ってわけでもないし テトリス以上の複雑なゲームとなるとパターンがまんま適応できる状況がまず少ない 以上現役奴隷の勝手な意見
- 592 名前:名前は開発中のものです。 mailto:sage [2010/03/08(月) 21:53:19 ID:3O0fgwI4]
- >>584
被っちゃいましたね^^ >>586 自分より遥にレベル上の方みたいですね 自分は古いかもしれませんが地味に2Dでがんばっていきます お互いがんばりましょう >>587-591 GOFはとりあえず読みました 半分も理解したか怪しいですが とりあえず、ゲーム作るうえでは、入力なり出力なりのインタフェース切って、場面ごとに実装するクラス作ろうかなーっと漠然と考えてます まだ、他人のコード読んでばっかりで、一行も書いてないのでどうなるかわかりませんがw それはそうと、Javaでゲーム作りますがなにか?のページ見ていて思ったのですが、ゲームループはwhile文で自作するのが常道ですか? TimerTaskがあると思うのですが、使わないのでしょうか? while文の中で、遅延を考慮してたりして、結構がんばってるように感じたのですが、TimerTaskはその辺美味くやってくれるもんじゃないんですかね?
- 593 名前:名前は開発中のものです。 mailto:sage [2010/03/09(火) 10:57:20 ID:QEiU+L36]
- >>5
auのオープンアプリの関連スレ無いですか? オープンアプリ作る人が集まるスレ
- 594 名前:名前は開発中のものです。 mailto:sage [2010/03/09(火) 13:07:17 ID:B2aHv/Xn]
- >>593
CLDC+MIDP+携帯電話用Javaスレッド part 9 pc12.2ch.net/test/read.cgi/tech/1249357352/
- 595 名前:名前は開発中のものです。 mailto:sage [2010/03/09(火) 14:15:07 ID:lYcMPodi]
- java.util.Timerはスケジュールできなかったらタイマースレッドじゃなくてその場で実行する。
それすら実行できなかったらそのタスクは実行されなかった気がする。 あとスケジューリングの精度もそんなに厳格じゃなかったはず。 それでもいいならjava.util.Timerでいい。 でも、java.util.Timerつかうよりは並列ライブラリで自分の要件実装するんじゃないだろうか?
- 596 名前:名前は開発中のものです。 mailto:sage [2010/03/09(火) 15:54:48 ID:QEiU+L36]
- >>594
どーもです。 オープンアプリでゲーム作ってる人のスレは無いってことっすね・・・残念ですぅ
- 597 名前:名前は開発中のものです。 mailto:sage [2010/03/09(火) 16:49:21 ID:gD7fhvY3]
- おまえの目は節穴か
- 598 名前:名前は開発中のものです。 mailto:sage [2010/03/09(火) 18:00:12 ID:QEiU+L36]
- だって、プログラム板のローカルルールでゲームの話題禁止なんですもの
- 599 名前:名前は開発中のものです。 mailto:sage [2010/03/09(火) 21:13:35 ID:EB7b1hko]
- >>594の板で大丈夫じゃないかと思うよ
過激な自治厨もいないしゲームプログラムの話題も出てるし
- 600 名前:名前は開発中のものです。 mailto:sage [2010/03/09(火) 22:10:21 ID:i+0eeHLE]
- >>592
問題ないよ 処理落ち等の実装は人によるけど、TimerTaskで実装するのではなくここでは時間管理だけして、 そこから他のスレッドをコントロールするのが理想かな 垂直同期とって60fps、処理落ちも垂直同期単位という昔ながらのアプリのような挙動がほしい場合はね それ以外ならTimerとTimerTaskで問題なし repaint()使っているようなものなら正直TimerもswingのTimerでいいと思う
- 601 名前:名前は開発中のものです。 mailto:sage [2010/03/10(水) 13:10:34 ID:/NB3Vbw/]
- 確かThread.sleep()でループを組めば、javaのバージョンによっては
windowsの高精度タイマーを利用するのでより品質の高いループが組める はずだ。現に俺はsleep()で100fps以上の高分解能ループを組めている。 ループをあまり組んだことがないなら「timer 分解能」あたりで 一度ググっておくことをお勧めする。多くのwindowsではTimerでも 60fps回せるんだが、別に60fpsを回せることが保障されているわけでは ない。ディスプレイのリフレッシュレートも影響するのかもしれないが、 ユーザの環境では35fpsになったり70fpsになったりするかもしれない。 whileでループ組んでいるというのがどういう状況か知らんけど、 それはwhile内部にwait()する区画があって始めて成り立つことだ。 初歩的なことだがビジーループなんて絶対に組んではいけない。
- 602 名前:名前は開発中のものです。 mailto:sage [2010/03/10(水) 14:31:21 ID:nBH9suJo]
- >>601
XP前期くらいの古い話になるけど Windows98SEではちゃんと30FPSで動いていたゲームがXP(2000だったかも)で20FPSくらいに なってしまい原因が分からず悩んでいた時期があった 推測だけどデフォルトではタイムスライシングが16msになってて、ゲームを30FPSで動作ささせる ために1フレームを33msにあわせようとすると48msになってしまってたんだと思う メディアプレイヤーを起動していると精度が上がることを見つけて、自前のアプリケーションを起動し timeBeginPeriodを呼び出しておくと同様の効果があることを確認し、それをユーザのマシンで 再現する方法を探してたよ FLASHを一度でも再生したブラウザのプロセスが残っていると精度も上がったままになり、 IEの場合はbgsoundタグに空のmidiファイルを設定しておくという泥臭い逃げ手もあった Windows以外のOSで試したことはないけど、どうなってるのかなぁ
- 603 名前:名前は開発中のものです。 mailto:sage [2010/03/11(木) 11:52:23 ID:gsQzKt2E]
- 昔はSystem.currentTimeMillisの精度が10〜20msecで困ったな。
sleepは時間通りに動いていたかもしれないけど、対応しようがなかった。 今はnanoTimeで1msecの精度が出せるから良いね。
- 604 名前:名前は開発中のものです。 mailto:sage [2010/03/11(木) 13:14:15 ID:I816Pm6U]
- え、まともにnanoTime動くのSunだけじゃないの?Windows7とかだと動くの??
- 605 名前:名前は開発中のものです。 mailto:sage [2010/03/11(木) 15:31:52 ID:+KPkzeB4]
- 10000くらいの要素があるとして、
Map(HashMap)で全要素にアクセスするのって十分に遅いと思う? List(ArraryList)と両方に要素を詰めておいて片方が苦手な面は スレッドでごまかしたほうがいいかな
- 606 名前:名前は開発中のものです。 mailto:sage [2010/03/11(木) 19:26:06 ID:I816Pm6U]
- 十分に早いと思うんだがなぁ。
やってみた? 要素を取ってからの処理がが1ms掛かってりゃ、隠蔽できるレベルと思うんだが。
- 607 名前:名前は開発中のものです。 mailto:sage [2010/03/11(木) 23:54:00 ID:zhaRJbEJ]
- 1万要素くらいならおれは速度よりメモリを気にする。
10万とかなら考えるが。
- 608 名前:名前は開発中のものです。 mailto:sage [2010/03/12(金) 01:20:42 ID:fx5pN5+0]
- >>604
まともってのがどの程度を意味するのか分からないけど、 XPでnanoTimeを実験したときは1ミリ秒くらいの精度は出たよ。
- 609 名前:JAVA初心者 mailto:sage [2010/03/12(金) 10:17:17 ID:6GJM5qHr]
- JOGLをインストールして実行したら
「jogl.jar で制限されているためアクセスできません」 って出た jogl-1.1.1a-windows-i586.zipの中のやつをコピーするだけではダメなのですか?
- 610 名前:名前は開発中のものです。 mailto:sage [2010/03/12(金) 22:17:40 ID:cuwPqo48]
- ム板の初心者スレに行け
- 611 名前:名前は開発中のものです。 mailto:sage [2010/03/13(土) 11:54:22 ID:ft4sD9tE]
- >>604
WindowsでもsunのVMなら currentTimeMillisも1msの精度でてる nanoTimeは高精度カウンタつかってるんでちゃんと1ms以下でてるっぽい そのかわり特定の時刻はわからないけど、ゲーム系なら問題は無いな Sleepとかタイマイベント系+nanotime使ったビジーループが最も高精度だけど、 そこまで必要な場合むしろ垂直同期をしたほうがいいと思うんだ
- 612 名前:名前は開発中のものです。 mailto:sage [2010/03/13(土) 15:41:37 ID:kP+vCyl1]
- そこまでする理由はなんだい?
格ゲーでも作るの?
- 613 名前:名前は開発中のものです。 mailto:sage [2010/03/14(日) 01:12:44 ID:/KubzB8G]
- >>612
16.66msのつもりが32msになっていた、なんて精度だとライトなアクションゲームどころか コマンド選択式RPGのエフェクトすらまともに表示できないと思う
- 614 名前:名前は開発中のものです。 mailto:sage [2010/03/22(月) 01:15:48 ID:a35EGBlP]
- でも市販されてるPCゲームの精度なんてそんなもんじゃん
猫ぐらい目が良くないと一般ユーザでは気付かんレベルじゃないかね
- 615 名前:名前は開発中のものです。 mailto:sage [2010/03/22(月) 11:37:48 ID:lWMLrUhP]
- 2Dゲーはほとんどの場合フレームスキップ起こさないから精度はいつだって気になるものさ
3Dのほうが精度はいらない ティアリングも2Dのほうが気になるしね
- 616 名前:名前は開発中のものです。 mailto:sage [2010/03/22(月) 13:33:05 ID:DUGGcEaK]
- 3D格ゲーマーなめんなよ!!
- 617 名前:名前は開発中のものです。 mailto:sage [2010/03/22(月) 19:56:42 ID:a35EGBlP]
- 2DPCゲームも盛んだった約10年以上前のintelのチップセット統合グラフィックコントローラには
主にゲーム中などの高負荷描画時に意図的にフレームスキップする機能が組み込まれていたけど 見て分るレベルじゃなくてほとんど気にならなかった思い出があるよ
- 618 名前:名前は開発中のものです。 mailto:sage [2010/03/22(月) 22:54:58 ID:lWMLrUhP]
- i810ってハードで勝手にフレームスキップするのか?
- 619 名前:名前は開発中のものです。 mailto:sage [2010/03/27(土) 11:17:41 ID:CAF7oz9b]
- ゲーム用のactiveXインストールさせておいてアンインストールの時に消さないのはクソゲー
- 620 名前:名前は開発中のものです。 mailto:sage [2010/03/27(土) 13:42:08 ID:tZ9gJAWE]
- >>619
スレ間違えてるぞ
- 621 名前:名前は開発中のものです。 mailto:sage [2010/03/27(土) 22:43:26 ID:AvjpVtCq]
- >>615
ふ〜ん。よく知ってるね。ネット(笑)で調べたんだ?
- 622 名前:名前は開発中のものです。 mailto:sage [2010/03/28(日) 02:01:26 ID:vG829dZf]
- アプレットの2Dの戦術シミュレーションゲームをAWTで書いてて
加算合成とかやりたい程度なんですが、 JOGLとかライブラリ使ったら結構早くなるものなんでしょうか? 標準APIしか使ったことないんですが、使うとしたらJOGL一択?
- 623 名前:名前は開発中のものです。 mailto:sage [2010/03/28(日) 16:23:12 ID:dUxWoyHG]
- 加算合成ならBufferStorategyとJava2Dのシステムプロパティー有効にすれば標準ライブラリでいける
- 624 名前:名前は開発中のものです。 mailto:sage [2010/03/28(日) 17:33:06 ID:vG829dZf]
- ありがとうございます
すいません、調べてみたら、BufferStrategyってアプレットから使えなくないですか・・・? テクスチャで2Dの描画だけできれば十分なんですが、 drawImageのような処理はどう実装するのが普通なのでしょうか? とりあえずJOGLについて調べてみたのですが、 特定の画像を読み込んだテクスチャごとに、予め指定した各々のz座標にまとめて描画 という風なものしか思いつきません・・・
- 625 名前:622 mailto:sage [2010/03/29(月) 01:33:25 ID:SqZ8R8TT]
- OpenGLを理解するところから始めようと思います
失礼しました
- 626 名前:名前は開発中のものです。 mailto:sage [2010/03/29(月) 17:04:23 ID:YLmAQvrk]
- >>623
詳細希望 どうやるの?
- 627 名前:名前は開発中のものです。 mailto:sage [2010/03/29(月) 17:07:28 ID:tAa/9ZD/]
- >>624
素のAppletを使う必要性が現時点で無いわけだから、 JAppletを使うわけにはいかんの? とはいってもかなり作法が違うから、今から変更できないってのなら わからんでもないが。
- 628 名前:名前は開発中のものです。 mailto:sage [2010/03/30(火) 16:45:14 ID:ANScytkg]
- >>627
JAppletでCanvasを描画するって方法があったんですね! アプレットでBufferStrategy使えました。ありがとうございます BufferStrategyが4,5回の起動につき1回程度、酷く処理落ちするので 自前のダブルバッファリングと切り替えるようにしたのですが、 スマートな方法はありませんか? システムプロパティの方は、 Appletから設定出来るのかどうか分かりませんでした
- 629 名前:名前は開発中のものです。 mailto:sage [2010/03/30(火) 17:22:35 ID:5VmsakM5]
- >>623
半透明合成はAlphaCompositeでアクセラレーション効かせれるけど、 加算合成はどうすれば標準ライブラリで速度出せるの?
- 630 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 13:50:19 ID:ynx77+er]
- >>628
BufferStrategyのせいで処理落ちしてるとは思えない。 たぶん、GCのせいだよ。 結構でかいメモリを使い捨てにしてるんじゃないかな。 で、GCのタイミングを制御してないと。 まぁ、ゲームとかサーバサイドじゃないとGCが気になること無いんだけどね。 GCの情報をログに吐かせてチェックしたら良いよ。
- 631 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 14:16:29 ID:e2SekH7a]
- >>630
たまに描画アクセラレーションが効いてない状態になるのとGCは関係ないと思うぞ
- 632 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 14:31:05 ID:ynx77+er]
- >>631
描画アクセラレーションが効いてないって話はどこから?
- 633 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 14:34:10 ID:e2SekH7a]
- >>632
> 4,5回の起動につき1回程度、酷く処理落ちするので 原因はわからんけど同じようなことが起こった事あるから
- 634 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 17:20:45 ID:ynx77+er]
- 俺はそういうことは無いなぁ。
しかし、俺が読み間違えてた部分があるな。 >BufferStrategyが4,5回の起動につき1回程度、酷く処理落ちするので は、4,5フレームごとに処理落ちすると言うことかと思ってた。
- 635 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 20:30:53 ID:6whusFO/]
- 問題に直面してる本人が原因をある程度特定しないことにはなんとも
新人の頃当たった上司は不具合の原因を完璧に特定して理詰めで説明 せんとソース触らせてくれなかったなぁ
- 636 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 22:31:41 ID:fTTvzrRQ]
- たぶん昔の俺と同じミスしてんじゃないかな。「ひどく処理落ちする」
ってのはどうやって計測してるの?Timerを使って計測する限り大抵の 環境で60fps以上のループを回せないので(Timerの分解能でググれ)、 17ms以下の時間を計測できないことになる。つまり処理の時間を計測 すると「0msと17msが交互に出てくる」という現象が起こる。この 17msを処理落ちと思ってしまっているのでは。 結構前に書いた気がするけど、どんなにVolatileImageで高速化したところで その前処理である「drawImage()」がjavaでは(というか最近の言語では) 絶望的に重いので、よほど小さい画像か低いfpsじゃない限り drawImage()で再描画回すのは無理だよ。画面全体の再描画は無理なので、 一部だけにしないと。 だから「複数の画像をテクスチャであらかじめ読み込んでおいて、それを 3D空間上で順番に表示する」ということになるのよ。 drawImage()はリアルタイムで使用してはいけない。 だから3Dデバイス無しで動きの多い2Dの描画は無理。java以外の2Dゲームも 最近はほとんどこの処理で描画している。 アプレットでjoglやjava3dやGTGEを使いたい場合は、「あらかじめモジュールを プレイヤーに各個インストールしておいてもらう」か「java web startを使用 する」かの2択になる。私はアプレットに興味がないので 知りたければ自分で調べて…。
- 637 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 23:01:06 ID:e2SekH7a]
- drawImageが絶望的に重いってのが理解できないんだがどういうこと?
- 638 名前:名前は開発中のものです。 mailto:sage [2010/03/31(水) 23:51:25 ID:T6Q4zys0]
- これやればアプレットから起動できる。
mailsrv.nara-edu.ac.jp/~asait/open_gl/Jogl/jogl.htm#section341
- 639 名前:名前は開発中のものです。 mailto:sage [2010/04/01(木) 01:30:29 ID:yUfE9csc]
- >>630
>>636 具体的に書かなくてすみませんでした 「ひどく処理落ちする」というのは、 普段1フレームの処理が10〜40ms程度なのが、200〜300くらいになります createBufferStrategy、getBufferStrategyをやり直しても直らず、Appletを起動し直さないとダメでした ハード依存のせいで不安定なのかな、などと勝手に思ってましたが、よく分かりません とりあえずGCのログ調べてみます ありがとうございました
- 640 名前:名前は開発中のものです。 mailto:sage [2010/04/01(木) 13:06:54 ID:UAXZ1fUj]
- >>636
java6update10でもそうなる? アクセラレーションの効き方がupdate10以降全然違うよ。
- 641 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 16:58:19 ID:DE/oWF3W]
- Javaで3dソフトレンダラー作ってるんだがテクスチャマッピングが糞重い。
テクスチャ無しの時と比べて3倍近く重くなる・・・ ピクセル単位でマテリアルの色とテクスチャの画像の色とを乗算してるんだが、 速くする方法はないだろうか・・・
- 642 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 22:44:06 ID:EBaRhPkl]
- ソフトだとそんなもん。srcとdestのバッファが2次キャッシュに収まっているうちは早いのでそれを意識するしかない。
符号なし精度やSIMD直接発行したくなるけど、せいぜいマルチスレッドしかないね。
- 643 名前:名前は開発中のものです。 mailto:sage [2010/04/23(金) 14:30:02 ID:+jF/jVEW]
- VolatileImageと-Dsun.java2d.accthreshold=0組み合わせるとか
- 644 名前:名前は開発中のものです。 mailto:sage [2010/04/23(金) 17:11:32 ID:qX+XOmtR]
- 3Dで思ったんだけどブルームてどういうふうに実装するの?
高輝度部分と重なる物体の輪郭をぼかせばいいの? CGで木漏れ日とか表現してる人はどうやってんだろう。
- 645 名前:名前は開発中のものです。 [2010/04/24(土) 16:15:02 ID:wWfiheja]
- マルチスレッドで組んだことないけど、
レンダラーの場合はどのあたりをマルチスレッドにすべきだろう? やっぱ座標変換より描画処理か?
- 646 名前:645 mailto:sage [2010/04/24(土) 16:17:32 ID:wWfiheja]
- ごめ、、sage忘れた
- 647 名前:名前は開発中のものです。 mailto:sage [2010/05/06(木) 15:54:54 ID:sWIFt/qs]
- >>644
それ用にテクスチャを作っとくことが多いんじゃ? んで加算合成とか 専門じゃないからよく分からんが
- 648 名前:名前は開発中のものです。 mailto:sage [2010/05/08(土) 01:32:27 ID:OfzVRu2e]
- ゴーストやレンズフレアならテクスチャ使うこともあるけど
ブルームだけならレンダリング後のイメージ処理じゃないかな。 HDRIでレンダリングして一定以上の輝度の部分を抜き出して ぼかしたあとに加算合成するとかそういうの。
|

|