Javaゲーム作成総合スレ
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/10/28(火) 18:23:40ID:2CMNNHdH2Dのスレはありましたが、総合スレがなかったので立てました。
2D,3DどっちでもOKで、グラフィックス、アルゴリズム、お勧めサイト等、内容も自由です。
0357名前は開発中のものです。
2009/10/03(土) 19:23:55ID:Z1ihaRDWWindow動作するゲームだとJFrameは使うと思う。
JMenuBarとかも使われそう。
0358名前は開発中のものです。
2009/10/04(日) 02:19:53ID:w83xHhR5設定ダイアログを別に付けるならSwing。
0359名前は開発中のものです。
2009/10/04(日) 08:22:05ID:c2zkrtYj基本的にFrame一個作って、その上のBufferStorategyに全部処理させるのが基本なのか
RPG作るとしても、コマンドとか戦闘画面とかは全てお絵かきすべきであって、いちいち新しいFrameとかPanel立ち上げたり、コマンドをあらわすTable作ったりはしないのが正解かな
0360名前は開発中のものです。
2009/10/04(日) 10:18:10ID:ouCzztcySwingコンポーネントを使う意味があるとしたらSLGだと思う。
RPGとかACTなら、基本的に全部自前で処理じゃないかと。
0361名前は開発中のものです。
2009/10/04(日) 13:09:00ID:GkatRSH20362名前は開発中のものです。
2009/10/04(日) 13:10:18ID:Ts8Codr2メリットとしては、マウス関係のイベントとかをswingで取得できることか。
0363名前は開発中のものです。
2009/10/04(日) 14:19:32ID:xOGATpGU0364名前は開発中のものです。
2009/10/04(日) 16:03:38ID:TgmjWOtf0365名前は開発中のものです。
2009/10/04(日) 16:06:49ID:VE8wUZqH0366名前は開発中のものです。
2009/10/04(日) 18:54:04ID:yghp6+zAGLCanvasとswingは混ぜるな危険だけど、GLJPanel使えば問題ないんじゃないか?
0367名前は開発中のものです。
2009/10/04(日) 22:32:16ID:xOGATpGUやってみればわかる
0368名前は開発中のものです。
2009/10/05(月) 04:32:06ID:/FBVWM1E0369名前は開発中のものです。
2009/10/06(火) 15:09:55ID:DNDsP0px古すぎるやつは買わないほうがいい?
amazonの中古で1000円切ってるのあるけどさ
環境はeclipseです
0370名前は開発中のものです。
2009/10/06(火) 23:20:12ID:1V/8RsIsWebアプリしか作ったこと無いから、イメージがわかない
>>369
「14才からの〜」が評判良かったような気がします
読んだことは無いけど
0371名前は開発中のものです。
2009/10/07(水) 00:18:11ID:wMLe0J1Aアクション要素なしならそれでもいいけど、どの方式でやるにしろ、
オフスクリーンバッファで全部描画処理を完成させておいて。
そうすれば出力方法は何でもいいし、ウインドウにあわせて描画を拡大縮小させるとかできるから。
paintComponentやpaintメソッドとかでゲームのオブジェクトの描画処理はだめね。
また、これらのイベントの場合ダブルバッファだと問題が起きるからトリプルバッファにすること。
0372名前は開発中のものです。
2009/10/07(水) 01:47:32ID:0p5gfWJh0373名前は開発中のものです。
2009/10/07(水) 19:16:17ID:8uGSJp5y少なくともJava5以降を対象にしたものを買った方がいい。
総称型や拡張forのお陰でプログラムスタイルがかなり違う。
ただ、本気のゲーム作りのための参考書ってあんまり無い気がする。
JOGLやLWJGL系は皆無。
0374名前は開発中のものです。
2009/10/08(木) 11:14:07ID:LM8f1SUkごめん、何を言っているのかまったく理解できない、、、
レベル低くてすみません
paint系メソッドはすでに非推奨なの?
てか、描画はどうすればイイの、、、
サンプルになるものとか紹介していただけると嬉しいです
0375名前は開発中のものです。
2009/10/08(木) 19:49:44ID:C8pidVMn単にGL使えって意味じゃないか?
GLCanvasとかGLJPanelを使う場合、paintとかpaintComponentじゃなくて
displayが呼ばれる。
0376名前は開発中のものです。
2009/10/08(木) 21:52:03ID:LM8f1SUk2DのゲームでもすでにGL...系使うのが当たり前なのかな
俺はてっきり、JFrameに直接描画するか、上にJPanelかなにか張って、それにpaint系で描画するものだと思ってた
いずれにしても、参考にしても良いサンプルが欲しい…
0377名前は開発中のものです。
2009/10/08(木) 23:44:25ID:C8pidVMn加算半透明以外の要素は大体そろってるし。
0378名前は開発中のものです。
2009/10/09(金) 01:14:28ID:JcFEYjJnpaintのメソッドでもかまわないよ。
ただし、きれいにまわすには描画用のバッファが2枚必要。
paintイベントはOSによっていつ呼ばれるかわからないというのに注意しないといけないからね。
再描画はrepaint自前で呼び出すのみにするという方法もあるけどフレームレートが言っていないと厳しい。
その場合setIgnoreRepaintをよんで無効にしておくこと。GLでもそうだけど。
0379名前は開発中のものです。
2009/10/09(金) 20:00:50ID:kPk3xGOi0380名前は開発中のものです。
2009/10/09(金) 20:37:11ID:4MfvuD2J>ダブルバッファだと思ったけど
そうなの?
だとすると、トリプルバッファ以上やらない限りはBufferStorategyは使わなくていいのかな?
あれは、JFrameとCanvasでしか使えなかったから、JPanelで自動的にダブルバッファにしてくれるなら、嬉しいよね
0381名前は開発中のものです。
2009/10/09(金) 21:35:46ID:JcFEYjJnSwingの自動のダブルバッファとは違う話。
ゲームの処理がまわるスレッドがあると思うけど、そこで使う描画バッファが1枚だと
次のフレームの描画に使用可能なバッファが存在しない。
paintイベントで表示するときに前のフレームで描画したバッファが使用中だから。
アクティブレンダリングならその問題は起きないが、フレームレートが一定はないと厳しい。
paintイベントはいつ起こされるか判らないから。
0382名前は開発中のものです。
2009/10/10(土) 13:58:45ID:hq8APMAs自分が前に実装した時はゲームスレッドを用意して、そこからrepaint呼ぶようにしてた。
この場合、システムがrepaintしたときは内容に変更が無いから同じ絵が再描画される。
フレームレートとかはあんまり気にしてなかったな。
実際問題として、全画面のアクションゲームとかでなければあんまり気にしなくていいと思う。
0383名前は開発中のものです。
2009/10/10(土) 14:55:42ID:nBhhlmBkそのrepaintする際のバッファが1枚だと描画中はだめなんで排他制御が必要になる
0384名前は開発中のものです。
2009/10/10(土) 15:12:17ID:ufkJMSFNそこでハングアップにつながるようだと問題だけど。
0385名前は開発中のものです。
2009/10/10(土) 18:56:19ID:nBhhlmBkフリーズ等はないとは言い切れない。
ハードウェアアクセラレーションを使うってことは実装上オフスクリーンバッファを
VRAMに確保しているはずなのでへんに動くと怖い気もする。
実装依存にするのも将来のバージョンで動かなくなる可能性もあるし。
ダブルバッファの場合ゲームのスレッドから描画処理だけ抜き出して
InvokeAndWaitで処理させてからのrepaintというのが必須になる。
0386名前は開発中のものです。
2009/10/10(土) 23:49:32ID:GjpbDtnI>>385
AWTと並列処理の組み合わせでいける。シングルスレッドなSwingを使うから余計変なことになる。
というかそもそもパッシブレンダリング使うからrepaintまわりで排他制御が必要になるんじゃ?
0387名前は開発中のものです。
2009/10/11(日) 01:22:50ID:ssskajUXそれに今の話の流れはパッシブレンダリング上での話。
0388名前は開発中のものです。
2009/10/11(日) 10:14:08ID:Vof/a9NH0389名前は開発中のものです。
2009/10/11(日) 11:08:47ID:ssskajUX少しでも高速化したい場合はLock構文を使うとよい。
したがって描画部分をまとまるようにすること。ゲームのロジックの中で描画していくのはさける。
0390名前は開発中のものです。
2009/10/11(日) 13:10:06ID:b7DeQBBgJFrame上でBufferStoratgy使って描画するように書いてあったと思うんだが、これだけじゃ、不足なのかな?
0391名前は開発中のものです。
2009/10/11(日) 13:21:07ID:S5wUXJ380392名前は開発中のものです。
2009/10/11(日) 13:22:26ID:ssskajUXそれはアクティブレンダリングでしょ?今回の話とは違う。
ペイントイベントつぶすsetIgnoreRepaint()使ってるはず。
0393名前は開発中のものです。
2009/10/11(日) 13:25:58ID:ssskajUXFPSAnimatorはイベントディスパッチスレッド上でdisplayがきれいに動くようになってるからね。
AnimatorやJava2Dなどでパッシブレンダリングやろうとすると自前での管理が必要になる。
0394名前は開発中のものです。
2009/10/11(日) 15:26:14ID:7VD6H4ki「JOGLをいれてGLCanvas…、おお、動いた!」
「GLSL? ためしにウェブ参考にPhongシェーダー実装して…、おお!これがピクセルシェーダー!」
みたいに、断片断片を動かしては満足してしまう。
社会人になると、なかなか本腰いれてやろうって気にならないしなあ。
jMEは面白そうだが、趣味のために英語資料を読むのはめんどい。
日本語資料がもっと充実してるといいんだけど。
0395名前は開発中のものです。
2009/10/11(日) 17:50:39ID:/J/iPP1Rマック環境でうごかねぇ・・・
0396名前は開発中のものです。
2009/10/11(日) 20:53:55ID:uhiVH5l+0397名前は開発中のものです。
2009/10/11(日) 22:54:45ID:ZadvBdPe0398名前は開発中のものです。
2009/10/12(月) 01:11:47ID:/6vHGSxG0399名前は開発中のものです。
2009/10/12(月) 14:54:55ID:2xaDgDSW三角分割するのは当然として、自分はフラットポリゴンとグーローポリゴンが混在する場合の効率のよい
持ち方が今一つ詰め切れて無い。
現状だと、ポリゴンが頂点を共有しないという不効率な実装になってて、かなりメモリを浪費してる。
というのは、メタセコイアの形式に慣れてるんで、ポリゴン中心の設計だから。
マテリアルをポリゴンごとに指定できるようにすると、座標を共有する頂点でも
ポリゴンごとに別管理しないといけない。
正四面体で言うと、本来なら頂点は4つで済むところ、各ポリゴンが頂点を指定するので
内部的には12頂点が存在する。
そのかわり、各面それぞれ色が違っても問題ない。
頂点中心の設計にするとこの辺は効率化できるはずなんだけど、そうすると
各面それぞれ色が違うような多面体は例外処理が必要になり、メタセコイアからのインポートが面倒になる。
現在思案中。
0400名前は開発中のものです。
2009/10/12(月) 17:19:28ID:ry4or4sG> マテリアルをポリゴンごとに指定できるようにすると、座標を共有する頂点でも
> ポリゴンごとに別管理しないといけない。
メタセコイアは面がマテリアル番号を持ってるから、頂点を共有して面を色分けしても
何の問題も無いはず。
部分フラットシェーディングについては俺も頂点を共有しないことで対応してるよ。
フラットな面がある程度多いなら、その範囲だけ別オブジェクト(レイヤ)にして
スムージング角度をゼロにすれば、範囲内外の境界以外は頂点を共有できる。
0401名前は開発中のものです。
2009/10/12(月) 17:32:20ID:2xaDgDSW>>399だが、glBegin〜glEndだとマテリアルバラバラでも問題ないんだけど、
同じ頂点でマテリアルが違う場合、VBOにできないんだよね。
あれは頂点を座標、法線、テクスチャ座標でパックするから。
まじめに考えると、メタセコから読み込む時点でその頂点を共有するポリゴンを解析して、
法線とマテリアルとテクスチャ座標が同じなら同一頂点とみなし、そうでないなら別の頂点とみなすという
処理をいれるのが一番という気がしてきた。
内部フォーマットはあくまでOpenGLに寄り添う方向性で。
0402名前は開発中のものです。
2009/10/12(月) 18:01:47ID:ry4or4sGデバイス側も含めた問題でしたか、トンチンカンなレスしてすみません。
0403名前は開発中のものです。
2009/10/12(月) 18:07:34ID:2xaDgDSWあと自分のソース見直してみると、モデルのクラスに
頂点登録やポリゴン設定とかのメソッドがあって、設計の不備に気が付いた。
同じクラスにしてるんで面倒なことになってたようだ。
つまり、頂点やポリゴン単位で細かく制御できるクラスと、
「コンパイル済み」みたいな、Bufferで管理するクラスに分けるべきだったんだな…
どうせいったんVBOにしたあとは頂点とかいじれなくなるんだし。
(Java3Dはそういう発想だね)
ただ、その場合はボーンとかの処理をどうするか。
頂点座標をCPUから参照できなくなるから、頂点とシェーダを使わざるを得なくなる気がする。
なんか、趣味プログラマには敷居の高い領域になってくるなあ。
0404名前は開発中のものです。
2009/10/12(月) 20:33:25ID:84ezoqsI「このポリゴンはどのマテリアルか」になるけど、
ゲームとして実装する場合は
「このマテリアルが使われているのはどの頂点か」という考え方になるわけだよね。
そうしないと、描画中にマテリアルの切り替えが大量に発生してしまう。
0405名前は開発中のものです。
2009/10/12(月) 23:01:44ID:84ezoqsIWebStartでMMOゲームが起動するというのは、オンラインゲームの管理としては
非常に分かりやすいし。
0406名前は開発中のものです。
2009/10/14(水) 00:20:23ID:thuOI5hoまさかの盛り上がりだな。
俺も2年ほど放置したアプレットゲームの制作を再開するか。
0407名前は開発中のものです。
2009/10/14(水) 04:19:41ID:1Hrt5Svp俺はエクリプスです
0408名前は開発中のものです。
2009/10/14(水) 05:21:18ID:dqL7qzpW0409名前は開発中のものです。
2009/10/14(水) 12:51:21ID:yCmNZ1Ay俺もantかなんかにしよ・・・
0410名前は開発中のものです。
2009/10/14(水) 14:34:05ID:Ji4Xwih5ビルドにant使ってるのでカスタマイズも楽な上に、
何もしなくてもライブラリへパスを通す設定がされた
実行可能jarが出来上がるようなant設定がしてある。
Eclipseのプロジェクト開けるのでEclipse使いにもやさしいかも。
0411名前は開発中のものです。
2009/10/14(水) 22:09:11ID:M2HVcjGaシミュレーションRPG作る
絶対に作る
宣言しておけば、たぶん作り始めると思う
0412名前は開発中のものです。
2009/10/14(水) 23:32:04ID:L+b49hPvここで進行を記録しておくと、さらに完成に近づくと思う
0413名前は開発中のものです。
2009/10/14(水) 23:39:13ID:l8AjUbxoシナリオの区切りがあるから、メリハリもつきそうだし。
0414名前は開発中のものです。
2009/10/14(水) 23:54:20ID:VKlbPbBA0415名前は開発中のものです。
2009/10/15(木) 00:24:31ID:IgjPbfHm応援するよ
がんばれ
俺もなんか作る
0416411
2009/10/15(木) 21:22:48ID:lHaDd0Hqいきなり仕事が忙しくなったので、開発ははかどらないかもしれないけどがんばるよ
とりあえず、毎日何かすることに決めた
今日はJDK6のアップデートとeclipseのアップデートをしました
このスレのログみると自分はかなり低レベルだけど、とりあえず、簡単なものから作ろうと思います
コテハンとか進行記録は無理そうだけど、毎日なにかやるよ!
0417名前は開発中のものです。
2009/10/16(金) 00:36:05ID:PZVqNOq4作成しているゲームがあまりに恥ずかしいので
アドレス晒せないのが申し訳ないが。
0418名前は開発中のものです。
2009/10/16(金) 18:37:59ID:Wrwd6j5r0419名前は開発中のものです。
2009/10/16(金) 23:44:40ID:T6yXgGZl…二桁もいないかも。
0420名前は開発中のものです。
2009/10/17(土) 15:16:24ID:YqwXxzdo0421名前は開発中のものです。
2009/10/17(土) 18:44:41ID:oMDkhpiNそもそも、日本でJavaゲームというと商用はほとんど皆無だし、フリーor同人ゲームにしてもほとんどがWindowsだし。
Win32>.net>flash>mac>Javaと、勢力順でこんな感じじゃないかと思う。
0422名前は開発中のものです。
2009/10/17(土) 22:31:03ID:21crL4yPだろ
0423名前は開発中のものです。
2009/10/18(日) 17:01:35ID:cz1CRBCl0424名前は開発中のものです。
2009/10/18(日) 17:29:54ID:uM0lrslxOpenGLと相性のいい設計になってるはずだし、JOGLゲームで3Dを扱う場合の参考になりそう。
というか、正直、仕様書読むのめんどいので…
0425名前は開発中のものです。
2009/10/19(月) 00:47:05ID:Opw9A39m吉里吉里とかも意外と使ってる人多いし、HSPも多い、ツクール系に関してはものすごく多い
それと、ちょっと前まではVisualC++が結構多かった気がする
0426名前は開発中のものです。
2009/10/19(月) 02:14:36ID:xfJue+KXここはPLでゲーム作るスレ。ここだとそのツールから作るわけになるんだが。
0427名前は開発中のものです。
2009/10/19(月) 08:05:58ID:7FbO+rDm0428名前は開発中のものです。
2009/10/20(火) 22:17:16ID:DCTVxMp1すみません。
馬鹿ですみません。
スレタイが「Javaゲーム作成総合スレ」なので、基本的にJava以外の話は禁止だと思ってました。
しかしながら、.netだとか色々な話がでてきたので、自分も調子にのってしまいました。
本当にすみません。
もう、二度としません。
0429名前は開発中のものです。
2009/10/20(火) 22:54:00ID:Ly5jz5+S0430名前は開発中のものです。
2009/10/21(水) 00:24:52ID:65KOfpJq0431名前は開発中のものです。
2009/10/21(水) 07:09:58ID:ObmM+1fr0432名前は開発中のものです。
2009/10/21(水) 23:49:03ID:L3jjgFOp自分はSwingと組み合わせることを考えて汎用性でGLJPanelを使っているが、
性能的にはGLCanvasの方が良いって聞くよね。
0433名前は開発中のものです。
2009/10/22(木) 14:49:09ID:fafaEc4r0434名前は開発中のものです。
2009/10/22(木) 17:01:42ID:FB3nMFnGウインドウ占有するゲームならGLCanvas
ただし、GLJPanelを使えば重ねあわせがちゃんと動くというものでもないのが厄介。
0435名前は開発中のものです。
2009/10/22(木) 23:48:12ID:JRkMaRysjMEに比べれば資料も多いし、ゲームにも使えそうだし。
0436名前は開発中のものです。
2009/10/23(金) 18:21:42ID:GVwudGx0OpenGLからGPUが叩けるようになると、VM上で動くことのペナルティはもはや
ほとんど問題じゃないような気がするし。
…もっとも、フリーや同人ゲームも少ないから、単にC++プログラマとJavaプログラマの
数の差が大きな理由かも。
0437名前は開発中のものです。
2009/10/23(金) 22:17:10ID:WlC+lKAY海外のネットゲーだとクライアントがjavaだったりする。マイナーだが。
0438名前は開発中のものです。
2009/10/23(金) 23:34:50ID:GVwudGx0というデモンストレーションがJake2だったと思うんだが、
だからと言ってJavaゲームが登場するわけでもなかったね。
Javaはデバッグしやすいし、プログラム作成の工数はC++系よりも少なくてすむと思うんだが、
最近のゲームの工数だとデータ作成が圧倒的で、プログラムの占める割合はそれほど多くない感じだしな…
0439名前は開発中のものです。
2009/10/24(土) 00:18:35ID:xyHZAjLvいっそそれでフレームワーク作っちゃおうていう発想も十分通用するからね。
javaは色々容易ですよは選択肢として弱い。
じゃあjavaでどこまで作れるの?って疑問に直行じゃないかねぇ。
javaでゲーム作ったことないなら至極当然だけどこういう感じで作りますってサンプルが少ない。
あとはライセンスかね。java界だとオープンソースが多いからやれGPL,LGPLになっちゃう。
ライブラリ探してる段階でogg vorbisデコードにLGPLですとか言われるとほかに無いかと思うだろう。
C++だとdeeたんのアレがあるし。
ファルコムからエロゲ屋までどこでも見るぞアレ。
0440名前は開発中のものです。
2009/10/24(土) 00:59:43ID:QEmyKo7r0441名前は開発中のものです。
2009/10/24(土) 01:16:19ID:wzkOY8NaPCで作りかけのゲームとか動かしてみたかったし。
…現実にはGPU封印だったけど。
0442名前は開発中のものです。
2009/10/26(月) 03:39:44ID:PLJeDwX/半年ロムって待ってろ!!!
0443名前は開発中のものです。
2009/10/26(月) 22:06:21ID:hllCy56y落ちものパズルとかならどうとでもなるだろうけど、
本格的なのを最初から作ろうとするとまず挫折するよ。
0444名前は開発中のものです。
2009/10/26(月) 22:35:09ID:ZHbA3j0j0445注目
2009/10/28(水) 11:33:04ID:QwfmzkGR中学生が 自主制作ハメ撮りAV 売り捌いてたらしい ★12
http://yutori7.2ch.net/test/read.cgi/news4vip/1256682280/
まとめwiki
http://www31.atwiki.jp/shotakon_pachinkas/
805816650390624
0446名前は開発中のものです。
2009/11/03(火) 23:50:41ID:5Dn8MK580447名前は開発中のものです。
2009/11/06(金) 02:47:44ID:eguNfchF0448名前は開発中のものです。
2009/11/10(火) 23:28:35ID:jiRKtvC7ムービー対応してるなら、割と本格的なゲーム基板になり得るの?
0449名前は開発中のものです。
2009/11/12(木) 08:13:58ID:NaPi8Zf3保守
0450名前は開発中のものです。
2009/11/13(金) 00:18:46ID:sBpNol3Cスタンドアロンの配布が絶望的な時点でFXはねーよ
そもそもメリットないし
0451名前は開発中のものです。
2009/11/13(金) 09:34:44ID:ROqonUQx昔のApplet全盛期には考えられないけど、完全に後塵を拝している感があるな
0452名前は開発中のものです。
2009/11/17(火) 12:20:38ID:FGBrHn83au形式だとかなり音質が悪いので、wavでサウンドを実装したいのですが、 そのままのwavでは容量が大きすぎるので、中身mp3のwavに変換したら 音がなりませんでした。
ある程度の音質を保ったまま、JAVAアプレットで実装可能で容量の小さい形式に変換する 良い方法はありませんか?
0453名前は開発中のものです。
2009/11/17(火) 18:49:43ID:uPDP5QI5どうしても外部ライブラリを使いたくない場合は、java.util.zipパッケージの機能でwavをzip圧縮して使う。
mp3と違って容量が1割くらいしか減らないけど。
0454名前は開発中のものです。
2009/11/17(火) 22:09:19ID:6v3HQdPfmp3はライセンスが絡むので公開するならやめとき
わからないならwavのビットレート下げるのが一番いいよ
たとえば効果音はステレオである必要は大概の場合ないし、8bitでいいよね
8bit-11KHz-monoならそれほどでもないかな
音質が問題になるようなものは22KHzにすればよい
BGMでストリーム再生するならoggVorbis等のほうがよい
これはWindowsでも同じだが
ライブラリはググれば一発で出てくる
0455名前は開発中のものです。
2009/11/17(火) 23:53:48ID:6cI0Sz7G俺はBGMはogg vorbis、音声はFlac、ジングルは無圧縮wavにしてる。
0456452
2009/11/18(水) 19:56:52ID:aee6rcNiレスありがとうございます。
アプレットは勉強し始めたばかりで分からないことばかりですが、
皆さんのレスを参考に調べてみます。
■ このスレッドは過去ログ倉庫に格納されています