トップページgamedev
981コメント379KB

Javaゲーム作成総合スレ

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/10/28(火) 18:23:40ID:2CMNNHdH
Javaでゲームを作ろうと思っている人、今作っている人等が情報交換するためのスレです。
2Dのスレはありましたが、総合スレがなかったので立てました。
2D,3DどっちでもOKで、グラフィックス、アルゴリズム、お勧めサイト等、内容も自由です。
0065名前は開発中のものです。2008/12/02(火) 14:44:11ID:xTWiHFlp
>>64
本家のデモだけでも、経験があれば十分すぎると思う。
何気に、input系(Joystick等はともかく....)output系(簡単な画像処理とか文字表示)も
ちゃんと分かりやすくできてるし。

それ以外にも、Java2Dのsampleとかも備わってるし、自分のやりたいことをしっかり纏めて置いて、
サンプルとチュートリアルを読みながら適当に実装してけば、
簡単な(ミニシューティング・オセロ・テトリスe.t.c.)のは楽に作れると思うぞ。
(Program自体初心者なら、しっかり勉強してから頑張ってね。)
0066名前は開発中のものです。2008/12/02(火) 16:34:41ID:PNJqMSfB
オセロ・テトリス・アルカノイド・シューティング(自機が全方位移動可能)の順がよさそうです。
数学は結構得意なんですけど、3Dだと何から手をつければいいんでしょうか。
それと本家ってのはsunにあるjava2dのサイトのことですか?
0067名前は開発中のものです。2008/12/02(火) 18:03:30ID:bSM9Wu+z
>>10
0068名前は開発中のものです。2008/12/02(火) 22:41:49ID:SRzthf2g
標準機能で2Dゲーム作ろうとすると、画面効果で困るのは加算半透明かなあ…
JavaAPIに標準で存在しない割に、ゲームではよく使う効果だし。

あと、Swingで半透明使うとハードアクセラレート効かないのかな?
かなり極端に遅くなる気がする。
0069名前は開発中のものです。2008/12/03(水) 00:27:16ID:47H1cMR7
>>68
10年くらい問題になってるね。

ゲームじゃなくてもαブレンディングの種類が限られてるというだけでかなりよわいけど
この場合自前でComposite作ればいいだけだからそんなに問題にはなりにくい。

ゲームだとアクセラレーションきかないとお話にならないので事実上標準で組み込まれないとダメ。

アクセラレーションの話は
http://d.hatena.ne.jp/shin/20081122/p4
あたりを参考に
0070名前は開発中のものです。2008/12/03(水) 00:41:00ID:TXHIQDym
JOGL使うとRhinoでパーティクルエンジン実装しても60fps余裕だった
0071名前は開発中のものです。2008/12/03(水) 10:50:57ID:bj/RxHNI
>>66
オセロはAIが面倒じゃない?
パズルの方が楽な気がする
0072名前は開発中のものです。2008/12/03(水) 14:48:47ID:0FMK4MjJ
jdk1.4からだいぶよくなったんですけど、graphicsで直接戦うとMSとかPS3, wiiとかのコンソールに負けるんで、
Javaだとインプットデバイスなど各種デバイスとの連携も容易、ネットとかPCテクノロジも余裕、
とかで巻き返せるんじゃないか?

DSとかwieでもいろいろ実験導入されてるけど、次の入力デバイスの鍵はセンサーなのかなとおもう。
一度任天堂ダックハントとかハイパーオリンピックでガラクタになってるから、デバイスの抱合せ販売にするよりも
こういう既製品との連携・応用なのかと思う。
http://journal.mycom.co.jp/articles/2008/05/16/jamesgosling/003.html
0073名前は開発中のものです。2008/12/03(水) 14:50:00ID:0FMK4MjJ
>>71
パズルというと例えば?
0074名前は開発中のものです。2008/12/03(水) 15:07:06ID:SWgsvg5G
>>71
テトリスとか? 
http://www.geocities.co.jp/Bookend/5829/java/
0075名前は開発中のものです。2008/12/03(水) 20:35:33ID:iT3YBWbk
>>69
技術的にはそんなに難しい話でもないと思うんだが、まだ実装されないと言うことは
需要が無いんだろうな……

「加算合成どうする?」
「いや、そこまで求めるユーザはJOGL使うだろ」
「まあ、それもそうか」

みたいな感じになってそうな気もする。
0076名前は開発中のものです。2008/12/03(水) 21:32:15ID:+SBvcgxj
javaで大富豪ゲームを作成したいのですがまったくの初心者なので参考にしたいのですが、どこかにプログラムありますか??検索したけど見つからなかったので。
0077名前は開発中のものです。2008/12/03(水) 22:21:37ID:47H1cMR7
>>72
今のPCだとスペックは負けないでしょ
いつのPCと比較してるか知らないけど

>>75
でもJOGLがでたのは比較的最近なんだぜ
0078名前は開発中のものです。2008/12/03(水) 22:23:44ID:iT3YBWbk
>>76
カードゲームだと、Java特有の処理はあんまり無いような…

Image2Dクラスの使い方と、Graphicsクラスの使い方を勉強して画面表示を覚えて、
あと、MouseListenerなんかで入力方法を覚える。
ルールなんかのゲームの処理に関してはC++なんかとほぼ共通だと思う。
0079名前は開発中のものです。2008/12/03(水) 22:37:13ID:iT3YBWbk
>>77
最近のPCでJOGL使えば、PS2くらいの表現はできると思う。
>>52でレスがあるjMEとかあるし。

ただ、性能云々の問題よりも、見てくれのいい画面を作ろうと思うと、
データの作りこみで挫折するような気がする。
0080名前は開発中のものです。2008/12/03(水) 22:47:18ID:u1z+UiOf
>>72
現行のミドルレンジ以上のPCでJava+OpenGLなら
ある種のピーク性能以外はPS3やXbox360を圧倒できそうなもんだが。
デバイスとの連携はデバドラやOSとの絡みが出てくるから
マルチプラットフォームに縛られたJavaよりC/C++や.NETが強そう。

>>77
JOGLはしらんが2000年ごろでもOpenGLのバインドは複数あったぞ?
バイトで3Dチャット作ったりとかしてたし。

>>79
データの作りこみとか言語関係無い。
0081名前は開発中のものです。2008/12/04(木) 00:09:46ID:KzEmpabP
Xbox360は整数演算がやたら遅い
0082名前は開発中のものです。2008/12/04(木) 01:16:11ID:VHEVebHW
>>80
結局JOGLしか生き残らなかった
そしてそのJOGLも2年位前にでたばっかり
メンテされてなくて古いバージョンのままなんて使えないからね
0083名前は開発中のものです。2008/12/04(木) 01:51:21ID:Ji7FDur6
需要があるかどうかでで決めているんじゃないか?
フレームワークを整備するにしてもその分野に投資するわけだから、開発者の理想とは多少違う原理が作用している。
ただハードについてはどういう進歩をするか未知数だし、xboxとかでjvmが動けば面白そうなのは確かだけど、最近だとネットブックとかあるからな・・・
0084名前は開発中のものです。2008/12/04(木) 21:50:39ID:8CYYyQEe
>>82
JOGLはJava1.4の頃から存在するみたいだから、2年ってことはないと思う。
というか、そろそろJOGLは標準に統合するか、インストーラがついてもいいような気がする。
もう、Java2Dとレンダリングパイプラインは統合してるんだし。

知人にゲーム渡すときも、「できればJava6にしといてね」なら「はいよ」で済むけど、
「JOGL入れといてね」はけっこう敷居が高い。
0085名前は開発中のものです。2008/12/04(木) 23:23:53ID: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
0086名前は開発中のものです。2008/12/04(木) 23:36:38ID:VHEVebHW
>>84
正式版がずっとでてなかったのだよ
だからまだ2年ちょい

それとJOGLは配布に含めてもいいし、webstartで落としてきても良い
webstartならばOSによって自動で判別してくれる
0087名前は開発中のものです。2008/12/04(木) 23:39:50ID:VHEVebHW
>>83
ネットブックはクソみたいなマシンパワーだよ
Windows2000がでる前くらいのスペック

あとnVidiaのJOGLの動き見てるとウインドウモードでも
垂直同期取ってくれるので非常に滑らかに見えてよろしい

IntelとかUMAなやつはもちろんそんなことはしてくれない
0088名前は開発中のものです。2008/12/04(木) 23:49:14ID:VDuy+WFo
>>85
プログラミングの本って高卒なら、英語でも大抵スラスラ読めるよ。
元々半分英語みたいなものだし。
0089名前は開発中のものです。2008/12/05(金) 00:18:21ID:+H0hMIv3
>>87
945くらいのチップセットでも、Jakeあたりはサクサク動くんじゃないか?
Javaでのゲーム制作の話であれば、そのくらいの性能があれば大抵事足りるような。
0090名前は開発中のものです。2008/12/05(金) 01:13:41ID:e3ZCgJXA
あの、、、、JMonkeyEngineとかGolden T Game Engineの話もしましょうよ
0091名前は開発中のものです。2008/12/05(金) 01:24:48ID:YhYI7/EZ
GTGEは開発止まったままソース公開されてないから終わった。
JMEはまだJOGLに対応してないから始まってない。
0092名前は開発中のものです。2008/12/05(金) 21:41:54ID:+H0hMIv3
ホビーでゲーム制作するにはJavaはかなりいいと思うんだけどね。
絵を出すまでが簡単だし、標準ライブラリが充実しているからサクサク作れるし、
Eclipseが強力な開発環境を与えてくれるし、デバッグもやりやすいし。

あとは、JOGL関係の資料がもうちょっと充実してくればな…
0093名前は開発中のものです。2008/12/06(土) 00:34:43ID:DBxqTjVR
Javaにどっぷりつかってから、マクロ使いまくりのCのソースを見ると暗号に見える…
0094名前は開発中のものです。2008/12/06(土) 00:54:04ID:fH1XA+GI
if ((flag>>12) &~ 0xff == ABC_MASK)...
とかも今の時代は暗号なのか!といわれる。
0095名前は開発中のものです。2008/12/06(土) 01:32:49ID:HksFENgN
>>92
JOGLのいいところは大量にあるOpenGLの資料だけみればいいというところじゃないかね?
じゃヴぁ3Dとは違う
0096名前は開発中のものです。2008/12/06(土) 19:22:36ID:xrzGyecp
といっても、OpenGLの資料もそんな無いけどな。
0097名前は開発中のものです。2008/12/06(土) 21:24:54ID:DBxqTjVR
>>96
「GLUTを使わないで描画タイミングを直接制御したい」とか考え始めると、
ドカンとハードルがあがる感じがするなあ。
0098名前は開発中のものです。2008/12/06(土) 22:31:58ID:8MEIfOsq
EclipseでGLクラスのメソッドを自動補完しようとすると、クソ遅いのは俺だけ?
javadocから引数の一覧読み込んでるのが原因だと思う。
なんか解決策あったら教えてくれ。
0099名前は開発中のものです。2008/12/07(日) 02:47:55ID:eg5RR+vG
>>98
ごめん、うちの環境だとごく普通に補完されて、特にストレスも無かった。
JOGLのバージョンが1.1だからかな?
0100名前は開発中のものです。2008/12/07(日) 12:45:51ID:3k2pUL4/
Eclipse + JMonkeyEngineの話を聞かせてください
0101名前は開発中のものです。2008/12/07(日) 15:27:19ID:eg5RR+vG
>>100
そもそも、jME使ってる日本人で、かつこのスレを見てる人間がどれだけいるのか…
0102名前は開発中のものです。2008/12/07(日) 16:56:27ID:Zn+sddBX
jMEはJOGLがサポートされる2.0待ちだな
0103名前は開発中のものです。2008/12/07(日) 20:57:59ID:eg5RR+vG
>>102
逆に考えると、Ver1.0は自前でやってたのか。
それすごいな。ネイティブコードはターゲットのプラットフォームの分だけ書かなきゃいけないのに。
0104名前は開発中のものです。2008/12/07(日) 22:56:57ID:Nn+yNH/s
いやWJGL
0105名前は開発中のものです。2008/12/07(日) 23:01:49ID:Nn+yNH/s
Lが抜けた
0106名前は開発中のものです。2008/12/08(月) 10:53:59ID:jgis7Tkq
NetBeans + Golden T Game Engineの話を聞かせてください
0107名前は開発中のものです。2008/12/10(水) 07:54:09ID:3D5RyeX7
JEdit + JOGL の話を聞かせてください
0108名前は開発中のものです。2008/12/10(水) 08:57:26ID:ac9Yk6uY
SEDIT+LWJGLの話を聞かせてください
0109名前は開発中のものです。2008/12/12(金) 01:43:21ID:3SjWPfE1
しかし、Javaが登場してから10年以上たったけど、ようやく本格的なゲームを作れる環境が揃ってきたな。
1.4で兆しが見えて、5.0とJOGLで発展して、6で条件が揃ったという感じだろうか。

まあ、Java2Dはもうちょっと頑張ってもらいたいけど。
0110名前は開発中のものです。2008/12/12(金) 03:33:47ID:gKO864oZ
Java2Dの何をがんばって欲しいんだよ。十分だろw
0111名前は開発中のものです。2008/12/12(金) 08:50:12ID:Bv4Ttm4f
ぶっちゃけると5.0では速度上昇とかほとんどないよ
言語的にかなり良くなったのは確かだけど

6はゲームに関係なく大幅にパフォーマンスアップしてるからいいとして

>>110
ちょっと前のレスくらい読めないか
0112名前は開発中のものです。2008/12/12(金) 10:58:28ID:nPp8TJ7O
1.4から5.0で大分変わっただろ。6が変わりすぎなだけで。
5.0だとString周りの最適化がイマイチだったからソースによっては大して変わらんが。
0113名前は開発中のものです。2008/12/12(金) 21:36:16ID:Bv4Ttm4f
5.0はVMはあんまりいじってないよ
言語関係の変更が大きいからAPIもあんまりいじらなかった
0114名前は開発中のものです。2008/12/12(金) 22:26:03ID:KKKNBhB4
個人的な感想では、5.0は「バグらなくなった」
総称型と拡張forのおかげで、collectionが格段に使いやすくなった印象がある。
0115名前は開発中のものです。2008/12/13(土) 00:06:35ID:1M59rG1U
コレクションとかObject型なんていまどきありえんだろ・・・
すでに5.0だって製品終了移行期間だというのに
0116名前は開発中のものです。2008/12/14(日) 16:43:59ID:TN+SZTza
なんでもいいので、Javaゲーム製作の話を聞かせてください
0117名前は開発中のものです。2008/12/14(日) 21:22:31ID:jS/QiwxG
javaでゲーム作ってるがMIDPだしなぁ
0118名前は開発中のものです。2008/12/14(日) 23:32:28ID:XGbF8guL
話っていうより、まず皆さんのゲームを見せてください。
0119名前は開発中のものです。2008/12/17(水) 03:16:44ID:MfbHcy6i
オープンにできる奴前提なスレが欲しければ、そういうスレを別途立てる意義があると思いますよ
人集まるかどうかは責任持てませんので、このスレの勢いあたりを参考にどうぞ
0120名前は開発中のものです。2008/12/17(水) 16:55:29ID:8ZFUOkVn
>>117ですがBSDでADVエンジン作ってますが何か?
0121名前は開発中のものです。2008/12/17(水) 17:21:51ID:tDB84xdv
そういえば数年前に月山プロジェクトってのがあったような
0122名前は開発中のものです。2008/12/17(水) 17:25:24ID:omChvuvp
vectorにまだあるよ
0123名前は開発中のものです。2008/12/17(水) 22:03:07ID:6TEXMRk9
>>121
なにそれ?
ググってもよくわからないです
0124名前は開発中のものです。2008/12/17(水) 22:14:22ID:Fa0s+wiT
ググッたら一番上にvectorが出てくる。
ググり方が悪い
0125名前は開発中のものです。2008/12/17(水) 22:39:51ID:6TEXMRk9
>>124
すみません
出てこないんですけど、、、
鮫島事件みたいなもんですか?

月山プロジェクト javaとか月山プロジェクト vectorでググってもそれっぽいのでてこないです
よろしければURLを教えてください
0126名前は開発中のものです。2008/12/17(水) 23:13:14ID: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=

なんでこの程度のことが出来ないんだ
0127名前は開発中のものです。2008/12/17(水) 23:29:52ID:Il05ibjt
懐かしいな。どこかの雑誌で読んだ記憶が。
0128名前は開発中のものです。2008/12/17(水) 23:48:13ID:6TEXMRk9
>>126
そんなに怒らないで下ちゃい><
vectorから本家へのリンクが切れてるね
もう、プロジェクトぽしゃったのかな?
0129名前は開発中のものです。2008/12/17(水) 23:59:03ID:hs4jebv4
とっくの昔に消えてるがGPLならソース残してくれよ
0130名前は開発中のものです。2008/12/18(木) 16:23:29ID:fQUpb2IM
http://jsgrid.hp.infoseek.co.jp/j3d/index8.html
これ使ったことある人いたら、使い勝手の良さとか教えて下さい。
0131名前は開発中のものです。2008/12/18(木) 16:29:55ID:5+hYGmku
スレ違いじゃボケ!!
0132名前は開発中のものです。2008/12/18(木) 22:10:19ID:mg8VfrHv
動いてるゲームを見せてほしいのだ。
自分のじゃなくてもいいから、凄いヤツ。
0133名前は開発中のものです。2008/12/18(木) 22:16:27ID:5+hYGmku
だからスレ違いじゃ!!
ここはゲームを作成するスレじゃ!!
0134名前は開発中のものです。2008/12/19(金) 05:47:06ID:ll2XIugg
だって、Javaのゲームなんて全然見かけないじゃん。
ここで「Javaでゲーム作ってる」みたいな話してるけど、
実際は誰も作ってないんじゃないの?
って疑問なわけ。
0135名前は開発中のものです。2008/12/19(金) 07:18:19ID:DyRt92vu
いくらでもあるだろ
0136名前は開発中のものです。2008/12/19(金) 12:58:35ID:oxoM9XoW
有名な、Javaアプレットのマリオ
ブラウザで遊べる
http://www.mojang.com/notch/mario/
※音注意
0137名前は開発中のものです。2008/12/19(金) 21:45:07ID:f7nCI5ip
只今、プログラミングのできる人材を急募しています。以下に当てはまればどなたでも対象となります

1:Javaが使える(専門学生でも可能な範囲)

2:プログラミングが好きな方

仕事内容を簡単に説明すると、携帯アプリを開発する事です。報酬、勤務日数・勤務時間、勤務地などは直接お会いしてご相談させて頂くこととし、極力ご都合に合わせて柔軟に対応してまいります。ご相談時にお会いする場所としまししては都内の六本木とさせて頂きます


少しでも何か質問・興味がごさいましたら下記のアドレスまでメッセージをお待ちしてます。宜しくお願いします

taniguchi_iii3@yahoo.co.jp

0138名前は開発中のものです。2008/12/20(土) 00:31:58ID:RcoayKqr
>>137
ギャラ書けよ
0139名前は開発中のものです。2008/12/20(土) 01:14:36ID:t79yXi4L
2chで急募とかどんだけ切羽詰まってんだかw
不景気だろうが世知辛い愚行
0140オナカ(;´Д`)スイタ2008/12/20(土) 01:37:42ID:kxdPfTn6
時給5万なら
0141名前は開発中のものです。2008/12/20(土) 03:54:22ID:F7xU+Sg4
つうかマルチうざい
0142名前は開発中のものです。2008/12/28(日) 01:14:54ID:0ycqBLMt
なんか、javaでゲーム製作のためのキラーフレームワークみたいなの出ないかな
C#だとゲーム用フレームワーク何個かあるよね
javaだとGTEGは開発止まっているっぽいし、jMEは期待したけど公式みてもよくわからんし
0143名前は開発中のものです。2008/12/28(日) 01:25:58ID:2HNvbm7d
java版のXNAが出ればいいんだな。
javaでゲームって海外ですらほぼ趣味の領域なのにそんなもんは出ない気がする。
0144名前は開発中のものです。2008/12/28(日) 08:23:01ID:0ycqBLMt
>>143
そうだとしたら残念
でも、javaだとDIコンテナとかWebアプリケーションフレームワークとかよく使う領域だとオープンソースのフレームワークが何個も乱立してるじゃないですか
それ以外でもあまり使わない領域でSOA関連でもSCAとかJBIとかあるし、、、
だから、ゲーム関連でも1,2個フレームワークがでてきてくれて、そのうちの1個がスタンダードになってくれると嬉しいなと思った
C#よりjavaの方がその手のフレームワークは多い気がする
0145名前は開発中のものです。2008/12/28(日) 14:06:03ID:zTRJkVsL
1,2個ならGTGEとjMEがあるじゃないか。
というかjava.dev.netのgameの項にいくつもホストされてるじゃないか。

ていうかjavaでゲーム作るなら自分で下層のフレームワーク作らないか?
俺はそれ使ってるんだが。
0146名前は開発中のものです。2009/01/02(金) 09:54:41ID:FHD5Wl49
あ、ちょうどいいや。自己宣伝。
http://sites.google.com/site/gorogoronyan/Home
たまたま久しぶりにプログラムを書いていたもんで。
一点透視図法による自動車シミュレータのサンプル。
このあたりまではJavaでもできる。
0147名前は開発中のものです。2009/01/02(金) 22:05:34ID:NzuwmyZb
ピクセルごとにやると限界がみえてくるよね。結局メイン・メモリのアクセスが問題なんだけど。

最近思うんだけど、ピクセルごとにやるのってゲーム(アニメーション)というよりも画像処理・画像解析なんじゃないの?
それと一点法だけど公式をみると比率で出してるけど、もしgpuやopenglなどのハードに頼らない従来の方法(つまりGraphics2D)
でやるなら、ベクトル方程式でやるのが妥当だと思うんだけど。

0148名前は開発中のものです。2009/01/02(金) 22:10:39ID:NzuwmyZb
それと、SSEとかJNIの方も実験してみたけど、ループでまわしてテストするとJVMが落ちて使えないしこのバグの原因も良く分からないし、
バグ潰しに時間使うのバカらしいから結局JNIでSSEは諦めた。一応mingwのgccを使って。
それにFPUと比べて、SSEでやると高々2倍ぐらい処理が早くなる程度でGPU(やOpenGL)に比べるとそんなにうまみもないし、
けっきょくCPUとFPUに頼るなら、擬似3Dは試験・実験程度が限界かと思う。無理して3D化するなら品質もFF7ぐらいかな。
Java3DとかJOGLとかのハードにアクセスできるライブラリじゃないと楽しむ目的のゲームは無理だと思う(Javaはプログラミングしやすいから擬似3Dなら実装実験にはいいけど)。
まあ、頑張ってアルゴを考えちゃう人もいるんだけど、そういうのはライブラリとハードで既に実現されているわけで、もし実験目的じゃないならその労力は別のところで使えばいいんじゃないかな。
0149名前は開発中のものです。2009/01/06(火) 13:05:01ID:t9akt5LC
>>146
3D化ってこうやってやるんですね。参考になりました!
遠近法以外に3D化する方法って他にあるんですか?
0150名前は開発中のものです。2009/01/06(火) 15:28:53ID:Am4P4YsQ
何もわからなければ普通にJOGLとかJava3D使ったほうがいいと思う
0151名前は開発中のものです。2009/01/06(火) 15:35:49ID:ghOEma/D
ええっ!そんな・・・
Javaだと数学公式で書いてあっても結構実装しやすいんですね。
0152名前は開発中のものです。2009/01/06(火) 16:40:07ID:Fpl4xlxf
2Dゲームの話もしませう
0153名前は開発中のものです。2009/01/07(水) 01:01:16ID:Klul6qgz
>>152
アルファブレンディング使わないのなら
Java2Dだけで十分使えるようになった。
u10以降。

標準APIだけでここまでよくなったのはすばらしいが、
せめて加算合成だけでも実装して欲しかったなぁ。
0154名前は開発中のものです。2009/01/07(水) 01:54:21ID:f23xR0rU
自分でブレンド処理クラスとか加算合成クラスとか作るとそんなに遅いんですか?
ピクセル単位でやるわけでu10でそのような処理用クラス用意したとしても結局同じだと思うんですけど。
0155名前は開発中のものです。2009/01/07(水) 02:33:37ID:H12DUZW9
ハードウェアアクセラレーションがきかねぇって話をしてるんじゃないか?
0156名前は開発中のものです。2009/01/07(水) 15:09:28ID:RZ4OcdR7
>147
146の者です。
鋭いですね。
元がゲーム屋さんではなくて、画像処理屋さんなもんで。
3D関連にうといので実験的に作ったのですが、
本格的な話になるとPC上ではJavaよりはC#、C#よりはC++
という話になるんでしょうね。
0157名前は開発中のものです。2009/01/07(水) 16:18:55ID:LMBDGvZd
いやJOGLで十分できるから
0158名前は開発中のものです。2009/01/07(水) 23:45:14ID:9SF/8/R3
2Dとか3D以前に基本的なゲームループの話とか場面管理とかクラス構成の話もしてください
0159名前は開発中のものです。2009/01/07(水) 23:52:14ID:XuNNcZQw
>>156
いや、君のHPの説明は結構参考になったよ。素直なコードだし、数学・物理の公式をコード化するのとか得意なんじゃないか?
ただHPにあったけどjvm上自動で行う、配列のindexチェックで遅くなるという主張はただの妄想でしかない。たしかに20マイクロ秒ぐらいは違うだろうけどw

画像処理(CGとか非リアルタイムも)が得意なら、まずJavaで実験用コード・レファレンス実装して、これをハードに組み込みするという流れになるかもしれない。
その処理コードをハードに組み込みとか会社規模でやるんじゃないなら、PC(個人向け)ではもうすぐ環境が整うだろうけど、gpuやdirectx, openglのハード(ベクトルユニット)でやるようになると思う。
ベクタライズに多少書き直すことになるけど、PGする側からみれば結局は昔からあるコンパイラ最適化技術「ループ展開」の発展版でしかない。

http://pc.watch.impress.co.jp/docs/2008/1225/loilo.htm
GPGPU対応動画編集ソフト「Super LoiLoScope」がパッケージ販売

こんなのも出始めたから一般PG向けにそれら計算ユニット(ハード)が使える環境が整うまではあと2年ぐらい必要なんじゃないか?
といっても画像処理は分岐だらけだろうから、従来のようにピクセル毎でチマチマでもあまり差はないけど。
ただ、ベクトルユニットが使えるようになるとプログラミングスタイルやアルゴリズムが少し変わると思う。
リアルタイム処理(つまりあまり厳密じゃなくかなり適当でいい処理なもの)なら今なら普通にOpenGLが旬だし、2年ぐらいならJava3Dも来るかもしれない。

0160名前は開発中のものです。2009/01/08(木) 00:01:36ID:tf5zZsbW
一言で言えばJOGLでおk
0161名前は開発中のものです。2009/01/08(木) 00:24:34ID: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 ネイティブ機能なんだけど、だれかブログとかでまとめといて。
0162名前は開発中のものです。2009/01/08(木) 00:29:33ID:IHwS1EtB
>>156
C++ってことなないよ。ライブラリはCで作るかもしれないけど、それを使うのはC++やJavaでも言語はあまり関係ない。複雑なのじゃなきゃruby(でOpenGLのAPIラップしたクラスを作って)でもいいんじゃない?
つまり今ならJavaでやるならJOGLで十分。
実際SWTみたくOpenGLやDirectXのAPIをJNIでラップしてあるだけだし。C++とJavaの差では、800マイクロ秒ぐらいの差はあるかもしれないけど。
0163名前は開発中のものです。2009/01/08(木) 00:58:26ID:qJ7iXp4o
だからなんでJOGLでおkな話をそう長々といちいちレスするんだ。一人で喋ってて楽しいのか?
0164名前は開発中のものです。2009/01/08(木) 02:07:06ID:22rtTB5l
ソフトレンダならもちろんマルチコア対応してるよね?
■ このスレッドは過去ログ倉庫に格納されています