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

Javaゲーム作成総合スレ

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/10/28(火) 18:23:40ID:2CMNNHdH
Javaでゲームを作ろうと思っている人、今作っている人等が情報交換するためのスレです。
2Dのスレはありましたが、総合スレがなかったので立てました。
2D,3DどっちでもOKで、グラフィックス、アルゴリズム、お勧めサイト等、内容も自由です。
0493名前は開発中のものです。2009/12/16(水) 22:37:51ID:6cbFeaq2
>>492
すげぇ、、、
俺なんて基本的なRPGすらまともに完成できそうになくてなきそうなのにorz
やっぱ、ソフトウェアは個人の能力差がもろにでるな
まあ、もうちょっとがんばって完成目指すよ
0494名前は開発中のものです。2009/12/18(金) 06:13:38ID: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)
0495名前は開発中のものです。2009/12/20(日) 13:45:31ID:+V/0tKfc
それ一次元でしょ
0496名前は開発中のものです。2009/12/20(日) 16:02:53ID:OajyaggP
>>483からの流れでどこに多次元配列が?
0497名前は開発中のものです。2009/12/20(日) 20:30:53ID:c3hPAZR6
多次元だとリファレンスの配列になって32bit分喰うっていうのはあるな
しかし1次元少ないから大きい配列だと支配的ではない
0498名前は開発中のものです。2009/12/22(火) 00:27:08ID:m1M3sFMT
JOGLとJava3Dでゲーム作った.

http://www10.ocn.ne.jp/~shinod/game/java/Baller0.00001.zip

もしプレイしたら,感想聞かせてくれるとうれしい.
0499名前は開発中のものです。2009/12/22(火) 13:35:06ID:hmqOLPIl
>498
java.io.FileNotFoundException: world.bmp (指定されたファイルが見つかりません。)
at Baller.init(Baller.java:672)
が出るけどいいのかな?

思ったより面白かった 2面とか、次々発生するようにするのかな

だが視点によって変になるときがあるな・・・これはしょうがない?
0500名前は開発中のものです。2009/12/22(火) 19:31:45ID:m1M3sFMT
>>499
とりあえず使ってないので,ゲームが正常にできるなら良いです.thx.

>だが視点によって変になるときがある
なんかバグはあるかも.
0501名前は開発中のものです。2009/12/31(木) 06:42:10ID:VlIgB2+S
宣伝age

敵性オブジェクトを実装した.
と言っても,自機に向かって旋回移動して,弾を発射してくるだけ.
障害物などの回避は一切しない.

http://www10.ocn.ne.jp/~shinod/game/java/Baller0.00002.zip
0502名前は開発中のものです。2010/01/03(日) 03:47:49ID:M0YzzCX0
javaでゲーム作ろうって人こんなにいるんだ。勇気付けられるねぇ。
中身見てないけどjava3dとjoglって組み合わせると良くないとか
聞いたことなくはないけどどうなんかね。

あとjava3dやjoglを使う場合はゲームに始めから同封したほうが
いいと思われるよ。ファイルサイズが何MB増えても、やはりユーザー
としては訳分からんものをとって来させられるのは苦痛らしい。

実行ファイルと同じフォルダに入れてマニフェストファイルから
classpath指定してやるだけで動くから。
0503名前は開発中のものです。2010/01/03(日) 04:55:35ID:DHnbDAoH
反町って韓国から帰ってきた?
0504名前は開発中のものです。2010/01/03(日) 15:41:51ID:c4cjbicy
ライセンスがダメなのかなーと思ったけど大丈夫そうだしね
>Java3D
0505名前は開発中のものです。2010/01/03(日) 22:11:43ID:AXfntCHB
>>502
アドレスを見る限り、そんな容量は使えそうにない人だろう。
ま、どこか適当な場所を用意すれば済むんだろうけど、
そこまでするもんでもないと思ってるんじゃないかな多分。

いずれにしろ俺は遊んでないので、>>502の意見は真理だと思う。
0506名前は開発中のものです。2010/01/04(月) 23:59:02ID:x7MCfIiy
ocn鯖って10MBしか置けないんじゃ…

java3dってライセンスよく分からないんだけど誰か説明してくれてる人いないのかな…。
再配布に関してはlicenseのRedistributableの項目に「自作アプリから利用する目的のみでバンドル
する場合なら再配布可能」とはあるんだけど、GPL v2 CLASSPATH exceptionというのが
よく分からない。多分「classpathで動的リンクされる場合のみGPL守らなくていいですよ」
ということなんだろうけど、コレを説明している公式の英文が読みづらくて
分からないのよね…。
0507名前は開発中のものです。2010/01/05(火) 20:45:50ID:Nec4HdHu
>GPL v2 CLASSPATH exception
これどこにある?

俺が読む限りだと、商用/非商用問わず、バンドルする場合で、
修正/変更なしなら再配布可と書いてあるように読めるんだが・・・
もちろんドキュメンテーションや免責を含めろとも書いてあるけど。
0508名前は開発中のものです。2010/01/06(水) 02:40:54ID:89pgGn6V
https://java3d.dev.java.net/の「license」の項目に書いてある。
要約するとつまり「一部はBSDだけど一部はGPL v2 classpath exceptionですよ」とある。

GPL v2 classpath exceptionはJDKで新しく採用されたJava関連の特殊ライセンス体系で、
原文はhttp://en.wikipedia.org/wiki/GPL_linking_exceptionの「The classpath exception」
以下に書いてあるんだけど、これが読めない…。こんな重要な英文なのに1文がやたら長いって
アメリカンすぎるだろ

http://blog.taragana.com/index.php/archive/java-open-sourcing-details/ja/に機械翻訳
も載ってるけど英語のほうがまだマシというくらいイミフw

まぁjava3d本体付属のライセンスに>>507以外特に何も書いていないし、おそらく
問題ないんだろうけど…
05095082010/01/06(水) 02:59:17ID:89pgGn6V
http://ja.wikipedia.org/wiki/GPL%E3%83%AA%E3%83%B3%E3%82%AF%E4%BE%8B%E5%A4%96
ごめん。日本語版見つけて自己解決した…。
0510名前は開発中のものです。2010/01/06(水) 22:20:54ID:IKqkhxN8
その日本語でよく分かるな。
0511名前は開発中のものです。2010/01/09(土) 01:03:31ID:Vzjk76l2
宣伝age.誘導弾発射を実装した.

http://www10.ocn.ne.jp/~shinod/game/java/Baller0.00003.zip

jogl, java3d のバンドルについては,他人が作ったものをくっつけて配布するのは
なんだか気が引けたし,面倒なのでやってない.
0512名前は開発中のものです。2010/01/09(土) 17:00:15ID:X21U+ciY
>509のリンク先の日本語が我慢ならないレベルだったので
自分なりに訳してみた
As a special exceptionって段落

特殊な例外として、このライブラリの著作権者は、
独立したモジュールをこのライブラリとリンクして
実行可能ファイルを作ることを、
それらの独立したモジュールのライセンス条項に関わらず許可する。

また、結果としてできた実行ファイルを任意の条項の下に
コピー及び配布することも許可するが、
リンクされた他の独立したモジュール全てに対して
各モジュールのライセンス条項と使用許諾を守る場合に限る。

ここでいう独立したモジュールとは、本ライブラリの派生物でも、
本ライブラリに依拠したものでもないモジュールを指す。

本ライブラリを改変した場合、この例外条項を
改変版ライブラリに適用してもよいが、
そうすることに義務はない。

例外条項を適用する意志がないのなら、
改変版からこの例外条項を削除すること。
0513名前は開発中のものです。2010/01/09(土) 17:12:21ID:X21U+ciY
ttp://www.gnu.org/software/classpath/license.html
classpath自体を改変しないなら静的リンクでも問題なさそうにも見える
間違ってるかも知れないが
0514名前は開発中のものです。2010/01/10(日) 00:39:30ID:aDa5gCd8
>>509
おお…素晴らしい。もうwikipediaの文章コレで書き換えたほうがいいんじゃないかw

>>513
どうなんだろう。そもそも「独立している」という定義が良く分からない。おそらく
ライブラリA→B→Cみたいに中間コードを噛ませることで
ライセンスを逃れるみたいな状況を回避するために書かれている所もあるんだろうから、
動的リンクか静的リンクかが問題になっていない可能性はある。

LGPL…どんなに巨大なアプリケーションでもLGPLライブラリの派生物だと強制される
GPL classpath exception…独立していると認められればライブラリの派生物ではない

いずれGPL linking exceptionはLGPLと違って結構安心できる(甘いライセンス)はず
でしょう。リバースエンジニア(=デコンパイル)を禁止できないLGPLでは、デコンパイルが
容易なjavaにとってはGPLとなんら変わらないことになってしまう

そういう理由でGPL classpath exceptionが採用されたのかもしれない
0515名前は開発中のものです。2010/01/18(月) 21:11:05ID:dlNY6FyO
クラスパス例外付けなきゃ生成物までGPL継承するでしょ。
JDKやJava3Dはクラスパス例外付けなきゃそれで作ったアプリケーションまでソース公開になるがPhoneMEはただのランタイムだから付いてない。
そういう問題。
LGPLでソース修正なしに動的リンクすれば独立してると認められるけど
SFSは今後はLGPLではなくクラスパス例外付きGPLを使ってくれとアナウンスしたからそれにしたがったんだろう。
0516名前は開発中のものです。2010/01/18(月) 21:30:35ID:dlNY6FyO
それよりおまえら、JOGLで2Dと3D混在するときはどういう実装してる?

com.sun.opengl.util.j2dパッケージのレンダラ群つかうと2D描画するときにJava2Dパイプライン経由になって
劇遅になるからdrawImageは板作ってテクスチャ貼ってて感じでやってるけど。
ちなみにGraphics2DをオーバーライドしてるからコードはJava2Dと変わらん。
(というかライブラリで描画バックエンド差し替え可のインターフェイス統一だから
Java2DだろうがバッファーストラテジだろうがJOGLだろうが変わらん)
0517名前は開発中のものです。2010/01/20(水) 21:51:21ID:kTDZ/tcO
宣伝age 効果音を鳴らすようにした
http://www10.ocn.ne.jp/~shinod/game/java/Baller0.00006.zip

>>516
2D使ってないから,わかんね
0518名前は開発中のものです。2010/01/23(土) 01:00:37ID: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空間上でテクスチャとして表示した方が速い。
0519名前は開発中のものです。2010/02/06(土) 05:33:18ID:ajoGIZRs
DirectDrawも下位互換のために残ってるだけで
2D表示はビルボードが推奨されてるね
最近のGPUに至っては2Dのハードウェアアクセラレートをしないのもあったはず
0520名前は開発中のものです。2010/02/06(土) 21:11:41ID:uFKJJ/6Y
宣伝age 複数ステージを実装したり敵の数を増やしたりした

http://www10.ocn.ne.jp/~shinod/game/java/Baller0.00007.zip
0521名前は開発中のものです。2010/02/16(火) 23:07:36ID:i+TR14Tz
自作ゲームエンジンを手間かけてVBO化して
「これでOpenGL3.x時代にも完全対応だぜ!」と喜んでいたら、
ディスプレイリスト+glVertexの方がむしろ高速だった。

泣きたい。
0522名前は開発中のものです。2010/02/16(火) 23:46:43ID:SsJEiu+Z
glVertex()をglDrawArray()にかえるともっと早いぞ。
0523名前は開発中のものです。2010/02/17(水) 20:47:58ID:WYrUY0x5
ディスプレイリストいいよな
なんで廃止するんだろう
0524名前は開発中のものです。2010/02/18(木) 00:10:33ID:vE6JDb4d
手続き型臭いからじゃね?
OpenGL ESには元からないでしょ
0525名前は開発中のものです。2010/02/18(木) 00:20:01ID:TESa05KF
glBegin、glEndを無くしますと言われても、
我々のような趣味のゲームビルダーはVBOに移行すると思う。
ゲーム的な発想からすれば、それほど違和感無いし。

問題は、ゲームやCGが専門でない研究者とか技術者が、
「可視化の手段」としてOpenGLを使っていた場合じゃないか。
彼らに三角形表示するためにシェーダ書いてくださいというのは酷だろう。

…というか、GLUTや赤本はどうなるんだ?
0526名前は開発中のものです。2010/02/18(木) 19:42:59ID:elgZU+Tz
宣伝age 弾の数を増やしてみた

http://www10.ocn.ne.jp/~shinod/game/java/Baller0.00013.zip

ディスプレイリストって無くなるの? それを使ってゲームを高速にしたばかりなのに.
VBOとやらを勉強しなきゃいかんのかな.
0527名前は開発中のものです。2010/02/18(木) 23:57:56ID:mVpRkEUs
javaでプログラミングの勉強始めたいが、何をダウンロードしたらいいのかもわからない。
2003年発行の「ゲーム作りで学ぶJavaプログラミング入門」を借りてきたら、
J2SE 1.4.1を使って解説してるけど、ググったらすでにサービス終了だった。
今だったら、どれをダウンロードしたらいいの?
最新のをダウンロードしても、J2SE 1.4.1準拠のテキストで勉強できるの?
0528名前は開発中のものです。2010/02/19(金) 00:11:50ID:RaKdEUci
>>527
基本的には、1.4世代のコードは最新のJava6でも普通に動く。
ただ、これから勉強するならJava5以降の方がいいと思うが。
0529名前は開発中のものです。2010/02/19(金) 08:11:45ID:+Pv/DaT4
>>527
入門レベルならJavaのバージョンはあまり関係無いはず
極端に言えばオブジェクト指向言語でさえあればJavaである必要すら無いよ
おれもまともに勉強したのはC++だけだけど、
その他の高級言語もリファレンス読むだけで使いこなせてるし
0530名前は開発中のものです。2010/02/20(土) 16:13:25ID:MPj95+GX
C++ができれば、大抵の言語は大丈夫だろう。
高級アセンブラ+オブジェクト指向というなんでもあり状態だし。

逆に、JavaからC++に行った時の方が混乱しそうだ。
05315272010/02/20(土) 16:23:21ID:oPyOq2Qj
色々と意見をありがとう。
これから始める初心者なんで、扱いやすくて簡単と聞いたJavaから始めようと思ってたんだが
C++から始めた方がいいのだろうか。
ちなみに俺が作りたいのは歴史SLG
3Dとか使うやつじゃなくて、2Dの古典的なやつ。
0532名前は開発中のものです。2010/02/20(土) 16:51:30ID:nyyTA+gj
>>531
それだと、javaとかC++というより、rubyとかの方が作りやすいかも。
0533名前は開発中のものです。2010/02/20(土) 19:41:53ID:OJXUuVzK
javaだからRhinoで変態脳汁噴出コード書こうぜ。
0534名前は開発中のものです。2010/02/22(月) 16:03:03ID:N+EuOs9T
俺はPythonをお勧めする。
もうJavaとかと違いすぎて、新たな気持ちになれた。
py2exeというexe化ツールもあるでよ。

ocamlとかもどうよ。
0535機会おんち2010/02/22(月) 16:27:40ID:P/wA3u7l
konsoleでjavaのチャットを作りたいのですが作り方教えてくれる方いませんか?
つくれなくてなやんでます・・・。
0536名前は開発中のものです。2010/02/22(月) 17:25:09ID:yL42oXqc
>>531
携帯アプリやAndroidのゲームはJavaで作られているけどWindowsではほとんど見当たらない。
RubyやPythonも参考になる情報が非常に少ないので初心者には向いていないと思う。
Javaの代替としはC#が良いと思うけど、個人的にはC言語がお奨めかな。
ゲームプログラミングの情報量も多くて勉強し易いしね。

>>535
ttp://codezine.jp/article/detail/193
05375272010/02/22(月) 19:56:56ID:ybrOgo8H
もうどれで始めればいいのか、わからなくなってきたw

>>536
C言語は難しいというイメージがあるけど、初めてやるプログラミングとして正しい選択なんだろうか。
自分としては

・グラフィックとかはあまり重視しない
・AIとかは出来たら賢く、複雑にしたい。
・わかりやすい、覚えやすいプログラムがいい

この3つのバランスが取れたものを探してるんだけど。
0538名前は開発中のものです。2010/02/22(月) 21:08:23ID:yL42oXqc
>>537
初心者にとってはどの言語もほとんど差は無いよ。
C言語を奨めたのも参考書や解説サイトが多いからというだけなので。
考えているだけ時間の無駄だし、何でも良いので早く始めた方がいいよ。
0539名前は開発中のものです。2010/02/22(月) 22:44:38ID:ypbsf0Tk
>RubyやPythonも参考になる情報が非常に少ないので初心者には向いていないと思う。
rubyはともかくPythonはいらないほどにあるだろ。
英語読めないなら別だが。
0540名前は開発中のものです。2010/02/22(月) 22:45:35ID:HKYfHRuC
読めないんだろほっといてやれよ
05415272010/02/22(月) 23:36:23ID:ybrOgo8H
>>538
っしゃあ! C言語で始めてみるぞ。
0542名前は開発中のものです。2010/02/23(火) 11:34:02ID:4oRWxveO
Cと決めたところで悪いんだが、
Cは実際の画面を作るところで悩むぞw
Windowsなりの実行環境での作法・手順があるから。
素のCじゃなくて、VC++でXNAとかのほうがまし。

Windowsしか考えなくて良いのであればC#で良いと思う。
それこそ書籍・ネットで情報がいくらでもある。
画面・入力部分で楽できる環境が良いからね。

ロジックに凝った物を作るのが目的だったら、言語は何でも良い。
いまあるメジャーな言語なら、やりたい事が出来ない言語なんて無い。
0543名前は開発中のものです。2010/02/23(火) 11:55:47ID:Q2/MgOuZ
最初と最後で言ってること違う気がしなくもない
0544名前は開発中のものです。2010/02/23(火) 12:19:00ID:4oRWxveO
俺より先にゲーム作らせないために悩ませてるの!
0545名前は開発中のものです。2010/02/24(水) 00:49:51ID:r64JoLGK
ゲームのシーンごとにkeylistenerを持たせようとしてるんだけど・・・
そのキーリスナーはシーンオブジェクトへのアドレスを保持していて、そのシーンも
キーリスナーへのアドレスを保持している。そうすると、コンストラクタの中だけでは変数の
初期化ができなくなる。なんかきれいに繕う方法ってない?
0546名前は開発中のものです。2010/02/24(水) 01:16:08ID:6Ou921by
・循環依存とか相互依存になってるならそれをなくす。
・初期化を遅延する
0547名前は開発中のものです。2010/02/24(水) 10:15:55ID:vFuKqqgG
初心者がCでゲーム組むとか、おれが初心者の頃なら途中で挫折してただろうな
モチベーション維持のためにも画面に画像を簡単に表示できる環境が良いんでないかい
画面で絵が動くの見るとやる気出てくるよ
0548名前は開発中のものです。2010/02/24(水) 10:51:51ID:vsS19SCg
>>545
参照(ポインタでもいい)と言わずにアドレスと表現してるところがよくわからん。
0549名前は開発中のものです。2010/02/24(水) 12:06:51ID:6tuyCZnA
せめてハンドルって言ってほしかったな
0550名前は開発中のものです。2010/02/24(水) 18:49:45ID:0XfxFTST
>>547
初心者向けの参考書を見ると専用のライブラリを使っているので心配ないと思うよ。
画像を表示させるのも数行のコードを書くだけで実装できる。
Win32APIやDirectXは言語とは別の問題だし、初心者がいきなり覚える必要は無いしね。
0551名前は開発中のものです。2010/02/24(水) 22:51:58ID:V52UY3a7
もうWinMainはいやだお・・・。
NN5でいやというほどコンパイルしたお。
0552名前は開発中のものです。2010/02/25(木) 00:51:18ID:2BiifXD1
Javaおすすめ
JDKの中にGUI関連のツールも含まれているからJavaだけ勉強すればとりあえずゲーム作れる
0553名前は開発中のものです。2010/02/27(土) 00:19:42ID:JpqAtdnH
iPhoneはあるけどAndroidのスレってないよね
ここでやればいいの?
0554名前は開発中のものです。2010/02/27(土) 09:03:22ID:tyywBe4S
>>553
GoogleAndroidアプリ作成part2
http://pc12.2ch.net/test/read.cgi/tech/1253197333/

ゲ製板には無いね。
まあiPhoneスレも過疎ってるし需要が無いんじゃない?
0555名前は開発中のものです。2010/02/27(土) 12:01:11ID:3XLimM0d
とりあえず、JDK6とeclipseインストールした
これから何をすればいいんだろ?
0556名前は開発中のものです。2010/02/27(土) 13:18:28ID:tyywBe4S
目標を立てる。
それによって次に何をすべきかが変わってくるので。
0557名前は開発中のものです。2010/02/27(土) 13:33:04ID:XM9i9EyX
>>555
とりえあず、作りたいものを具体的に考えてみて、
こことかで http://javagame.skr.jp/
近そうなものや、役立ちそうな機能を探してみては?

そこのサイト、実行できる jar の中にソースコードあったと思うし、
簡単なやつを eclipse 上で動かしてみるとか。
0558名前は開発中のものです。2010/02/27(土) 13:56:26ID:I97vF7We
555じゃないけど、入門用の書籍を選ぶのが難しいな。
>>557のサイトで紹介されてる本をアマゾンのレビューで見てみたら
微妙な評価だし。
0559名前は開発中のものです。2010/02/27(土) 14:12:19ID:sXZ2vpwQ
Javaでゲーム作ってる有名どころの洋書全部漁ればいい。
google book searchでlimited previewくらいできるだろ。
0560名前は開発中のものです。2010/02/27(土) 17:15:15ID:lw1I8SRq
>>555
まずはキャラクターをカーソルキーで動かしてみてはどうだろう

>>558
参考書籍みてみたが確かにあんまりよくないのが多いね


言語自体がはじめてなのかゲームプログラミング自体が始めてなのか
どっちもはじめてだと多少厄介だが、目標を高くしないなら大丈夫か

EclipseよりNetBeansのほうがライブラリへのクラスパス設定された
実行可能jarが自動で作られるので楽な気もするが


しかしみんなやさしいな
0561名前は開発中のものです。2010/02/27(土) 18:32:56ID:HySRugFq
宣伝age リプレイ機能を実装した

http://www10.ocn.ne.jp/~shinod/game/java/Baller0.00016.zip

俺の場合は3Dゲームを作りたかったので,JOGLをインストールするところから始めたなぁ.
0562名前は開発中のものです。2010/02/27(土) 18:52:42ID:6MkUCZcn
学生時代勉強したサーバサイドjavaの知識だけでゲームも組めたよ
"だけ"といってもネットで情報収集はしたけど参考書の類は特に使ってない
基礎さえ身につけば応用で何でも作れるんじゃないかと
0563名前は開発中のものです。2010/02/28(日) 02:12:26ID:dzeS6sZN
Graphics2DのdrawImageが重いって話が上にあったけど
JDK 1.5 -> 1.6 の流れでかなり早くなったはず。

ほどほどの2Dゲームなら十分だと思うよ
0564名前は開発中のものです。2010/02/28(日) 17:08:33ID:YamdAbFz
デフォで無効化されてる描画用オプション有効にすれば1.5でもほどほどならでる。
0565名前は開発中のものです。2010/02/28(日) 17:27:40ID:1xNPxTI/
こんなつぶやき見たいな適当な書き込みにレスありがとうw
せっかくのご好意なので、返信


>>557
最初に色々と読んでみた
ドラクエクローンはゲームループから入力処理、描画まで色々と参考になりそうだね

>>560
Javaはちょっと使ってる
でも、大きなソフトウェアの一部分を言われるままに作成してるので、わけわかめ
Webアプリだったので、Swingとかキーボードやマウスの入力処理は初体験
ゲームプログラミングはもちろん初めて
まあ、コツコツやってみるよ

NetBeansは面白そうだけど、eclipseが主流ならそっちを使いたいな
NetBeansの方が明らかにゲーム製作に向いているなら考えるけど

>>563
いいこと聞いた
ここ見ると色々なフレームワークがあるみたいだけど、勉強めんどうなんだよね
JDKの機能だけでそれなりのものが作れるなら、俺の作りたいのは大戦略とか信長の野望みたいなゲームなので問題ないかな
0566名前は開発中のものです。2010/02/28(日) 20:01:54ID:9UtHy1EC
>>563
1.5ののdrawImageが遅いっといっても初心者向けでまずそれが問題になるレベルではないだろう
ハードウェアアクセラレーションが効く描画が少ないってだけだ
遅いDXライブラリとかでも普通に使われてるよね

むしろJava2Dはαブレンディングが弱いほうが致命的

>>565
そういったタイプのゲームなら1.3以上なら問題なし

使い慣れてるIDEでかまわないよ
NetBeansはダブルクリックで実行可能なJarが作りやすいというだけ

ただ環境設定画面とかSLGならメイン画面以外のウインドウの描画等はSwingつかったほうがいいかな
環境設定等の定型的な画面ならNetBeansが圧倒的に有利という話にはなるが
必要になったときでいいと思う
0567名前は開発中のものです。2010/02/28(日) 20:38:39ID:bA//nrm1
よく分かんないんだけど、
αブレンディングが弱いってよく言われるけど
それって誰かが自前で重ね合わせルーチンとか
書けばいいだけのことじゃなくって?
0568名前は開発中のものです。2010/02/28(日) 20:46:02ID:9UtHy1EC
確かにピクセル単位で処理は可能
ただし、ハードウェアアクセラレーションは効かないからアクション系はきついんだ

VolatileImageはVRAM側へ配置するので(というかJavaSE6から積極的にVRAM使う)
ソフト描画との相性は最悪

というわけでほとんどの人はOpenGLへいく
0569名前は開発中のものです。2010/03/01(月) 01:52:26ID:D+/GcsWx
-Dsun.java2d.ddforcevram
-Dsun.java2d.translaccel

-Dsun.java2d.ddscale
でおk
0570名前は開発中のものです。2010/03/01(月) 02:42:29ID:VHqqtoLd
αブレンディングというか、特殊な合成が弱い。
画像のスクリーン合成(1-(1-src)(1-dst))はゲームのエフェクトで良く使うけど、Java2Dでは使えない。
自前で処理を書いても、遅すぎて使い物にならない。他のライブラリに頼るしかない。
この話題>>150-200あたりでも出たな
0571名前は開発中のものです。2010/03/01(月) 07:27:10ID:W0xt/zd5
java3Dでゲームを作ろうとしているんですけど、市販されているゲームのポリゴンと、Geometrryクラスで定義したポリゴンって何か違いがありますか?
何かイメージと根本的に違う様な気がします・・・
0572名前は開発中のものです。2010/03/02(火) 23:07:42ID:Ex3WWwU3
tet
0573名前は開発中のものです。2010/03/02(火) 23:13:38ID:hmyMCdfx
お前さんが3Dにどういうイメージが抱いているか知らんが、
java3dのgeometryはかなり「実際の処理」に即しており合点がいく。

「市販されているゲーム」ってのは一体何だ…。市販のゲームは
末端で行われる原始的な処理を、見てる人にイメージし易いように
高度な変換を加えているだけのものだ。イメージだけで
いきなりあんな美麗な物体を描けるようにはならない。

いくらjava3dでも、末端で行われているdirect3dなどの
実際の3D計算方法をまったく知らない状態では厳しいぞ。

http://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デバイス系を利用することを
絶対に勧める。というかそれ以外で動きの多いゲームを作るのは
不可能だぞ。
0574名前は開発中のものです。2010/03/02(火) 23:43:45ID:keRp0vK6
>>573
一番の問題は>>570だけかな。

速度に関しては今のJava2DはDirect3DやOpenGLでアクセラレーションがきいている。
ただし、VMの実装次第だし、どこがきくのかといったドキュメントは無いはず。

Java2Dはアクセラレーションの効きかたを意識しないで使えるのが利点ではあるが
ゲームだとそうはいっていられないのが厳しいところ。

ただ、2Dゲーなら速度的にはブレンディングの種類が少ないこと以外では問題にはならないね。

「必ず」というのはいいすぎで、不可能ではないよ。

ただしJavaSE6 update10以上必須ね。
これより前だと回転拡大縮小系はアクセラレーションきかないから、いっきに処理速度が1/100とかになる。

通常のJavaの実行速度も大幅に上がってるしアプレットでもJNLPかけるようになったので
update10未満使う理由はないのだけれども。Vistaの不具合回避したらすごいよいものになったというのが笑える。
0575名前は開発中のものです。2010/03/03(水) 00:23:02ID:Ft2QLlFC
u10からOpenJDK6の成果が本格的にマージされて確かに実行速度は上がったがバグもかなり増えたぞ。
0576名前は開発中のものです。2010/03/03(水) 01:15:37ID:4e2irmLH
どんなバグなのか具体的に
0577名前は開発中のものです。2010/03/03(水) 02:48:16ID:bM8RSZ0B
公式のBTS全部見ろよ。
OpenJDKのパッケージがあるlinuxの適当なコミュニティにも上がってるぞ。
毎度のこと量があるのにスレに貼れる程度の具体的なバグなんてここに貼っても意味はない。
05785712010/03/03(水) 03:06:07ID:/DdOkaZg
>>573
有難う
0579名前は開発中のものです。2010/03/03(水) 08:52:43ID:4e2irmLH
J2SE 5.0はサポート期間が終了してバグあっても放置だからもうJavaSE 6つかうしかないだろう
でもupdate10未満も大量にバグがあってupdate10以降で直ってるのも大量にあるのがな

でもゲーム程度で問題になるバグなんてまずないだろ
0580名前は開発中のものです。2010/03/06(土) 15:16:24ID:9hs0NXi7
明日、韓国からのテロ攻撃の第2波があるかもと言う情報が・・・。
下手したら週末にまた2chが落ちるかもしれないね
 ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄
     ∧_∧
    <丶`∀´>     ∧_∧
    /     \   (    ) はぁ?黙ってろ在日w 
.__| |    .| |_ /      ヽ
||\  ̄ ̄ ̄ ̄   / .|   | |
||\..∧_∧    (⌒\|__./ ./
||.  (    )     ~\_____ノ|   ∧_∧
  /   ヽ 氏ねよクズ   \|  (    ) 
  |     ヽ           \/     ヽ. 祖国に帰れよ
  |    |ヽ、二⌒)        / .|   | |
  .|    ヽ \∧_∧    (⌒\|__./ /
0581名前は開発中のものです。2010/03/07(日) 02:52:45ID:mJhS8YgC
jinputでアプリケーションの起動中にジョイスティックの追加/削除を検知する事って出来ますか?
ControllerEnvironmentにControllerListenerを追加してもイベント飛んでこないす。
0582名前は開発中のものです。2010/03/07(日) 11:20:32ID:YVbfusWB
とりあえず、以下のコード読んで勉強してる
・ドラクエクローン(http://javagame.skr.jp/index.php?%A5%C9%A5%E9%A5%AF%A5%A8%A5%AF%A5%ED%A1%BC%A5%F3)
・シヴィライゼーションクローン(http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4328&lngWId=2)

これらが、理解できるようになったら俺の目指すシミュレーションゲームも作れるだろう
Swingはよくわからんが(てか、JavaのGUI自体初体験だが)、ドラクエクローンの動作を見ると、メッセージWindowも自前で製作しているみたいだし、勉強せんでもよさそう

がんばるぉ^^
0583名前は開発中のものです。2010/03/07(日) 12:38:46ID:8J4pTqVT
>>582
下のリンク先、見れないんだが。
0584名前は開発中のものです。2010/03/07(日) 15:17:28ID:yFiVhkjz
>>583
末尾の括弧をURLに含めてるとか
0585名前は開発中のものです。2010/03/07(日) 15:18:39ID:YVbfusWB
>>583
最後に")"をつけちゃったから、それがURLの一部にされていると思われ
URLから")"消してみて

それはそうと、他にも読んでおいたほうがいいソースコードあったら教えてね^^
0586名前は開発中のものです。2010/03/07(日) 20:31:59ID:seQ6S77i
宣伝age 弾の軌跡を描画するようにしてみた

http://www10.ocn.ne.jp/~shinod/game/java/Baller0.00023.zip

見た目は派手になったけど,処理が重くなった.

俺の場合,OpenGLの本とか衝突判定の本とかは読んだけど,
他の人のソースコードとかはあまり見てないな.
0587名前は開発中のものです。2010/03/07(日) 21:08:52ID:EoGWWfXW
>>585
GOFのデザインパターンやっとくといいよ
ストラテジー、メディエーター、シングルトン、ファサードあたりを
意識すると上達が早くなる
0588名前は開発中のものです。2010/03/07(日) 22:21:35ID:4Rnyo7gg
GOFぱっと見で理解できんならオブジェクト指向の利点を知ると良いね
するとGOFを見たこと無くても無意識にデザパタを適応していたりする
でもまあリファクタリングの勉強は最後でもいいはず
動くゲームを完成するまでの気力維持の方が大変だw
05895872010/03/08(月) 09:38:02ID:0N3PdWPF
俺の経験則としては、デザインパターンなしで
テトリス以上のゲーム作るのは無理だと思う

たとえばSwingを始めた>>585は、分離されたGUIコンポーネントや
イベントリスナーをどうつなげたらよいかについて困惑するはず

引数で無数に参照を渡す力押しとかでも不可能ではないけど
それじゃやっぱりコード書く楽しさがない
0590名前は開発中のものです。2010/03/08(月) 20:38:45ID:fOUjfaLl
>>589
構造化プログラミング主体の頃の人間だったおれは、
デザインパターンを知らんでも作れたんだが・・・・。

C言語ライクなJavaプログラミングだったけどな。
0591名前は開発中のものです。2010/03/08(月) 21:37:40ID:InSeFkGY
こういっちゃ悪いがデザインパターンについて何か勘違いしてる
OOPの理解とデザインパターンの適応は別物だぞ
デザインパターンは使える状況なら使ったほうが良い物ってわけでもないし
テトリス以上の複雑なゲームとなるとパターンがまんま適応できる状況がまず少ない
以上現役奴隷の勝手な意見
0592名前は開発中のものです。2010/03/08(月) 21:53:19ID:3O0fgwI4
>>584
被っちゃいましたね^^

>>586
自分より遥にレベル上の方みたいですね
自分は古いかもしれませんが地味に2Dでがんばっていきます
お互いがんばりましょう

>>587-591
GOFはとりあえず読みました
半分も理解したか怪しいですが
とりあえず、ゲーム作るうえでは、入力なり出力なりのインタフェース切って、場面ごとに実装するクラス作ろうかなーっと漠然と考えてます
まだ、他人のコード読んでばっかりで、一行も書いてないのでどうなるかわかりませんがw


それはそうと、Javaでゲーム作りますがなにか?のページ見ていて思ったのですが、ゲームループはwhile文で自作するのが常道ですか?
TimerTaskがあると思うのですが、使わないのでしょうか?
while文の中で、遅延を考慮してたりして、結構がんばってるように感じたのですが、TimerTaskはその辺美味くやってくれるもんじゃないんですかね?
0593名前は開発中のものです。2010/03/09(火) 10:57:20ID:QEiU+L36
>>5
auのオープンアプリの関連スレ無いですか?
オープンアプリ作る人が集まるスレ
■ このスレッドは過去ログ倉庫に格納されています