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


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

Javaゲーム作成総合スレ



1 名前:名前は開発中のものです。 [2008/10/28(火) 18:23:40 ID:2CMNNHdH]
Javaでゲームを作ろうと思っている人、今作っている人等が情報交換するためのスレです。
2Dのスレはありましたが、総合スレがなかったので立てました。
2D,3DどっちでもOKで、グラフィックス、アルゴリズム、お勧めサイト等、内容も自由です。


228 名前:名前は開発中のものです。 mailto:sage [2009/02/26(木) 23:16:47 ID:akesSIpd]
jMEの日本語資料が出てくると面白そうではあるんだけどな。
誰かが使い始めてwebで試行錯誤を晒してくれると、2番目以降の人はものすごく楽になる。

問題は、最初の一人になるハードルが結構高いことだ。

229 名前:名前は開発中のものです。 mailto:sage [2009/02/28(土) 22:21:27 ID:Nhs2dqD5]
>>228
jME将来有望なのかな?
公式ページ見てるとどうも先が無さそうに見える

230 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 22:20:29 ID:01UCFGmL]
>>229
jMEはムービーとか見るとやたらレベル高そうなんだけどな。

まあ、jMEほど本格的じゃなくていいから、JOGL使った比較的小規模なゲーム用フレームワークを、
コメントびっしり入れてサンプルゲームと一緒にMITライセンスで公開してくれる人がいたりすると、
後進はすごく助かる。

ただ、さすがにそこまで言うのは虫のいい話だしなあ。

231 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 00:39:41 ID:P48p0Ewv]
jME1.0が出たころは、チュートリアルとか充実しているイメージがあったけどな
今はjME1.0、2.0あるけど、ダウンロード先がよくわからん
あんまり丁寧じゃなくなってきた気がする
なんか、このままポシャりそう
ちゃんと読めば色々と書いてあるのかも知れんが

232 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 01:15:49 ID:nB4fn1ej]
正直、jMEは規模がでかすぎる。
自分としちゃせいぜい数千行くらいの、「ゲームに特化したJava3Dのサブセット版」みたいな感じでいいんだよなあ。
jMEの規模になってくると、ソースを読もうという気はおこらないし…

233 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 23:43:24 ID:w3tEamJK]
みんな趣味でやってるんでしょ?
そんな見た目にこだわる必要ある?
java2Dだけでも>>227くらいの3Dできるのに、余計なライブラリいらなくね?
なんか、良いライブラリがないからゲーム作れない、な言い訳に聞こえる。


234 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 08:51:20 ID:jD1aQthu]
>>233
趣味だからこそ様々な技術に触れたいわけで・・・

235 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 22:06:26 ID:nNz9DHkE]
いつまでたってもゲームが完成しない予感!

236 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 01:22:45 ID:b31M8oEP]
ぶっちゃけ、「Javaゲーム技術総合スレ」でもいいような気はする。




237 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 23:17:19 ID:g3vbE7jD]
JOGLいじってて気が付いたんだが、ウィンドウの大きさを変更した時に、
GLEventListnerのreshapeだけじゃなくてinitが呼ばれることがけっこうあるね。
で、そのときにテクスチャのenableがリセットされてしまうっぽい。

その場合、ウィンドウサイズを変えた直後から
テクスチャがはがされたポリゴンオブジェクトが表示されてる。
対策としては単にテクスチャのenableをやりなおせばいいんだろうけど、
これってOpenGL的には普通の挙動なのかな?

同じテクスチャオブジェクトで何度もenableをかけると、VRAMに重複して
アップロードしてそうなのがちょっと不安ではあるけど。

238 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 14:23:24 ID:gpreMXHU]
実装依存デバイス依存の機能を使うのは大変だね
突然CPUパワーが1兆倍とかになって全部ソフトウェアレンダで済ませられるようになればいいのに

239 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:51:34 ID:VT+0u+++]
ざっくりというと320*240-8bppならばPentiumM/1GHzあればソフトレンダ可能
2次キャッシュからあふれた瞬間にいっきにorzがはいるけど、
GPUがCPUに搭載されるのが当たり前の時代になれば
いわゆるソフト演算で演算結果がかなり近いものになると思われ

普及するためには今のPCが死なないといけないから5年後くらいからかな?

240 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 00:36:26 ID:S/WPapfF]
640x480 16bitで、K6-2 400MHzのソフトレンダリングでゲームしてたことがある。
10年くらい前のゲームになるが、シーフはそこそこ動いたな。

241 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 20:41:14 ID:Hkznsov1]
>>237に関連して、画面サイズ変更時にglLight関係のenableもリセットされることがあるみたい。
init()メソッドが呼ばれるシチュエーションではVRAMがリセットされるものとみなして、
enableが必要なパラメータは全部アップロードしなおすという方針のほうがいいかも。

…まだ試してないけど、VBOとかディスプレイリストとかもリセットされるのかなあ…

242 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 23:21:36 ID:f2llZ77/]
>>240
可変フレームレートでいいのならそんなかんじ
60fps死守する2Dゲー(レンダリングが2Dという意味ではない)ならば
やっぱりそれなりにマシンパワーが必要

>>241
確保するVRAMがかわるからテクスチャ等も含めて消えてしまうのは仕方がない
DirectXでも同じことはあった

243 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 22:41:10 ID:d9jSrPfZ]
ゲーム内で使う3Dのオブジェクトデータってどんな感じに作ってる?
自分はエディタとしてメタセコを使ってるから、オブジェクトもmqoをそのままクラス化したような感じになってる。

頂点とかの最適化はしてないから、たとえば立方体(8頂点)を作ると
各面が共有する頂点が重複して登録されてしまい、
ノンシェーディングだろうがフラットだろうがグーローだろうが、
OpenGLに対しては必ず24頂点になるような仕様だけど。


244 名前:名前は開発中のものです。 mailto:sage [2009/03/18(水) 23:41:58 ID:G8Q2oDGf]
>>243
俺もメタセコイアだ、ファイルがテキストなのが解析しやすくていいよね

後半の意味がわからんが、頂点バッファを使ってないってことかい?

245 名前:名前は開発中のものです。 mailto:sage [2009/03/19(木) 20:22:52 ID:ES9Grmqu]
>>244
自分が無知なだけかもしれないが、たとえば各面の色が違うフラットシェーディングの立方体を表示しようとすると、
8頂点でVBOを作れない気がする。

この場合、一つの頂点はそれぞれ別の色と法線をもつ3つのポリゴンから共有されるわけで、
24頂点で表現する必要が出てくるんじゃないかと。

246 名前:名前は開発中のものです。 mailto:sage [2009/03/19(木) 21:44:43 ID:kAJQg9X1]
>>245
Ha Ha Ha! 俺なんかVBOが何の略かも知らなかったぜ!?



247 名前:名前は開発中のものです。 mailto:sage [2009/03/19(木) 23:01:52 ID:gAQ6bZlL]
>>245
> 各面の色が違うフラットシェーディングの立方体
みたいな場合だけ別クラスにするんじゃダメなんか?

248 名前:名前は開発中のものです。 mailto:sage [2009/03/19(木) 23:13:35 ID:ES9Grmqu]
メタセコでゲーム用オブジェクトを作ったら、
フラットシェーディングとグーローシェーディングを混在させるのはわりと普通だと思うが。
メカ系は特に。

249 名前:名前は開発中のものです。 mailto:sage [2009/03/21(土) 10:40:36 ID:nMPAMKWS]
プログラムが読みづらくなってきたので整理したいのですが、
インスタンスを一つしか作成しないクラスはstaticにしたほうがいいんでしょうか?


250 名前:名前は開発中のものです。 mailto:sage [2009/03/21(土) 13:53:53 ID:B0gB3ZX9]
状況による。俺なら
ユーティリティ的メソッドの集まり → staticメソッド化
インスタンスを一つしか作らせたくない → シングルトン化
今はインスタンスが一つしか必要ない → そのまま

251 名前:名前は開発中のものです。 [2009/03/21(土) 19:59:38 ID:n/Ajktw5]
>>249の質問がいまいちわからん。
内部クラスならstaticにできるが普通クラスstaticにできんだろー
それとも>>250の解釈のようにstatic methodのことなのか・・そうだとすると何故シングルトンにw

252 名前:名前は開発中のものです。 mailto:sage [2009/03/21(土) 20:19:06 ID:DJMP1L4U]
Jakeはstaticメソッドばかりで辟易した
基本はインターフェイス定義/インスタンスメソッドにして
外部から実生成クラスを指定できる形のシングルトンってのが
モックや改造用の実装入替えができる作りにできてマシだと思う


253 名前:名前は開発中のものです。 mailto:sage [2009/03/21(土) 20:24:15 ID:0Dhkcflq]
>>252
Jakeの場合、Cからの移植だから、
オブジェクト指向に徹して構造をガラリと変えるのはやりたくなかったのかもね。

254 名前:名前は開発中のものです。 mailto:sage [2009/03/22(日) 13:38:56 ID:lDYMrqQ7]
スキンメッシュってどう実装してるんだろ?
形状が変形した時点でVBOを作りなおさなきゃならない気がする。
glBegin〜glEndでなら実装方法も思い浮かぶけど、それじゃ
頂点数が増えてくると破綻するだろうし…

…やっぱり、頂点シェーダ使うのが正道なのか。

255 名前:名前は開発中のものです。 mailto:sage [2009/03/22(日) 21:48:34 ID:M8WElcmx]
JOGLのテクスチャオブジェクトって、シーンに必要な複数のTextureオブジェクトをenableしておいて、
実際にポリゴンを描画する時にenable済みのTextureオブジェクトをbindするという認識なんだが、
これってひょっとして間違ってる?

なんか、ポリゴン描画時にどのテクスチャオブジェクトをbindしても、最後にenableした
テクスチャが適用されてしまう…

256 名前:名前は開発中のものです。 mailto:sage [2009/03/25(水) 20:36:24 ID:+3AGy5We]
もっと基本的な話もしてください><



257 名前:名前は開発中のものです。 mailto:sage [2009/03/26(木) 00:25:05 ID:3cCMByPy]
なら、そういう話題を振ってみよう。


258 名前:名前は開発中のものです。 mailto:sage [2009/03/27(金) 09:52:31 ID:hNlAxyYn]
>>257
振ります
場面管理とか、ユーザ入力の基本的な実装の勉強はどこでしましたか?
たとえば、オープニング場面と実際のゲーム場面の切り替えとか、マウスやキーボードからの入力にあわせてプレーヤーを操作するとか、その手の勉強はどうすればいいのでしょう?
みなさんで、知恵を出し合って、私が一人前のJavaゲームプログラマになれるようにがんばりましょう!

259 名前:名前は開発中のものです。 mailto:sage [2009/03/27(金) 21:15:09 ID:/MZjCwLz]
>>258

俺はテンプレのサイトにあるコードとかを参考にした

260 名前:名前は開発中のものです。 mailto:sage [2009/04/01(水) 01:11:58 ID:xQ/ARR0S]
最近全画面表示試してみたが、意外なほどあっさり動いて拍子抜けした。
WinAPIをよく知らないけど、ひょっとするとJavaの方が簡単かも。

261 名前:名前は開発中のものです。 mailto:sage [2009/04/01(水) 08:32:41 ID:Oc98XnNk]
ひょっとしなくても簡単だ

262 名前:名前は開発中のものです。 mailto:sage [2009/04/01(水) 10:48:41 ID:p79POMbY]
Javaの方が何より簡単なんだ

263 名前:名前は開発中のものです。 mailto:sage [2009/04/01(水) 11:09:54 ID:7BklKs9t]
WinAPIをよく知らないけど
ってあるからWindows開発環境とだろ

264 名前:名前は開発中のものです。 mailto:sage [2009/04/01(水) 11:28:33 ID:p79POMbY]
Windows開発環境って言ったっていろいろあるじゃない
Java並みに簡単なのもあるし

265 名前:名前は開発中のものです。 mailto:sage [2009/04/01(水) 12:15:48 ID:7BklKs9t]
そりゃそうだな。

ただ、Windows直のAPIをたたくかのような表現なので、
VC++でWin32Applicationで作ってるとみた!

266 名前:名前は開発中のものです。 mailto:sage [2009/04/01(水) 12:19:23 ID:p79POMbY]
そりゃあ、ひょっとするどころじゃないなw



267 名前:名前は開発中のものです。 mailto:sage [2009/04/01(水) 14:46:33 ID:jYiG2v4w]
ちょうどC++でゲーム作ってるとこだよ。
Seleneっていうゲームライブラリ使ってるけど、それでもめんどい。
いやSelene自体は便利だけど、とにかくC++がめんどくってJavaに戻りたくなる。

268 名前:名前は開発中のものです。 mailto:sage [2009/04/02(木) 02:46:07 ID:AjLyz5Ea]
java.exeとjarファイル単体配布を認めてくれると配るのもだいぶ楽になるんだけどね。
動かすためのランタイムだけならかなり小さくできるし。

269 名前:名前は開発中のものです。 mailto:sage [2009/04/02(木) 22:45:17 ID:6oSajStG]
>>268
privateJREってしらんのか?
配布規定に従っていればJREとアプリ同根で配布できるんだぞ?
そのためのランタイムだ

ファイルサイズはいらないのを消せば一応多少減らせる
ただし、同梱必須のものもあったりするからなにをはずせるかは注意すること

逆にSDKにあってJREにないものもいくつかは同梱可能だったりするので
ちゃんとドキュメント読んでください

270 名前:名前は開発中のものです。 mailto:sage [2009/04/02(木) 23:34:41 ID:Vwj0NOpR]
>>269
なんかコメントがすれ違ってないか。
>>268は最小構成で配布したいって言ってるわけで、JREをアプリに同梱できることは前提だと思うんだが。
「java.exeと、そのアプリの起動に必要なjarだけ付けて配布したいのに、
 ランタイムを配布しようとすると同梱必須のファイルが多くてでかくなってしまう」
という意味の書き込みだと解釈したんだが、漏れが深読みし過ぎてるのか?

271 名前:名前は開発中のものです。 mailto:sage [2009/04/02(木) 23:46:18 ID:aTxYjOf1]
ふと思ったんだが、javaで市販のゲームってどのくらいあるんだろ。
ほとんど聞かないけど、tribal troubleくらいかね?
Mac(というか非windows)のシェアがもっとでかければ意味があるんだろうけど、
今はWindows用に作っておけば市場の99%は確保できるからなあ。

でも、ホビーの分野ではもうちょいJavaって選択肢が見直されてもいいと思うけど。

272 名前:名前は開発中のものです。 mailto:sage [2009/04/04(土) 00:43:54 ID:djCLzx0D]
携帯では圧倒的か。
あとWinは99%のシェアないから。シェアは下がってる。

LinuxやMacで動作確認しておくってのは意味あることかと。
マイナーOSだけに有名になりやすいかも。

273 名前:名前は開発中のものです。 mailto:sage [2009/04/04(土) 07:26:06 ID:QAh2Zo9C]
>>272
>携帯では圧倒的か。
そういう話はよく聞くね
実際携帯のソフト開発やったことないけど、素人でも簡単に開発環境とかデバッグ環境とか入手できるのかな?

>あとWinは99%のシェアないから。シェアは下がってる。
ただ、Serverとか業務除いた純粋な個人使用だと、やっぱりWindowsが高いんじゃね?
あと、Macユーザはともかく、Linuxユーザがわざわざ有料のゲームを買うところはそうぞうできない
せいぜい、バンドルされてるフリーの有名ゲームを5分程度プレイするだけのような気がする

>LinuxやMacで動作確認しておくってのは意味あることかと。
>マイナーOSだけに有名になりやすいかも。
Macは知らんが、Linuxはフリーのゲームであふれてるからな
有名になるのは難しいと思う
あと、MacはなにげにJDKの新しいのがでるの遅かった記憶がある

>>271
俺も知りたい
市販だけじゃなく、ソースを読むことが出来るフリーの有名作も知りたい
どうも、ネットで検索するとC++が多くてよくない(俺はC、Java、Rubyと業務で使うもろもろのスクリプトしかだめなので…)



274 名前:名前は開発中のものです。 mailto:sage [2009/04/04(土) 09:40:52 ID:pkIgwsnR]
インストールベースだと、Windowsのシェアは9割切るのかな?
PCゲーム売上における比率だと、余裕で9割越え(というか、本当に99%くらいかも)
だと思うけど。

275 名前:名前は開発中のものです。 mailto:sage [2009/04/04(土) 10:41:11 ID:QqjfOZdf]
たまにニュースに統計でてるのが90%〜95ぐらい。
調査ごとに若干違うがそれでもさすがに99%はない。

276 名前:名前は開発中のものです。 [2009/04/04(土) 13:03:07 ID:7rkbAzh1]
とはいうけど、PCゲーム市場(流用できるからXBOXも入れて)というのはいくらぐらいの規模なの?
たとえばwiiの何パーセントぐらいか知ってるのか?



277 名前:名前は開発中のものです。 mailto:sage [2009/04/04(土) 13:17:49 ID:7fA3wEVT]
>>273
携帯の方が開発は簡単。
システム自体が、ゲーム前提になっているから。

開発・テスト環境は、iアプリ/MIDP(日本ではオープンアプリ、S!アプリ)とも誰でも無償で入手できるよ。


278 名前:名前は開発中のものです。 mailto:sage [2009/04/04(土) 20:53:43 ID:djCLzx0D]
>>276
日本のPCゲー市場はWin95がでたあたりでコンシューマと比べるとほぼ0に近くなった
コンシューマが安くて性能高いからね

PC向けにゲーム作りたいのなら20年早く生まれるべきだったな

279 名前:名前は開発中のものです。 mailto:sage [2009/04/04(土) 22:24:11 ID:YZwnY7vO]
PCの普及数は遥かに増えてるし、ネットという配布手段もあるから、フリー作家にとってはいい時代とも言えるかも。


280 名前:名前は開発中のものです。 mailto:sage [2009/04/05(日) 04:48:32 ID:TjOH8U8v]
コンソール市場に比べてどれくらいなのか聞いてるんだけど理解できなかったのか?
それと、win95以前でも昔は昔でニフティーとかパソ通があったしあまり変わってないよ。
ゲーム製作スキルもなければ時代を読む眼力もないみたいだね。

たとえば、もしある程度のPCゲーム(3D)を数人で作れるとしても、PCゲーマー(グラボに3−5万も出すようなのが)相手なわけじゃないでしょ。
日本ではファミコン以降コンソールの歴史が長いしそのノウハウもあるし、PCでゲームをやるという考え方をもつPCゲーマーという存在が理解できない。
このあたりを解説してくれる人いるかな?

281 名前:名前は開発中のものです。 mailto:sage [2009/04/05(日) 11:30:22 ID:YT4Bbp0s]
>>280
>ゲーム製作スキルもなければ時代を読む眼力もないみたいだね。
せっかく、この板が久しぶりに盛り上がってきたのに、なんでそんな他人を挑発して荒れるような事書くんですか><
この板で有意義に情報交換するためにも、礼節を持った書き込みをしましょう^^

282 名前:名前は開発中のものです。 mailto:sage [2009/04/05(日) 12:14:35 ID:HxgPZkkF]
>>280
昔はMSX,PC88、PC98、X68、TOWNS等ゲームは普通に手に入るものだったよ。
今じゃ国産のゲームはエロ以外ほぼゼロに等しい。

だから、歴史はFC出現以前からあるPCのほうがあったんだけれども、
商業的には95登場あたりで終わったんだよ。

それにマイナーな一部の人だけが使うパソコン通信とインターネットくらべたらあまりにもシェアが違いすぎる。
ベースとなるPC自体の普及も何倍も違うし。
当時から変わっていないといえるのはアンタくらいでしょ。

283 名前:名前は開発中のものです。 mailto:sage [2009/04/05(日) 12:26:27 ID:osilM92R]
そもそも、Javaゲームスレでフリーソフトの話をしているときに家庭用ゲーム機を出されても…という気はする。


284 名前:名前は開発中のものです。 mailto:sage [2009/04/06(月) 02:58:52 ID:E7G+JPJD]
昔はパソ通で配布という手段があったし2chのような情報交換BBS(会議室)も活発にあった。
つまり今のインタネットとあまり違いはないってことを書いてあるんだけど、これを読み取る知能もないのか。
いちいちレベル低いよね。このスレは。

たとえば>>282とか長文書いている割には、コンソール市場とwindows市場のゲーム市場の比率(売上ベースとか)とか知らないんでしょw


285 名前:名前は開発中のものです。 mailto:sage [2009/04/06(月) 20:34:44 ID:27qn9CjQ]
まあ、据え置きハードにはパッケージじゃなくともネットで課金できるシステムというか
ネットゲームそのものが市場として駆動してるからな。
総計すると、実はコンシューマとPC市場の差はそれほど無いのかもしれんな。

286 名前:名前は開発中のものです。 mailto:sage [2009/04/06(月) 21:46:40 ID:gbnm4hj7]
そろそろJavaゲーム作成の話題に戻りたいが、話のネタが無いなあ…



287 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 00:07:45 ID:NeAXnBms]
ゲーム市場の話してるお子様はいつになったら消えてくれるのか。

288 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 01:20:46 ID:C2LD8yAA]
Ajaxならシェアが取れるかもしれない

289 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 01:26:34 ID:NeAXnBms]
サーバー介してなにをするのだ?

290 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 01:55:48 ID:Nbb0NFf2]
というか、このスレ住人のほとんどはアマチュアなわけで、
オンライン系のゲームはホビーで作るのはけっこうハードル高いよ…

ホビープログラマが趣味で作るゲームとなると、Java単体か、+JOGLくらいが主な守備範囲だろう。

291 名前:名前は開発中のものです。 [2009/04/07(火) 06:48:16 ID:nGO2l7HE]
ajaxがjavaと何か関係あるの?
ゲーム市場の話にもついてこれないし、javaのゲーム製作の話もできないし、このスレってjレベル低すぎるよねw

292 名前:名前は開発中のものです。 mailto:sage [2009/04/07(火) 22:17:25 ID:gS/m+Pfj]
JOGLいじってると、VBO関係がけっこうややこしいな。
C系の言語だと、メモリに各変数形の配列が並んでいるイメージがすぐに思い浮かぶけど、
Javaだと一回Bufferに変換するから一手間多くなる。

JOGLは「配列+オフセット」の形に変形してポインタを隠蔽してくれてるけど、
VBOみたいに、どの順番でどの要素が入るかプログラマが指定するようなメモリ領域を扱う場合、
どうしても「面倒な処理」を表に出さざるを得なかったんだろうな。

293 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 01:05:02 ID:IDvn4V//]
>>291
芝君元気だな
サーバーサイドじゃねーの?
それともu10以降のscriptほうれるようになったjavaプラグインとか(意味ねーけど)

>>292
JOGLはOpenGLそのまんまべたで実装することに主観がおかれてるからあんなもんだ
Cより面倒でJavaより面倒という(そのかわりJavaでラップはしやすいか)
定数とか普通のオブジェクト指向ではやらないタイプだしね

294 名前:名前は開発中のものです。 mailto:sage [2009/04/08(水) 01:22:27 ID:cu0myc7l]
JOGLの気持ち悪いのはGLUやGLUTだなあ。


GLU glu=new GLU();
glu.gluLookAt(…)

とか、いきなり普通に使えてしまう。
お前はどうやってGLにアクセスしているのかと。
CのAPIそのままなんだけど、Javaの感覚に慣れてるとかなり違和感がある。

GLU glu=new GLU(gl);

とかなら、直観的にわかるんだが、


295 名前:名前は開発中のものです。 mailto:sage [2009/04/09(木) 23:36:18 ID:QVY5xGft]
JOGLのソースファイルの場所についての質問なんですが、
先日JOGLのプログラムでエラーが発生しまして、

Caused by: java.lang.UnsupportedOperationException
at java.nio.FloatBuffer.array(Unknown Source)
at com.sun.gluegen.runtime.BufferFactory.getArray(BufferFactory.java:124)
at com.sun.opengl.impl.GLImpl.glBufferData(GLImpl.java:783)

VBOを実装してたんですが、バッファ関連でエラーのようです。

// 頂点データ配列を転送
gl.glBindBuffer(GL.GL_ARRAY_BUFFER, vboId[0]);
gl.glBufferData(GL.GL_ARRAY_BUFFER, vtxBuff.capacity()*BufferUtil.SIZEOF_FLOAT, vtxBuff, GL.GL_STATIC_DRAW); <<ここでエラー

とりあえず、なにが起こっているのか確認しようとしてGLImpl.javaを探すものの…
………なんか、このファイル、JOGL1.1.1のソースファイルの中には入ってないっぽい。

GLImpl.javaの所在をご存知の方いたら教えてください。

296 名前:名前は開発中のものです。 mailto:sage [2009/04/10(金) 01:28:18 ID:y7sVQ1aZ]
Buffer.capacity()は要素数じゃなくてバイト数だから、floatのサイズをかける必要はないんじゃないか?
ただ、このエラーはそれとは別で起こってる感じがするが。



297 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 00:44:56 ID:MyX2Juju]
ゲーム作成とは関係ない、煽りとしか思えないような書き込みが頻発したり、
ゲームの話に戻るかと思えばOpenGLの技術的な話になって初心者がついていけなくなったり、
なんか、このスレの話題は極端から極端に触れてる気がする。

住人がもっと増えれば、ゲームの話題でもうちょっともりあがれるのかね。

298 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 07:46:25 ID:nrxnXQtg]
>>295
GLImpl.javaの場所は知らんけど
Buffer#hasArray() で true 返す Buffer 渡さないとだめなんじゃね?

299 名前:名前は開発中のものです。 mailto:sage [2009/04/11(土) 19:32:25 ID:JxzVzDpH]
>>298
>>295です。
どうもです。配列をwrapするようにしたらエラーが出なくなりました。
が、まだ表示されるところまで行きません。
もうちょっと試行錯誤が必要なようで、現在悩みつつ調査中。

Bufferまわりはけっこうややこしいので、日本語の解説書がほしいところです。
オライリーからJOGL本が出たら、5000円や1万円は出すのになあ。

300 名前:名前は開発中のものです。 mailto:sage [2009/04/15(水) 23:58:29 ID:D2aVXs86]
JavaでOpenGLだとJOGLを使うのが普通だけど、ジョイスティック関係でデファクトスタンダードってあるのかな?
標準仕様ではまだ存在しないけど、JSRになってるくらいのものがあれば割と安心して使えるんだが。

301 名前:名前は開発中のものです。 mailto:sage [2009/04/16(木) 00:35:02 ID:Dl/qvkUP]
jinput

302 名前:300 mailto:sage [2009/04/16(木) 00:44:42 ID:Ge+Eyh9Z]
>>301
サンクス

303 名前:名前は開発中のものです。 [2009/05/16(土) 16:06:53 ID:1PTlJmFk]
>>171
`∧_∧
(´・ω・)
( つ旦O
と_)_)
ちょっと休憩。


304 名前:名前は開発中のものです。 [2009/06/14(日) 00:51:47 ID:YAYpVdk3]
nsj.hp2.jp/asteroid001/

こんなの作ってみました。
まだ試作品だけどよかったら誰か意見ください。

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どっちで作るのがいいと思う?
てかどっちが主流なんだろう






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<200KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef