1 名前:名前は開発中のものです。 [2008/10/28(火) 18:23:40 ID:2CMNNHdH] Javaでゲームを作ろうと思っている人、今作っている人等が情報交換するためのスレです。 2Dのスレはありましたが、総合スレがなかったので立てました。 2D,3DどっちでもOKで、グラフィックス、アルゴリズム、お勧めサイト等、内容も自由です。
62 名前:名前は開発中のものです。 mailto:sage [2008/12/01(月) 23:06:56 ID:IzI2Mrlq] ウィンドウシステムもファイルシステムも違うけど抽象化してるじゃん。 joglがやってるように対応OS毎にJNI用意すりゃあいいよね。 JCP検索してみたんだがJava3D 1.3とJava Joystickで頑張れってことなのか?
63 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 01:14:32 ID:mmNyNmbO] javaの方針だと一般的な入力デバイス以外(ジョイスティックとか障害者用デバイス)は自力でサポートしてね。 あくまでも一般的なものしかサポートしないよって方針だったはず。
64 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 01:18:42 ID:QJY2gN8F] 簡単なゲームを一から作るというと、どのデモが勉強になりますか?
65 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 14:44:11 ID:xTWiHFlp] >>64 本家のデモだけでも、経験があれば十分すぎると思う。 何気に、input系(Joystick等はともかく....)output系(簡単な画像処理とか文字表示)も ちゃんと分かりやすくできてるし。 それ以外にも、Java2Dのsampleとかも備わってるし、自分のやりたいことをしっかり纏めて置いて、 サンプルとチュートリアルを読みながら適当に実装してけば、 簡単な(ミニシューティング・オセロ・テトリスe.t.c.)のは楽に作れると思うぞ。 (Program自体初心者なら、しっかり勉強してから頑張ってね。)
66 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 16:34:41 ID:PNJqMSfB] オセロ・テトリス・アルカノイド・シューティング(自機が全方位移動可能)の順がよさそうです。 数学は結構得意なんですけど、3Dだと何から手をつければいいんでしょうか。 それと本家ってのはsunにあるjava2dのサイトのことですか?
67 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 18:03:30 ID:bSM9Wu+z] つ>>10
68 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 22:41:49 ID:SRzthf2g] 標準機能で2Dゲーム作ろうとすると、画面効果で困るのは加算半透明かなあ… JavaAPIに標準で存在しない割に、ゲームではよく使う効果だし。 あと、Swingで半透明使うとハードアクセラレート効かないのかな? かなり極端に遅くなる気がする。
69 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 00:27:16 ID:47H1cMR7] >>68 10年くらい問題になってるね。 ゲームじゃなくてもαブレンディングの種類が限られてるというだけでかなりよわいけど この場合自前でComposite作ればいいだけだからそんなに問題にはなりにくい。 ゲームだとアクセラレーションきかないとお話にならないので事実上標準で組み込まれないとダメ。 アクセラレーションの話は d.hatena.ne.jp/shin/20081122/p4 あたりを参考に
70 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 00:41:00 ID:TXHIQDym] JOGL使うとRhinoでパーティクルエンジン実装しても60fps余裕だった
71 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 10:50:57 ID:bj/RxHNI] >>66 オセロはAIが面倒じゃない? パズルの方が楽な気がする
72 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 14:48:47 ID:0FMK4MjJ] jdk1.4からだいぶよくなったんですけど、graphicsで直接戦うとMSとかPS3, wiiとかのコンソールに負けるんで、 Javaだとインプットデバイスなど各種デバイスとの連携も容易、ネットとかPCテクノロジも余裕、 とかで巻き返せるんじゃないか? DSとかwieでもいろいろ実験導入されてるけど、次の入力デバイスの鍵はセンサーなのかなとおもう。 一度任天堂ダックハントとかハイパーオリンピックでガラクタになってるから、デバイスの抱合せ販売にするよりも こういう既製品との連携・応用なのかと思う。 journal.mycom.co.jp/articles/2008/05/16/jamesgosling/003.html
73 名前:名前は開発中のものです。 [2008/12/03(水) 14:50:00 ID:0FMK4MjJ] >>71 パズルというと例えば?
74 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 15:07:06 ID:SWgsvg5G] >>71 テトリスとか? www.geocities.co.jp/Bookend/5829/java/
75 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 20:35:33 ID:iT3YBWbk] >>69 技術的にはそんなに難しい話でもないと思うんだが、まだ実装されないと言うことは 需要が無いんだろうな…… 「加算合成どうする?」 「いや、そこまで求めるユーザはJOGL使うだろ」 「まあ、それもそうか」 みたいな感じになってそうな気もする。
76 名前:名前は開発中のものです。 [2008/12/03(水) 21:32:15 ID:+SBvcgxj] javaで大富豪ゲームを作成したいのですがまったくの初心者なので参考にしたいのですが、どこかにプログラムありますか??検索したけど見つからなかったので。
77 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 22:21:37 ID:47H1cMR7] >>72 今のPCだとスペックは負けないでしょ いつのPCと比較してるか知らないけど >>75 でもJOGLがでたのは比較的最近なんだぜ
78 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 22:23:44 ID:iT3YBWbk] >>76 カードゲームだと、Java特有の処理はあんまり無いような… Image2Dクラスの使い方と、Graphicsクラスの使い方を勉強して画面表示を覚えて、 あと、MouseListenerなんかで入力方法を覚える。 ルールなんかのゲームの処理に関してはC++なんかとほぼ共通だと思う。
79 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 22:37:13 ID:iT3YBWbk] >>77 最近のPCでJOGL使えば、PS2くらいの表現はできると思う。 >>52 でレスがあるjMEとかあるし。 ただ、性能云々の問題よりも、見てくれのいい画面を作ろうと思うと、 データの作りこみで挫折するような気がする。
80 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 22:47:18 ID:u1z+UiOf] >>72 現行のミドルレンジ以上のPCでJava+OpenGLなら ある種のピーク性能以外はPS3やXbox360を圧倒できそうなもんだが。 デバイスとの連携はデバドラやOSとの絡みが出てくるから マルチプラットフォームに縛られたJavaよりC/C++や.NETが強そう。 >>77 JOGLはしらんが2000年ごろでもOpenGLのバインドは複数あったぞ? バイトで3Dチャット作ったりとかしてたし。 >>79 データの作りこみとか言語関係無い。
81 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 00:09:46 ID:KzEmpabP] Xbox360は整数演算がやたら遅い
82 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 01:16:11 ID:VHEVebHW] >>80 結局JOGLしか生き残らなかった そしてそのJOGLも2年位前にでたばっかり メンテされてなくて古いバージョンのままなんて使えないからね
83 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 01:51:21 ID:Ji7FDur6] 需要があるかどうかでで決めているんじゃないか? フレームワークを整備するにしてもその分野に投資するわけだから、開発者の理想とは多少違う原理が作用している。 ただハードについてはどういう進歩をするか未知数だし、xboxとかでjvmが動けば面白そうなのは確かだけど、最近だとネットブックとかあるからな・・・
84 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 21:50:39 ID:8CYYyQEe] >>82 JOGLはJava1.4の頃から存在するみたいだから、2年ってことはないと思う。 というか、そろそろJOGLは標準に統合するか、インストーラがついてもいいような気がする。 もう、Java2Dとレンダリングパイプラインは統合してるんだし。 知人にゲーム渡すときも、「できればJava6にしといてね」なら「はいよ」で済むけど、 「JOGL入れといてね」はけっこう敷居が高い。
85 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 23:23:53 ID:jukux4Dk] こういう本が邦訳されないかなあ Pro Java 6 3D Game Development: Java 3D, JOGL, JInput and JOAL APIs (Expert's Voice in Java) ttp://www.amazon.co.jp/Pro-Java-3D-Game-Development/dp/1590598172
86 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 23:36:38 ID:VHEVebHW] >>84 正式版がずっとでてなかったのだよ だからまだ2年ちょい それとJOGLは配布に含めてもいいし、webstartで落としてきても良い webstartならばOSによって自動で判別してくれる
87 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 23:39:50 ID:VHEVebHW] >>83 ネットブックはクソみたいなマシンパワーだよ Windows2000がでる前くらいのスペック あとnVidiaのJOGLの動き見てるとウインドウモードでも 垂直同期取ってくれるので非常に滑らかに見えてよろしい IntelとかUMAなやつはもちろんそんなことはしてくれない
88 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 23:49:14 ID:VDuy+WFo] >>85 プログラミングの本って高卒なら、英語でも大抵スラスラ読めるよ。 元々半分英語みたいなものだし。
89 名前:名前は開発中のものです。 mailto:sage [2008/12/05(金) 00:18:21 ID:+H0hMIv3] >>87 945くらいのチップセットでも、Jakeあたりはサクサク動くんじゃないか? Javaでのゲーム制作の話であれば、そのくらいの性能があれば大抵事足りるような。
90 名前:名前は開発中のものです。 mailto:sage [2008/12/05(金) 01:13:41 ID:e3ZCgJXA] あの、、、、JMonkeyEngineとかGolden T Game Engineの話もしましょうよ
91 名前:名前は開発中のものです。 mailto:sage [2008/12/05(金) 01:24:48 ID:YhYI7/EZ] GTGEは開発止まったままソース公開されてないから終わった。 JMEはまだJOGLに対応してないから始まってない。
92 名前:名前は開発中のものです。 mailto:sage [2008/12/05(金) 21:41:54 ID:+H0hMIv3] ホビーでゲーム制作するにはJavaはかなりいいと思うんだけどね。 絵を出すまでが簡単だし、標準ライブラリが充実しているからサクサク作れるし、 Eclipseが強力な開発環境を与えてくれるし、デバッグもやりやすいし。 あとは、JOGL関係の資料がもうちょっと充実してくればな…
93 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 00:34:43 ID:DBxqTjVR] Javaにどっぷりつかってから、マクロ使いまくりのCのソースを見ると暗号に見える…
94 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 00:54:04 ID:fH1XA+GI] if ((flag>>12 ) &~ 0xff == ABC_MASK)... とかも今の時代は暗号なのか!といわれる。
95 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 01:32:49 ID:HksFENgN] >>92 JOGLのいいところは大量にあるOpenGLの資料だけみればいいというところじゃないかね? じゃヴぁ3Dとは違う
96 名前:名前は開発中のものです。 [2008/12/06(土) 19:22:36 ID:xrzGyecp] といっても、OpenGLの資料もそんな無いけどな。
97 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 21:24:54 ID:DBxqTjVR] >>96 「GLUTを使わないで描画タイミングを直接制御したい」とか考え始めると、 ドカンとハードルがあがる感じがするなあ。
98 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 22:31:58 ID:8MEIfOsq] EclipseでGLクラスのメソッドを自動補完しようとすると、クソ遅いのは俺だけ? javadocから引数の一覧読み込んでるのが原因だと思う。 なんか解決策あったら教えてくれ。
99 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 02:47:55 ID:eg5RR+vG] >>98 ごめん、うちの環境だとごく普通に補完されて、特にストレスも無かった。 JOGLのバージョンが1.1だからかな?
100 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 12:45:51 ID:3k2pUL4/] Eclipse + JMonkeyEngineの話を聞かせてください
101 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 15:27:19 ID:eg5RR+vG] >>100 そもそも、jME使ってる日本人で、かつこのスレを見てる人間がどれだけいるのか…
102 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 16:56:27 ID:Zn+sddBX] jMEはJOGLがサポートされる2.0待ちだな
103 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 20:57:59 ID:eg5RR+vG] >>102 逆に考えると、Ver1.0は自前でやってたのか。 それすごいな。ネイティブコードはターゲットのプラットフォームの分だけ書かなきゃいけないのに。
104 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 22:56:57 ID:Nn+yNH/s] いやWJGL
105 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 23:01:49 ID:Nn+yNH/s] Lが抜けた
106 名前:名前は開発中のものです。 mailto:sage [2008/12/08(月) 10:53:59 ID:jgis7Tkq] NetBeans + Golden T Game Engineの話を聞かせてください
107 名前:名前は開発中のものです。 mailto:sage [2008/12/10(水) 07:54:09 ID:3D5RyeX7] JEdit + JOGL の話を聞かせてください
108 名前:名前は開発中のものです。 mailto:sage [2008/12/10(水) 08:57:26 ID:ac9Yk6uY] SEDIT+LWJGLの話を聞かせてください
109 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 01:43:21 ID:3SjWPfE1] しかし、Javaが登場してから10年以上たったけど、ようやく本格的なゲームを作れる環境が揃ってきたな。 1.4で兆しが見えて、5.0とJOGLで発展して、6で条件が揃ったという感じだろうか。 まあ、Java2Dはもうちょっと頑張ってもらいたいけど。
110 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 03:33:47 ID:gKO864oZ] Java2Dの何をがんばって欲しいんだよ。十分だろw
111 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 08:50:12 ID:Bv4Ttm4f] ぶっちゃけると5.0では速度上昇とかほとんどないよ 言語的にかなり良くなったのは確かだけど 6はゲームに関係なく大幅にパフォーマンスアップしてるからいいとして >>110 ちょっと前のレスくらい読めないか
112 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 10:58:28 ID:nPp8TJ7O] 1.4から5.0で大分変わっただろ。6が変わりすぎなだけで。 5.0だとString周りの最適化がイマイチだったからソースによっては大して変わらんが。
113 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 21:36:16 ID:Bv4Ttm4f] 5.0はVMはあんまりいじってないよ 言語関係の変更が大きいからAPIもあんまりいじらなかった
114 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 22:26:03 ID:KKKNBhB4] 個人的な感想では、5.0は「バグらなくなった」 総称型と拡張forのおかげで、collectionが格段に使いやすくなった印象がある。
115 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 00:06:35 ID:1M59rG1U] コレクションとかObject型なんていまどきありえんだろ・・・ すでに5.0だって製品終了移行期間だというのに
116 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 16:43:59 ID:TN+SZTza] なんでもいいので、Javaゲーム製作の話を聞かせてください
117 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 21:22:31 ID:jS/QiwxG] javaでゲーム作ってるがMIDPだしなぁ
118 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 23:32:28 ID:XGbF8guL] 話っていうより、まず皆さんのゲームを見せてください。
119 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 03:16:44 ID:MfbHcy6i] オープンにできる奴前提なスレが欲しければ、そういうスレを別途立てる意義があると思いますよ 人集まるかどうかは責任持てませんので、このスレの勢いあたりを参考にどうぞ
120 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 16:55:29 ID:8ZFUOkVn] >>117 ですがBSDでADVエンジン作ってますが何か?
121 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 17:21:51 ID:tDB84xdv] そういえば数年前に月山プロジェクトってのがあったような
122 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 17:25:24 ID:omChvuvp] vectorにまだあるよ
123 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 22:03:07 ID:6TEXMRk9] >>121 なにそれ? ググってもよくわからないです
124 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 22:14:22 ID:Fa0s+wiT] ググッたら一番上にvectorが出てくる。 ググり方が悪い
125 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 22:39:51 ID:6TEXMRk9] >>124 すみません 出てこないんですけど、、、 鮫島事件みたいなもんですか? 月山プロジェクト javaとか月山プロジェクト vectorでググってもそれっぽいのでてこないです よろしければURLを教えてください
126 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:13:14 ID:99CIASbr] ttp://www.google.co.jp/search?hl=ja&q=%E6%9C%88%E5%B1%B1%E3%80%80java&btnG=Google+%E6%A4%9C%E7%B4%A2&lr= なんでこの程度のことが出来ないんだ
127 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:29:52 ID:Il05ibjt] 懐かしいな。どこかの雑誌で読んだ記憶が。
128 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:48:13 ID:6TEXMRk9] >>126 そんなに怒らないで下ちゃい>< vectorから本家へのリンクが切れてるね もう、プロジェクトぽしゃったのかな?
129 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:59:03 ID:hs4jebv4] とっくの昔に消えてるがGPLならソース残してくれよ
130 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 16:23:29 ID:fQUpb2IM] jsgrid.hp.infoseek.co.jp/j3d/index8.html これ使ったことある人いたら、使い勝手の良さとか教えて下さい。
131 名前:名前は開発中のものです。 [2008/12/18(木) 16:29:55 ID:5+hYGmku] スレ違いじゃボケ!!
132 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 22:10:19 ID:mg8VfrHv] 動いてるゲームを見せてほしいのだ。 自分のじゃなくてもいいから、凄いヤツ。
133 名前:名前は開発中のものです。 [2008/12/18(木) 22:16:27 ID:5+hYGmku] だからスレ違いじゃ!! ここはゲームを作成するスレじゃ!!
134 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 05:47:06 ID:ll2XIugg] だって、Javaのゲームなんて全然見かけないじゃん。 ここで「Javaでゲーム作ってる」みたいな話してるけど、 実際は誰も作ってないんじゃないの? って疑問なわけ。
135 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 07:18:19 ID:DyRt92vu] いくらでもあるだろ
136 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 12:58:35 ID:oxoM9XoW] 有名な、Javaアプレットのマリオ ブラウザで遊べる www.mojang.com/notch/mario/ ※音注意
137 名前:名前は開発中のものです。 [2008/12/19(金) 21:45:07 ID:f7nCI5ip] 只今、プログラミングのできる人材を急募しています。以下に当てはまればどなたでも対象となります 1:Javaが使える(専門学生でも可能な範囲) 2:プログラミングが好きな方 仕事内容を簡単に説明すると、携帯アプリを開発する事です。報酬、勤務日数・勤務時間、勤務地などは直接お会いしてご相談させて頂くこととし、極力ご都合に合わせて柔軟に対応してまいります。ご相談時にお会いする場所としまししては都内の六本木とさせて頂きます 少しでも何か質問・興味がごさいましたら下記のアドレスまでメッセージをお待ちしてます。宜しくお願いします taniguchi_iii3@yahoo.co.jp
138 名前:名前は開発中のものです。 mailto:sage [2008/12/20(土) 00:31:58 ID:RcoayKqr] >>137 ギャラ書けよ
139 名前:名前は開発中のものです。 mailto:sage [2008/12/20(土) 01:14:36 ID:t79yXi4L] 2chで急募とかどんだけ切羽詰まってんだかw 不景気だろうが世知辛い愚行
140 名前:オナカ(;´Д`)スイタ [2008/12/20(土) 01:37:42 ID:kxdPfTn6] 時給5万なら
141 名前:名前は開発中のものです。 mailto:sage [2008/12/20(土) 03:54:22 ID:F7xU+Sg4] つうかマルチうざい
142 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 01:14:54 ID:0ycqBLMt] なんか、javaでゲーム製作のためのキラーフレームワークみたいなの出ないかな C#だとゲーム用フレームワーク何個かあるよね javaだとGTEGは開発止まっているっぽいし、jMEは期待したけど公式みてもよくわからんし
143 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 01:25:58 ID:2HNvbm7d] java版のXNAが出ればいいんだな。 javaでゲームって海外ですらほぼ趣味の領域なのにそんなもんは出ない気がする。
144 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 08:23:01 ID:0ycqBLMt] >>143 そうだとしたら残念 でも、javaだとDIコンテナとかWebアプリケーションフレームワークとかよく使う領域だとオープンソースのフレームワークが何個も乱立してるじゃないですか それ以外でもあまり使わない領域でSOA関連でもSCAとかJBIとかあるし、、、 だから、ゲーム関連でも1,2個フレームワークがでてきてくれて、そのうちの1個がスタンダードになってくれると嬉しいなと思った C#よりjavaの方がその手のフレームワークは多い気がする
145 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 14:06:03 ID:zTRJkVsL] 1,2個ならGTGEとjMEがあるじゃないか。 というかjava.dev.netのgameの項にいくつもホストされてるじゃないか。 ていうかjavaでゲーム作るなら自分で下層のフレームワーク作らないか? 俺はそれ使ってるんだが。
146 名前:名前は開発中のものです。 [2009/01/02(金) 09:54:41 ID:FHD5Wl49] あ、ちょうどいいや。自己宣伝。 sites.google.com/site/gorogoronyan/Home たまたま久しぶりにプログラムを書いていたもんで。 一点透視図法による自動車シミュレータのサンプル。 このあたりまではJavaでもできる。
147 名前:名前は開発中のものです。 mailto:sage [2009/01/02(金) 22:05:34 ID:NzuwmyZb] ピクセルごとにやると限界がみえてくるよね。結局メイン・メモリのアクセスが問題なんだけど。 最近思うんだけど、ピクセルごとにやるのってゲーム(アニメーション)というよりも画像処理・画像解析なんじゃないの? それと一点法だけど公式をみると比率で出してるけど、もしgpuやopenglなどのハードに頼らない従来の方法(つまりGraphics2D) でやるなら、ベクトル方程式でやるのが妥当だと思うんだけど。
148 名前:名前は開発中のものです。 mailto:sage [2009/01/02(金) 22:10:39 ID:NzuwmyZb] それと、SSEとかJNIの方も実験してみたけど、ループでまわしてテストするとJVMが落ちて使えないしこのバグの原因も良く分からないし、 バグ潰しに時間使うのバカらしいから結局JNIでSSEは諦めた。一応mingwのgccを使って。 それにFPUと比べて、SSEでやると高々2倍ぐらい処理が早くなる程度でGPU(やOpenGL)に比べるとそんなにうまみもないし、 けっきょくCPUとFPUに頼るなら、擬似3Dは試験・実験程度が限界かと思う。無理して3D化するなら品質もFF7ぐらいかな。 Java3DとかJOGLとかのハードにアクセスできるライブラリじゃないと楽しむ目的のゲームは無理だと思う(Javaはプログラミングしやすいから擬似3Dなら実装実験にはいいけど)。 まあ、頑張ってアルゴを考えちゃう人もいるんだけど、そういうのはライブラリとハードで既に実現されているわけで、もし実験目的じゃないならその労力は別のところで使えばいいんじゃないかな。
149 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 13:05:01 ID:t9akt5LC] >>146 3D化ってこうやってやるんですね。参考になりました! 遠近法以外に3D化する方法って他にあるんですか?
150 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 15:28:53 ID:Am4P4YsQ] 何もわからなければ普通にJOGLとかJava3D使ったほうがいいと思う
151 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 15:35:49 ID:ghOEma/D] ええっ!そんな・・・ Javaだと数学公式で書いてあっても結構実装しやすいんですね。
152 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 16:40:07 ID:Fpl4xlxf] 2Dゲームの話もしませう
153 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 01:01:16 ID:Klul6qgz] >>152 アルファブレンディング使わないのなら Java2Dだけで十分使えるようになった。 u10以降。 標準APIだけでここまでよくなったのはすばらしいが、 せめて加算合成だけでも実装して欲しかったなぁ。
154 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 01:54:21 ID:f23xR0rU] 自分でブレンド処理クラスとか加算合成クラスとか作るとそんなに遅いんですか? ピクセル単位でやるわけでu10でそのような処理用クラス用意したとしても結局同じだと思うんですけど。
155 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 02:33:37 ID:H12DUZW9] ハードウェアアクセラレーションがきかねぇって話をしてるんじゃないか?
156 名前:名前は開発中のものです。 [2009/01/07(水) 15:09:28 ID:RZ4OcdR7] >147 146の者です。 鋭いですね。 元がゲーム屋さんではなくて、画像処理屋さんなもんで。 3D関連にうといので実験的に作ったのですが、 本格的な話になるとPC上ではJavaよりはC#、C#よりはC++ という話になるんでしょうね。
157 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 16:18:55 ID:LMBDGvZd] いやJOGLで十分できるから
158 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 23:45:14 ID:9SF/8/R3] 2Dとか3D以前に基本的なゲームループの話とか場面管理とかクラス構成の話もしてください
159 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 23:52:14 ID:XuNNcZQw] >>156 いや、君のHPの説明は結構参考になったよ。素直なコードだし、数学・物理の公式をコード化するのとか得意なんじゃないか? ただHPにあったけどjvm上自動で行う、配列のindexチェックで遅くなるという主張はただの妄想でしかない。たしかに20マイクロ秒ぐらいは違うだろうけどw 画像処理(CGとか非リアルタイムも)が得意なら、まずJavaで実験用コード・レファレンス実装して、これをハードに組み込みするという流れになるかもしれない。 その処理コードをハードに組み込みとか会社規模でやるんじゃないなら、PC(個人向け)ではもうすぐ環境が整うだろうけど、gpuやdirectx, openglのハード(ベクトルユニット)でやるようになると思う。 ベクタライズに多少書き直すことになるけど、PGする側からみれば結局は昔からあるコンパイラ最適化技術「ループ展開」の発展版でしかない。 pc.watch.impress.co.jp/docs/2008/1225/loilo.htm GPGPU対応動画編集ソフト「Super LoiLoScope」がパッケージ販売 こんなのも出始めたから一般PG向けにそれら計算ユニット(ハード)が使える環境が整うまではあと2年ぐらい必要なんじゃないか? といっても画像処理は分岐だらけだろうから、従来のようにピクセル毎でチマチマでもあまり差はないけど。 ただ、ベクトルユニットが使えるようになるとプログラミングスタイルやアルゴリズムが少し変わると思う。 リアルタイム処理(つまりあまり厳密じゃなくかなり適当でいい処理なもの)なら今なら普通にOpenGLが旬だし、2年ぐらいならJava3Dも来るかもしれない。
160 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 00:01:36 ID:tf5zZsbW] 一言で言えばJOGLでおk
161 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 00:24:34 ID:IHwS1EtB] それと、sseも試行錯誤の末Javaからつかえるようになったけど、1.2-1.5倍、場合によっては1.7倍ぐらいかな。 よくエンコードソフトとSSE対応批評でこれだけ違うってのと大体同じ。 new float[1024]ぐらいまでなら普通にforでdst[k]+=src[k]とたいした差はなかった(高々1.1の向上程度)。 アセンブラも含めてかなり文書(英語)を読まないと使えるようにならないけど、苦労した割にはそれほど恩恵はないかな。 [16*16]程度の小さいブロックでforで処理すれば済むし、実際にはピクセル画像処理(アルファを使ったブレンドも含めて)は native vectorization_mul (dst=new float[300*300], src=new float[300*300]); とか、[300*300]など大きな塊(画像)を一度にマスク処理するようなことはしないからなぁ。 それと、intel ネイティブなのも痛いかな。opengl やgpu だとintel以外でも使えて汎用性高いし 専用ユニットだから[300*300]とかならsimdはそっちのシフトしていくような気がする(ゲームとかストリーミングとかのリアルタイム性なもの)。 一応[300*300]とかだと1.6倍ぐらいSSEの方が早いんだけど、intel用にチューニングするには結構苦労する。 この用途でのsseはgpuが普及するまでのつなぎ(5年ぐらいかな)かもしれない。 浮動小数FPUと同じくコンパイラ・言語がサポートしちゃえば楽なんだけど今のSSEの普及率はFPU程普及してないし言語・ライブラリのサポートはまだまだなのかもしれない。 これからのプログラムは画像・映像加工処理が多くでかいデータ量を一度に扱う必要があるから、5年後のsseはfpuと同じく気がつかないで使ってるとかになるんじゃないかと思う。 sseをjavaで使えるようにするにはム版のjniスレに試行錯誤を少し書いといた。 sseはintel ネイティブ機能なんだけど、だれかブログとかでまとめといて。
162 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 00:29:33 ID:IHwS1EtB] >>156 C++ってことなないよ。ライブラリはCで作るかもしれないけど、それを使うのはC++やJavaでも言語はあまり関係ない。複雑なのじゃなきゃruby(でOpenGLのAPIラップしたクラスを作って)でもいいんじゃない? つまり今ならJavaでやるならJOGLで十分。 実際SWTみたくOpenGLやDirectXのAPIをJNIでラップしてあるだけだし。C++とJavaの差では、800マイクロ秒ぐらいの差はあるかもしれないけど。