Javaでゲーム作成 2本目

このエントリーをはてなブックマークに追加
1名前は開発中のものです。
Javaでのゲーム作成について情報交換をするスレです。
ゲーム作成以外の話題はム板(http://pc8.2ch.net/tech/)、
他言語に関する話題は他スレでお願いします。

前スレ
JAVAでゲーム作成
http://pc8.2ch.net/test/read.cgi/gamedev/1074347252/

テンプレは>>1->>10あたりを参照
2名前は開発中のものです。:2005/10/27(木) 09:45:06 ID:dzSvRQXE
板内関連スレ
Javaでゲーム作る話してるキチガイがいるよ(藁
ttp://pc8.2ch.net/test/read.cgi/gamedev/1013953851/
JAVAアプリでゲーム
ttp://pc8.2ch.net/test/read.cgi/gamedev/1033926010/
【JAVA】2Dアクションゲームを作る【初級】
ttp://pc8.2ch.net/test/read.cgi/gamedev/1094602659/

Javaテクノロジ
ttp://jp.sun.com/java/
ttp://java.sun.com/j2se/1.5.0/ja/download.html (Ver5.0のJDK入手はここから)
ttp://java.sun.com/j2se/1.4.2/ja/download.html (Ver1.4.2)

EclipseWiki (開発環境Eclipseについて)
ttp://eclipsewiki.net/eclipse/
Javaでゲーム作りますが何か?
ttp://javagame.main.jp/
3名前は開発中のものです。:2005/10/27(木) 09:46:29 ID:dzSvRQXE
関連スレ補完
JAVA シューティング作成委員会
ttp://pc8.2ch.net/test/read.cgi/tech/1062310183/

【徹底討論】Java3Dの可能性について考える
ttp://pc8.2ch.net/test/read.cgi/tech/1033703640/

[立方体]  JAVA3D  [直方体]
ttp://pc8.2ch.net/test/read.cgi/tech/1092155318/

【質問】Java3D【相談】
ttp://pc8.2ch.net/test/read.cgi/tech/1120101050/

JavaでVCバリのゲーム開発可能?
ttp://pc8.2ch.net/test/read.cgi/tech/1068370977/

【Java】EZアプリ勉強しつつ作っていく
ttp://hobby7.2ch.net/test/read.cgi/appli/1075443374/
4名前は開発中のものです。:2005/10/27(木) 11:27:47 ID:ZZ7nMv5G
しばらく見ないと思ったら、落ちてたのか
1乙
5名前は開発中のものです。:2005/10/27(木) 16:01:39 ID:7S6We+lN
>1おつ。

これだけだとアレなんでPureJavaでゲームを開発する場合チェックすべきもの。

・描画の基本となるJava2D全般
・音楽のすべてはJavaSound
・描画のベースとなるGraphicsConfigurationとかJFrameとかBufferStrategy
・画像ロードにImageI/O
・入力のKeyEventやらListenerまわり
・時間管理にTimer方面
・ゲームに限らないが便利なコレクション関係。特にJ2SE5.0からは面白いものが追加されてるのでチェック
・J2SE5.0以上なら高速で高機能な排他制御にLock方面
・ハイスコアやリプレイ保存、データ読み込みなどにストリームのI/O方面。XMLも5.0からはXPathが標準ライブラリに入ったので便利
6ooo:2005/10/27(木) 16:30:12 ID:Wsa915hK
よぉ
ああああああああああああああああああああああああああああああああああ
7名前は開発中のものです。:2005/10/27(木) 16:38:06 ID:MMxzgP3l
Processing 1.0 (BETA)
http://processing.org/
でゲーム作りを始めてみましたが、面白いですよ。
JAVAについては何も知りませんでしたけど、簡単に作れました。
(Processing is an open source programming languageとか云ってますが、実体はJAVAなので問題無いですよね?)

ただ、BETAだとEclipseから利用する方法が分からなかったので、
あえてALPHAを使っています。
あと、音周りが工夫しないとダメですね。

SpringTower : Built with Processing
http://akimasa.s96.xrea.com/game/SpringTower/index.html
僕が作ったのはこんなモンですが、
ABA Games
http://www.asahi-net.or.jp/~cs8k-cyu/
(のProce55ingの項)
がとても参考になりました。

製作者側もお手軽で、遊ぶ側もお手軽で、アマチュアには良いんじゃないですかね。
8名前は開発中のものです。:2005/10/27(木) 18:31:56 ID:7S6We+lN
>>7
たしか出来上がるものはjavaのクラスファイルだが、言語そのものは違う

という微妙なラインだな

でもBASIC感覚ならProce55ingよりもっとわかりやすいライブラリが前スレで見た気がする
9名前は開発中のものです。:2005/10/27(木) 19:33:52 ID:Ng3zF12F
各種ラッパーライブラリ

JOGL(OpenGL) https://jogl.dev.java.net/
  JSR-231 beta 01 https://jogl.dev.java.net/servlets/ProjectDocumentList?folderID=4295&expandFolder=4295&folderID=2771

Lightweight Java Game Library(OpenGL, OpenAL) http://www.lwjgl.org/
sdljava(SDL) http://sdljava.sourceforge.net/
10名前は開発中のものです。:2005/10/27(木) 22:35:20 ID:w+M8OxUU
>>8
Proce55ingはJava Appletの一部を隠蔽しているだけだから
言語も同じと考えていいかと。
EclipseでPAppletを継承して作っているとなおさら。
11名前は開発中のものです。:2005/10/27(木) 23:10:51 ID:7S6We+lN
でも細かいこと出来ないし、ゲーム用ってのは無理があるかと
まだベータだったような気もする

それくらいだったらstatic importを前提とした
http://shin.cside.com/product/shingl3/index.htm
のほうが楽だね

まだstatic importで使える命令は少ないけど、
ページフリッピングとイメージ描画、BGM、SE、入力がBASICと同じように使えるし、
Proce55ingの時間管理のように最初にフレームレート指定するだけで全自動

だらだらと
PUTSPRITE( image, x, y, w, h);
FILL( x, y, w, h, color) ;

とかBASICと同じように可能

J2SE5.0の新機能を割り切って使ったというのは面白い
12名前は開発中のものです。:2005/10/31(月) 23:39:48 ID:u6e5CoZ+
質問です。
ある画像image1を90度回転させてimage2に保存するにはどうしたらよいでしょうか?
13名前は開発中のものです。:2005/10/31(月) 23:56:08 ID:imBdURi1
ム板で質問した人?

基本的な考え方としては、新しい BufferedImage を作成して
そこから createGraphics()で Graphics2D コンテクストを取得する。
そこにオリジナル画像を AffineTransform で90度回転して描画、
んでファイル書き出し。
14名前は開発中のものです。:2005/11/01(火) 00:30:00 ID:9pR/2Iza
ここまで想像力のない質問を見るとさすがにムカつく
15名前は開発中のものです。:2005/11/02(水) 22:39:55 ID:l4YhQp0J
想像力と言うか知識があるかないかだと思う。要は知ってるか知らないか。
16名前は開発中のものです。:2005/11/02(水) 23:48:22 ID:DUZczgaE
>>15
業務系ではなくゲームの場合、少ない知識の組み合わせで目的の結果を得る想像力は大事だと思う。
17名前は開発中のものです。:2005/11/03(木) 02:58:58 ID:urWJhpS3
90度単位だったら普通は関数しらなくてもピクセル単位で回転できるよなぁ
18名前は開発中のものです。:2005/11/03(木) 06:40:04 ID:9Sm6/yeX
> ピクセル単位
Javaを覚え始めた頃、
Toolkit.getImage → PixelGrabber → MemoryImageSource
の流れはあまり簡単には思えなかった。catch しなきゃならない例外もあるしね。

WindowsでもDIB関係に戸惑ったし、ロジックはわかってるのに肝心な入出力
がらみのライブラリが未修得でイライラすることが良くある。
19名前は開発中のものです。:2005/11/03(木) 13:46:35 ID:urWJhpS3
昔はともかく今ならBufferedImageあるんで楽チンだと思うが
素でDIBつかうよりインテリジェントにラッピングしてくれる
20名前は開発中のものです。:2005/11/03(木) 14:05:31 ID:WOWA/OPZ
java・・・・と言うかプログラミング自体を勉強し始めた者なんですけど
javaで人工知能(チャットでよくある人口無能みたいなやつで入力
した単語に返答してくれるみたいな」)っぽいのつくれますか?
せっかく高校で習っているので勉強だけじゃなくてなにか役立てたいのですが・・・・
21名前は開発中のものです。:2005/11/03(木) 14:09:06 ID:urWJhpS3
アルゴリズムがしっかり自分で作れるなら作れる
22名前は開発中のものです。:2005/11/03(木) 14:16:55 ID:WOWA/OPZ
>>21
レスさんくすです。
ALは2次元配列までしか理解していませんが頑張って見ます
23名前は開発中のものです。:2005/11/03(木) 14:51:49 ID:yzYzVhNJ
2次元配列ってアルゴリズムなのか?
24名前は開発中のものです。:2005/11/03(木) 15:25:40 ID:rL8Q+mgG
データ構造だろ
25名前は開発中のものです。:2005/11/03(木) 15:30:20 ID:rL8Q+mgG
>>20
人工知能と人口無能じゃ大違いだが、とりあえず
Javaだから作れる、とか作れない、とかはない。
自然言語処理等の勉強をすれば色々な言語で作れる。
26名前は開発中のものです。:2005/11/03(木) 17:22:53 ID:MCCIxjg4
>>20
ttp://javagame.main.jp/index.html#minigame
にJavaで作ったサンプル例がある。

でもテキスト扱うのはPerlとかRubyの方が簡単だろうな。Javaだと無駄に難しそう。
27名前は開発中のものです。:2005/11/03(木) 17:27:23 ID:urWJhpS3
どの変が難しそうなんだろう・・・
28名前は開発中のものです。:2005/11/03(木) 17:27:41 ID:mPH84WWP
>>20
MyJxtaのソースの一部にEliza(人工無脳っぽいプログラム)
の機能があったと思う

Ruby向けだけど
ttp://book.mycom.co.jp/book/4-8399-1729-9/4-8399-1729-9.shtml

人工無脳ではないけどJava向け
ttp://www.amazon.co.jp/exec/obidos/ASIN/4339023876/249-1065135-4693961
29名前は開発中のものです。:2005/11/03(木) 17:56:04 ID:MCCIxjg4
>>27
正規表現の使い方がJavaだと面倒くさい
30名前は開発中のものです。:2005/11/03(木) 19:20:15 ID:urWJhpS3
面倒なことないやん
31名前は開発中のものです。:2005/11/04(金) 22:15:45 ID:Kyfrg/8g
オブジェクト作ったりしないといけないしPerlの方が楽だと思うけど
32名前は開発中のものです。:2005/11/04(金) 22:28:24 ID:SFh7BoY4
確かにちょいちょいした作業ならperlも便利だが
ちょっと大きなプログラムになるとデバッグ時間が指数関数的に増えるし
半年も経つと自分で書いたソースでも完全意味不明に見えるのは困るな
33名前は開発中のものです。:2005/11/04(金) 22:52:05 ID:qJSgT1NL
昔のWebアプリはPerlが主流だったが、掲示板やチャット程度ならともかく、
業務アプリみたいな巨大な物をメンテナンスすると死にそうになる。
最近のPerlは知らんが。
34名前は開発中のものです。:2005/11/04(金) 23:16:25 ID:BPGzYPZF
しかし、Javaはあとからあとから新しいWebアプリフレームワークだの
なんだの、いろいろ出しすぎw
35名前は開発中のものです。:2005/11/04(金) 23:20:17 ID:ukNdIpNn
ライブラリなんて必要とする携帯にあわせて選択すればいいだけだろ。
得意不得意はそれぞれあるし、目標とするものが違うからな。
36名前は開発中のものです。:2005/11/05(土) 08:59:55 ID:nyk5I5ZL
>>34
Javaは最先端の実験言語みたいだな。大学の研究でよく使われるからかも。
37名前は開発中のものです。:2005/11/05(土) 13:00:36 ID:3XtwtUcI
>>36
大学の研究でよく使われるのもあるけど、
Apacheを筆頭に無数のオープンソース開発者がいるからだと思うぞ。
38名前は開発中のものです。:2005/11/05(土) 14:22:37 ID:bFW/1MqR
Apacheのプロジェクト数は異常なくらいだな

問題はこのスレに関係があるライブラリはなさそうなことくらいか

まぁApache XML-RPCは目的によっては使えるか
39名前は開発中のものです。:2005/11/05(土) 15:12:24 ID:JuIHCGWg
みんなどのくらい非ネーチブパッケージ使ってるのかな。
シミュレーションとかちまちましたデータ中心ならXMLデータバイディングとか
かなり使えそうとか思うけど。

自分の場合はついついインタプリタ仕込む癖がある。
40名前は開発中のものです。:2005/11/05(土) 15:14:53 ID:bFW/1MqR
標準でXPath使えるようになったから大分楽になったけどね

ゲームつくろうって人間は自前で実装が多いと思われ
なんせ、ばらす必要はなくてたとえばList<Element>でもっていけば、
Beansとちがって仕様変更に強かったり、例外処理がしやすかったりする
41名前は開発中のものです。:2005/11/07(月) 02:44:21 ID:vwx0ALlq
WikiのJava実装のソースを読むと正規表現が山のように出てくる
WikiはPerlで作ったのをコピーしてるからそうなっているんだと思うけど
これが、Perl文化かと思ったよ
42名前は開発中のものです。:2005/11/15(火) 23:05:03 ID:P0cI9ezk
OGGって再生コストがえらい高いらしいけど
それをJavaで再生したらどえらいことになったりする?
Wavのがディスク食うだけでいいから安定するのかな?
43名前は開発中のものです。:2005/11/15(火) 23:12:48 ID:ShfCvdFQ
質問は明確に
44名前は開発中のものです。:2005/11/15(火) 23:19:48 ID:P0cI9ezk
CPUへの負荷が高いそうなのですが、実用レベルなのですか?
45名前は開発中のものです。:2005/11/15(火) 23:33:03 ID:Wrh6FbhN
>>42

>>11のを見る限りCPU使用率は1GHzで1,2%ってところでは?
46名前は開発中のものです。:2005/11/17(木) 20:29:55 ID:8R2XVZPE
フルスクリーンから
device.setFullScreenWindow(null);
System.exit(0);
とやって終わらせると画面真っ黒になって操作不能になることが
あるのですが、なる理由がわかりません。
あと、フルスクリーンにするときそこで処理が止まってctlALTDelで終わるしかない
ときもあるのですがどうすればよいのですか?
1_4_2です。
47名前は開発中のものです。:2005/11/17(木) 20:35:02 ID:2shdXMro
System.exit()すればすべて開放するから
問題はないはずだけど

ベータのときはnullわたしたやつはダメだったけどね
今は大丈夫だったと思ったけど

あとはチップとビデオドライバによるかも
安定してDirectX動いてる?
48名前は開発中のものです。:2005/11/17(木) 21:44:27 ID:8R2XVZPE
それを確認するにはどうしたらいいんですか?
PC初心者板逝きですか?
49名前は開発中のものです。:2005/11/17(木) 23:38:12 ID:2shdXMro
>device.setFullScreenWindow(null);
これをコメント化してみたら?

あとは他のJavaのフルスクリーンのゲーム試してみるとかどうかな
5046:2005/11/18(金) 20:45:39 ID:Jjzsx+o7
フルスクリーンで操作不能になったりする理由はわかりませんでしたが
とりあえず動くのでよしとすることにしました。
ですが背景を付けてみると
ぱちぱちしてとても目に悪いことこの上ないという状況になりました。
これがちらつきというのでしょうか?
BufferStrategyは使っているのですがどうすれば改善するのでしょうか?
51名前は開発中のものです。:2005/11/18(金) 21:13:51 ID:bdg3zZZw
BufferStrategyでページフリッピングしてれば大概の環境で垂直同期取るはずなので
ちらつくことはないと思うんだが、他のアプリでもちらついてるの?
52名前は開発中のものです。:2005/11/18(金) 21:16:43 ID:yEqWeMq1
フルスクリーンじゃなくても垂直同期とるんだっけ?
53名前は開発中のものです。:2005/11/18(金) 21:24:56 ID:bdg3zZZw
フルスクリーンのみな
ウインドウモードはフリッピングのフラグが降りてブリットのフラグがたってるはずだろ
5446:2005/11/18(金) 22:02:38 ID:Jjzsx+o7
もしや、自分の環境が大概の外にあるということでしょうか。

他にはコマンドプロンプトしか動かしてません。
ちらつくときとちらつかないときがあるのですが
背景を付けると100%ちらつくこの状況。
フルスクリーンを諦めるしかないのか
55名前は開発中のものです。:2005/11/18(金) 22:16:33 ID:bdg3zZZw
だからフルスクリーン対応のアプリ立ち上げてみればわかるっしょ
5646:2005/11/19(土) 06:56:25 ID:59ba+Epe
東方、どっかで拾ったフルスクリーンにボールが増えていく
もの(Java)、百本ゲームのゲームは問題なく動きます。
57名前は開発中のものです。:2005/11/19(土) 13:09:03 ID:BsSsGwkc
なら自分のコードがわるいってことかと
5846:2005/11/19(土) 13:40:21 ID:59ba+Epe
背景の描画オブジェクトにフレームのを
渡していたことが発覚。
正直すみませんでした。
ちらつきは直りましたが、それ以前の操作不能になること
がある時があるのはわからない。
これもどこか自分のが悪いのだろうか。
59名前は開発中のものです。:2005/11/20(日) 02:35:57 ID:PktMjKAY
>>46=58
一言アドバイス
発覚したってことは他も可能性アリ
煮詰まってそうだけど、連レスしてないで
とりあえずもちつけ

で、もっかいソースとにらめっこしてみようぜ!
60名前は開発中のものです。:2005/11/26(土) 22:10:42 ID:wK3zX5BN
Javaのパワーを生かしてツクールやFlashみたいなエンジン作ろうよ
馴らしたSEの人が設計してくれるならコードは手伝うよ
61名前は開発中のものです。:2005/11/26(土) 22:25:05 ID:sU6iOuYI
まず自分でたたき台を作るくらいが必要と思われ

ツクールにしてもダンテのようにフラグだけでいいのか、スクリプトでいいのか
スクリプトなら次期バージョンで標準実装だとか

出だしはコードと設計は同一者でひっぱっていくくらいじゃないと
オープンソースなプロジェクトは成功しないと思われ

SEだ、プログラマだといったすみわけはいらない

まず、>>60がJavaでスタンドアロンのゲームを作れるかどうかという点がポイントになる
62名前は開発中のものです。:2005/11/26(土) 22:53:12 ID:wK3zX5BN
>>61
すまん。実は業務系でSwingは勉強中なんだ。
63名前は開発中のものです。:2005/11/26(土) 22:56:43 ID:sU6iOuYI
いや、誤る必要ないよ
業務系でJavaさわってるならまず言語の基本は問題ないとして

Java2Dを筆頭にフルスクリーンとか時間管理、JavaSoundあたりが触れるようになるといいね

64名前は開発中のものです。:2005/11/26(土) 22:56:47 ID:WkbR04YY
画像を回転させようと思って
AffineTransform form = new AffineTransform();
draw(){
form.rotate(x*Math.PI/180,画像の幅/2,画像の高さ/2);
画像イメージの描画オブジェクト.drawRenderedImage(画像イメージ,form);
描画先の描画オブジェクト.drawImage(画像イメージ,null,gx,gy);
}
というふうにすると、背景が透明なでただ↓と描かれている画像を使うと背景が黒くなり矢印が見えなくなります。
また、横長い画像をつかって見ると画像の中心に
画像の高さを直径に丸くなって回転をし
その丸以外の部分が白くなってしまうんです。
ただ画像をその場で回転させて
表示させたいんですがどうすればいいんでしょうか?
65名前は開発中のものです。:2005/11/26(土) 23:04:49 ID:wK3zX5BN
>>63
最初はCっぽくなるかも知れないけどやってみる。
66名前は開発中のものです。:2005/11/26(土) 23:11:28 ID:sU6iOuYI
>>64
もちつけ

なんか日本語が分かりにくいぞ

まずGraphics2Dのrotateメソッドを使ってみて描画してもおかしいかチェック

それに画像イメージってやつをを上書きしてしまってるように見える
67名前は開発中のものです。:2005/11/26(土) 23:29:16 ID:PhHUEMA7
>>60-63
Flash やツクールみたいのはゲームどうこうより、
アプリとしての設計の方が100倍重要だと思うけどなー
エンドユーザ的意見としては、時間制御 UI は Flash じゃなくて
AfteEffects を参考にして欲しいと願う。

Shape エディタがあったら超便利なのにと思う事は多々あるので
正直これはかなり興味ある。
そのうち Sun が出すんじゃねーかとか思ってたけど全然だし。

このへんは現状だと SVG (Illustrator -> Batik) とかになるんだろうけど
こっち方面は面倒すぎて手が出せん。
68名前は開発中のものです。:2005/11/27(日) 00:07:17 ID:XSFMA6v6
まず最低限ゲームが作れないとどういう設計したらいいかわからんのでは?
69名前は開発中のものです。:2005/11/27(日) 00:25:55 ID:H8JPzJcw
以下でJavaで作るゲームの基本を学ぶ。
Java基本機能だけのベースとしてはかなりいい材料と思う。
http://www.brackeen.com/javagamebook/
70名前は開発中のものです。:2005/11/27(日) 01:11:36 ID:bXtTt1i7
>>69
すごいね。いい勉強になりそう。
TimerとGraphics2Dでアニメくらいは出きるからちょこちょこ学んでみるよ。
71名前は開発中のものです。:2005/11/27(日) 01:13:57 ID:laCqt6jf
>>68
それは多分作ってほしいと思うもの違いがあるのかも。
オレが想像したのは、エンジンはメタなインターフェイスを提供して
ゲーム的なエッセンスはエンドユーザが作るって形のものだから。

んで実際の所、描画の最適化とか絶対に必要になるけど、
それがゲームに限った話かと言われると微妙な気がするのよ。

むかーし似たようなモン作ろうとしたけど (作りかけたま放置)
必要としたゲーム的な知識ってタイマーの使い方くらいだった。

>>70
とりあえずガンガレ!
72名前は開発中のものです。:2005/11/27(日) 01:16:07 ID:XSFMA6v6
>>70
スレッドプールとか5.0で標準で実装されてるのもあるし注意な
とくにJavaSoundのストリームと偽ったところはなめてる感じ
73名前は開発中のものです。:2005/12/05(月) 22:23:20 ID:DrFNVWzV
gifなどの透過画像をImage等に描画して
そのImageのなにも描いてない部分を透過させるにはどうしたらよいのですか?
74名前は開発中のものです。:2005/12/05(月) 23:52:46 ID:YnmMxKVz
>>73
BufferedImage(int, int, int)で
3番目の引数にBufferedImage.TYPE_4BYTE_ABGR指定で透明になるかな?
75名前は開発中のものです。:2005/12/06(火) 12:56:55 ID:m90gA8zy
Java2Dの基本なんだけど、Java2Dをちゃんと説明してる書籍ってまったくないな
76名前は開発中のものです。:2005/12/06(火) 18:51:26 ID:vSoUCqBN
>>74
うまくいきました。ありがとうございます。
しかしcIearRectするとダメなようです。
画像を回転させるために仮Imageを作って
それに画像を描画してそのImageを回転させる
という風に考えていたのですが他の方法を考えます。
77名前は開発中のものです。:2005/12/06(火) 19:04:14 ID:m90gA8zy
画像の回転するのになんで1回かますの?
78名前は開発中のものです。:2005/12/06(火) 19:42:22 ID:vSoUCqBN
Graphics2D tmp = (Graphics2D)chara.getGraphics();
tmp.lotate(chara,characenter.x,characenter.y);
g.drawImage(chara,null,charagx,charagy);

てな感じにやってたんですけど、なぜか全く回転しなかったので
仮画像を作ってそれを回転させるという風にしました。
79名前は開発中のものです。:2005/12/06(火) 20:43:53 ID:m90gA8zy
回転をセットするのは描画先のほうだよ?
すでに描画されてるのはどうしようもない
80名前は開発中のものです。:2005/12/06(火) 20:51:15 ID:57K4+g+R
Graphics2Dオブジェクトにアフィン変換かけてさらに
Graphics2Dオブジェクトに描画でできんのかな
81名前は開発中のものです。:2005/12/07(水) 00:29:46 ID:R+Rh6YVG
すみません。自分の日本語読解力が足りないことにより
皆様から頂いた助言を活かすことができません。
少し、具体例を用いて説明して頂けいませんか?
82名前は開発中のものです。:2005/12/07(水) 00:59:31 ID:xiUT9nsP
1・画像をロードします
2・描画先を回転させます
3・ロードした画像を描画します
83名前は開発中のものです。:2005/12/07(水) 01:56:14 ID:SEfUp1TO
落ちものゲームで受け手(キャンバス)を上手く回転させて
指定された絵を完成させるゲームをイメージしてみるとか。
84名前は開発中のものです。:2005/12/07(水) 06:51:27 ID:R+Rh6YVG
>>82-83
つまり、描画先を回転させて
そこに描画して、回転させた分
逆回転させて他はもと通り、と解釈して実行し
成功致しました。ありがとうございます。
しかし、これは斜めになったとき
四角の余白が黒くなってしまいます。
これの解決方法はどうすればよいのでしょう?
背景を再び描画も考えましたが
回転させたものが塗り潰されてしまいます。
85名前は開発中のものです。:2005/12/07(水) 09:35:30 ID:hZztkAcv
そこまで出来てるのに、なんで画像描画前に背景を
先に塗り潰すという発想がでてこんのだ。
86名前は開発中のものです。:2005/12/07(水) 19:03:18 ID:R+Rh6YVG
背景を描画して、回転したものを描画とやってるんですけど
  ______
 |■/  \■|
    ↑回転した画像

て感じにうえの部分に黒い部分ができてしまうんです。
さて、どうしたものか?
87名前は開発中のものです。:2005/12/07(水) 19:17:03 ID:ruXn40F6
ソース晒した方が早そうだな
88名前は開発中のものです。:2005/12/08(木) 14:23:17 ID:wcnvECNE
g.fillRect(0,0,600,600);
g.rotate(time*PI/,characenter.x,characenter.y);
g.drawImage(chara,null,gx,gy);
g.rotate(-time*PI/,characenter.x,characenter.y);
time++;

これでいいんですよね?
89名前は開発中のものです。:2005/12/08(木) 15:51:44 ID:Voeburfj
time*PI/, て何だよコンパイル通るのかよ


protected BufferedImage image = 知らん;
protected Point2D center = 知らん;
protected AffineTransform rot = new AffineTransform();
protected double rpf = 0.1; //回転の量

protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D)g;

// ... ここで背景描画する

// rpfの量だけ回転させて描画
rot.rotate(rpf, center.getX(), center.getY());
g2.drawImage(image, rot, null);
}

2D じゃない方の Graphics の使い方はわすれた。
90名前は開発中のものです。:2005/12/08(木) 16:27:30 ID:+Z+rNNsb
>>88
背景黒く塗ってるっぽいから黒くなるのは正しい動作だとみたが?
9188:2005/12/08(木) 20:08:36 ID:wcnvECNE
自分は色々説明がたりなかったよう。
>>89
すみません。このコードの前に
int time=1;
double PI = Math.PI;
ってあって
time*PI/は
time*PI/180の間違いです。
そしてそのコードを実行した結果
見事指定した座標を中心にぐるぐると
私がしたいのはその場を動かずに回ることだったのですが。
というかこれでも黒い部分でてきました。すみません。
>>90
g.setColor(Color.GREEN);
って事前にやってたんです。
92名前は開発中のものです。:2005/12/08(木) 20:58:51 ID:+Z+rNNsb
情報の小出しされてもわからん
該当部分のソースを最小限にしてコンパイルできるものを出したほうがいいんじゃね?
93名前は開発中のものです。:2005/12/08(木) 21:03:25 ID:HtN2IVya
ttps://genuts.dev.java.net/servlets/ProjectDocumentList?folderID=0&expandFolder=0&folderID=2287
プロジェクト > games > games-middleware > genuts

ttp://www.genuts.com/
Genuts Cheese Indigestion Puzzle
オモシロスwww
94名前は開発中のものです。:2005/12/09(金) 01:58:21 ID:DR3+EYk2
テキストリソース(RPGの会話文など)ってどう扱うべきでしょうか?
XML? properties?
95名前は開発中のものです。:2005/12/09(金) 02:29:57 ID:HsQzl6B+
96名前は開発中のものです。:2005/12/09(金) 12:27:40 ID:wi5fEo9o
自分が扱いやすいものでいいかと

修正もこまめに入ると思うし、文字だけじゃなくてたのパラメータも必要になると思うから
XMLが汎用性では一番かと
97名前は開発中のものです。:2005/12/09(金) 17:53:50 ID:3zLl7jhn
いいの見つけたお^^;
ttp://fivedots.coe.psu.ac.th/~ad/jg/ch1/index.html
98名前は開発中のものです。:2005/12/09(金) 23:37:39 ID:6Nnex+8J
XMLパーサってあったっけ
99名前は開発中のものです。:2005/12/09(金) 23:40:17 ID:HsQzl6B+
あるよ。DOMよりSAXのが個人的には好き。
100名前は開発中のものです。:2005/12/10(土) 00:04:18 ID:KuqpST++
ゲームで使うとなるとSAXはファイル読み込みだけだろうな
内部ではElementでつかうのがいい
10197:2005/12/10(土) 21:23:28 ID:h8wANggU
画像回転のサンプルがここに載ってるお^^;
ttp://fivedots.coe.psu.ac.th/~ad/jg/ch04/index.html

Graphics2Dは知らないお^^;
102名前は開発中のものです。:2005/12/10(土) 22:25:02 ID:KuqpST++
いや、普通にJava2D楽だぞ

ただ、普段以上にメモリ使用量は把握していかないと駄目
GCがかなり増えるから

速度が必要な場合あらかじめ回転させておくとかが必要になるね
アクセラレーションきかないから
103名前は開発中のものです。:2005/12/10(土) 22:27:15 ID:MpQxaKQL
BufferdImageの効果が消滅するの?<回転
104名前は開発中のものです。:2005/12/10(土) 22:35:58 ID:KuqpST++
効果は消えるなんてことはないけど、速度が差が出る
Java2Dって高級すぎるAPIなんでどれがアクセラレーションきいて、どれがきかないのか
チェックするのが大事

基本的に速度は1.4.2と5.0でかわってないよ
アクセラレーションがきけば秒間にスプライトが万単位で描画できるはずだが
やることをかえるとこれが一気に1/100以下に下がったりする
105名前は開発中のものです。:2005/12/10(土) 23:04:18 ID:MpQxaKQL
うへ・・・回転拡大はご法度なのかな。
昔ながらのアナログ手法にしとくか
106名前は開発中のものです。:2005/12/11(日) 01:01:17 ID:xyghd8DO
速度を求めないのと回転オブジェクトがいくつあるかによる

60fpsで128*128の回転スプライトが1000個は無理だと思う

10794:2005/12/11(日) 12:16:09 ID:hWRTdhf0
>>96
>>100
XMLの方が柔軟性があって良いということですね。
propertiesは簡単な設定の保存程度にしておいた方が良いのかもしれませんね。
ありがとうございます。
108名前は開発中のものです。:2005/12/11(日) 14:37:45 ID:ohNVp0t4
>>106
400MHz、64MB、VRAM8Mでどこまで出来るかがポイントだな。
まあ回転なんてギャラガとか作ろうと思わなければ使わないけど。
109名前は開発中のものです。:2005/12/11(日) 15:20:14 ID:xyghd8DO
ギャラガくらいなら余裕
VRAM8MってことはTNTとかあのあたりかな
ならアクセラレーションの速度も問題にならない

メインメモリ64Mが一番のネックかと
GCの調整はプロファイラとにらめっこになるね
ヒープサイズ自体を24M以下に抑えてももVM方面で厳しい
1.4.2のほうがメモリ消費は少ないからそっちのほうがオススメか

Pen3/1GHz+統合ビデオでテストしてみたけど
上で上がってた2DSTGは60fpsでサクサク動いた
110名前は開発中のものです。:2005/12/11(日) 17:02:52 ID:5bLTV7mU
>>75

遅レスだが、これいいよ
ttp://www.oreilly.com/catalog/java2d/

111名前は開発中のものです。:2005/12/11(日) 17:06:21 ID:xyghd8DO
日本語訳がないんじゃさすがにここで質問する初心者にはすすめれんが
112名前は開発中のものです。:2005/12/11(日) 17:43:34 ID:FJ8u3O2A
1999年ってやけに古いけど大丈夫なのか・・・
113110:2005/12/11(日) 18:11:19 ID:45Ys85hP
個人的には、Graphics2Dでの描画にくわえて、
BufferedImageの細かい解説とか画像処理関連のことがら
についておさえて書かれているところがおすすめ

>>1999年ってやけに古いけど大丈夫なのか・・・

Graphics2Dの基本についてはそんな変わってないはず。
5.0以降どうなったかは知らんが。
あーでも画像ファイル読み込みでImageIO使う解説とかはなかったような。。
ま、そのあたりはWebの情報その他で補うとして、Java2D本体の包括的な
解説書としてはこれけっこういいと思う。

>>日本語訳がないんじゃさすがにここで質問する初心者にはすすめれんが
これについては「がんばって読めや」といいたいが、それもなあ。。。
画像処理とかについては書いてないけど、
Graphics2Dでのprimitiveの描画ひととおり+基本的な変換(Affine変換とか)だけなら、
ttp://www.iamas.ac.jp/~furu/book/motion/
とかもいいかも。
でも、これらとかは本なんか見んでもWebに情報ころがってるな。
114名前は開発中のものです。:2005/12/11(日) 19:59:25 ID:xyghd8DO
ほとんどの場合ゲームで重要なのはGraphics2Dでどう描画できるかというより、
Graphics程度の低レベルAPIでもいいからどれがアクセラレーションきくかどうか、
速度的なものやメモリ使用量把握だからねぇ

ところでGraphics2Dでそろそろ加算合成実装して欲しいんだがすばらしく放置だよな

そもそも基本についてはSunのマニュアルで代替分かると思う
115名前は開発中のものです。:2005/12/11(日) 20:35:51 ID:CGEh3W0j
Java2Dに関して言えば、VolatileImageは、まだほとんどの環境で
透明、半透明が使えないので、事実上まともなゲーム制作には使えない。。。
createCompatibleVolatileImageメソッドでTransparency引数が
指定できるが、定義だけでまだ実装されてない。。。
つまり、BufferedImageを使うしかない。これへの描画メソッドに
アクセラレーションが効いてるのはない。。。
116名前は開発中のものです。:2005/12/11(日) 20:40:29 ID:xyghd8DO
>>115
5.0からつかえるようになったけど?
117名前は開発中のものです。:2005/12/11(日) 20:43:08 ID:ohNVp0t4
VolatileImageからVolatileImageへ上書きすると透明じゃなくなるバグって無かったっけ?
118名前は開発中のものです。:2005/12/11(日) 20:45:55 ID:xyghd8DO
それは1.4.2まで
119名前は開発中のものです。:2005/12/11(日) 20:48:17 ID:xyghd8DO
あと描画元がBufferedImageでピクセルフォーマットが同じ場合
あるスレッショルドを超えると内部でVolatileImageにして転送してくれる
この設定値を0にするのがまず基本

5.0からはこの動作範囲が広いようだ
つまり、最適化されてないアプリだと高速化する可能性あり
1.4.2までにチューニングしてると速度向上は一切なし

5.0で画像周りの速度が速くなったというやつは大概設定ミス
120名前は開発中のものです。:2005/12/11(日) 21:36:17 ID:CGEh3W0j
>>116
使えない。5.0でも使えない。
どの環境(OS)で使えたのか教えてくだされ。
121名前は開発中のものです。:2005/12/11(日) 21:40:12 ID:CGEh3W0j
>>119
この設定値を0にするのがまず基本、とは?
設定値とは何を指してるのか?
具体的に教えてくだされ
122名前は開発中のものです。:2005/12/11(日) 21:56:41 ID:xyghd8DO
まずVolatileImage>VolatileImageでの透過転送は可能
1.4.2まではムリ
5.0から追加されてるメソッド使うからね
Windowsで確認済み

スレッショルド指定はSunのドキュメントにも書いてある

これをメインクラスのstatic初期化にいれておけ
System.setProperty("sun.java2d.accthreshold","0");
標準出力に出るので、それを設定してあるアプリかどうかはすぐに分かる

ちなみに0とは描画回数が0という意味
画像をBufferedImageにロードした段階でVRAMにも転送することを現す
1なら最初に描画しようとしたときにまずVRAMへ転送、そしてVRAM>VRAMを処理する

この辺はすべてSunの日本語資料にある
123名前は開発中のものです。:2005/12/11(日) 22:10:48 ID:CGEh3W0j
>>122
自分もWindowsXpなのだけど、VolatileImage を使うと
アルファ値0のピクセルが真っ白になってしまう。。。
列挙された全GraphicDeviceの全GraphicConfigurationから得る
VolatileImageのTransparencyタイプが、全てOpaqueになってる。。。

本当にWindowsでValatileImageの透明機能が使えたのですか?
124名前は開発中のものです。:2005/12/11(日) 22:44:05 ID:xyghd8DO
そのだめだったコードかいてみそ
125名前は開発中のものです。:2005/12/11(日) 22:51:58 ID:CGEh3W0j
>>124
GraphicEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gd.getDefaultConfiguration();
VolatileImage image = createCompatibleVolatileImage(640, 480, Transparency.TRANSLUCENT);

これで得る image は、半透明でないのです。。。
gd、gc を列挙させて、その全てから得るimageも半透明でないです。。。
126名前は開発中のものです。:2005/12/12(月) 00:52:54 ID:5lGPHviO
Transparency.TRANSLUCENTはDirec3Dを有効にしないと駄目だったはず
BITMASKでの透過ならいける
127名前は開発中のものです。:2005/12/12(月) 00:53:29 ID:5lGPHviO
そもそも半透明はアクセラレーションきかないので注意ね
128名前は開発中のものです。:2005/12/12(月) 01:05:16 ID:5lGPHviO
ってやってみたらアルファブレンドが有効でちゃんと描画された

たぶんロードのところミスってると思うよ
129名前は開発中のものです。:2005/12/12(月) 01:12:31 ID:5lGPHviO
ちなみに
ImageIOでロードしたアルファつき画像をそのまま128個描画

 8fps

ちゃんと設定したVolatileImageとBufferedImageが同じで

 50fps

となった

アルファつきならVolatileImageにおく必要はないね
130名前は開発中のものです。:2005/12/12(月) 01:17:38 ID:4tfiFb5f
System.setProperty("sun.java2d.accthreshold","0");
としておけば普通にBufferedImageでOKってこと?
131名前は開発中のものです。:2005/12/12(月) 01:26:16 ID:5lGPHviO
ついでなんで
単なる透過を描画した場合

フルスクリーンモードならTRANSLUCENTでもBITMASKでも
スプライト2048個描画で60fps維持

スプライトサイズは64*64で
画面モードは640*480にしたときの場合ね

オンボードビデオでこれなのでnVIDIAとかATIとかのそれなりのつめば余裕で超えるかと
通常モードはDirectDrawのラッパだと考えればどれが速いかとか分かりやすいと思う
132名前は開発中のものです。:2005/12/12(月) 01:28:24 ID:5lGPHviO
>>130
ほとんどの場合はそういうこと

あくまでも描画先をVolatileImageで描画元はBufferedImageで
VRAMにおくかどうかはインテリジェントに任せるというのがJavaらしいかな
VRAMにおく優先順位とかもあるので頻繁に描画しないやつはそれを抑えておくといい

この方法ならVRAM容量が多ければ加速しやすいとかそういう感じ
昔AGP登場時の思想にあったやつね
133名前は開発中のものです。:2005/12/12(月) 16:21:39 ID:xzlsw/bc
Javaでゲームを作れという課題がでたんですが、どんなのが簡単だとおもいます?
行数は400以上&対戦ゲーム&Swingというのが条件です。
既存のゲームでなるべく参考資料が沢山あるものが良いのですが・・・

アイデアゲームは自分のスキルや時間的制約から作る自信が無いですorz
134名前は開発中のものです。:2005/12/12(月) 16:57:06 ID:5lGPHviO
ブロック崩しやインベーダーのようなSTGとか

Swingを使えという時点でたぶんそんなレベルじゃない気がする
マルバツゲームとかもっと単純なの

最低自分が何を作りたいかだけはきめてください
135名前は開発中のものです。:2005/12/12(月) 17:05:04 ID:6Xf+w43J
>>133
その条件なら特に苦にならんだろう
テンプレあたりに行って資料が多そうなの探せばいんじゃね?
136名前は開発中のものです。:2005/12/13(火) 07:26:14 ID:lGjUBPOJ
>>134
12月末までという期限付きなので力量に合わないのに手を出したら怖いなと。
そのためそこそこボリュームがあって簡単に作れるゲームをきいてみたいと思ったわけです。
ちなみにブロック崩しモドキ(ボールをブロックに当てたら壊れる)や
シューティングモドキ(たまを発射させ物に当たったら壊せる)ぐらいは作った事ありますが、
昨日調べた結果によるとリアルタイムで進行させるものは対戦にするのは難しいとか。
それよりターン製のゲームの方が比較的楽でイイヨって書いてありました。。

>>135
つらつらとネットサーフィンしてみましたが400行足らずでも結構うまく作れるものですね、
どんだけのゲーム作れば良いのかと何か不安になってきましたorz
137名前は開発中のものです。:2005/12/13(火) 12:23:28 ID:SA14+LJ/
リアルタイムのほうが難しいかどうかは設計しだいかと
12月末ではあと2週間ですか
STGだと1面だけ開発するのも難しそうだ
138名前は開発中のものです。:2005/12/13(火) 14:25:19 ID:ULQaYiRM
>>136
とりあえずとっとと着手しろって
ブロック崩しに対戦要素混ぜるとかでいいじゃん。
上下にバー作るとか。
ちょっと工夫するなら、画面半分に分けて上下にバー作って、
1P側の操作で左の下側バーと右の上側バーが同時に動き、
2P側の操作だとその逆。勝利条件をちょっと考えれば
これで十分対戦になるじゃんよ?
139名前は開発中のものです。:2005/12/13(火) 18:22:53 ID:lGjUBPOJ
2日で終わらせた人がいたもので、自分でも2週間あればと思っていたのですが・・
なんにせよ選ぶのは程ほどにし、
皆さんの意見を参考にしつつ今から寝ずに頑張ってきます。
他のレポートもあるのでつきっきりになるわけにはいきませんがorz
Thank you.


140名前は開発中のものです。:2005/12/13(火) 18:25:21 ID:SA14+LJ/
がんがれ
141名前は開発中のものです。:2005/12/13(火) 23:40:37 ID:/KZUefCp
ジョイスティックを扱うには、
JNIとJavaCommunicationAPI、どっちが良いのでしょうか?
前者は高級な機能を使えるけど環境依存、
後者は低級な所からくみ上げる必要があるけど、WinとSunで動く、
という感じなのでしょうか?
142名前は開発中のものです。:2005/12/13(火) 23:43:17 ID:msXDQ5aj
143名前は開発中のものです。:2005/12/13(火) 23:48:38 ID:Ngny3SWu
400行のゲームなら、その先生が期待してるのはテトリスあたりかな。
対戦要素を考えるならボンブリスとかか、俺ならそこらへん狙う。と遅レス。
144名前は開発中のものです。:2005/12/14(水) 00:08:34 ID:8d4z5wIB
>>142
コミュニティ開発のAPIですか。
まだライセンスを確認してないけど、
頒布の問題が発生しなければいいかもですね。
145名前は開発中のものです。:2005/12/14(水) 00:52:23 ID:P5dHJreb
どのライブラリにしろJNIで組まれてる
146名前は開発中のものです。:2005/12/18(日) 01:18:18 ID:ART67WNv
フルスクリーンにしようと思うのですが、環境はどんなのが良いのでしょうか?
640x480の16bitでいいかなと思うのですが、Win高級機以外でも32bitって使えますか?
147名前は開発中のものです。:2005/12/18(日) 01:43:27 ID:9q2jSVUj
つーか、Win以外は解像度変更あきらめたほうがいいかと
そしてWinでも32bpp出せない環境はある
148名前は開発中のものです。:2005/12/18(日) 01:59:42 ID:ART67WNv
>>147
Win以外では無視されるといことでしょうか?
では16bpp(bit per pixel?)にしておけば不具合が起きることもなさそうです。

BIT_DEPTH_MULTIというのもあるのですがこれは使えますか?
スクリーン版JISAutoDetectみたいなものなのかとJavaDocを見て思ったのですが
これといった情報がネットにありませんでした。
149名前は開発中のものです。:2005/12/18(日) 02:03:11 ID:9q2jSVUj
指定なしという感じでは?
Linuxでやったときは画面サイズ変更が不可能だったし、ウインドウモードとフルスクリーンモードと作ったよ

内部描画と出力描画を分けるとかが吉かも
速度大幅に低下するけど

あと使用可能な画面をリストアップして処理するのが一番だね
150名前は開発中のものです。:2005/12/18(日) 02:14:24 ID:ART67WNv
> 使用可能な画面をリストアップして処理する
ここをもう少し詳しく教えていただけないでしょうか?
device.getDisplayModes();で最高値のモードを探す感じですか?
151名前は開発中のものです。:2005/12/18(日) 13:02:30 ID:9q2jSVUj
最高というか自分がやろうとしているモードに最も近いのを探すといった感じかな
152名前は開発中のものです。:2005/12/19(月) 20:35:40 ID:o8rpM/SY
グラフィックなどは置いといて、
タクティクスオウガみたいなSLGのシステム作るのに
おまいらだったらどれくらいかかるもんですか?
153名前は開発中のものです。:2005/12/19(月) 20:49:21 ID:Xlt1mg4V
時間がかかりそうなものは最初に作ろうとしない
自分がまず完成できるものを選ぶ

のが普通では?
最初から風呂敷広げて崩壊していくのを何度見たことか

たいしたことのないものであってもちゃんと快適動作してバグもないように完成させる、
というのはそれなりに大変なもの
154名前は開発中のものです。:2005/12/19(月) 22:23:05 ID:GbGeAi3t
フルスクリーンでゲームをつくってきたんですが、
デバッグがあまりに手間でウィンドウモードに変えたくなってきました。

public Graphics2D getGraphics()
のようにして、
スクリーンマネージャが
getFullScreenWindowからえたWindowから、
BufferStrategyを返して、
それから、Graphics2Dを返して描画するようにしているんですが、
ここから楽にウィンドウモードに切り替えるすべはありますか?
155名前は開発中のものです。:2005/12/19(月) 22:52:44 ID:Xlt1mg4V
ウインドウモードでなんでgetFullScreenWindowがでてくるんだ?

156名前は開発中のものです。:2005/12/19(月) 23:30:01 ID:vG/cR0LR
いろいろ悩んだ結果たどり着いたのはStrutsだった。
なるほど、これならMVCになる。この感動は衝撃的だった。
おわり。
157名前は開発中のものです。:2005/12/20(火) 00:07:37 ID:pKpEoU3U
Strutsでゲームつくったのか?
158名前は開発中のものです。:2005/12/20(火) 00:29:32 ID:WpmlUq/X
画面切り替えの仕様がぜんぜんかっこよくならなくて悩んでいたら
Strutsの例のfowerdが頭に浮かんだ。そんだけ。
メインルーチンの戻り値がまさかシーンだったとは・・・みたいな。
159名前は開発中のものです。:2005/12/20(火) 02:15:06 ID:FfJ0Icl6
それゲーム内での遷移のスクリプトの話なだけだろ
AVGとかきまったものでしかつかえんよね
160名前は開発中のものです。:2005/12/20(火) 23:06:36 ID:WpmlUq/X
うんにゃ、RPGパートからシューティングパートに切り替えるにしてもこの手法でいけるよ。
161名前は開発中のものです。:2005/12/20(火) 23:12:27 ID:FfJ0Icl6
その程度のシーン切り替え・・・
162名前は開発中のものです。:2005/12/20(火) 23:19:12 ID:WpmlUq/X
ん?流しっぱなのかスタックなのかの指定もこの方法なら簡単なんだけど・・・
163名前は開発中のものです。:2005/12/21(水) 00:10:55 ID:38cOblp2
>>153
たいしたことのないものは、そこら辺にソースが転がってるから、
作る気が起きないんだよね。
かといって、ちょっとレベルや規模を広げると、1人じゃお手上げになるし。
164名前は開発中のものです。:2005/12/21(水) 00:12:34 ID:2Odzg4dt
たとえばぷよぷよとかテトリス、コラムスなんて作るのは簡単

でも、しっかり音出したり演出出したりバランス取りしてちゃんとしたものを作る
という段階まではなかなか難しい
165名前は開発中のものです。:2005/12/21(水) 20:44:15 ID:+HySSU2I
そこそこできたら飽きてしまって次の作りたくなる
166名前は開発中のものです。:2005/12/21(水) 21:12:53 ID:2Odzg4dt
その差が途中で投げ出すやつか、それとも同人屋やソフト屋としてちゃんとやっていけるかどうかの差
167名前は開発中のものです。:2005/12/23(金) 20:23:05 ID:3FOPkpSW
Javaで作ったRPGでソース公開してるサイトありますか?
もしくはセリフの表示のやり方の紹介とか
168名前は開発中のものです。:2005/12/23(金) 20:57:04 ID:/tlDw98+
それ難しくはないだろ

どの変が難しいと思うんだ?
169名前は開発中のものです。:2005/12/23(金) 21:11:56 ID:PPOyiaLP
>>167
テンプレ
170名前は開発中のものです。:2005/12/24(土) 11:52:15 ID:iqSdFGcF
だれかJava3Dでゲーム作ってる人いない?
171名前は開発中のものです。:2005/12/24(土) 12:56:39 ID:gnp/5lgI
1年位前に触ったときJOGLならともかくJava3Dものすごく遅くてお話にならなかったけど
DirectXの実装のほうでね

172名前は開発中のものです。:2005/12/24(土) 16:05:43 ID:twljoP+/
>>168-169 レスサンクス
ドラクエみたいに新しい行が挿入されたら
既に表示されてた行が上にずれて1番上の行が消えるとか

主人公の名前を変えられるゲームにおいて
メッセージ中で表示するときはどうしたらいいかとか

ファイルからセリフを読み込むにはとか

テンプレ見て勉強します
173名前は開発中のものです。:2005/12/24(土) 16:31:00 ID:Al8Kj3xL
>>172
> 既に表示されてた行が上にずれて1番上の行が消えるとか
Clipが神だと分かったあの日の夜
174名前は開発中のものです。:2005/12/24(土) 16:37:56 ID:gnp/5lgI
それ文字列をスクロールさせるのではなくて
BufferedImageで文字列のバッファ用意して毎フレームブリットしたほうが楽
175名前は開発中のものです。:2005/12/26(月) 08:43:49 ID:zSwx4yvQ
>>174
勉強になります
dd
176名前は開発中のものです。:2006/01/07(土) 15:15:38 ID:EFX7v943
Javaでタスクシステムって作れる?
177名前は開発中のものです。:2006/01/07(土) 18:00:27 ID:yOZ6b1cq
オブジェクト指向なんだから普通はポルモルフィズム(多態性)でOK
178名前は開発中のものです。:2006/01/15(日) 10:23:57 ID:53jl8YVS
SWTのImageとGCをつかってスプライトを描画しているんですが、
左右反転、上下反転をする際に、
setTransform(...)
で、trans.scale(-1,1);
などとすると複数のスプライトを描く際に実用に耐えられないくらい重いです。
AWTのdrawImageみたいに、それだけで左右、上下反転できないのでしょうか?
srcX,destXを反転させれば良かったAWTにたいし、
SWTだとwith,height指定なので引数に負数を渡すと実行時エラーになってしまい、それだけではできないようにみえます。
ご存じの方、おられましたら宜しくお願いいたします。
179名前は開発中のものです。:2006/01/15(日) 11:12:29 ID:aMKMqoWr
SWTはEclipse以外では使わないこと
が正しいと思う

PureJavaのほうがまともな実装ってどういうことさ
って場面がよくある
180名前は開発中のものです。:2006/01/15(日) 20:09:28 ID:Vrds102b
SwingでJava2D使おうぜ
181178:2006/01/15(日) 22:49:28 ID:53jl8YVS
>>178,>>179
なるほど、ありがとうございます。
SWTをつかってアニメーションエディタとゲーム自体を一緒に作っていたのですが、
考え直した方が良いみたいですね。
182名前は開発中のものです。:2006/01/15(日) 22:52:15 ID:53jl8YVS
う、間違えました。
>>180
Swingの方がやはりいいんですね。SWT自体は割と扱いやすいとは感じているのですが、
最近は情報も出てこず考え直したりもしています。
SWTを使うと局所的なところでWin32APIなどを呼べるのも魅力なのですが。
思想には反しますけれど。
183名前は開発中のものです。:2006/01/16(月) 00:14:43 ID:DTLttG/1
PureJavaとはいえJava2DってDirectX使われてるの知ってる?
情報量は多いしものによっては速度面でも結構いける

1フレームあたり1000個のスプライトとか余裕
184名前は開発中のものです。:2006/01/17(火) 03:10:21 ID:9917DXoA
JAVAでカードゲームを作ろうと思っているのですが、
某サイトに開発ツールJAVA2 SDK 1.3と書いてあるのですが、
このスレのテンプレには(Ver5.0のJDKとVer1.4.2) しかなく
どれをDLすればいいのか分かりません
どなたか教えてもらえないでしょうか?
185名前は開発中のものです。:2006/01/17(火) 06:08:31 ID:Om3jnpEH
>>184
ハァ?
質問の意味が読めん
186名前は開発中のものです。:2006/01/17(火) 06:37:28 ID:1vDzG9rV
>184-185
エスパーちからを発揮してみると、参考にしようと思ったサイトが
1.3だったので、1.3が良いと思ったのではなかろうかと。
1.4か5.0でやってみたら?ほとんどの場合、動くと思うよ。>184
187名前は開発中のものです。:2006/01/17(火) 14:12:13 ID:jNVA85J7
>>185-186
日本語がおかしくてすみません
参考にしようと思ってるサイトでは1.3と書いていて
1.3を探したけど、1.4か5.0しかなくて困ってます。
それから1.4と5.0の違いが分からなくて
どっちをDLしていいのか分かりません
違いを教えてもらえないでしょうか?
ちなみにiアプリのゲームを作ろうと思ってます
188名前は開発中のものです。:2006/01/17(火) 14:22:08 ID:4NyPfQ7d
ここではJava2SEの話題がメインなので
J2MEの話題はプログラム技術板に専用スレがあったと思うのでそちらのほうがいいかと。

そして動作保障している1.3を使うのが吉。
互換性は細かいタイミングが必要なところではチューニングすればするほど問題が出やすいし。

J2MEといってもiアプリは独自の層があついのでいわゆるJavaという豊富な標準API
を使って開発するという感じはないと思われ。
189名前は開発中のものです。:2006/01/17(火) 17:16:07 ID:jNVA85J7
おお!?
そうなのですか
全然知りませんでした^^:
すみませんでした
そっちに行きます
190名前は開発中のものです。:2006/01/18(水) 06:35:27 ID:kAS6/zeP
すみませんCPad for Javaについて質問です

CPad for Java 2.31
にてAntが使えるというので、以下のページのやり方で設定してみました
ttp://javacafebreak.tripod.com/document/cpad_tips/cpad_ant.html

このページには「CPadで、Antを実行するには、『F6』キーを押すか、メインメニューの『実行』→『Ant』を選択します」
とかかれているのですが、『F6』キーを押しても何も起こらないし、
「メインメニューの『実行』→『Ant』」などというメニュ項目も見当たりません

CPadで、Antを実行して、さらにエラーメッセージをCPad上のメッセージウィンドウで表示させている人たちは
どうやっているんでしょう
(DOS窓でAntの実行を単独実行するやり方はわかっているのですが、それだとCPadのメッセージウィンドウに表示できないので不便なんです)
環境はWindows2000 JDK1.5.0_06 です
191名前は開発中のものです。:2006/01/18(水) 10:53:20 ID:c2N1wZsa
もしかして普通のJavaスレと勘違いしてる?
192名前は開発中のものです。:2006/01/23(月) 17:40:02 ID:kW9KAIGh
サーブレットとかJSPでゲームを作るのは無理ですか?
193名前は開発中のものです。:2006/01/23(月) 17:48:15 ID:yJIlIQCh
WEBアプリのゲームはあるから無理ではないけど
別にたいした仕組みが必要になるわけでもないと思われ
194名前は開発中のものです。:2006/01/23(月) 22:17:38 ID:/EcVc25a
シューティングでインタープリターをつくろうと思ったのですが
文法をどうやって決めればいいのか、どう実行させればいいのか
いまいち想像できません。
敵の出現まではできそうですが、敵の弾の設定(どんな弾を、いつだすか)を
インタープリターでどう表現したらいいのでしょうか?
195名前は開発中のものです。:2006/01/23(月) 22:27:55 ID:I0QlWZ4d
>>192
WEBブラウザで行うCGIゲームライクなものなら当然可能。
というか、漏れ自身が現在進行形で作成中。
196名前は開発中のものです。:2006/01/23(月) 22:46:33 ID:tL3TpBsR
>>194
なんか設計に悩んでるっぽいことはわかった。
その調子でがんばれ。
197名前は開発中のものです。:2006/01/23(月) 22:49:50 ID:yJIlIQCh
>>194
まずは敵のクラス内で処理してみれば?
それを外に出したほうがいいか、ださないほうがいいかは案件しだい
198名前は開発中のものです。:2006/01/24(火) 14:41:32 ID:vo2dZIRF
インタープリターよりも簡単なコードジェネレータの方がいいんじゃない?
199名前は開発中のものです。:2006/01/26(木) 15:59:14 ID:Pd3Qgsdn
格ゲーで斜めジャンプをさせたいんだけど、上キー+右キーでやらせるにはどうしたら良い?

以下制作中のソース。
public void keyPressed(KeyEvent e){
 int K = e.getKeyCode();
 if(K==KeyEvent.VK_UP) {
  st = 8;
  KeyAction();
 }else if(K==KeyEvent.VK_DOWN){
  st = 2;
  KeyAction();
 }else if(K==KeyEvent.VK_RIGHT){
  st = 6;
  KeyAction();
 }else if(K==KeyEvent.VK_LEFT){
  st = 4;
  KeyAction();
 }
 repaint();
}
200名前は開発中のものです。:2006/01/26(木) 16:52:43 ID:ITPJnSj3
>>199
まず根本的なことからなおしましょう

キーのイベントで処理は入れないように

メインループでのみ処理するようにしてください
イベントではフラグの上げ下げのみで
201199:2006/01/26(木) 23:31:16 ID:Pd3Qgsdn
>>200
サンクス。できるようになりました。
202まほろば ◆BmUbLWewsM :2006/01/28(土) 18:36:32 ID:K+4gOIY6
いやーこのスレは役にたつなー。。
ところで、classファイルからソースコードを盗まれないようにするにはどうしたらいいんでしょ。。
203名前は開発中のものです。:2006/01/28(土) 18:42:43 ID:u3ZzJuZS
正直それはあきらめろ

クラスローダ自作したところで実行中のメモリのぞかれれば意味なし
nproではじくとかやると誰も使うやつはいなくなるぞ

ネイティブバイナリでもコンパイラの癖とあたりつければそれなりに追えるんだし・・・とわりきれ
その分開発効率がいいんだからガンガンものづくりに専念しなさいといいたい

オンラインゲーなら毎日こまめにクラスを再配布していれば大丈夫かと
204まほろば ◆BmUbLWewsM :2006/01/28(土) 21:29:17 ID:K+4gOIY6
>>203
実行中のメモリのぞかれれば意味なし
そんな事出きるの?ソースは?
やろうと思えばできるとか妄想でつか?
205名前は開発中のものです。:2006/01/28(土) 21:37:25 ID:EnQtmKxX
>>204
メモリ覗くだけならWindows上で実行しちゃえば簡単だろうけど、
手軽に解析って話は俺も聞いたこと無いな。

うちの会社はDashOとかいうバカ高い難読化ツールを買った。
そんな必要無ぇって主張は通らなかった。
206名前は開発中のものです。:2006/01/28(土) 22:44:25 ID:PUcSGIMg
読みやすくしてくれるツールはありませんか。
207名前は開発中のものです。:2006/01/28(土) 23:06:37 ID:u3ZzJuZS
>>204
多少は調べろ
クラスロードした後はざる
208まほろば ◆BmUbLWewsM :2006/01/28(土) 23:57:58 ID:K+4gOIY6
209名前は開発中のものです。:2006/01/29(日) 01:11:24 ID:1KG7yFUT
結局いいスレだったのをコテハンが壊したってことか。
210名前は開発中のものです。:2006/01/29(日) 02:35:06 ID:PecoYXTp
もう大学生は春休みか……
いいご身分だなぁ。
211名前は開発中のものです。:2006/01/29(日) 12:34:08 ID:FRX/ORuz
低脳だから卒業後ニート行きで
さらに良いご身分だな
212まほろば ◆BmUbLWewsM :2006/01/29(日) 13:24:43 ID:LX0lKjST
まったくだなww
213名前は開発中のものです。:2006/01/29(日) 17:14:26 ID:zbiz4Pm/
GraphicsクラスのdrawImageで浮動小数点数を使う方法って何かない?
ゲームのキャラクターを表示させるためにはint型では精度が悪いんで。
214まほろば ◆BmUbLWewsM :2006/01/29(日) 17:28:00 ID:LX0lKjST
ないよ。javadoc見りゃ分かるじゃん。。
215名前は開発中のものです。:2006/01/29(日) 17:45:07 ID:ec+1eYbr
>>213
そういうときは大きいバッファを持つことで回避する
320*240の画像を0.5単位で扱いたいときは640*480とかね

drawRenderedImageとかtranslateを使う方法もあるが
用途がゲームなら使わないほうがすっきりしていいと思われ
216名前は開発中のものです。:2006/01/29(日) 17:57:12 ID:2i9o9yjB
>>213
Graphics2D でもいいのなら AffineTransform を使えばできる。
デフォルトでは AffineTransform を使用しても補完してくれないので、
補完方法を設定する必要がある。

Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
g2.drawImage(image, transform, null);

こうすると 0.01 単位でヌルっと動かせるけど、それなりに重くなるし
画質もはっきりしたりぼやけたりするので逆にオススメできない。
キャラ自身の内部座標を小数点で扱うのは自由だけど
画像の描画に関しては座標を int で処理するのが現実的だと思う。
217名前は開発中のものです。:2006/01/29(日) 21:48:41 ID:qPM3IQVC
正男ってjava?
218名前は開発中のものです。:2006/02/01(水) 20:44:05 ID:W1eX6IZO
Javaアプレットでしょ
219名前は開発中のものです。:2006/02/05(日) 00:25:12 ID:LCSDYznu
フルスクリーンモードで質問なんですが

  public static void main(String[] args) {
    GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
    GraphicsDevice device = env.getDefaultScreenDevice();

    JFrame frame = new JFrame(device.getDefaultConfiguration());
    frame.setUndecorated(true);

    device.setFullScreenWindow(frame);

    MyPanel panel = new MyPanel();
    frame.getContentPane().add(panel);
  }

こんな感じでフルスクリーン化するフレームの上にパネルをはりつけてます。
このときフルスクリーン状態にはなるんですが、パネルのpaintComponent()が
呼ばれてないらしく描画されません(画面が真っ白のままでサウンドはなります)

panelのpaintComponent()が呼ばれるにはどう修正すればよいでしょうか。
220名前は開発中のものです。:2006/02/05(日) 00:52:34 ID:NFbwVJ0F
フルスクリーン使ってるならSwingのイベントモデルにはこだわらないのが普通
BufferStrategyってのをしらべてごらん

ようは好きなタイミングで描画が出来るのだ
221名前は開発中のものです。:2006/02/05(日) 01:21:52 ID:LCSDYznu
ありがとうございます。
やっぱそれですか。そうかもと思って実装始めたらできました。
frame.createBufferStrategy(2);
とやってpaintComponent(g)をdraw(g)にかえて
BufferStrategy strategy = window.getBufferStrategy();
Graphics g = strategy.getDrawGraphics();
draw(g);
g.dispose();
でうまく描画できました。
222219:2006/02/05(日) 01:30:28 ID:LCSDYznu
もう一つあるのでアドバイスいただけるとうれしいです。

Window window = device.getFullScreenWindow();
window.add(JPanelオブジェクト);

とやってフルスクリーン上にパネルを置いています。
こうするとパネルがちらついてしまうのですが対策はあるでしょうか。
223名前は開発中のものです。:2006/02/05(日) 01:52:48 ID:8ByMu9YS
まずパネルをおく必要はない
ウインドウ全体を使って描画してるから
224219:2006/02/05(日) 09:38:19 ID:LCSDYznu
コマンド選択パネルみたいに使っているんですが。

フルスクリーン上でスペース押すと右上にパネルが表示されます。
KeyboardListenerを実装してるのでキー入力はそのパネルが奪い
パネルを消すともとのフルスクリーン上にキー入力がいくという感じです。
パネルじゃなくてCanvasでもいいんですがどうもちらつきます・・・

パネルで何も描画しなくてもちらつくということはフルスクリーンにしてる
JFrame上にコンテナは置いちゃだめということでしょうか。
225名前は開発中のものです。:2006/02/05(日) 12:29:26 ID:8ByMu9YS
おいてはいけないということはないが、BufferStrategyはつかえんぞ
226219:2006/02/05(日) 13:00:29 ID:LCSDYznu
そうですか・・・ボタンやらも全部だめだったのでBufferStrategyの描画領域にコンポーネントは配置してもちらついてしまうみたいですね。
あきらめてパネル風のウィンドウを描画することにします。
227名前は開発中のものです。:2006/02/05(日) 13:25:23 ID:8ByMu9YS
ゲーム目的ならコンポーネントの描画は避けるべきだな
すべて自前で描画しないとリフレッシュとかのタイミングがコントロールできん
228名前は開発中のものです。:2006/02/05(日) 14:37:09 ID:15xceU0H
便乗だけど、フルスクリーンで文字の入力はどうすればいいの?
英語だけなら楽勝かもしれないけど、漢字変換とかどうすればいいのかさぱーり。
以前コンポーネント埋め込んだら酷いことになって諦めてた
229名前は開発中のものです。:2006/02/05(日) 14:40:46 ID:LCSDYznu
MMORPGの市販ゲームとかできてるからやり方あるんだろうけど。Javaだとどうなるんだろ。自分も知りたい。
230名前は開発中のものです。:2006/02/05(日) 15:23:24 ID:8ByMu9YS
MMORPGの場合フルスクリーンでもただすべての画面を占有するだけ
といった作りかたしてると思われ

JavaでやろうとするならBufferStrategyをあきらめるほうがいいだろうね
JPanelに画面部分を描画、paintComponentでバックバッファから自前で転送
231名前は開発中のものです。:2006/02/05(日) 17:31:23 ID:XoC15JKP

LWJGLやJOGLで日本語文字を画面に表示するにはどうしたらいいんでしょうか。
LWJGLにAWTGLCanvasっていうのがあって、これを使えばできそうなんですが、
サンプルがなく使い方がいまいち分かりません。

みんなはどうやっているんだろう。

以前Graphics2Dでゲーム作ろうと思ったけど、アルファブレンド処理がソフトウェア描画に
なったので、LWJGLに移ったんですが。

うううーーーん
232名前は開発中のものです。:2006/02/05(日) 17:43:24 ID:8ByMu9YS
基本はDirectDrawだからな
一応オプションでDirect3Dで動作させればアルファブレンドもハードウェアになるが
レンダリング品質の問題とか通常一番使うブリットが遅いとかJava2Dベースでは
通常合成しか出来ないとかが問題になるからな

LWJGLはまったくさわったことがないのでわからん
JOGLはOpenGLそのままだね
俺が触ったときはSDLとのリンクが未実装だったので対象には上がらなかったが

Java3Dは高級すぎてゲーム用途にはまったく使えないという感じだった
速度がまったくでないことやピクセル単位の処理という感じではなかった

ただ、軽く触っただけなのでなんともいえない
2Dゲームならソフトウェアによるアルファブレンドが問題になるほど遅い場面は少ないとは思う
233名前は開発中のものです。:2006/02/05(日) 19:35:20 ID:XoC15JKP

>>232

640x480の画面に32x32のマップをひきつめただけですでに40FPSだったんですよね
Graphics2D。。。

やっぱりC++の方がゲーム開発はいいのかなぁ・・・
開発効率はJavaの方がはるかにいいんですけどね

何かJOGLやLWJGLに近い速度がでるゲーム用ライブラリって
ないんでしょうか

234名前は開発中のものです。:2006/02/05(日) 19:44:36 ID:8ByMu9YS
アルファブレンドでしきつめたらそれくらいにはなりそうだが
通常転送ならそこまで遅くなることはあるまい

使い方がおかしいかと
235名前は開発中のものです。:2006/02/05(日) 19:48:54 ID:XoC15JKP

>>234

アルファブレンドで描画したときです。
正直なきたくなりました。
同様の処理でDirectXの場合は余裕を持たせてもFPS500ぐらいでした。
236名前は開発中のものです。:2006/02/05(日) 20:03:06 ID:8ByMu9YS
デフォはDirectDrawベースだから当たり前
PureJavaベースのゲームなら少し前のコンシューマの2Dベースにしておくべき

アルファブレンドが多い場合は自前のエンジンを使ったほうがいい
Java2Dのアルファブレンドは機能が多すぎて高級すぎる
回転とかも同様

あとメモリアクセスを減らすために解像度を下げるとか
今後を考えてレンダリングエンジンはマルチコアに対応させる

現状を考えると320*240-16bppが2DでJavaでの安定動作の限界だと思うよ
それを2倍拡大して描画するのがベストか

Sunはデスクトップ部分に5.0は力を入れるといいつつ
1.4.2とほとんど変わらなかった前科があるから6にも期待薄だな
237名前は開発中のものです。:2006/02/05(日) 20:25:57 ID:15xceU0H
-serverを指定するだけ多少は速くなるし、メモリ次第かなぁ
238名前は開発中のものです。:2006/02/05(日) 21:05:19 ID:8ByMu9YS
serverはゲームではオススメしない
強度の最適化のために滑らかに動かない
239名前は開発中のものです。:2006/03/01(水) 00:33:42 ID:LBMCdldE
BufferStrategyとpaintComponentを切り替えられるようにすれば
RPGツクールでキーボード名前入力を可能にした感じのゲームも可能なのかな。
でもそんなことしてたらMMORPGなんて作れない気もする。
-serverの件もそうだけど、なんかもどかしい
240名前は開発中のものです。:2006/03/01(水) 00:53:30 ID:iPnrcY6D
一応BufferStrategyはCanvasでも使える
AWTなのであまり込み入った使い方しないように
241名前は開発中のものです。:2006/03/01(水) 01:34:48 ID:LBMCdldE
おお、ホントだ。BufferStrategyは埋め込み可能だったのか。
ゲーム画面上に透明チャット窓とかしようとするのも可能そうだね。
BufferStrategyならAWTとSwingの差分なんてあってないようなものだろうし。
ちょっと希望が湧いてきました。
242名前は開発中のものです。:2006/03/01(水) 02:35:02 ID:LBMCdldE
5.0からAWTにZOrderが追加される。かゆいところに手が届いてら。
243名前は開発中のものです。:2006/03/04(土) 19:59:23 ID:+Bxv4duP
Swingでrepaintをした場合ってイベントキューで処理されるの?
Timerのタイミングできちんと描画スレッドに渡せますか?
244名前は開発中のものです。:2006/03/04(土) 23:22:41 ID:EEF7QBKs
何を言いたいのかわからんがSwingは普通のSUIのイベント処理だぞ

リペイントわたしてもリペイント範囲のaddされるだけ

連続でrepaint複数渡しても1回しかリペイントされないとかよくあること

これはSwingに限ったことではない
Windowシステムは全部そう

だからTimerでrepaintわたしたからすぐに描画されるわけではない

正確なタイミングでやるならAWTイベントでのリペイントは辞めるべき
BufferStrategyを使うのが正しい
これは内部でDirectXとか使われてるイベントモデルではなく、いわゆる直書きだ
245名前は開発中のものです。:2006/03/05(日) 13:59:16 ID:R322THrX
>>244 どうもです。
FPS管理するからrepaintのままでやります。
描画に失敗したら致命的というわけでもありませんし。
246名前は開発中のものです。:2006/03/05(日) 14:46:49 ID:o20ilzio
FPS管理って普通にみんなBufferStrategyでしてると思うぞ
なんか勘違いしてないか?
247名前は開発中のものです。:2006/03/05(日) 15:12:44 ID:R322THrX
いやJComponentもバリバリ使いたいので。
248名前は開発中のものです。:2006/03/05(日) 16:46:58 ID:o20ilzio
Swingコンポーネントベースのゲームってめずらしいな
ダブルバッファリングをライブラリに任せるのは割ときついからな
249名前は開発中のものです。:2006/03/15(水) 01:15:11 ID:cXOEjtfT
保守
250名前は開発中のものです。:2006/03/18(土) 15:46:10 ID:bpOUjL+k

良スレですね。


6年ぶりぐらいにJava触って驚いた〜。
趣味の遊びには最適ですね。

251名前は開発中のものです。:2006/03/18(土) 23:01:07 ID:ATXsVevn
exewrapがJavaゲームの必須アイテムになるのかな?
ヒープサイズをjrockitと同じ物理メモリの75%とかに指定したいんだけど
exewrapにはそういう指定は出来ないんだろうか

128m版と256m版の2つ用意したほうがいいかな・・・うーむ
252名前は開発中のものです。:2006/03/18(土) 23:25:32 ID:xwepgm3J
鯖アプリじゃないんだから物理メモリの割合は意味がないぞ
メモリ増えればGCにかかる時間は増えるわけで、ゲームで使用するメモリ量とかちゃんと計算してないの?
それだとGCとかでかたつかないか?
253名前は開発中のものです。:2006/03/19(日) 00:20:58 ID:jd/0wDmz
単位時間に対するGC率が増えるのって操作性に影響でないの?
254名前は開発中のものです。:2006/03/19(日) 00:26:14 ID:UecNa0OI
100秒ごとに1秒とまるGCと1秒ごとに0.01秒とまるGCとどっちがゲーム向きかということだ

それにわりあいでやられたら世代の調整とかおわっとる
GCのアルゴリズムの種類だって調整するのは常識なんだし
アプリごとに最適な値は大きくことなる
255名前は開発中のものです。:2006/03/19(日) 00:34:10 ID:jd/0wDmz
Mapにキャッシュするサイズ+演算用のサイズで考えればいいんだよね?
最適値というのは演算分のヒープサイズがどのくらいのものなの?
256名前は開発中のものです。:2006/03/19(日) 00:50:29 ID:UecNa0OI
GCの頻度とか使用量とかチェックしてないの?
-verbose:gcオプションいれてごらん

もっと詳しく見たいのならプロファイラで見るのが一番だが
まずはGC部分に注力するならこれが見やすいだろうね
257名前は開発中のものです。:2006/03/19(日) 00:58:12 ID:jd/0wDmz
>>256
OK、チャレンジしてみます。
258名前は開発中のものです。:2006/03/31(金) 14:22:07 ID:5bd8BEHK
当方、子供の頃にZ80アセンブラやBASICでゲームプログラムして遊んでいました。
まぁアルゴリズムとかは結構わかります。

今頃になって、再びプログラムを趣味にしてみようと思いJavaを選択しました。
シンタックスやOOPの基本的なことは大丈夫そうです。
Eclipseインストールしてちょっと感激。

で、問題なのはすこしでもDirectDrawとかFPS管理とか、ちょっとでもシステム寄りの
部分になると全然わからないのです。
いくつかソースを読んでみますと、各人でわりと実装が違うようですね。
Java5ではどんな方法がよいのかなど、参考になるものは無いでしょうか。
259名前は開発中のものです。:2006/03/32(土) 00:20:26 ID:dul/XEV4
>>258
そういう人かなりいるよね
ゲームは問題なく作れるけどウインドウアプリになるとmainからはじまらないので
わけがわからない、と

Javaは一応mainから常に始まるしまだ楽なほう
>>1-11あたりはまずよんでみた?
260名前は開発中のものです。:2006/03/32(土) 01:27:44 ID:liMA6BYm
3/32 記念パピコ
261名前は開発中のものです。:2006/04/04(火) 13:36:48 ID:oy1ylhQ+
eclipseってそんなに良いか?【エクリプス】
http://pc8.2ch.net/test/read.cgi/tech/1099300344/274-
> 280 名前:デフォルトの名無しさん[sage] 投稿日:2006/04/04(火) 09:53:59
> >>276
> ほんとかよ。
> 2Dゲームの背景にタイルを敷き詰める処理を作ってみたが明らかに遅いぞ。
> これと言って変な処理は入れてないが、5fps出ない。
>
透過pngをImageIO.read()で読み込んで
Graphics.drawImage(Image, int, int, ImageObserver)で表示すると確かに重くなるが
上の奴はこれと同じ状況なのだろうか?
262名前は開発中のものです。:2006/04/04(火) 13:41:10 ID:h6nMnOJP
アルファブレンドだと重いけどただの色抜きなら重くはないよ
5.0ではBufferedImageのままなにもしなくてもそれなりにきくようになってるし
5fpsってありえんね

そもそもソフトウェア描画でもVGAで30fpsはでそうだが
263名前は開発中のものです。:2006/04/06(木) 12:59:32 ID:kzyZx0iO
iアプリを作ろうと思って勉強してるんですが、画像表示で躓いています。

サンプルではちゃんと表示されるんですが、画像を自作のものと入れ替えるとIO.connectionexception
ってのがでるんです。サンプルと同じGIFでサイズも同じにしてあるんですが。自作画像の方に問題が
あるんでしょうか。
264名前は開発中のものです。:2006/04/06(木) 14:20:33 ID:mP0GEHd4
>>263
動かないのが実機かPC上かを明記してもらえるとありがたい
サンプルがどんな処理を行うアプリケーションなのかも関係してくる
情報が少なすぎるのでエスパー回答してみるが、

・ファイルが壊れている
終端コードが無かったり、BMPなのに拡張子だけGIFにしたとか
試しにネット上に転がってる別のGIFファイルでテストしてみては?

・ファイル名の指定が間違っている
サンプルと同じファイル名にしてテストしてみては?
大文字小文字、全角半角の違いがないか気をつけて

・容量がオーバーしている
同じサイズというのはピクセル数のことだと思いますが、
バイト数が上限を超えていないか確認してください。
265名前は開発中のものです。:2006/04/06(木) 17:15:27 ID:kzyZx0iO
適当に書いてすいません。エラーがでるのはDoja3.5のPC上で、ビルドした後実行すると出ます。
サンプルは簡単なもので、画面にタイトルを表示するだけのものです。十枚ある画像を取り込んで
そのうちの一つを画面に表示するものです。

ファイルが壊れている>壊れているかは私に判断できないんですが、自作の画像はwindowsのペイ
ントで書いて、0という名前で(サンプルで表示されるのが0.gif)形式をGIFにしています。

容量がオーバー>サンプルは色付きですが、自作のものは白と黒のみなのでサイズは小さいです。


いろいろ試してみたんですが、サイズの違う画像の時に一回エラーがでずにちゃんと表示されて、
その画像の大きさをいろいろ変えたんてみても上手く表示されました。やはり元の画像が悪いので
しょうか
266名前は開発中のものです。:2006/04/06(木) 17:20:56 ID:kzyZx0iO
あともう一つ。一回エラーが出た後、画像をもとのサンプルの画像にしても、やはり
エラーが出たままなんです。
267263:2006/04/08(土) 17:16:17 ID:+i1+4exU
ソースも画像も変えてないのに何回かやったら表示されるようになりました。
お騒がせしました。264さんありがとうございます。
268名前は開発中のものです。:2006/04/08(土) 21:22:15 ID:MsUK1t+N
何回かやったらってありえね
ビルドしてないとか
269名前は開発中のものです。:2006/04/09(日) 20:57:47 ID:S2mcpQ+R
俺の場合、PCを再起動してみたら正常に動いたってことはたまにある。
メモリが不足してたのかな?
270263:2006/04/09(日) 23:11:53 ID:TOyrHTNi
原因はわからないです。さんぷるの画像の内、一枚だけ入れ替えたらうまくいったんで、
一枚ずつ入れ替えていったらエラーがでなくなりました。言われてみれば一回電源切った
あとかも
271名前は開発中のものです。:2006/04/10(月) 02:20:42 ID:tKGbAe46
>>270
わかんないならもうレスしなくていいよ
272名前は開発中のものです。:2006/04/15(土) 01:23:46 ID:sf5nUDiw
そのくらいのサンプル段階ならソース晒してもいいでしょう
アップローダにアップしては?
http://gamdev.org/up/upload.php
短いソースならこのスレに書き込んでもいいだろうし。
273名前は開発中のものです。:2006/04/15(土) 10:51:05 ID:0dEqMUag
この板寂しいからレスしてくれよ・・・
書き込みがあるとわくわくする
274名前は開発中のものです。:2006/04/15(土) 11:44:35 ID:HLCHM0Al
最近アプレットは流行らないよな。
このスレはJavaアプリのこと?アプレットのこと?
サーバ側の話?J2MEのこと? なんでもあり?

それよりなにより、漏れは女とJavaTea飲みたい。
275名前は開発中のものです。:2006/04/15(土) 16:50:42 ID:hisjoupK
MEは実装依存度が高すぎるからそちらのスレで
基本はJavaアプリだろうね

アプレットは社内用リッチクライアント用途ではかなりいいけど
アプリと違って起動時のパラメータとかチューニングが限界がある

アプリによってメモリやGC等の設定は細かくかえるのが普通だから
ゲーム用ではさほど・・
フルスクリーンとかファイルアクセスとか限界もあるしね

手軽に配布ということでフラッシュ程度でいいのならフラッシュで作ればいいし
JavaでやりたいのならWebStartにしたほうがまし

JRE同梱してアプリにしたほうがいいよ
276名前は開発中のものです。:2006/04/15(土) 18:40:50 ID:nQHtm5rD
某スレに幾つかアプレットの2Dゲームが上がってるけど、
速度的には全然遜色ないな。
アプレットでも結構作れる事は作れるけど、開発環境などその他諸々の点で
フラッシュの方が断然上。
アプレットでゲームを作るメリットは何もないよ。
277名前は開発中のものです。:2006/04/15(土) 18:57:48 ID:AcPPvKEl
無料でまともなFlash開発環境があればいいんだけどな
278名前は開発中のものです。:2006/04/15(土) 19:10:16 ID:Vc+Xe/9j
ActionScript経由でFlashの機能は全部表現できるんだよね?
だったらActionScript3.0がパブリッシュ(コンパイルの意)出来る環境があれば
あとはAPIリファレンスを手に入れるだけで何とかなりそう
279名前は開発中のものです。:2006/04/15(土) 21:04:45 ID:hisjoupK
>>276
配布を考えればの間違いでは?
開発環境はアプレットのほうがどこをどう考えても上

アクションスクリプトきっついよ
280名前は開発中のものです。:2006/04/15(土) 22:36:11 ID:lpccgP2z
>>276
ASの開発しづらさを知ってて言ってるのか?
マジキツイっての、アプレットと作り比べてみろよ。
281名前は開発中のものです。:2006/04/21(金) 18:53:51 ID:7zcsjMK6
Java使えればゲーム以外にも仕事で役立ちそう
Flashは覚えても応用範囲が狭そう
282名前は開発中のものです。:2006/04/26(水) 22:50:39 ID:h83t4bfk
>>281
俺はC→AS→Javaだったよ
ASだけは遊びで覚えたんだけど、OO開発の基礎は自然と身についた
MovieClipの仕様がいいんだろうな
283名前は開発中のものです。:2006/04/29(土) 05:29:13 ID:e8m8pSlv
みなさんゲーム作ったんですか?
ここじゃ晒さないんですか?
284名前は開発中のものです。:2006/05/01(月) 20:40:07 ID:nUaQGh3S
フリーのは、ふりーむ!とベクターで公開してる。
有料のはDLsite.com等で販売中。
285名前は開発中のものです。:2006/05/07(日) 00:14:23 ID:W2WiM6Ar
知っている方がいらっしゃったら教えてほしいことがあります。

以前j2re1.4.1_02でフルスクリーンとウィンドウモードを切り替えるものを作ったのですが
1.5.0_06では解像度の変更が正しくうごかないという事に当たりました。

手順は
1)フルスクリーンにする
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = ge.getDefaultScreenDevice();
DisplayMode fullscreen = new DisplayMode(640, 480, 32, DisplayMode.REFRESH_RATE_UNKNOWN);
device.setFullScreenWindow(fullscreen);

2)排他を解除しウィンドウモードにする

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = ge.getDefaultScreenDevice();
device.setFullScreenWindow(null);

この後で1)を行った場合、1.4.1_02ではフルスクリーンで解像度が変わったのですが
1.5.0_06ではフルスクリーンにはなるが解像度が変わらないということになりました。

何かご存知の方がいらっしゃったらお願いします。
286285:2006/05/07(日) 00:27:33 ID:W2WiM6Ar
書き忘れていました。
1)では決まったフレームをフルスクリーン指定してます。

device.setFullScreenWindow(frame);

287名前は開発中のものです。:2006/05/07(日) 02:17:45 ID:5a9PuC3k
元々フルスクリーンと行き来するとリークが発生するから起動時に選択させるほうがいい

ところで意味が分かりにくいのだが
1>2>1ってこと?
288285:2006/05/07(日) 02:57:40 ID:W2WiM6Ar
>287

>元々フルスクリーンと行き来するとリークが発生するから起動時に選択させるほうがいい

ありがとうございます、その方向で考えてみます。

>1>2>1ってこと?

そうです。
289名前は開発中のものです。:2006/05/07(日) 11:37:59 ID:5a9PuC3k
いまやってみたけど画面ちゃんと切り替わったよ
290285:2006/05/07(日) 14:11:36 ID:W2WiM6Ar
>289

j2re1.4.1_02では、繰り返し切り替えたときにちゃんと解像度も一緒に変わったのですが
1.5.0_06ではフルスクリーンにはなりましたが、二度目以降のフルスクリーン切り替えで
解像度が変わりませんでした。(一回目はちゃんと解像度が変わるようです。)

もしうまく切り替わったのでしたらソース、上げていただけませんでしょうか?
291名前は開発中のものです。:2006/05/07(日) 14:15:43 ID:5a9PuC3k
こんなかんじ

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = device.getDefaultConfiguration();
DisplayMode mode = new DisplayMode(640, 480, 32, DisplayMode.REFRESH_RATE_UNKNOWN);

JFrame frame = new JFrame(gc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

Thread.sleep(1000);

device.setFullScreenWindow(null);

Thread.sleep(1000);

device.setFullScreenWindow(frame);
device.setDisplayMode(mode);
292名前は開発中のものです。:2006/05/07(日) 14:17:41 ID:5a9PuC3k
注意事項としてウインドウモードとフルスクリーンモードで
色深度が違う場合テクスチャキャッシュとか全部作り直してね

異なる色深度で転送を行うとすごく遅くなる
293285:2006/05/07(日) 14:20:50 ID:W2WiM6Ar
ソース、ありがとうございます。
確認してみます。
294285:2006/05/07(日) 15:30:17 ID:W2WiM6Ar
>292
先ほどのソースありがとうございました。
フレームの非表示をフルスクリーンとウィンドウ毎にきりかえりため
毎度フレームをdisposeし、再作成していたが原因でした。
ところで、上記ソースのやり方でフルスクリーンのときにだけ
frame.setUndecorated(true);
を有効にしたいとおもい、いくつか試しているのですがうまくいっていません。
作成していたソースを載せておきますので、再度も一度だけご指摘いただけますでしょか?
295285:2006/05/07(日) 15:33:08 ID:W2WiM6Ar
以下がソースです。

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = device.getDefaultConfiguration();
DisplayMode mode = new DisplayMode(800, 600, 32, DisplayMode.REFRESH_RATE_UNKNOWN);

JFrame frame = new JFrame(gc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

System.out.println("初期表示");

frame.setSize(800, 600);

frame.setResizable(false);
frame.setLocationRelativeTo(null);//中央配置
frame.setVisible(true);

Thread.sleep(10000);
System.out.println("フルスクリーンへ");
//frame.setUndecorated(true);//フレームの非表示
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

Thread.sleep(10000);
System.out.println("ウィンドウモードへ");
device.setFullScreenWindow(null);
296名前は開発中のものです。:2006/05/07(日) 16:01:17 ID:5a9PuC3k
>このフレームの装飾の有効化と無効化を切り替えます。
>フレームが表示されていない時にだけ呼び出すことができます。

マニュアルどおりだと思うんだが

タイトルバーの表示、非表示はフレームが表示されているときは駄目
一度非表示にする必要があるよ
297名前は開発中のものです。:2006/05/07(日) 16:03:32 ID:5a9PuC3k
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = device.getDefaultConfiguration();
DisplayMode mode = new DisplayMode(640, 480, 32, DisplayMode.REFRESH_RATE_UNKNOWN);

JFrame frame = new JFrame(gc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

for(int i=0; i<10 ;i++){
Thread.sleep(1000/2);

//ウインドウモード
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(false);
device.setFullScreenWindow(null);
frame.setVisible(true);

Thread.sleep(1000/2);

//フルスクリーンモード
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
}
298名前は開発中のものです。:2006/05/07(日) 16:06:27 ID:5a9PuC3k
あ、最後フルスクリーンモードで終わってるんでALT+F4な
299285:2006/05/07(日) 17:03:17 ID:W2WiM6Ar
丁寧な反応、本当にありがとうございます。
setVisible(false); の後でdisposeが必要なのですね、
わからずに数ヶ月引っかかっていました。
297でいただいたサンプルなのですが、最後のフルスクリーンの状態で
解像度が640, 480ではなく元に戻っていませんでしょうか?
これを何とかできないかなと
//フルスクリーンモード
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);
としてみたのですが、今度はウィンドウモードの解像度が戻らなくなってしまいました。
これが一番最初の質問と同じ状態のようです。
300名前は開発中のものです。:2006/05/07(日) 17:32:54 ID:5a9PuC3k
ウインドウモードのタイミングが指定がおかしかった


//ウインドウモード
device.setFullScreenWindow(null);
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(false);
// device.setFullScreenWindow(null);
frame.setVisible(true);

としてごらん
301285:2006/05/07(日) 18:08:49 ID:W2WiM6Ar
ありがとうございます。
切り替え動くようになりました。
動くようになったので調子に乗って切り替え100回とか試してみたら
java.lang.OutOfMemoryError
がでてきました。最初におっしゃってたように、あまり頻繁に切り替えるもんじゃないって事なんですね。
302名前は開発中のものです。:2006/05/09(火) 15:25:13 ID:ii7Fciy7
ソース見直してたらstaticでいいのにインスタンス生成してる部分が結構あった
インスタンス生成よりstaticの方が軽い、速いかな?
303名前は開発中のものです。:2006/05/09(火) 16:50:48 ID:BdqQPpYt
Java的にはstaticはできるだけ使わないほうがいいらしいけど
304名前は開発中のものです。:2006/05/09(火) 17:54:55 ID:oSIIzbHZ
オブジェクトはプールしないで積極的に生成破棄してくれ
世代別GCとの相性を考えるとこれ
305名前は開発中のものです。:2006/05/09(火) 22:27:04 ID:p8kDUjWo
>>303
実装するにあたって、static変数が必要なデザインパターンもあったんじゃね。
306名前は開発中のものです。:2006/05/09(火) 23:23:28 ID:j9harUZK
>>303
そういう覚え方はよくないよ。勉強しなおしたほうがいい。
307名前は開発中のものです。:2006/05/16(火) 11:01:52 ID:oJeJmTzF
ドラクエってさ、コマンド選ぶと前のコマンドがバックに表示されたまま
次のコマンドが出るじゃん それでキャンセルで現在のウィンドウが消えて
前のコマンドに参照が戻るよね
あれってそれぞれにバッファ用意してやるしかないかな?
たとえば道具→使う→誰に なら
道具を表示するバッファ
道具、使うを表示するバッファ
道具、使う、誰にを表示するバッファ
みたいに
308名前は開発中のものです。:2006/05/16(火) 11:35:56 ID:pNczDPI9
ファミコン時代にバッファがあったと思うか?
ひたすら上書き

ウインドウが消えたらアクティブになったウインドウの描画

それだけだよ
309名前は開発中のものです。:2006/05/16(火) 11:37:03 ID:pNczDPI9
一応レイヤーという考え方もありだが、いまだとそっちのほうが楽だろ
それぞれウインドウ内のみの描画管理
画面全体の描画でそれらを適切に呼び出す
310名前は開発中のものです。:2006/05/20(土) 04:48:56 ID:i7QcIrxX
>>308-309
遅くなったけどサンクス
なんとなく分かってきた

キャラやアイテムのリスト作るのが面倒臭いな・・・
存在してるキャラ、所持してるアイテムを調べてリストにして
多ければウィンドウをスクロールさせなきゃならぬ
面倒だけどがんばるか・・
311名前は開発中のものです。:2006/05/20(土) 09:04:00 ID:R0av8b56
面倒か?
わからなければ先にUMLでもなんでもいいけど処理の手順を書いたほうがいい
312名前は開発中のものです。:2006/05/21(日) 05:45:05 ID:BQPLtheI
処理を考えるのが一番面倒だ
きちんと順序立ててやってみるよ・・
313名前は開発中のものです。:2006/05/22(月) 04:54:34 ID:rAUj867u
俺はデータモデルの設計が一番面倒だなぁ。
変更や拡張に強く、ネットワーク越しの同期の取りやすいデータモデルをとか考え出すとはまり込む。
314507:2006/05/22(月) 19:16:41 ID:KUql4eEY
Javaを最近勉強しはじました。
とりあえず簡単なゲームを作りたいと思っているのですがどれ位勉強すればいいですか?
315名前は開発中のものです。:2006/05/22(月) 19:27:29 ID:bgWiXtf3
ゲーム作りで勉強すれば
そういう本最近多いし
316名前は開発中のものです。:2006/05/23(火) 14:28:37 ID:qGRGm1GF
if else で100近く分岐しそう・・
激重かな
317名前は開発中のものです。:2006/05/23(火) 15:24:24 ID:5zoiL+RS
>>316
どういう風に分岐させたいんだ?
318名前は開発中のものです。:2006/05/23(火) 15:30:17 ID:nyPWq5Mq
100こくらいのifでおもくなるって10MHz切ってるマシンの人かな
319名前は開発中のものです。:2006/05/23(火) 22:43:16 ID:qGRGm1GF
>>317
たとえばさ、魔法クラスがあって、そのメソッドに魔法No.をわたして
そのメソッド内で渡されたNo.によってswitchで分岐させるとか

話がswitchになっちゃったけどswitchは数しかつかえないんだよね、たしか
それ以外で識別したいならif elseしかないと思って

あと、変数は少ないけどメソッドがたくさんあるクラスのインスタンスを
100個くらいつくるとメモリがやばかったりするかな?
320名前は開発中のものです。:2006/05/23(火) 22:51:29 ID:wlFUtSp+
class Magic
{
321320はミス:2006/05/23(火) 22:57:01 ID:wlFUtSp+
abstract class Magic{
public abstract void perform();
}
みたいにして、個別の魔法はこれを継承するようにするとJavaらしくなるよね
実際にゲームを完成させる気ならこんなことしないだろうけど

メソッドはたくさんあっても問題なし
322名前は開発中のものです。:2006/05/23(火) 23:14:15 ID:qo1KKw1q
デザインパターン立ち読みでもいいからおぼえとくといいぞ

制御とデータをわけるという考え方は
Cとか構造化言語までのものだ
323名前は開発中のものです。:2006/05/23(火) 23:18:59 ID:qo1KKw1q
>>321
いや、ゲームでも普通はそういうプログラムを書く

それと識別させたいのならenumを使え
switchもつかえるし
324名前は開発中のものです。:2006/05/23(火) 23:34:50 ID:qGRGm1GF
レスサンクス
おかげで設計ができてきた
enumすか・・あまり馴染みがないから学ぶよ

ところで>>321の4,5行目が素でわからない
アフォですまぬ
教えてもらっていい?
325名前は開発中のものです。:2006/05/24(水) 00:05:11 ID:qo1KKw1q
ポリモーフィズムとかStateパターンとか
そのへんしらべてみるとわかるよ
326名前は開発中のものです。:2006/05/24(水) 00:29:52 ID:0rz/nhQ6
おk、ゲーム作りながら勉強する
いろいろサンクス
327名前は開発中のものです。:2006/05/27(土) 11:28:27 ID:MsTUcez+
VectorにStringとInteger入れて、取り出すときに
Integerの要素をStringでキャスト、変換したり
Stringの要素をIntegerでキャスト、変換したら
エラー出るかな 面倒くさいんでInteger、Stringで統一してるんだが

勉強すればわかることだけどもしよければレスちょうだい
328名前は開発中のものです。:2006/05/27(土) 11:38:38 ID:EufEKVaf
それぞれIntegerとStringが対応してるんなら
class (名前)
{
public String getString();
public Integer getInteger();
}
みたいなクラスを作る

対応してないんだったら、String用のVectorとInteger用のVectorを別にする
329名前は開発中のものです。:2006/05/27(土) 11:49:40 ID:ryxQUfnb
キャストはかならずクラスの関連性がないと無理
かならず数字を含む文字列ということであれば格納前に返還すればいいだけの話だが
この情報だけではどうしたいのかがわからない

あとゲームということは多少パフォーマンス気にすることも多いのだろうから
Swing部分使わないのならVectorよりはArrayListで

シングルスレッドならパフォーマンスはまずかわらんけどな
330名前は開発中のものです。:2006/05/27(土) 13:09:54 ID:MsTUcez+
即&わざわざレス感謝
ArrayListの方がパフォーマンスいいのか・・・
大分Vector使ってコード組んじゃったから、今度からはそうしよう
RPGだからスレッドはマップのキャラ動かすのとアニメーションくらいしか使わないと思う

Vectorの指定された要素がIntegerかStringかで
変換、キャストしたのちifで分岐させて処理を分けたいと思ったんだけど
やっぱり元々のVectorを別にした方がわかりやすかった 対応してないし

話変わるけど、コマンドの実装が面倒だ・・
移動コマンド、アイテムコマンド、魔法コマンド、使用対象コマンド・・
それぞれにクラス作ってそのクラスのキーイベント処理メソッドを
現在のコマンドモードによって呼び分けなきゃならん
いい方法ないかな
331名前は開発中のものです。:2006/05/27(土) 13:39:56 ID:8ehQx4Ia
よくわからんがキーイベントにゴリゴリ書いてるのか?
それならフレームワークの設計自体からやりなおしたほうがいいぞ
332名前は開発中のものです。:2006/05/27(土) 13:57:59 ID:MsTUcez+
ゴリゴリ書いてる・・
とりあえず組んでみようとは思ったがマジで勉強が足りんらしい
チラ裏スマソでした
333名前は開発中のものです。:2006/05/27(土) 14:12:56 ID:8ehQx4Ia
キーイベントではキーの入力フラグを上げ下げするだけ
そしてゲームのループ内でそのフラグを読み取る

これでおけ
334名前は開発中のものです。:2006/05/27(土) 14:23:34 ID:MsTUcez+
ゲームループ内だとkeyTypedメソッドが呼ばれてから
時間差があるかもと思ってkeyTypedメソッドから
直接各コマンドクラスのメソッドを現在のコマンドモードで分岐させて呼んでた

ドラクエみたいなのを再現しようと思ってるんだがゲーム作りって難しいな
俺のゲーム作りが終わるまでJavaが生き残ってるといいんだけど・・

ここの住人はレベル高いね スレ汚しスマソでした
335名前は開発中のものです。:2006/05/27(土) 14:52:54 ID:8ehQx4Ia
ループ内は60fpsとか固定でチェックするから問題ないよ

というか、普通のゲームはイベントで処理するところはほとんどないから
それを隠すためのフレームワークというかそんなもの

まず言語的にJavaがどうのこうのというよりゲームプログラミングに対しての
技術がちょっと足りないかなぁという感じがする

10~20年前だったらゲーム作りとかいろんな本で毎月雑誌に載ってたんだけどな

いまじゃ残ってるプログラム雑誌がなくなってるし、ユーザーが求めるものが
高すぎてギャップで苦しんでる人が多いのはつらい時代だな

とにかくメインループで取得して状態に応じてswitchで戦闘時なのか移動時なのか
キャンプコマンド中なのか分離するようにかけばおけ
336名前は開発中のものです。:2006/05/27(土) 17:41:03 ID:MsTUcez+
ゲームの作り方か・・
一から設計見直すよ
マジで参考になった、ありがとう
337名前は開発中のものです。:2006/05/28(日) 16:35:03 ID:su6FTHmr
C++だとエフェクト(爆発とか)は加算合成を使うって書いてあるんですがJavaでも同じような方法で実装する手段ありますか?
338名前は開発中のものです。:2006/05/28(日) 17:06:46 ID:oT4lybEG
Java2Dには通常合成はあるが加算合成はない
自前で実装するかJOGLとかで3Dで描画するしかない

>>11とかのライブラリに単純な合成がある模様
339名前は開発中のものです。:2006/05/28(日) 22:35:07 ID:L8EQs44V
>316
ifをバイナリツリーみたいな構造にすれば
log2(100)の回数の比較だけで済むんじゃないか?
340名前は開発中のものです。:2006/05/30(火) 19:56:51 ID:AkbGbw5f
mpeg2のような差分圧縮形式のシーケンシャルアニメーションって負荷高いですか?
レイヤー可能でそれを実現できたらコンパクトになるなと思ったのですが
341名前は開発中のものです。:2006/05/30(火) 21:02:41 ID:bnvMLnBd
Javaの質問と関係ないな
効率がいい場合と効率が悪い場合があるっしょ
342名前は開発中のものです。:2006/05/30(火) 22:16:22 ID:AC7eOzy5
>>339
ポリモフィズムで解決という結論がとっくに出ていると思うのだが
343名前は開発中のものです。:2006/05/31(水) 19:31:13 ID:kqayNosp
みんなが配布物に同梱してるSPIってOGG Vorbisくらい?
これが便利ってのがあったら教えてください。
344名前は開発中のものです。:2006/05/31(水) 22:06:19 ID:H+lYwXra
だろうね
OggVorbisさえ再生できればだいたいこまらん
345名前は開発中のものです。:2006/06/01(木) 20:01:54 ID:oy8AdH4m
Javaのゲームライブラリ作成中。Flashの1/2くらいの表現力、生産性が目標。
まぁ皆も半月くらいでライブラリは作って、オーサリング環境作るのに挫折するんだろうけどね。
346名前は開発中のものです。:2006/06/01(木) 23:16:05 ID:mTuQuIix
普通に考えてFlashより表現力は上だし
生産性もFlashはスクリプトがおわっとるからまけないだろ
347名前は開発中のものです。:2006/06/01(木) 23:24:39 ID:IyLxQihX
実行環境の普及率と人々のイメージ
348名前は開発中のものです。:2006/06/02(金) 02:24:25 ID:IlXUhKKR
FLASHと比べるんだからブラウザ上で動かすんだよな
・MIDIや圧縮音声を再生する
・BGMと映像を確実に同期させる
・表示サイズを変更するとそこそこのクオリティで拡縮表示する
あたりが大変そうだ
349名前は開発中のものです。:2006/06/02(金) 07:57:55 ID:OCsBTCKI
・JavaSoundでmidiと圧縮音声は問題なく可能。すぐ上でOggの話が出てる。
・BGMとの同期はそうつくればいいだけ。
・拡大縮小時にアンチエイリアスをかけるかどうかの設定が可能。アルゴリズムも設定可能。

別に大変じゃないし
350名前は開発中のものです。:2006/06/02(金) 21:25:12 ID:cNNwG7w6
Flashは、例えばMovieClipの完成度の高さが大いに参考になる。
あれはComposite、Prototype、Flywightなどの
パターンの組み合わせがかなり洗練されててしかも使いやすい。

なんかFlash8.5からはさらに高度なAPIを持つらしいし
実装の研究をする教材としてはかなり好奇心がくすぐられる。
351名前は開発中のものです。:2006/06/05(月) 07:16:50 ID:voSd2aR7
JavaでノベルゲームとかRPGって作れますか?
352名前は開発中のものです。:2006/06/05(月) 10:04:02 ID:EcpAwWeS
macromediaはずっとデザイナー偏向で作ってきたけど
adobeとの合併で技術者向けのAPIも良くなってくと思う

でもFlashの対抗馬である事に関して、Sunは殆ど興味ないみたいだな
5年前のJavaに今の速度があればいい勝負になってたかもしれんのに

>>351
うん
353名前は開発中のものです。:2006/06/06(火) 01:13:29 ID:wO6xzgzA
>>351
余裕

>>352
Flashの代替はのぞんでないだろ
今はアプリと鯖メインでは?

ただJAX-WSとかGroupLayout標準装備があるんで
企業向けではアプレットやWEBStartが今でも多少使われているのが
今後さらに加速するかも
354名前は開発中のものです。:2006/06/06(火) 23:16:48 ID:/CfzneHU
個人的にはアプレットが一番好きだ
Webで公開して気軽に遊んでもらえるし
355名前は開発中のものです。:2006/06/06(火) 23:20:22 ID:wO6xzgzA
1.1時代のアプレットだとまともにうごかんしな
1.2以上だと別途セットアップが必要
1.2時代のJREなら今のブロードバンド時代なら問題は少ないのだが
5.0のサイズはすげぇ
1.4がかわいく見えるくらい
356名前は開発中のものです。:2006/06/07(水) 21:23:04 ID:IghNSOPk
今はJavaくらいふつうに入れてない?
メーカー製パソコンとかって入ってないの?
357名前は開発中のものです。:2006/06/07(水) 21:41:53 ID:4a3JF+Q3
まあJREも楽勝でインスコできるからな
358名前は開発中のものです。:2006/06/07(水) 23:03:47 ID:k1IxK3O2
>>356
バージョンは買ったときのマシンでばらばらだしそれを期待するのはちときつい
ゲームなら新しいバージョンになればどんどんよくなってるのが敏感にわかる
359名前は開発中のものです。:2006/06/14(水) 15:09:12 ID:LwkvhD3f
>>354
JavaWebStartも良くない?
あれ対応のゲーム出てくると使う側としては楽チンなんだが。見ないね。
360名前は開発中のものです。:2006/06/14(水) 17:48:02 ID:Kbfca28q
Javaで簡単なゲーム作るにはどれ位勉強すればいいですか?
361名前は開発中のものです。:2006/06/14(水) 18:00:49 ID:gnk1ZbZr
「簡単なゲーム」の定義と脳味噌の質によります
362名前は開発中のものです。:2006/06/14(水) 18:55:46 ID:oiUcwSTz
>>360
3じかん位かな?
363名前は開発中のものです。:2006/06/14(水) 20:43:32 ID:E7n+afyq
アプレットにしてもWebStartアプリケーションにしてもセキュリティの問題がつくからね
364名前は開発中のものです。:2006/06/14(水) 21:01:18 ID:KYL0jDeY
>>363に横から追加
Java Web Startってサーバー側にmime-typeの追加が必要だから、
レンタル鯖じゃ動かない可能性あり。

MIME-TYPE:application/x-java-jnlp-file
365名前は開発中のものです。:2006/06/15(木) 13:30:54 ID:tNRE7/uO
>>364
そこは連鎖場屋の中の人にMIME-TYPEの使いを頼めばなんとかなる予感。
366名前は開発中のものです。:2006/06/16(金) 00:52:38 ID:yygRlJ/S
apacheなら個人でもなんとかなるが、運用次第だな
367名前は開発中のものです。:2006/06/17(土) 12:40:34 ID:msfIS4LL
レンタルサーバーでJMSとか使えないかな
ApacheのActiveMQとかで低負荷のCGI代わりに使いたい
368名前は開発中のものです。:2006/06/17(土) 13:13:35 ID:Z2AWkk9k
1台丸ごと借りるならいけるけど
月1,2万かかるよ
369名前は開発中のものです。:2006/06/17(土) 13:31:48 ID:msfIS4LL
それだと完全にASP側に回ってるのと変わらないね
diceやtalkなどシンプルな機能をメッセージングできれば
使い方を決めるのは利用者側みたいなのイメージしてたんだが
370名前は開発中のものです。:2006/06/17(土) 14:46:45 ID:Z2AWkk9k
DBにしてもレンタル鯖のは使い物にならないのと同じ
371名前は開発中のものです。:2006/06/17(土) 17:29:15 ID:cZqcM90l
昨今のDIブームに乗ってアスペクト志向を取り入れようとして挫折気味
設計だけが楽しいみたいな状態に陥ってしまったw
372名前は開発中のものです。:2006/06/17(土) 18:48:38 ID:Z2AWkk9k
ゲーム開発でアスペクトが生きるかどうかはデバッグ時以外では微妙だが
DIはたぶん便利になる
俺も次のゲーム開発ではDIで開発するつもり
373名前は開発中のものです。:2006/06/17(土) 23:46:12 ID:2TpnxAFo
ゲーム開発でDIって例えばどんなの?
374名前は開発中のものです。:2006/06/17(土) 23:58:20 ID:kRFswYuv
例えば以下の内容を記述した設定ファイルを用意する
<resource id="hoge" path="rsrc/hoge.jpg" gen="org.hoge.SPIImageLoader"/>

んで

ImageLoader il = new ImageLoader(conf_path);
BufferedImage img = (BufferedImage)il.getImage(id);

これが基本形。こっからどうするかは腕次第。
375名前は開発中のものです。:2006/06/19(月) 21:46:48 ID:Zb7E8WNx
サウンドにフェード(イン/アウト)、パン(レフト/ライト)の加工をしたいのですが
ぐぐって見た限りではそれらしきところが見当たりませんでした。
これらは割りと基本的なものだと思っていたのですが、Javaにはない機能なのでしょうか?
376名前は開発中のものです。:2006/06/20(火) 00:23:13 ID:z0sECMlC
あります
377名前は開発中のものです。:2006/06/24(土) 21:54:42 ID:pcuzjDvS
フェードはFloatControlで出来ると思うけど、パンってどうすればできるの?
2スピーカーなら2スピーカー分のFloatControlが必要になるよね?
378名前は開発中のものです。:2006/06/24(土) 22:08:59 ID:pcuzjDvS
あ、そういうことか。自己解決orz
379名前は開発中のものです。:2006/06/25(日) 14:38:34 ID:fAOFmqJM
MIDIのSequencerでループさせようとしても
ループの開始時のgetTickPosition()が-2000とかなって余計な雑音が入る。
setLoopStartPoint(0)と設定しても効果なし。
現在はisRunning()でsleepはさむ方法でループさせているが気持ち悪い。

何かよい解決方法があれば教えてください。
380名前は開発中のものです。:2006/06/25(日) 16:59:01 ID:B6He1TJy
MIDIに送り出す部分を自分で作ってるの?
そうではなくMIDIファイルから単に流すだけならループ関係はどうしようもないよ

音源ドライバとか昔の8bit16bit時代ならいくらでも情報は手に入るから
そのへんさがすしかないかな
381名前は開発中のものです。:2006/06/25(日) 20:25:58 ID:US/w5wC7
Java2Dと違ってJavaSoundはちょい敷居が高めだね
ogg対応かつ簡単なエフェクトが掛けられるAudioClipが登場してほすぃ
標準で。
382名前は開発中のものです。:2006/06/25(日) 20:36:42 ID:AQjDLDTE
AudioClipは使い物にならないから今の実装だとoggが再生できてもいらね
383名前は開発中のものです。:2006/06/25(日) 20:42:16 ID:US/w5wC7
だからand条件つけてるやんw
384名前は開発中のものです。:2006/06/25(日) 21:37:23 ID:AQjDLDTE
エフェクトつけれたところでいらんだろ
あんなバッファサイズ最大制限が小さくオンメモリ必須なClipは

実装上の問題で音楽にも効果音にも使えないし

あとJava2DよりJavaSoundのほうが敷居は低いと思うよ
5.0以上ならだいぶ使いやすくなったJavaSoundにたいしていまだにアクセラレーションの聞く範囲がせまく
アルファブレンドもほとんど使えないJava2Dよりはね
385名前は開発中のものです。:2006/06/25(日) 21:43:50 ID:US/w5wC7
それは「敷居」とは関係ないのでは?
386名前は開発中のものです。:2006/06/25(日) 22:12:46 ID:AQjDLDTE
いやいや十分敷居は高いよ

ゲーム用と出ないのならさほど意識することはないのだろうが、
ソフトウェア転送になると目も当てられない

ム板ならともかくこの板ゲーム製作板だしね
387名前は開発中のものです。:2006/06/26(月) 20:32:48 ID:MgtqB2cg
アルファブレンドが敷居が高いとか馬鹿なこと言ってるし
そもそも敷居の意味がわかってないようだな
388名前は開発中のものです。:2006/06/26(月) 23:48:06 ID:6e6dhTU9
アルファブレンドじゃなくてアクセラレーションがきかない描画ってのが敷居が高い。
JavaSoundは非常にシンプル。DirectSoundやってたならすぐにわかるだろうさ。

ようは2Dの知識がない人がJava2Dを扱うのが大変と感じるか
Soundの知識がない人がJavaSoundを扱うのが大変と感じるかの違い。

まったく知識がない場合どちらも難しいだろうが、Java2Dのほうが範囲が広すぎて難しいと思われ。
JavaSoundのほうが難しいと感じるのならあなたは2Dの知識はそれなりにあって
Soundのほうが苦手ということだろう。
389名前は開発中のものです。:2006/06/27(火) 00:34:52 ID:VajeLVWc
所詮はビットマップなのに何が難しいんだか
390名前は開発中のものです。:2006/06/27(火) 00:54:30 ID:RNb1/qTw
java 画像 の検索結果のうち 日本語のページ 約 3,610,000 件中 1 - 10 件目 (0.04 秒
java 音楽 の検索結果のうち 日本語のページ 約 2,310,000 件中 1 - 10 件目 (0.03 秒)

java イメージ の検索結果のうち 日本語のページ 約 1,780,000 件中 1 - 10 件目 (0.09 秒)
java サウンド の検索結果のうち 日本語のページ 約 710,000 件中 1 - 10 件目 (0.11 秒)

"java.awt.image" の検索結果のうち 日本語のページ 約 38,500 件中 1 - 10 件目 (0.02 秒)
"javax.sound" の検索結果のうち 日本語のページ 約 11,400 件中 1 - 10 件目 (0.02 秒)

これで十分だろ、以降馬鹿レス禁止。
391名前は開発中のものです。:2006/06/27(火) 10:22:35 ID:GJGczP/s
検索結果が多いということはわからないからネタにしているのかその逆なのか判断は難しいな
あとJava2Dはピクセル単位での処理だけじゃないから割と面倒だよ
392名前は開発中のものです。:2006/07/09(日) 17:44:21 ID:O0aQTArO
今日書店寄ってきたが、3冊あったJavaゲーム本で
JavaSoundに触れていた本は0冊だったw
Javaでゲームなんて作ってんじゃねーよって感じなのだろうか
393名前は開発中のものです。:2006/07/10(月) 14:41:59 ID:7etPnpyv
まず、MIDIが使えない。
JavaのMIDIデバイスは古いバージョンのままで、多くのファイルが
正常に演奏できない。音が変になる。
OSのMIDIデバイスを取得して、その出力ポートに切り替えるメソッドは
どうやら中身が実装されておらず、事実上切り替えられない。

Waveは正常に演奏できるけど、そのショートカットであるAudioClipは、
短い曲だと何故かloopでしか演奏できない。さらに幾つインスタンスを作っても、
同じファイルデータだと勝手に一つのWaveハンドルに一本化してしまう様で、
同じWaveを複数同時に演奏できない。

陳腐な批評になるが、SUNのAPIは設計は最高なんだけど実装が・・・・
394名前は開発中のものです。:2006/07/10(月) 21:24:37 ID:ykWXL1Xc
>>392
ゲーム本じゃないけど
これの最後の章あたり、ちょこっとSound APIに触れてた
ま、これだけのために買うのはもったいないが・・・
ttp://www.oreilly.co.jp/books/4873112788/toc.html

あと俺の知ってるのは
JavaWorld 2001年10月号、2004年5月号
Cmagagine 2002年8月号と9月号
にちょろっと載ってた
javax.sound.sampledパッケージ使って
複数の音声を同時に再生とかやってた
395名前は開発中のものです。:2006/07/12(水) 00:08:04 ID:ndOxEXf9
>393
Java 5.0あたりでは多くのMIDI問題は修正されているんじゃないの?
396名前は開発中のものです。:2006/07/12(水) 00:31:43 ID:6aHYcbBn
MIDIで音が変になるか?

AudioClipはまともな実装にしてほしいのは同意
結局自分でソースライン書くしかないからね
せめてバッファ長とか指定できねーのかな

それでもDirectSoundくらべてかなり楽なのはいいけどね


JavaSoundは本読むより実際にいじってみるほうが早いよ
難しくはないし、5.0以降でかなり楽になってる
ただ、JavaSoundDemoが5.0で動かないとかがあふぉすぎ
397名前は開発中のものです。:2006/07/21(金) 19:29:07 ID:rgZqd6WV
>MIDIで音が変
サウンドバンクのせいじゃね?
http://www.new-arrow.com/~pc/game/soundbank/soundbank.html
398名前は開発中のものです。:2006/08/05(土) 23:05:31 ID:Uq7IRr/q
JOGLでGLJPanelは速度的に使えない?
jogl-demosのJGaersで35fps位しか出ないんだけど…うちのオンボードのビデオが弱すぎ?

Javaのバージョンは、1.6.0-beta2と1.5.0_07
JOGLのバージョンは、JSR-231 beta 05 - June 8

OS: WindowsXP Professional SP2
INIT GL IS: com.sun.opengl.impl.GLImpl
GL_VENDOR: Intel
GL_RENDERER: Intel 915G
GL_VERSION: 1.4.0 - Build 4.14.10.4363
399名前は開発中のものです。:2006/08/06(日) 01:44:54 ID:kmAOB+5B
jwsのdemoみてみたけどfps表示されないね
昔見たような気がしたけど
400名前は開発中のものです。:2006/08/06(日) 02:36:29 ID:A5aINFFL
>>399
jwsのdemoにあるGaresはGLCanvas(AWT)使用の物です。

JRefractを起動してGaersを呼び出すか、
jogl-demos.jarを落としてJGaersを実行するかすれば、
fps表示有りのGaers(GLJPanel swing使用)が起動します。
401名前は開発中のものです。:2006/08/06(日) 16:06:10 ID:kmAOB+5B
さんきゅ
JOGLなんて久しく触れてなかったから忘れてたよ

結果からいうとTransparentのチェックいれるとCPUパワー使い切って描画サイズ大きくすると
35fps前後まで下がるけど、これはずすとサイズに関係なく40fpsでCPU使用率は低い

自動リフレッシュはMAXが40fpsなのかな
ウインドウを動かすとfpsが上がって滑らかになるところを考えるとたぶん余力はある・・・のか
描画をすべておぺnGLでやってる場合はアクセラレーションがきいていると考えてよさそうだ

ソース読んでないけど
402名前は開発中のものです。:2006/08/06(日) 17:49:22 ID:A5aINFFL
>>401
うちの環境(>>398)だと初期の描画サイズで35fps…
Transparentのチェックに関係なく、大きくしたらそれだけfpsが下がる。
やっぱオンボードビデオが貧弱かw

GLCanvasの方使っときます。
403名前は開発中のものです。:2006/08/06(日) 19:47:19 ID:kmAOB+5B
FPS指定のアニメータつかった?
確か今は新機能としてあったはず
あとCPU使用率もみたほうがいい

OpenGLもJ2SE5.0のOpenGLアクセラレーションのようにまともに実装されてないのかもね
あっちは描画もおかしくなるから最悪だけど、nVidiaとATI以外はOpenGLが動く環境であっても
はねられるというすばらしい実装
結局Win32環境でDirectXアクセラレーション使うしかまともな回答がない

オンボードでも845GあたりからOpenGLはまともに動くようになってきたのにねぇ
404名前は開発中のものです。:2006/08/06(日) 20:21:45 ID:A5aINFFL
>>403
CPU使用率はPentium4 3GHz(HTオン)で論理CPU一つがほぼ100%に…
GLCanvas使うと殆どCPU使わない
405名前は開発中のものです。:2006/08/07(月) 11:33:48 ID:LXzNSWyz
今2Dアクション作ってるんだが
やっぱりグラフィック描画はJava2D使ったほうがいいのかな?
今のところpaintCompornent使って描いてて
そこまで不満はないんだが
406名前は開発中のものです。:2006/08/08(火) 00:49:52 ID:NGJuOaT6
paintComponentはJava2D使って描画してるわけだが・・・
407名前は開発中のものです。:2006/08/08(火) 19:44:58 ID:OxD/Wpxu
ああ、スマン
Graphics2Dを使わないで描画してるって意味
408名前は開発中のものです。:2006/08/09(水) 01:40:46 ID:jTOF7SJj
Graphicsだけつかっていても実態はGraphics2Dだぞ

BufferStrategyではなくて?
409名前は開発中のものです。:2006/10/05(木) 02:14:46 ID:6n2qO2al
java初心者ですが、質問に答えてもらえませんか?

for文を使うときに何か制限はありませんか?
キャンバスクラスでfor を使うとエラーが出てきてしまって困っています。
410名前は開発中のものです。:2006/10/05(木) 02:23:59 ID:nS6lvpAp
そんなのありえん
まずエラーは何なのか、どこでおきてるのか

あとCanvasはいまはほとんどつかわん
411名前は開発中のものです。:2006/10/05(木) 02:26:18 ID:UlwDPe/+
柄フレーム付きでBufferStrategyを使うときくらいか。
412名前は開発中のものです。:2006/10/05(木) 14:34:39 ID:6n2qO2al
ttp://gamdev.org/up/img/7757.lzh
15パズルを作ろうとしているんですが・・・
型の開始が不正と言われるんです・・・。
413名前は開発中のものです。:2006/10/05(木) 17:15:27 ID:JxBA5zKz
>>412
Canvasクラスじゃなくてもエラーになって当たり前
メソッドの中に書け
414名前は開発中のものです。:2006/10/05(木) 23:15:13 ID:6n2qO2al
今度はfor文に使う変数の型が不正と出てしまいました。
int型ではだめなのでしょうか?
415名前は開発中のものです。:2006/10/05(木) 23:37:11 ID:3erpkvWT
その部分のソースがないとなんとも
416名前は開発中のものです。:2006/10/05(木) 23:38:34 ID:UlwDPe/+
import見て、「ああ、MEね。独特な癖でもあるのかなぁ」とか思ってたら
クラスの内側を見た瞬間全てを理解した。

まずJavaの入門サイトを回ろう。質問はその後。OK?
417名前は開発中のものです。:2006/10/05(木) 23:50:20 ID:6n2qO2al
分かりました。サイトめぐりしてきます。
418名前は開発中のものです。:2006/10/06(金) 00:37:07 ID:n8QeDfZX
Eclipseでカーリングゲーム作ってるんですがパワーメーターなどを組み込むのに手間取っています。
なにかオススメの参考書を教えてください。よろしくお願いします
419名前は開発中のものです。:2006/10/06(金) 03:47:35 ID:RxJHFhg5
まずそれはEclipseであるかどうかが関係するアプリなのかとききたい?
420名前は開発中のものです。:2006/10/06(金) 08:35:03 ID:79ZjkJYk
swtつかってんの?
421名前は開発中のものです。:2006/10/06(金) 17:15:07 ID:NF0Fi7f7
失礼しました。書き方が悪かったです
これから一から作りたいのでそれに見合う参考書を教えていただけませんか?
できればゴルフかビリヤードのサンプルが載っている参考書がいいのですが・・・
よろしくお願いします
422名前は開発中のものです。:2006/10/06(金) 17:22:32 ID:VIIycFpg
システムをどうしたいの?
システムがわかってるならそのまま作るだけだと思うが
423421:2006/10/06(金) 22:59:44 ID:Mdom56kE
システムというとゲームの設定とかのことでしょうか?
ゲームを作るのは初めてなのでこんな感じにしたいっていうのはあるのですが
技術がないので、自分のイメージに感じが似てるゴルフかビリヤードのサンプル見ながら、
少しづつ作ろうかなと思って質問しました。
424名前は開発中のものです。:2006/10/06(金) 23:08:13 ID:DivPy0FS
>>423
http://javagame.main.jp/
このへんで一通り勉強すれば
ゲームなんて基本はどれも大体一緒だよ
はじめから目当てのものを作ろうと思わない方がいい
425名前は開発中のものです。:2006/10/07(土) 01:11:11 ID:BYxdR2eO
ゲーム自体がはじめてだったのか
まずはループ処理や入力まわり、描画、サウンドなどを一通り勉強しよう

Javaに限った話じゃないがね、これらの機能を使った最低限の動く単純なゲームを作るといい
426名前は開発中のものです。:2006/10/07(土) 01:17:47 ID:BYxdR2eO
ゲーム開発で何度か相談されたことがあるが、
ゲーム開発初心者なのに最初からでかいゲーム作ろうとするやつ多いよな

規模が大きくなってもメモリ節約しなくてもインタプリタで余裕でさばけるマシンが手に入るようになったのはいいが
サンプルプログラムとかも下手に大きくなりがちで役に立たないという感じ

昔は雑誌でコードがのるくらいだからあまり大きいのはのりにくいし、把握がしやすかった
1画面プログラムとかはテク満載で逆に覚えるのには向かなかったがね

ベーマガとかM・ファンとかOh!シリーズとかほんの10年前は毎月雑誌で
数十本のゲームのコードが入手できたってのはよい時代だったのかな

いまじゃハードとか違法関係ばかりで真っ当なソフト雑誌が残ってねぇ
危険すぎ
427名前は開発中のものです。:2006/10/07(土) 01:50:40 ID:xRS6QFs/
プログラミングの話をいまさら紙の上でやっても利点は皆無だから
白黒だし検索できないしコピペできないリンクもない
428名前は開発中のものです。:2006/10/07(土) 01:54:11 ID:BYxdR2eO
だがまったく資料がない現状よりましでは?
ネットでまとまった資料やたくさんのコードはでてこねーし

ようはゲーム開発の基礎ってすでに20年位前からある基礎なわけで
いまさらネットでまとめようと思う人はまずいない
429名前は開発中のものです。:2006/10/08(日) 00:52:26 ID:S1BiNozn
RMIはEJBだけで埋もれさせてはいけない低級APIな気がしてきた。
430名前は開発中のものです。:2006/10/08(日) 01:36:32 ID:+r9TQj6u
RMIはJava2SE5.0からは大幅に改善されたので普通に価値があると思うぞ
431名前は開発中のものです。:2006/10/08(日) 03:06:24 ID:CumxyfUX
RMIよくしらないんだが、ゲームでつかうとしたらたとえばどんな例があるの?
リアルタイムなものでもつかえそう?
MMORPGみたいのものはどうなんかな?
432名前は開発中のものです。:2006/10/08(日) 12:24:12 ID:+r9TQj6u
おもいっきりはしょるとソケット通信の高級APIみたいなもんだから場合によるとしかいえん
UDP使いまくらないといけない用途には使えないね
人数や設計しだいではMMORPGでも使えるかと

RMIは引数をシリアライズしてリモートのメソッドを起動、戻り値をシリアライズすることができる
もちろんコードはクライアントのコードとまったく同じでいける点が違う
その特定のメソッドが実行される場所がサーバーってだけ

オンラインゲームってローカルで計算される部分は少なく、入力を鯖に送って
結果を表示するだけのシステムだから設計だけしっかりしていればそんなに難しくはないかと
433名前は開発中のものです。:2006/10/08(日) 17:25:06 ID:S1BiNozn
カードゲームとかターン制のゲームには向いてると思うんだ。
ただホストをプレイヤーのどちらかが行うとなると性善説ゲームになるけどね。
434名前は開発中のものです。:2006/10/08(日) 23:44:58 ID:vqXTr2Px
Google Web Toolkit (GWT)を使ってJavaで、
Ajaxなブラウザゲームを作成している人はおらんかね。。。
435名前は開発中のものです。:2006/10/09(月) 02:01:24 ID:1PRT+gpJ
RMIはJavaの目玉である事実に間違いはないが、シビアなリアルタイムが
必要となるオンラインゲームに使う様なものじゃない。
重すぎる。
436名前は開発中のものです。:2006/10/09(月) 03:22:04 ID:+490gA4h
オンラインゲームだからすべてシビアなタイミングとは限らん
437名前は開発中のものです。:2006/10/09(月) 18:17:01 ID:wlsw1WDR
東風荘とかみてりゃ、まあそりゃそうだ
438名前は開発中のものです。:2006/10/10(火) 11:31:47 ID:aHfYBwCV
実際RMI使ったオンラインゲームとかあるの?
439名前は開発中のものです。:2006/10/10(火) 13:08:42 ID:COB1kkz5
その前にJavaがフロントエンドのゲームなんてあるの?といったほうが早いのでは

RMIは自前でプロトコル作るよりは重いけどWEBサービスに比べたらめちゃくちゃ早い
開発の容易さはRMIのほうが上
440名前は開発中のものです。:2006/10/10(火) 19:14:44 ID:Z6Vg5wVI
ぶっちゃけCGIより早ければ十分でしょ。
441名前は開発中のものです。:2006/10/10(火) 19:44:19 ID:Z6Vg5wVI
疑問なんだが第三者サーバを通さずに
ランダム性のあるゲームを公正に運用することって可能?
442名前は開発中のものです。:2006/10/10(火) 20:52:02 ID:Fmr3/ROI
両方のクラで同処理を行って結果に差異がないか互いにチェックするとか?
443名前は開発中のものです。:2006/10/10(火) 21:10:32 ID:Z6Vg5wVI
自分で言っといてなんだけど、公開鍵の応用でいいんだよね。

1.互いに乱数のハッシュを送りあう
2.乱数の実体とあるならば追加のコマンドを送りあう
3.実体とハッシュを照合する
4.互いの実体を合算したものを元に処理を進める

多少重そうだけどこれなら実際に通信があるのは1と2の送受信でよい。
でもまあランキング戦とかには使えないよなぁ。
444初歩的なことでスマン:2006/10/12(木) 20:16:43 ID:iUCUCn7d
j2sdkとJava3Dを入れてみたんだけど
3d絡みのDemoプログラムが無いっぽい。
ググってみたけど付いてきてるはずなんだけどなー

j2sdk下にはwireframeのサンプルプログラムしかないし
それとも他に入れるべきソフトがあるのかしら
少なくともjava3d-1_4_0_01-windows-i586.exeには入ってないですか?
445名前は開発中のものです。:2006/10/12(木) 23:35:22 ID:LKwsUKW6
joglやりましょうよ。
java3dは抽象度たかすぎ。
446名前は開発中のものです。:2006/10/13(金) 02:39:03 ID:zPaEQQ16
マックでも動くなら
447名前は開発中のものです。:2006/10/13(金) 03:55:03 ID:S+VaDlj1
ゲーム用途ならJava3Dやめとけ
あとでなくぞ
JOGLにしとけ

448444:2006/10/13(金) 16:45:36 ID:vmtvD3zz
>445>446>447
そうします。ありがd
449440:2006/10/13(金) 20:32:45 ID:/GHVYosk
OSXのJava5.0って完成度高い?
450名前は開発中のものです。:2006/10/13(金) 20:33:34 ID:/GHVYosk
おっと、何故か番コテが残ってた。てか復活した?w
451名前は開発中のものです。:2006/10/13(金) 22:17:57 ID:GU1W4jxT
さわってないけどおかしいという話は特に聞いてないな
452名前は開発中のものです。:2006/10/14(土) 00:08:50 ID:NtWi6K2U
これからはdirectxじゃなくてjoglやろうぜ
ttp://61.215.215.33/news.php?url=/weekly/kaito/097/kaito_097.shtml
453名前は開発中のものです。:2006/10/14(土) 02:31:13 ID:MGTxKfzz
Sun本気でゲームやるならジョイパッドいい加減対応してくれ
454名前は開発中のものです。:2006/10/14(土) 02:52:06 ID:ZM4Zxtns
>>453
JOGL, JOAL, JInput と一通り用意されていたりする。

が、JInputの使い勝手と品質は、アレゲです(約1年前試用)。
455名前は開発中のものです。:2006/10/14(土) 03:02:31 ID:MGTxKfzz
JOGLにしてもそれらのライブラリぜんぶ標準じゃないし
基本的なヒューマンインターフェースデバイスは標準にしないと意味ないのに
456名前は開発中のものです。:2006/10/14(土) 06:59:51 ID:nYtGilm6
OpenGLに関してはJava6で標準だろ
入力デバイスがアレなのは、Win以外がアレだからでしょ
457名前は開発中のものです。:2006/10/14(土) 07:22:45 ID:1AUmoz7r
>>449
 1.4.2と比べて何が変わったのやらという感じ。
458名前は開発中のものです。:2006/10/14(土) 07:48:07 ID:nYtGilm6
>>452
RuneScapeとかいうのは4.5億も売り上げがあるのか
そういやTibiaってのもグラはしょぼいが潤ってたらしいしな
459名前は開発中のものです。:2006/10/14(土) 10:21:48 ID:MGTxKfzz
>>456
VMが一部環境用にアクセラレーションとして使ってるだけで標準実装とはちがうはずだが
460名前は開発中のものです。:2006/10/14(土) 11:53:22 ID:r+tdu3ZM
ところで
JInputを使おうとするとArrayIndexOutOfBoundsExceptionが出るのは自分だけだろうか…
461名前は開発中のものです。:2006/10/14(土) 15:16:14 ID:MGTxKfzz
JInputの日本語資料ゼロか・・・こりゃ普及せんな
462名前は開発中のものです。:2006/10/17(火) 23:44:15 ID:46k9HZL6
Input Method Frameworkの使い方がドキュメント読んでもいまいち良く分からないw
BufferStrategyと日本語入力を組み合わせるならこれしかないと思うんだが。。。

Swingベースに切り替えようかな、Java6からJOGLがPanel化されるんでしょ。
463名前は開発中のものです。:2006/10/18(水) 13:58:55 ID:YpbpZhIP
BufferStrategytと日本語入力の問題はDirectXとかでも同じだからな
Panelのは速度が遅いはずだが改善されたんか
464名前は開発中のものです。:2006/10/19(木) 00:32:10 ID:nGTITlbS
>>462
自前描画している日本語入力対応エディタのソースを見てみると良いかもしれない。
465名前は開発中のものです。:2006/10/27(金) 07:07:03 ID:Yr57x8PW
CopyOnWriteArraySetなどの並行APIを試してみたけど
結局STGとかだとLinkedListで十分なんだと分かっただけだった。
466名前は開発中のものです。:2006/10/27(金) 07:15:14 ID:xDAg32vR
マルチスレッドでつくってんの?
467名前は開発中のものです。:2006/10/27(金) 07:28:53 ID:Yr57x8PW
マルチコアへの自動的な最適化とか面白そうだなと思ってね。
でも並行APIはiteratorによるremoveにたいして適正の在るのがなくて辞め。
468名前は開発中のものです。:2006/10/27(金) 08:40:24 ID:xDAg32vR
こんな会社があったんですね。。。
ttp://www.cyberstep.com/recruit/story_1.html
469名前は開発中のものです。:2006/10/27(金) 08:51:15 ID:phd+j6pm
>>488
マルチプラットホーム化が容易とうたってる割にGetAmpedRもC21もWindowsのみ対応なんだな‥‥
470名前は開発中のものです。:2006/10/27(金) 12:18:12 ID:v3In4esC
2Dゲームで個人レベルで作れるものでマルチコアが生きる分野ってあんまりないかもね
超連射みたいにソフトレンダなら明らかに効果があるがそれはシステム構築を楽しむためくらいしか・・・
471名前は開発中のものです。:2006/10/27(金) 23:11:57 ID:Yr57x8PW
スタンドアロンなゲームは「余ったリソースは捨てるリソース」なんだなと思ったよw
472名前は開発中のものです。:2006/10/30(月) 15:12:29 ID:VjSo8VCQ
JOGLって凄いんだな
473名前は開発中のものです。:2006/10/30(月) 15:57:55 ID:Sn/Y/O/E
ん?
474名前は開発中のものです。:2006/10/30(月) 18:47:16 ID:Gg9zo7Zm
だたのOpenGLのラッパ
びっくりするくらいオブジェクト指向もくそもねぇ

それだけに触ったことある人ならそのまま使える
475名前は開発中のものです。:2006/10/30(月) 21:46:59 ID:AwvN98hH
Graphics2DオブジェクトそのものがGCの原因になるから
フルGCの発生回数を特定シーンごとに0に押さえるみたいな方法って不可能?
476名前は開発中のものです。:2006/10/30(月) 23:24:45 ID:Gg9zo7Zm
Graphics2Dのものによるかな
ゲーム用途なら基本はGraphicsだけで収まる範囲にすること

アクセラレーションがきくタイプは負荷はたいしたことない

あとフルGCやりたくないなら使用メモリを把握した上でコンカレントGCに変更することや
シーンがはっきりと分けれていたりするなら切り替え時にFullGC入れてみるとか
477名前は開発中のものです。:2006/11/08(水) 22:10:52 ID:nrOch+Qr
http://www.youtube.com/watch?v=p9ytsfaGWts
これJavaでできてんの!?すごい
478名前は開発中のものです。:2006/11/08(水) 22:17:38 ID:/VhjzjqX
ムービーからだとフレームレートとかようわからんし、
あちらの人は固定フレームレートにこだわらないからねぇ

まずはパッドを標準ライブラリで使えるようにしないとね
表示もだ大事だけど入力がないとどうしようもない
479名前は開発中のものです。:2006/11/09(木) 01:22:54 ID:C3JWOVJ7
specforce
chrome作ったところが2005年ごろ作ったみたい。
ページ開いたらBGMが流れるので注意。
http://www.specforcethegame.com/en/main.php

かなり品質の高いFPSゲームだと思う。
480名前は開発中のものです。:2006/11/09(木) 02:09:01 ID:yu7HeJLH
これって、Javaサーバーに使えますかねぇ
ttp://www.hikakuserver.com/

普通のレン鯖でメモリ8GBも載ってるのがあるなんて
さっきまで知らなかった・・・(´・ω・`)

人柱キボン
481名前は開発中のものです。:2006/11/11(土) 11:19:53 ID:C9CXGr4F
482名前は開発中のものです。:2006/11/11(土) 11:45:18 ID:C9CXGr4F
>>481>>477に出てくるゲームのURLね
このうち、開発に役立ちそうなのは多分
http://www.imilabs.com
http://www.agency9.com
http://www.javagaming.org/forums/index.php
http://www.jmonkeyengine.com
http://www.gutenachtkopf.de

しかし、面白そうなゲームが山のようにあるな
483名前は開発中のものです。:2006/11/11(土) 13:07:20 ID:HZB9qJCG
java, javax系でAudioClipより表現が豊かなサウンド用インタフェースってありませんか?
AudioSystemやMidiSystemを上手くラップしたいんだけど、AudioClipじゃ物足りない印象
484名前は開発中のものです。:2006/11/11(土) 13:35:38 ID:bJZMO9on
なんでAudioClipがでてくるんだよ
JavaSoundカワイソス
485名前は開発中のものです。:2006/11/11(土) 13:41:41 ID:HZB9qJCG
君一行目しか読んでないでしょ
486名前は開発中のものです。:2006/11/11(土) 18:45:04 ID:oHATF8vt
2行目が一致しないから仕方ないだろ
JavaSoundがでてくるなら問題はないのに
487名前は開発中のものです。:2006/11/12(日) 03:04:56 ID:FcOUrdTF
正直、あちらさんのゲームを見せられて、すごい、すごいと言われても、も一つピンとこねえな。
あちらさんはアセンブラかましたりとか平気でやるからな。
日本人でJavaでFPSを作ってる人っていないの?
488名前は開発中のものです。:2006/11/12(日) 06:49:35 ID:1OH5pVw5
>>487
Javaでどうやってアセンブリ言語を使うのだ
489名前は開発中のものです。:2006/11/12(日) 07:28:17 ID:0f+TtNLb
JNIの事を言ってるんじゃ無いか?
490名前は開発中のものです。:2006/11/12(日) 08:23:03 ID:+OD3pyxM
ここにいる人だけど、その多くは、Javaで本格的にゲームを作った事が
ない人だろう。
各種Docで知識は豊富だけど、ただ読んで覚えてるだけ。
ゲームの開発経験はないだろう。

Java実行コードのスピードは、部分部分で比較するとC++と大差なく
見えるけど、全体のアプリとして組み立てると、その漏れてた部分の遅さが
積み重なれて顕著となり、システム系ならば許容できるけど
シビアなタイムが必要となるゲームじゃとても使えなくなる
上の洋ゲーも間違いなくそのコアにJNIをふんだんに使ってるよ。
そうなると、それはJavaであってもJavaの範囲外ってことだ
491名前は開発中のものです。:2006/11/12(日) 08:26:03 ID:+OD3pyxM
>>ただ読んで覚えてるだけ

ってのは、その知識をもとに小規模なテストアプリを作成して
その結果で判断する事も含まれてる
492名前は開発中のものです。:2006/11/12(日) 10:16:17 ID:5sSMIo0r
増えてきた本格派JAVAゲーム
http://61.215.215.33/news.php?url=/weekly/kaito/097/kaito_097.shtml

こんな記事あったよ。日本のゲーム業界でJava使ってるとこってあるの?教えて業界人。
493名前は開発中のものです。:2006/11/12(日) 10:38:02 ID:wvoDMNwq
>>490
javaのPrduct系ゲーム開発経験者ですか?
それとも勘でいっている?

当方、確かに経験ないので今いちわからないんだけど
コード量が増えるとメモリリークが増えるから
PureJavaじゃ使いもににならないといいたいの?


494名前は開発中のものです。:2006/11/12(日) 16:48:08 ID:sIeJXGua
>>486
おまえは何を言ってるんだ?
495名前は開発中のものです。:2006/11/12(日) 21:12:28 ID:RoytZnjF
>>490
> ここにいる人だけど、その多くは、Javaで本格的にゲームを作った事が
> ない人だろう。
で、おまいはJavaで本格的にゲームを作成したことがあるのか?

>その漏れてた部分の遅さが
>積み重なれて顕著となり、システム系ならば許容できるけど
>シビアなタイムが必要となるゲームじゃとても使えなくなる
VMのGC処理が良く問題になるだけであって、コード本体の実行スピードには問題ない

> 上の洋ゲーも間違いなくそのコアにJNIをふんだんに使ってるよ。
間違いなくとか勝手に推測で断定されても、完全な間違いなんだが。

RuneScapeはPureJavaで作成されている。
その他のゲームで利用されているJNIも、
OpenGLやDirectInputを直接呼び出すだけの利用。

デタラメも大概にしてくれ。
496名前は開発中の者です。:2006/11/12(日) 21:43:38 ID:BPHT/7vm
LWやメタセコで作ってXファイルで吐いた3DモデルをJava側で読み込むツールとか、キャラのモーションを登録してJavaで読み込ませるツールとか、どこかで公開してるのかな?
そういうのがないと、素人には3Dゲームなんて、とても作れない。
497名前は開発中のものです。:2006/11/13(月) 00:19:13 ID:i1RxyPEd
>>494
JavaSound理解してないやつ乙
498名前は開発中のものです。:2006/11/13(月) 01:47:03 ID:xomXll6Q
お前がインタフェースベースな設計を知らないだけだろw
499名前は開発中のものです。:2006/11/13(月) 19:04:22 ID:jHwlfoAH
AudioClipってもっとも低機能で使い勝手の悪いものなんだが
それをほしいといわれても困る
500名前は開発中のものです。:2006/11/13(月) 23:23:32 ID:YBTvT9dR
ローダつくろうと思ってるんだけど、どのローダ書くのがいいかな?
1.メタセコ
2.ブレンダ
3.Xファイル
Xのローダ書いとけば一番無難?
自分、右手系でPG書いてるから変換が面倒くさそうだけど。
みんなはどんな感じ?
501名前は開発中のものです。:2006/11/14(火) 06:53:06 ID:t9hh4M26
>>499
それより良いインタフェースはないかと聞いてるだけでは?
502名前は開発中のものです。:2006/11/14(火) 06:56:22 ID:t9hh4M26
てか質問の意図を理解してない以前に設計知らないだけみたいだな
503名前は開発中のものです。:2006/11/14(火) 09:51:06 ID:v38jtkOO
あれ質問の意図がわかるやつのほうが頭どうにかしてるとおもうぜ・・・
本人ですか
504名前は開発中のものです。:2006/11/14(火) 17:34:18 ID:wMYc2bpW
Javaでゲーム作るとき
描画ってどうしてる?
505名前は開発中のものです。:2006/11/14(火) 19:15:20 ID:KGaPDyoT
2Dなら普通にJava2D+BufferStrategy
フルスクリーン時は垂直同期取るのに対してウインドウモードは取らないという点に注意してね
506名前は開発中のものです。:2006/11/14(火) 23:35:47 ID:N+Lhd8Zl
初めてアクションゲーム作ってるんですが
画像を半透明にしたりパレットデータを換えるときどうしてますか?
できればリアルタイムで処理させたいのですが
いい方法が見つかりません。RGBImageFilterではImageを得るまでが面倒で動作も不安定でした。
PNG形式のbyte列を直で変更して毎フレームImageに変換も遅そう
助けてください
507名前は開発中のものです。:2006/11/14(火) 23:48:08 ID:t9hh4M26
>>503
普通にわかるが?
508名前は開発中のものです。:2006/11/15(水) 00:19:12 ID:kbx8RzUW
>java, javax系でAudioClipより表現が豊かなサウンド用インタフェースってありませんか?
なぜAudioClipと比較したインターフェースにこだわる?Lineとかいってほしいということか?


>AudioSystemやMidiSystemを上手くラップしたいんだけど、AudioClipじゃ物足りない印象
JavaSound理解しているならまったく問題ないし、そこでなぜAudioClipが出てくるか不明。
同じインターフェースにこだわりたいのならともかく音量調整も出来ないようでは使い道なし。

〜System系は5.0から大幅に使いやすくなったので迷うようなことはないと思うのだが。
普通に自分で好きなインターフェースで作りなさいとしかいえない。
509名前は開発中のものです。:2006/11/15(水) 00:21:40 ID:kbx8RzUW
>>506
Java2Dは使ってみた?通常合成なら大丈夫。
ハードウェアアクセラレーションはきかないからXGAで常時60fps維持したいとかだと厳しいけど。
510名前は開発中のものです。:2006/11/15(水) 00:21:42 ID:VX1VJ6O9
「同じインターフェースにこだわりたい」んだろ、もういいよ
511名前は開発中のものです。:2006/11/15(水) 00:39:05 ID:kbx8RzUW
こだわるならこだわるでAudioClip実装すればいいだけなんだけど。
512名前は開発中のものです。:2006/11/15(水) 00:45:16 ID:VX1VJ6O9
うざw そのインタフェースじゃ物足りないってんだからループするだけだろ
無いなら無いってだけなのに何引っ張ってんだか
513名前は開発中のものです。:2006/11/15(水) 01:38:20 ID:VX1VJ6O9
Java6になっても非Winの透過アクセラレートは無しなのかな。
まあ非Winを切り捨てても何の問題もないが。
514名前は開発中のものです。:2006/11/15(水) 07:10:33 ID:EhAiNbIT
>>509
それってGraphics2Dのことですか?
時間ができたら調べてみます。
515名前は開発中のものです。:2006/11/15(水) 13:57:28 ID:zHfv0gGD
>>512
だからこそあの質問が意味不明なのだ。
1行目と2行目と一致しない。

>>513
JavaSE5.0も現実的にアクセラレーションきかない。
openGLモードだと描画がバグバグだし、
Direct3Dモードだと描画方法によってレンダリング品質が変わるため使えない。

>>514
それだけじゃないけどね。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/2d/index.html
516514:2006/11/15(水) 23:56:59 ID:EhAiNbIT
>>515
バッファストラテジというのを導入してみたんですが、といってもほとんどコピペで理解してないんですが
Graphics2D.drawImage(Image,AffineTransform,Observer)でキャラを拡大したらGraphicsのdrawImageで描いた
ブロックの画像に縦縞ができてしまったんですが、どうすればいいでしょうか?必要ならできるだけ答えます
みなさんはバッファストラテジをどう使ってるのか教えていただけると助かります。
517名前は開発中のものです。:2006/11/16(木) 00:11:55 ID:RzG/81yb
これDirectX使って描画するからビデオドライバに問題があると崩れる場合がある。真っ当な環境なら問題は出ない。

とはいえ、アクセラレーションが利く描画じゃないようなのでその影響があるとは考えにくい。
コードと環境と加工前の画像と加工後の画像をアップしてもらえばわかるかも。

Graphics::drawImageでの拡大だとどんなかんじ?
518名前は開発中のものです。:2006/11/16(木) 00:37:17 ID:A0r/2s0Y
>>515
>だからこそあの質問が意味不明なのだ。
>1行目と2行目と一致しない。
お前日本語学校からやり直した方がいいぞw
519514:2006/11/16(木) 07:35:27 ID:DvgKUdTk
>>517
環境は何を書けばいいですか?今まで気にしてなかったもので…
520名前は開発中のものです。:2006/11/16(木) 10:21:23 ID:HdufXzqB
作ってみたけど微妙('A`)
ネットで対戦だから一人じゃバランスもとれず適当、せっかく作ったから遊んでください。
ttp://cattaka.myhome.cx/applet/bakutan.html
521名前は開発中のものです。:2006/11/16(木) 12:59:05 ID:GPsbxADW
>>519
そもそもWindowsなのか、フルスクリーンモードなのかウインドウモードなのか
ビデオチップやドライバ等

ところでGraphics::drawImageによる拡大は問題なさそうなの?それが先決か。
522名前は開発中のものです。:2006/11/16(木) 13:01:06 ID:GPsbxADW
>>518
具体的な対応取らない荒しはかえれ
最近ずっとJava関係荒らしてるのお前だろ
523名前は開発中のものです。:2006/11/16(木) 23:02:33 ID:A0r/2s0Y
AudioClipがinterfaceなのを知らないのか
デザインパターンを知らないのか
日本語を知らないのかどれだい?
524514:2006/11/17(金) 18:00:42 ID:7Zpg5IH1
>>521
OS:Win98
ウィンドウモード
Graphics::drawImageでは縞はでませんでした。
バッファストラテジはそんなに効果があるんですか?
今一速くない気がします…
525名前は開発中のものです。:2006/11/17(金) 18:50:02 ID:gSEH6ifA
>>524
速度に関してはソフトウェア描画になる部分とアクセラレーションがきく描画と分かれる。
拡大縮小やαブレンドはソフトウェア描画になる。

Graphics::drawImageによる拡大描画は大丈夫なのか・・・。
画像のロードの仕方とかにも結構左右されるっぽいけど、そのへんどうなってるかな。
あと256色モードとか16bitカラーモードが原因になる可能性もある。

転送元imageはBufferedImage使ってると思うけど、そのカラーモードはフレームとあわせてある?
抜き色があるかとか細かいこともある。

フレームレート命のアクションゲームならできるだけアクセラレーションがきく描画を選択したほうがいいよ。
あとは画面サイズが大きすぎないこと。

まとめると
・画像のロードの仕方
・デスクトップの色数
・実際に問題の出るコードと画像
526514:2006/11/17(金) 19:08:46 ID:Lt0Wj0UY
>>525
画面は24bitでした。転送元imageというのがいまいち分かりません…
今まで携帯でしか作って無かったので、、、
あとこういうゲームに特化してJAVAの解説してるとことか無いですかね?
人に見せられるもんじゃないですけどソースアップしました。
ttp://park21.wakwak.com/~kuri/src.zip
527名前は開発中のものです。:2006/11/17(金) 21:47:35 ID:6OJGRcli
まずぱっとみpaintイベントに描画ロジックが書いてあるようなきがするが、
通常paintイベントに対して処理は行わない。

repaint呼び出すところを自前のメソッドを呼び出すようにかえて、
paintメソッド名をそれにあわせて書き換えよう。

キー入力をビットに割り当てているのを見ると、他の言語でゲーム自体は作ったことあったのかなとおもた。

Skeruというクラスがわからないのでなんともいえないな。

画像のロードはImageIOを使うと柔軟にロードできるよ。わざわざバイト配列をロードするとか必要ない。
その際に画像バッファは現在のビデオの解像度と合わせると高速に転送が出来るけど、それはまた後の機会に。

これってフレームのサイズ固定で描画しているようだけれども、タイトルバーの高さとかふちの大きさは
同じWindowsでもバージョンや環境によって大きく異なるからしないほうがいい。

pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。
528514:2006/11/17(金) 23:51:15 ID:83DvLp/B
>>527
お返事ありがとうございます。
>repaint呼び出すところを自前のメソッドを呼び出すようにかえて、
>paintメソッド名をそれにあわせて書き換えよう。
playに変えました。

>キー入力をビットに割り当てているのを見ると、他の言語でゲーム自体は作ったことあったのかなとおもた。
まあ、ボチボチですが

>Skeruというクラスがわからないのでなんともいえないな。
これはいらないクラスです。うっかりしてました。
画像とか変更したソースとかさっきのURLにアップしておきます。

>画像のロードはImageIOを使うと柔軟にロードできるよ。わざわざバイト配列をロードするとか必要ない。
>その際に画像バッファは現在のビデオの解像度と合わせると高速に転送が出来るけど、それはまた後の機会に。
やってみましたけど、こんなんでいいんですかね。

>これってフレームのサイズ固定で描画しているようだけれども、タイトルバーの高さとかふちの大きさは
>同じWindowsでもバージョンや環境によって大きく異なるからしないほうがいい。

>pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。
やってみました。
529名前は開発中のものです。:2006/11/18(土) 00:24:13 ID:3XstkAv5
>>pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。
>やってみました。

これ、取得した後にそのサイズを足してsetSizeするってことね。
320*240とかを描画サイズにしたい場合それプラス余白部分。
もちろん、描画する際の起点もその分ずらす。

あとは時間管理だろうか。
sleepは固定でのウエイトが入る。つまりメインループの処理時間の差があった場合に考慮されていない。
普段は10msで動いていたとしたら1ループは30msだろうけど、これが5msだったり15msだったりすると・・・。
したがってがくがくするのを防ぐためには一定の速度でまわす必要がある。
30msでループさせるなら処理に5msかかったら25ms停止、処理に15msかかったら15ms停止というようにね。

だいたいでいいのなら一番簡単なのはjava.util.Timerを使う。TimerTaskとあわせてね。
メインループのほうをwait()で停止させて、TimerTaskからnotify()で起こすといい。

あとこのスレと前スレを一度全部見ておいたほうがいい。
530514:2006/11/18(土) 16:22:37 ID:09nqBb7g
言われたところは大体やりました。ただTimer系がまだいまいちわかりません
サクっとでいいんで説明してもらえたら助かります。
あとJAVA2Dなら画像のパレット替えやフィルタリングもできるんですよね?
531名前は開発中のものです。:2006/11/18(土) 16:36:52 ID:qC5zAejN
タイマーはここみるといいよ。
http://www.javainthebox.net/laboratory/utils/Timer/Timer.html
ほかにも櫻庭さんのサイトはJava関係の重要なのが多いから関係のありそうなところ見といたほうがいい。

描画に関してはアクションゲームで60fpsを目指すのなら複雑なことはしないほうがいいよ。
あらかじめ使用するパレットがわかっているなら画像ロード後にそれらのImageを生成したほうがいい。
あくまでもいわゆる画像をスタンプのように貼り付ける場合はやいから。

RPGとかで30fpsくらいでいいのならいろいろと出来ると思うよ。
Java2Dを詳しく書いた書籍ってあったかな・・・。まずはJava2Dのマニュアルをよんでみよう。
少なくともJDKのJava2Dサンプルくらいはすぐできるから。
532514:2006/11/18(土) 17:44:49 ID:Zk4f2vJN
>>531
ありがとうございます。
Timerは分かってきたんですが、上にある
>メインループのほうをwait()で停止させて、TimerTaskからnotify()で起こすといい。
の書き方が分かりません…。
あと、キャラクター・エフェクト・特殊ブロックなどの処理部分を一つのクラスにまとめて中で
switch文分岐して処理させようかなーと思ってるんですが、こういうやり方だと遅くなったりするんでしょうか?
座標や状態変数なんかはメインループのある方のクラスに持たせれば、敵にくっついてく敵とかが作れそうですよね。
一応JAVAなのでポリモーフィズムも考えたんですが、数が数なだけに多すぎるので辞めたんですが

画像も予め用意したらその分メモリ食われて遅くなるってこともありますよね?
いかんせんJAVAでのメモリの使われ方が良く分かって無いのでどこかで損してる気がします…
533名前は開発中のものです。:2006/11/18(土) 19:54:34 ID:ZKUyfd27
wait、notifyはObjectにあるメソッド。これはJavaの基本中の基本なので勉強するといいよ。
APIドキュメントよんでごらん。ざっくりというとwaitはスレッドを停止させてnotifyで起こすという感じ。
マルチスレッド使ってるのでこの辺基本を抑えないと大変なことになる。

参考
ttp://www.nextindex.net/java/thread/waitnotify.html

switchだろうが複雑な分岐だろうがCPUだけが処理するようなものは速度的に問題にはならない。
ネックになるとすれば16bitCPU時代くらいでJavaSEとは関係ない。

最初はざっくり作ってリファクタリングをゆっくりやるといいよ。IDE使えば手軽に見通しよくなるし。
オブジェクト指向等も徐々に勉強していきながらでいい。
534514:2006/11/18(土) 22:14:54 ID:Bis6pJQA
>>533
wait()とnotify()意味は半分ぐらい分かったのですが、いまいち調べても
欲しいサンプルが見つかりません…。色々試してはいるんですがなかなか
動いてくれません。ヘタレで悪いんですがゲームで使う時のwait、notify
のコードをちょろっと書いて貰えないでしょうか?

ただ分岐は多くてもいいというのはホッとしました。丁寧なレスありがとうございます。
助かります(^^;。
535名前は開発中のものです。:2006/11/18(土) 23:55:20 ID:ZKUyfd27
基本中の基本だけにしらべればいくらでもサンプルコードが出てくると思うのだが。
536514:2006/11/19(日) 10:56:55 ID:1IKPzYYc
Timer/TimerTaskとwait/notifyを組み合わせられないんです。
どうやったらTimerTaskで周期的にnotifyできるのかとかSynchronizedを付けるべきところとか
探し方が悪いのかも知れないんですが
537名前は開発中のものです。:2006/11/19(日) 13:54:05 ID:dZdtxI9w
自分はこんな感じで実装しているが、間違っていても知らない

public class Hoge extends Thread{

  private boolean processStop = false;
  private WakeTask wakeTask = new WakeTask();

  public void start(){
    super.start();
    new Timer().scheduleAtFixedRate(wakeTask, 0, WAKE_TIME);
  }
  public synchronized void run(){
    while(true){
      game();
      try{
        wait();
      }
      catch(InterruptedException e){
        e.printStackTrace(System.err);
        break;
      }
    }
  }
  private synchronized void awake(){
    if(!processStop) notify();
  }
  private class WakeTask extends TimerTask{
    public void run(){
      awake();
    }
  }
}
538名前は開発中のものです。:2006/11/19(日) 20:11:00 ID:8MYA5LfB
539520:2006/11/19(日) 23:41:03 ID:yvfHZIx2
今頃鯖のポート解放忘れてるのに気がついた。
何がしたいんだよ俺・・・・orz
540名前は開発中のものです。:2006/11/20(月) 00:56:56 ID:mU6Ad/cq
リアルタイムシミュレーションでネット対戦できるゲームをjavaで作りたいのですが、参考になるサイトありますかね?
ちなみに自分は今までCで数値シミュレーションを生業としてきてGUI関係はよくわかっていません。
勉強できるサイトがあるとうれしいです。
よろしくお願いいたします。

以上
541名前は開発中のものです。:2006/11/20(月) 01:19:17 ID:8PZEbpO9
ものすごい初心者な質問なんだけど、
普通のゲームってソフトとかクライアントとかをダウンロードするじゃない?
JAVAゲームの場合、ブラウザから直接開始するけど、
読み込み時間みたいのがかなりかかるんじゃないのかな?
音楽もいちいちMP3をダウンロードすることになるの?
542名前は開発中のものです。:2006/11/20(月) 01:42:07 ID:HqvpBzdY
>>540
シミュレーションが、物理シミュレーションかシミュレーションゲームか不明
GUIプログラミングは簡単なので立ち読みか普通のサイト見れば良いのでは
http://www.javadrive.jp/
http://www.hellohiro.com/
543名前は開発中のものです。:2006/11/20(月) 15:21:51 ID:107nEDGg
>>541
Javaのプログラムってのはアプレットだけじゃないよ。
通常のアプリケーション等もあるし、一度ダウンロードしたらアプレットはキャッシュからとってくることも出来るし
WebStartはバージョン等が変わってなければすべてキャッシュファイルからとってくる。

そもそもC等で作ったアプリだって同じだぞ。ネット経由でダウンロードするように作ってあるなら。
バックグラウンドスレッドでガンガン落としていけばあまり問題はなさそうだが。
544名前は開発中のものです。:2006/11/26(日) 21:31:48 ID:vp/Awfnk
話題が無いがage
無限にステージが生成されるマリオっぽいゲーム「Infinite Mario Bros」
http://gigazine.net/index.php?/news/comments/20061126_infinite_mario/
545名前は開発中のものです。:2006/11/26(日) 23:34:43 ID:o/jL46vw
>>544
Wurm Online の中の人が製作しているみたい?
ソース付きだし勉強になりそうだ。
546名前は開発中のものです。:2006/11/27(月) 18:13:24 ID:QR83lXnt
VolatileImageとMemoryImageSourceって一緒に使えますか?
547名前は開発中のものです。:2006/11/27(月) 18:15:01 ID:IAG3BIQ8
使えるけど、後者は使う意味ないぞ
1.1時代の互換性のためだけの遺産だから
548名前は開発中のものです。:2006/11/27(月) 18:52:38 ID:QR83lXnt
詳しく教えてください
VolatileImageでピクセル操作とかできますか?
549名前は開発中のものです。:2006/11/27(月) 21:03:56 ID:OAwnVtrw
VolatileImageは画面モードにも夜がVRAMをさすと思っていい。
VRAM直書きはメインメモリ直書きに比べて非常に遅いので出来てもやらないほうがいいのは常識。

メモリ上のImageを扱うなら1.2以降はBufferedImageを使う。最初にピクセルフォーマットをきめて
配列で扱えること、出来上がった画像を何度もコピーする場合アクセラレーションが自動的に適用される。
550名前は開発中のものです。:2006/11/27(月) 21:56:18 ID:L4SNxotk
>>547
いや、実際にはMemoryImageSourceが一番素直な「フレームバッファ」
で使いやすい。BufferedImageは、メモリ上の配列と直接関連付けられ
ないのが致命的(ピクセル列に見立てたint配列を操作すれば直ちに
対応するImageに反映されるという意味での「Buffered」でなければ、
Rasterなどという扱いにくい邪魔者が出てくるだけでまったく意味が
ない。まだMemoryImageSourceの方がまし)。
551名前は開発中のものです。:2006/11/27(月) 23:13:58 ID:OAwnVtrw
ゲーム用途だとダイレクトにピクセルを扱う場合8bitか16bitにしないと速度的に問題が出るから
BufferedImageでそういう指定するのが一番だと思うし、ピクセルフォーマット合わせる場合
GraphicsConfiguration使うだろ?

問題あるのか?short配列アクセスとか簡単に出来るから便利だと思うんだが。
552名前は開発中のものです。:2006/11/28(火) 22:11:57 ID:WdzF4q7Z
>>544
それすごいな
pure javaだけでここまでできるの?
553名前は開発中のものです。:2006/11/28(火) 22:46:49 ID:jI1vxm7H
>>552
2Dなら余裕
あとは根気等

ただグラフィックなどあからさまなパクリはいかんね
554名前は開発中のものです。:2006/11/28(火) 22:52:55 ID:dIaLfStB
>>552
署名なしで動くアプレットだから当然、pure javaです。

携帯で普通にドラクエが動いている世の中だからな。
出来るかどうかはプログラマの腕次第だと思うよ。
555名前は開発中のものです。:2006/11/29(水) 08:24:09 ID:SF7yfmPu
>>551
>問題あるのか?short配列アクセスとか簡単に出来るから便利だと思うんだが。

いや、だからその配列の内容は一度変換・コピーしないとImageとして表示できないんだよ。
自分でRGBを数値として処理する配列を取ると、一度それをMemoryImageSourcre/BufferedImageを介して変換しないと描画可能なImageが得られない。
そして、そうしたRGB配列のImage化には一発でできて余計な機能がないMemoryImageSourceの方が使いやすい。
Win32のDIB/DIBSectionのような機能(直接描画可能なフレームバッファを配列として取得できるImage)があれば楽だし、変換や不要な配列の二重確保が入らない分性能上も有利なはずなんだけどね。
BufferedImage(あるいは各種変換機能を削除して単純化したMemoryImageクラスでも新設して)でピクセル列の配列を直接公開してくれれば良いのだけど。

あと、int配列から作ったMemoryImageSourceで速度的な問題って感じたことないぞ。
Pen3+845GEのマシンで100以上のキャラクタ描いてもまったく問題にならなかった(100FPS以上)。
556名前は開発中のものです。:2006/11/29(水) 12:28:42 ID:E1GsFmbf
>>555
ラスター使うから同じじゃね?
557名前は開発中のものです。:2006/11/29(水) 13:28:43 ID:SF7yfmPu
>>556
ラスターは邪魔だよな……。
BufferedImageのような各種変換機能付きImageを作るなら、まず単純なフレームバッファ用意してその上位版という位置づけにして欲しかった。
BufferedImageも内部には直接画面に転送する32ビット配列(Win版は32ビットDIBSection+独自のアルファ処理?)持っているんだろうし。
558名前は開発中のものです。:2006/11/29(水) 13:56:50 ID:E1GsFmbf
ピクセルフォーマットが同じだとDDBで転送するだろうから速度は速いはず。
MemoryImageSourcreは任意のピクセルフォーマットで扱うとき大変じゃない?
559名前は開発中のものです。:2006/11/29(水) 16:21:44 ID:SF7yfmPu
>>558
いや、BufferedImageはWinではDIBSectionじゃないの。
一応「バッファ」もっているし、アルファ処理対応だから。
ラスター要求されたときのためにもメモリ上にフレームバッファが必要なはず。

そういえば、もう何年もWin32APIにしろJavaにしろフルカラー32ビットフレームバッファ(DIB/DIBSection/MemoryImageSource)の速度的な不満は感じたことないな。
ピクセル単位の処理はフルカラー32ビットで行うのが一番楽(1ピクセル1DWORD)だし描画時の性能も十分。
560名前は開発中のものです。:2006/11/29(水) 22:03:00 ID:r/0kDPlo
BITMASK指定でバッファ作ればDIBと思われる動作速度じゃないよ。
561名前は開発中のものです。:2006/11/29(水) 22:06:29 ID:r/0kDPlo
32bit単位でのアクセスは非常に遅い。

IntelCore等最新のCPU使っていてもVGAクラスになると処理速度が間に合わない。
2次キャッシュのサイズ等を考慮してぎりぎりといったところか。
QVGAなら32bitカラーはぎりぎりいけるかな。

PentiumM1GHz/Pentium42GHzクラスのマシンを動作対象にしようとすると
QVGA-16bppくらいしか選択肢はない。
562名前は開発中のものです。:2006/11/30(木) 17:09:31 ID:TUwNRJc1
>>559
そんな馬鹿な。2Dの画像転送速度で比較すると

BitBlt(WinGDI) > TransparentBlt(WinGDI) > AlphaBlend(WinGDI)
>> copyArea(Java2D) >> drawImage(Java2D)

なのですが。確かに小さい画面サイズならそれだけ差はなくなるけど
まともなゲームの画面サイズにすると、その遅さが浮き彫りに
563名前は開発中のものです。:2006/11/30(木) 17:14:30 ID:TUwNRJc1
>>559
失礼。フレームバッファの単語を読み飛ばしてました
564名前は開発中のものです。:2006/11/30(木) 18:04:42 ID:NwbsHHlf
Java2DアクセラレーションはDirectXも使っていたり複雑だけど
通常の矩形転送以外はアクセラレーションきかねぇんだよな
しかも頻繁にGCがおきやがる

JOGLアクセラレーションに期待
5.0だとDirect3Dモードはひどいし、OpenGLモードはもっとひどいし
565名前は開発中のものです。:2006/12/01(金) 10:00:02 ID:A/U7d6+m
JAVAって画像ファイル形式にGIFしか使えないってマジですか?
566名前は開発中のものです。:2006/12/01(金) 10:14:43 ID:LDltEBVY
マジではありません

どんな画像ファイル形式でも使えますよ
567名前は開発中のものです。:2006/12/01(金) 11:37:19 ID:LC+/aYM5
Java素人なのですがなんとなく作ってみました!
未だにアプレットの作り方すらよーわからんです。(^^ゞ
ttp://perfect-logic.net/SampleAction/
568名前は開発中のものです。:2006/12/01(金) 17:10:48 ID:IDdYaP0u
結構作りこんでありますねぇ。
某ゲームを彷彿させて萌えましたw
ところでシステムがアーケードっぽいのはなぜなんでしょう?
569名前は開発中のものです。:2006/12/01(金) 17:16:25 ID:LC+/aYM5
感想ありがとうございます〜。
アーケードっぽいのは私がアーケードゲーム好きだったので、なんとなくそれっぽくしただけなんです。(^^ゞ
570名前は開発中のものです。:2006/12/01(金) 23:36:55 ID:o1acqxN9
>>567
ちょっ
これで素人とは言わせないぞ
どこのプロだ?
571名前は開発中のものです。:2006/12/02(土) 00:01:56 ID:WxTjtQSm
>>570
こんばんわ。
ホントにJavaでものを作って公開するのは初めてですよ〜。
一度くらい仕事でJavaってみたいです。(^-^)
ちなみにゲーム歴は結構長いです。インベーダー時代からやってます♪
572名前は開発中のものです。:2006/12/02(土) 05:50:16 ID:8WxMFuvR
適当な推理だけど、
中堅ソフトメーカーの社員で、30代半ばから40台。
開発現場から管理職に昇進したものの、なんか以前より暇でムズムズしてる人。
最近のゲームは、はっきりいってぬるぽ杉て殺意すら覚えている。
乗り越える壁があってこそ面白いゲームと考えてる。
マーケティングにその事をこぼした際今時流行らないと一蹴され、このゲームを
作り始める直接のきっかけになった。


なんてね。
573名前は開発中のものです。:2006/12/02(土) 09:32:54 ID:wBc7JJHR
>>572
36〜40の割には顔文字やら音符やらずいぶん軽いな
そんなもんなのかね
574名前は開発中のものです。:2006/12/02(土) 10:03:44 ID:YSW2q7Ho
>>572

>乗り越える壁があってこそ面白いゲームと考えてる
は当たっているかもしれません。
後は…ちょっと違うかな。(^^;
最近のゲームは普通にやりますし、プログラム技術も見てますよ〜。
(素晴らしいの一言です。とても一人では作れるわけ無いですね)

このゲームを作ったきっかけは、昔ナムコの某塔を登るゲームの
二作目(ただ飛ぶだけのヤツ)にガッカリして、自分ならこう作る
かなぁとずっと思ってて、Javaでなんかグラフィックをいじる
ソフトを作ってみるかと思ったキッカケがあったときに
それを実行移した感じですね。
年々仕事がハードになるので、息抜きに作った感じです。(^^;
575名前は開発中のものです。:2006/12/02(土) 10:09:23 ID:OMk/eHpK
(^-^)とか(^-^)/とか(^-^)/~は30台でも使う人いるな
576名前は開発中のものです。:2006/12/02(土) 10:37:29 ID:TVj7JnE/
>>567
URL見てスルーしてたが結構凄いじゃん
577名前は開発中のものです。:2006/12/02(土) 11:10:40 ID:YSW2q7Ho
>>576
ありがとうございます〜。
周りにJavaのグラフィックやゲームフレームワークについて
お話できる人がいない上に、プレーしてもらえるゲーマーが
殆どいない状況だったので、ここに晒してみた感じです。w
578名前は開発中のものです。:2006/12/02(土) 13:20:11 ID:A/80wyG1
俺もURLみただけでアプレットかなんかかとおもってスルーしてた

単純でもDEMOがあるのがすばらしいな
結構DEMO作るの面倒なんだよな
579名前は開発中のものです。:2006/12/02(土) 16:34:43 ID:Q74I213y
>>567
初期化時の画面のこだわりは恐ろしいものがありますな。
ゲーム自体もかなり作りこんであるので、ちとびっくりしました。

>>574
「飛ぶだけのやつ」はシリーズでいうと3作目ではないかと。
2作目は「塔を降りる」やつではないかと。
スレ違い失礼。
580名前は開発中のものです。:2006/12/02(土) 16:49:36 ID:YSW2q7Ho
>>578
DEMOがあるとなんか昔のアーケードっぽくていいかな?
と思いました。(^^)
あと、最初の方の面は宝の出し方が故意にノーヒントにしてあるので、
デモプレーで分かるようにしてみました。

>>579
感想ありがとうございます♪

二作目はイシターでしたね。三作目が正解です。www
書き込んだ後に思い出して反省していました。(^^ゞ
581名前は開発中のものです。:2006/12/02(土) 17:06:52 ID:w9uTYl/6
>>567
JAVAなのにブラウザから直接はじめられないの?
582名前は開発中のものです。:2006/12/02(土) 17:12:22 ID:YSW2q7Ho
>>567
Javaの素人なのでアプレットの作り方とか知らないんです。
エントリポイントが違うくらいの違いであれば作ることができそうですが、
ちゃんと作る気力が無くて...orz
583名前は開発中のものです。:2006/12/02(土) 17:46:49 ID:w9uTYl/6
embedとかで埋め込めなかったっけ?
普通に作りこんであるだけに起動が面倒なのは惜しい。
584名前は開発中のものです。:2006/12/02(土) 17:50:35 ID:YSW2q7Ho
ほほぉ。そんなのがあるんですね。φ(.. )メモメモ
今度勉強してみようかな。
585名前は開発中のものです。:2006/12/02(土) 20:54:16 ID:A5BBW3gR
>>582
つゲームのパネル化&AppletとFrameへの貼り付け
586名前は開発中のものです。:2006/12/02(土) 21:53:27 ID:NlWQrbtL
マニフェストでMain-Classを指定してるみたいだからjarアーカイブの関連づけをjavaかjavawに関連づけてたらダブルクリックで実行できるだろ。

>>567
起動〜リソースの読み込み〜タイトル画面移行に掛かった時間を標準出力に吐いてくれたらうれしい
587名前は開発中のものです。:2006/12/02(土) 22:03:33 ID:g+e0ZUOZ
>>567
連投スマン
これってAWT?
-Dswing.aatext=true
でアンチエイリアスが効いてないような気がするんだけど・・・
588名前は開発中のものです。:2006/12/02(土) 22:23:32 ID:YSW2q7Ho
みなさんありがとうございます〜。
アプレットにも対応してみようかと、mainのクラス(ActionGame extends JFrame)
とは別にAppletのクラス(ActionGameApplet extends JApplet)を作って、
appletviewer使って実験してみたのですが、私のスキルが足りなくて、
途中で画像の読み込みとか(?)でヌルポになってしまいました…
(トレースは表示されましたが、時間が無くて具体的にどの辺りかが
あんまり分かっていません。あと内部でJPanel(JFrameに貼りついている
MainScreen)を作っているのですが、
これがアプレットに貼り付かないみたいで別ウィンドウが出て
しまいました...)
なものでアプレット化は当分無理そうです。ごめんなさい〜。m(_ _)m

>>586
これ位は私でもできるような気がしますが、必要な理由に興味が
あります。何故でしょう?(^^ゞ

開発環境はbash, vi, antで開発していたので、
シェルで普通にパラメータを指定して起動みたいな感じで、
ダブルクリックとかあまりやっていませんでした。
(Windows XPとかだと、jar=ZIPファイルで中を展開ってイメージが
あったもんで...)
589名前は開発中のものです。:2006/12/02(土) 22:53:32 ID:m+FwCpVx
アフォな解凍ソフトが jar まで解凍拡張子として関連付けしている
場合があるから、Windows向けに下記のランチャーソフトをお勧め

ttp://launch4j.sourceforge.net/
ttp://www.ne.jp/asahi/web/ryo/exewrap/
590名前は開発中のものです。:2006/12/02(土) 23:02:38 ID:lFDLhCqW
jarはダブルクリックで実行がデフォ
あふぉなアーカイバは無視しておけ
591名前は開発中のものです。:2006/12/02(土) 23:04:51 ID:lFDLhCqW
>>588
画像読込部分はりソース読み込みならおかしくなるとは思えないけどどういうコード使ってるの?
592名前は開発中のものです。:2006/12/02(土) 23:08:50 ID:YSW2q7Ho
>>591
読み込みよりもダブルバッファのイメージ生成でコケてました。(^^;
Component.createImage APIです。
…トレースを見ていたら、

[Action game start]
Game initializing...
Image create error.
Framework initialize failed. error(-1)
java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkExit(SecurityManager.java:744)
at java.lang.Runtime.exit(Runtime.java:88)
at java.lang.System.exit(System.java:868)
at ActionGameApplet.init(Unknown Source)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:595)

とかなっていたので、もっと根本的におかしいのかも知れないです。
(HTMLの書き方とかからしてとか)
嗚呼、スキルの無い悲しみ…orz
593586:2006/12/02(土) 23:31:14 ID:g+e0ZUOZ
IDが変わってるだろうがプロバイダの仕業だから気にしないでくれ

>>588
レス早いねありがと。
javaはVM向けのオプションをいじり倒すとかなり最適化出来るんだがマシン構成やらプログラム側のGCの発生頻度やらその他諸々の癖で結構指定するオプションを見極める必要がある。

んで効果を手軽に確認するのに初期化処理とかリソースの読み込みに掛かった時間が分かるとめあすになるかと思って。


あと思ったんだがJavaVMじゃなくてJavaアプリケーション側の実行時引数って普通-Dオプションで渡さない?swingだけだろうか?


ダブルクリックでjar実行なら最近のGUIOSならJavaVMに関連づけがデフォだからwinやMacOSXならいじる必要ないと思う。

linuxとかCUI混在は知らん。
上で言われてる通りバカなアーカイバがjarをZipとして云々はデフォ設定に直せばおk

winでjar=zipとして解凍って思い込みはIEがHTTPからダウンロードする時MIME-TYPE見てないせいで云々に関係するからOSがバカなだけ。

ド素人ならJarを何も考えずにクリックして見るのが普通と思う。解凍は意図的にする。

長かったな参考になっただろうか
594名前は開発中のものです。:2006/12/02(土) 23:49:58 ID:lFDLhCqW
>>592
System.exitがどっかにかいてあるとか?
あれはアプレットだとセキュリティ違反


>>593
GCはインクリメンタルGCnにするとフルGCが大体消えて快適になる
5.0ならパラレルGCなので大丈夫

-Dはパラメータ用ではない。用途が違う

595名前は開発中のものです。:2006/12/02(土) 23:55:17 ID:YSW2q7Ho
>>593
どうもです。(^^)

>んで効果を手軽に確認するのに初期化処理とかリソースの読み込みに掛かった時間が分かるとめあすになるかと思って。
参考になりました。φ(^^ )メモメモ
ということで時間を見つけて入れてみますね。
エンディングまで行った時にもTotal Play時間も入れておこうかな。

-Dswing.aatext=true パラメータは知らなかったのでググッてみたのですが、
これはテキストにアンチエイリアスがかかるとか紹介されていました。
ビットマップの転送にもアンチエイリアスがかかるのかも知れないのですが、
私も試したらNGでした。ちなみにゲーム中に表示される文字は全て
ビットマップです。
596名前は開発中のものです。:2006/12/02(土) 23:58:03 ID:YSW2q7Ho
>>594
System.exit書いてあります!
アプレットの時はコレが書いてあるだけでNGなんですね。φ(^^ )メモメモ
597名前は開発中のものです。:2006/12/03(日) 00:11:31 ID:Weooalfd
ブラウザでプレイできるようにしてくれ〜
598名前は開発中のものです。:2006/12/03(日) 00:19:26 ID:7tbgDbUF
>>597
すみません〜。スキルがなくて…orz

System.exit止めたらExceptionが消えましたが、Component.createImage(w,h) API
でイメージが生成できないのは解消できずです。orz
newしたJPanel(Component)はヌルポでは無いのに…
599名前は開発中のものです。:2006/12/03(日) 00:28:03 ID:JGG55Wof
>>597
アプレットはずっと動き続けるものだからね
破棄はブラウザ閉じたりページ移動したりユーザーの意思によってのみされるわけだ

>>598
エラーメッセージは?
600名前は開発中のものです。:2006/12/03(日) 00:36:40 ID:7tbgDbUF
>>599
598で述べたJPanelは私のチョンボでした。
アプリケーションのmain関数でインスタンス生成するのと同じように、
アプレットのInitの中でActionGameAppletをインスタンス生成していました。
(インスタンスが二重になってしまっていて、おかしくなっていました)

今はjar内のイメージ(最初にフォントを読み込みます)の読み込みエラーになり始めました。

Image load error. (/images/text_font.png)
java.lang.NullPointerException
at TextScreen.initialize(Unknown Source)
at God.initialize(Unknown Source)
at ActionGameApplet.init(Unknown Source)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:595)

コードはこんな感じです。

 // イメージを読み込みます
 Toolkit toolkit = Toolkit.getDefaultToolkit();
 Image srcImage = null;
 URL url = God.getURL(fileName);
 if(url != null) {
  srcImage = toolkit.getImage(url);
 }
 if(srcImage == null) {
  System.out.printf("Image load error. (%s)\n", fileName);
  return null;
 }

filenameがjar内の/images/text_font.pngにあたります。
601名前は開発中のものです。:2006/12/03(日) 00:37:20 ID:JGG55Wof
しかしアプレットだとVMにたいして細かい制御ができないしパフォーマンスも下がるし制限多いんだが
アプレットにこだわるのはどういうことだろうね

WebStartアプレットならまだましか
602名前は開発中のものです。:2006/12/03(日) 00:44:09 ID:JGG55Wof
>>602
肝心の例外が出てる行はどこ?
ツールキットでのロードってことは読込完了するまでまってる?
画像ロードはImageIO使ったほうが楽だと思うよ
リソースのストリームから呼び出すようにね

あとソースファイルが多いので1つのディレクトリに全部展開するよりは階層構造にしたほうがいい
viとかでは管理できないレベルかと

リファクタリング使えるIDEつかえばドラッグアンドドロップで自動的にクラスの移動ができる
もちろん使われている場所も全部問題なく変更される

ここまでの規模になるとたいしたことなくともIDE必要だと思うよ
antも全部自動生成してくれるし
603名前は開発中のものです。:2006/12/03(日) 00:52:36 ID:aNPfAlfu
>>594
-Dはシステムプロパティの方だった・・・orz

ユーザープロパティはProperties#loadで自分でプロパティファイル毎拾わないといけないんだったな。

>インクリメンタルGC〜
それは言えてる。けどインクリメンタルGCはフルGCのコストとは比べ物にならなくても常に少しのCPUパワー消費が増してるからハードウェアアクセラレーションが効かない現状だと貧弱PCだと辛いかと思ってさ。

あとメモリ使用量とかも調節したいし。


CPUが2つ見えてればサーバーVM使いたいんだけど・・・(°ω°)

>>595
-Dswing.aatextは将来のDeskTopJavaのサポートを強化するためにSE5.0で先行実装された非公開のオプション。アプリケーションレベルでテキストをアンチエイリアスしてくれる。com.sun.java.swing.SwingUtikities2のソースを読むと幸せになれるかもしれない。

だが、知らないなら余り触れない方が良い。


文字はビットマップなのか。それならJava2Dの仕事。SDK5.0の「java2Dのグラフィックスとイメージング-J2SE5.0でのJava2Dの新機能 or Java2Dテクノロジのシステムプロパティ」が参考になるが現段階では充てにならん。SE6〜7辺りに期待。

>>596
ブラウザにプラグインされてるVMを勝手に終了させられたらブラウザは迷惑だと思うw

604名前は開発中のものです。:2006/12/03(日) 00:53:47 ID:7tbgDbUF
>>602
根源は
URL url = God.getURL(fileName);
というところでした。
この関数は、sun.applet.AppletClassLoader.getResource(filename)
としていて、ここでNULLになっているみたいです。
(結果、if(srcImage == null)がnullになるという感じです)

ImageIOというのもあるんですね。ためになります〜。
EclipseとかカッコイイIDEを使いたいというのもあったのですが、
何分勉強する時間が無くて、最初はHello Worldから始めて、
グラフィックをちょっと描いてみる→ここまでに至りました。
この辺、言語や開発の仕方を覚えていく過程としてはかなりいい加減です。
(この言語が本職で無いからどーでもイイヤみたいな感じだったとでも
いいましょうか...(^^ゞ)
605名前は開発中のものです。:2006/12/03(日) 00:57:25 ID:JGG55Wof
>>603
サーバーVMはスループットはよくなるけどレスポンス悪化するのでゲームじゃ今のところ使えない
クラスロード時にコンパイルが出来るなら別だがそういうVMはないはず

それにインクリメンタルGCは5.0でトレインGCからパラレルGCに変更になったので大丈夫だよ
トレインアルゴリズムは非常の遅くて1GHzくらいでも60fps維持は結構きつかった
一応隠しオプションでトレインにかえれるけどだれもつかわないね、あれは
606名前は開発中のものです。:2006/12/03(日) 01:01:12 ID:JGG55Wof
>>604
リソース読むときコードにクラスローダ直書きってこと?

IDEはわからないのであればNetBeansお勧め
セットアップしてすぐに使えることと覚えることが少ないのがぐー
新規にプロジェクト作ったらsrcフォルダにそのままソースをぶっこむだけでおわる

それに補完等があるからIDEは便利だよ
コンパイルしなくても構文にエラーがあればリアルタイムに表示してくれるし
607名前は開発中のものです。:2006/12/03(日) 01:06:14 ID:7tbgDbUF
>>606
>リソース読むときコードにクラスローダ直書きってこと?

いえ、最初にgetClass().getClassLoader().getClass()してます。(^^ゞ
アプレットの時は"sun.applet.AppletClassLoader"で、
アプリケーションの時はお詳しいと思うのでご存知のように、
"sun.misc.Launcher$AppClassLoader"
みたいになりました。

IDEはもう少し時間が取れたら試してみようかな…
608名前は開発中のものです。:2006/12/03(日) 01:20:39 ID:aNPfAlfu
>>605
パラレルアルゴリズムってそんなにパフォーマンス改善されてるのか。

>>サーバーVM〜
そういやこれアクションゲーだったな。
俺ADVエンジンしか作れないからレスポンスいらねw

でもlinuxだとデフォでサーバーVMが起動するからゲームのパフォーマンスさげてるって事か。


ところでswingで書けばアプレットでもアプリケーションでもどっちでも起動できるが>>604がdemoのSwingSet2のソースを理解出来るかどうか。

swingサポートしない古いMSVMはセキュリティの面からも切り捨てでw

#MSVMはJITだけが取り柄だな
609名前は開発中のものです。:2006/12/03(日) 01:41:17 ID:JGG55Wof
>>607
リソース周り少し調べればたぶん解決すると思う
ストリームのほうつかってみたら?

あとファイルをjarの外に出すという方法もあるね
あとでパッチ当てるの楽になるし開発中のときはデバッグに楽かも

まぁリソースは別のjarとかにしておくのが正解か
WebStart等とかんがえるならね

>>608
あとGC自体1.4から5.0で見える範囲でパフォーマンスアップしている

Swingかどうかって関係ないのでは?
awtでもアプレットとアプリは併用可能

フルスクリーン等実装してることから1.4以上が必須なわけだし
あとはOggあたりをループ再生していればいいね

linuxは32bitならサーバークラスマシン検出しないとデフォはクライアントだと思うんだけど
64bitはクライアント版はなし
610名前は開発中のものです。:2006/12/03(日) 01:54:36 ID:7tbgDbUF
>>609
色々と調べたら、アプレットでのjar内のリソースの読み込みは
セキュリティポリシーの問題で難しそうに感じました。
(それで合っているのか分かりませんが...)

本来は提案で言われたとおり、jarを外に出すとかWebStart等が
いいのかと思いますが、流石にそのパワーが無いので、
一旦これで凍結にしようかと思います。
(所詮適当に作ったサンデープログラムプロゲームですしね。www)

----
本来はオフラインで周りに聴ける人とかいれば、色々と相談したい
ものなのですが、残念なことにJavaエンジニアが側に一人も居ないので、
なんかきっかけがあったらまたゴソゴソとトライしてみようかと
思います。

スレの流れを見ていると、上級Javaエンジニアの方が二人程
私の相手して頂いたように見受けられます。
色々とテクニカルなキーワードを教えてもらって、
かなりタメになりました。ありがとうございます!( ´▽`)ノ

>>皆様
クソゲーではありますが、純粋にレトロ風なアクションゲームを
楽しんでいただけると幸いです。(^^)
ttp://perfect-logic.net/SampleAction/
611名前は開発中のものです。:2006/12/03(日) 03:06:12 ID:YF8PnGLn
自分が書いたJar内のリソース読み込みプログラム
アプレットでも大丈夫
/resourceフォルダ以下にこれとリソースを入れておけば良し


package resource;
import java.io.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

public class ContentsReader {
  public InputStream getInputStream(String fileName){
    return getClass().getResourceAsStream();
  }
  public BufferedImage getImage(String imageName){
    BufferedImage image;
    try{
      image = ImageIO.read(getInputStream(imageName));
      return image;
    }
    catch(IOException e){
      e.printStackTrace(System.err);
    }
    return null;
  }
}
612名前は開発中のものです。:2006/12/03(日) 03:16:48 ID:fVWUDxZS
確か、Jar関連のプログラミングは、
ClassLoader#getResource
Thread#setContextClassLoader
辺りを使えば大体何とかなったな
613名前は開発中のものです。:2006/12/03(日) 12:38:36 ID:YF8PnGLn
>>611のコードが間違っているが見なかったことにする
614名前は開発中のものです。:2006/12/03(日) 12:49:00 ID:SWYB2VRJ
>>610
楽しんで作ってるうちが一番だと思うよ
だからアプリケーションでのみだが問題ない

仕事で作るとなるとそれはそれは・・・

とりあえずこのスレを1から読んでみることをオススメする
615名前は開発中のものです。:2006/12/03(日) 21:46:13 ID:7tbgDbUF
>>614
斜め読みですがこのスレを一通り見てみました。(^^)
私がコーディングしていて通ったような悩みを他の人も
遭遇していたりして、もっと早くこのスレに来ていればなぁと
思いました。

本職はWin,LinuxのC++/Asm系なので、この言語の高級感
(というかライブラリの充実度)は萌えだったのですが、
仕事となると色々と知らないといけないガイドラインが多そうで
大変なんだろうなぁとシミジミです。
616名前は開発中のものです。:2006/12/03(日) 21:55:02 ID:/gdh39Xl
前スレのほうが中身はあったようなきがしたけどまぁ出来上がってるから関係ないね
あとは音楽でもはいっていれば十分かと

できればジョイパッド対応ってところだけどJNIはいるからめんどくせーかな
まぁC本職なら十分楽だろうけど

Javaはネット周りが楽なのでネトゲの鯖から採用され始めてきて最近はクライアントにもきてるみたい
ネトゲは運用がはいるからパッケージと違って保守性って大事だからね
617名前は開発中のものです。:2006/12/03(日) 22:29:48 ID:7tbgDbUF
>>616
>あとは音楽でもはいっていれば十分かと
そうなんですよねぇ… ちょっとMIDIで作ったのですが、
プログラムや絵よりも難産で当分無理かなぁという状況です。
(外部ファイルで設定できるとはいえ、開発者の作曲のスキルが…orz)

>できればジョイパッド対応(ry
最初Windows上にcygwin入れて、JNIをサンプルで作ってみて、
エントリポイント関数ができたので、さて作ってみるかと思ったのですが、
その直後「JoyToKey」という素晴らしいソフトを見つけてしまったので、
作成意欲がゼロになりました。
(私は"PCで遊ぶゲームはキーボード"で育ったので、自作ゲームは
キーボードでクリアする方が簡単となってしまい、この辺があんま考慮
されてなかったりします。m(_ _)m)

昔、日経Linuxとかで携帯ゲーム開発のコストの記事かなんかを
みたことあるのですが、技術者のスキルに比べて開発費用が激安で
回収が厳しいとか書いてありました。Javaで簡単に作れる時代になった
とはいえ、これで保守/運用とかあると厳しいんだろうなぁと感じました。
618名前は開発中のものです。:2006/12/04(月) 00:23:03 ID:TAJliEjW
キーボードでもいいんだけど、同時入力が出来ない場合が多いからね
しかもこのキーとこのキーが同時に入力できないってのはキーボードによって違う
アクション系では致命的
619名前は開発中のものです。:2006/12/04(月) 00:50:11 ID:rOxIjnLZ
>>618
>キーボードでもいいんだけど、同時入力が出来ない場合が多いからね
>しかもこのキーとこのキーが同時に入力できないってのはキーボードによって違う
φ(.. )メモメモ
これって、キーボード的(ハードウェア的)にですか?
OSのキーボードデバイスドライバ的ですか?('=,VMのイベント的ですか?)
(恐らく後者とは思っていますが...)

自作のゲームはサンプルなので、左右とジャンプしか行わないためか、
幾つかのPCでキーボードプレーしても、このような感覚に出会った事が
なかったです。

とても勉強になります。
620名前は開発中のものです。:2006/12/04(月) 02:19:17 ID:oYP8msvX
621名前は開発中のものです。:2006/12/04(月) 03:05:27 ID:rOxIjnLZ
あー、ハードウェア的でしたか…(^^;
JoyToKeyのようなソフトウェアはキーイベントをOSに発行するから、
こーいう問題はないのかもなぁ…
622520:2006/12/04(月) 04:42:32 ID:8QL/yjCh
キーボードのタイプにもよるだろうけど左上+スペースが反応しないね。
623名前は開発中のものです。:2006/12/04(月) 04:43:21 ID:8QL/yjCh
そしてミス、漏れはこのスレの520じゃない
624名前は開発中のものです。:2006/12/13(水) 12:04:19 ID:nFrd+DMR
JavaSE6がでたが、単純に高速化してるなー
625名前は開発中のものです。:2006/12/13(水) 16:07:46 ID:tbX8caYj
ニューラルネットワークの学習に使ってるけど
同じことさせて11.701sec→9.815secで速くなってた。
処理の内容はほとんどが浮動小数点演算だけどGUI周りはどうなんだろ?
626名前は開発中のものです。:2006/12/13(水) 19:05:49 ID:nFrd+DMR
GUIもはやいっぽい。
特に今までアクセラレーションがなかったWindows以外の環境でもアクセラレーションきくようになったのは大きいかと。
627名前は開発中のものです。:2006/12/14(木) 08:23:31 ID:U6gTfVOR
windowsだけど1600x1200のタイル描画で普通に60fpsがだせるようになった
5.0で同じことやっても10fpsいかなかったし、
6.0はjavaゲームの本当のスタート地点になるかも
628名前は開発中のものです。:2006/12/15(金) 18:08:34 ID:Ihq+GcpE
まじか
じゃあ俺もこれからアプレットのゲームつくってみよ
629名前は開発中のものです。:2006/12/15(金) 23:17:44 ID:e9fBCpQh
デスクトップ環境の強化ってどういう意味?
Javaアプリケーションが高速ってこと?
630名前は開発中のものです。:2006/12/16(土) 16:06:00 ID:p9tzPmLY
>>627
2Dの事?
今までが遅すぎただけ。アルファブレンド固定なせいもあるけど
しかし、今頃になってようやくって感じだな。

ロジックの速度も上がってるけど、コレクションクラス群はどう?
JavaがC++で劣るのはGCのみ、と言ってる人がいるけど
ロジックのコアとなるCollectionAPIの遅さを考慮してないから話にならん。
STLは、ヘボ設計だけど速度はあるからそれだけ実用に足りるがね。
631名前は開発中のものです。:2006/12/17(日) 00:02:03 ID:SYIGKUNN
>>627が何の描画で早くなったのか知りたいな

今回JREにServerVMが付属してないからJDKのJREほうでやってみたら
ServerVMのほうがコンパイルに時間がかかってかくかくになるくせに
ClientVMと同じ性能しか出てない

これはClientVMがServerVMにスループットでも追いついたということか
632名前は開発中のものです。:2006/12/17(日) 14:55:12 ID:iXhkS4tF
へーマジか
633名前は開発中のものです。:2006/12/17(日) 15:17:19 ID:hjNOU8u3
新しいJava2DレンダリングエンジンとJOGLの統合
http://journal.mycom.co.jp/news/2005/09/15/021.html
http://weblogs.java.net/blog/campbell/archive/2005/03/strcrazy_improv_1.html

とか

ClientVMのレジスタ割り当てアルゴリズムが変更された
http://weblogs.java.net/blog/opinali/archive/2005/11/mustangs_hotspo_1.html

あたりが影響している感じ
634628:2006/12/17(日) 15:47:07 ID:EcLAzrob
速さがよく分からなかった。
パソコン買い替えるか・・・
635名前は開発中のものです。:2006/12/17(日) 20:16:45 ID:+LUNIpol
流れ読まずに質問するが、vjpってどう扱えば良いのだろうか?
さっきS!アプリの開発環境を落として来て動作テストを行なおうとしたら、jadを直接読み込めないんだよ。
焦ったぜ……
このテストさえクリアすればようやく公開だってのに……
636名前は開発中のものです。:2006/12/17(日) 20:23:17 ID:+LUNIpol
おお、ありがとう。
そうか、疑似端末でインストールして動かすのか……
盲点だったぜ。
637名前は開発中のものです。:2006/12/17(日) 20:58:57 ID:Lz0Pt1eB
これはどういう流れなのだ・・・
638名前は開発中のものです。:2006/12/17(日) 22:19:40 ID:zMoxVD1I
俺も新型エミュにはあれ? と思ったよ
何しろexeだったし…
つーかバッドバージョンインフォメーションてなんだよ。1.5だからか?
639名前は開発中のものです。:2006/12/17(日) 23:17:36 ID:+LUNIpol
>>673
ん? 君には見えないのか。
アドバイスをくれたあの人が……

いや、どうやら俺にだけ見えるらしい……忘れてくれ……


ところで、初心に帰ってゲーム制作を1から学び直せるサイトってどこかないだろうか。
出来たものが何故かバグだらけで非常にむかついたんだ。
自分でもぐぐって探してみたんだが、どうにもPC用講座ばかり引っ掛かる……
というかサウンドノベルでバグ出す自分って一体……orz
640名前は開発中のものです。:2006/12/17(日) 23:52:05 ID:+BHAw/PJ
Developing Games in Java
http://www.amazon.co.jp/dp/1592730051/
641名前は開発中のものです。:2006/12/17(日) 23:59:57 ID:Lz0Pt1eB
>>639
最初から大掛かりなの作ろうとしてないか?

昔のBASIC時代と同じく手軽に作れる小粒のアクション系つくってみたら?
642名前は開発中のものです。:2006/12/27(水) 23:40:47 ID:L0eM1Y3J
>>567
[Action game start] (Start time:略)
Game initializing...
MIDI sequencer device open error...
Framework initialize failed. error(-5)

あら・・・動かない。
643名前は開発中のものです。:2006/12/28(木) 00:49:15 ID:0S10EeXq
>>642

こんばんわ、567の作者です。

初めてみる症状です…
JavaのMidiSystem.getSequencer()にて例外が起きているみたいです。
PCのサウンドシステムにMIDI環境は揃っているでしょうか…?
644名前は開発中のものです。:2006/12/29(金) 00:25:15 ID:9nXP6CjO
サウンドバンクはこのプログラムには入ってるの?
JDKはサウンドバンクの一番小さいやつははいってくるけど、JREには1.4以降はいってないはずだよ
それを読み込むプログラムはどうしてるの?

それがないとすれば動かないのが普通
一部環境(JDK入れた人)では動く、が正解
645名前は開発中のものです。:2006/12/29(金) 02:30:52 ID:0wIkKd8m
>>644

すみません。サウンドバンクという概念自体を理解してないでAPI使っています。(^^ゞ
なので、回答としては「恐らくプログラムには入っていない」ような気がします。

以前、インスコしたばかりのWindows 2000上にJRE5.0を入れて動いたのを
確認したことはあったのですが、もしもJRE1.4以降にそれが入っていないと、

 Sequencer midiSequencer = MidiSystem.getSequencer();
 midiSequencer.open();

みたいなことができないようであれば、JDKもついでにインスコしていた
のかもしれません。
(他の開発環境ではないマシンはネットカフェでJDKが入っていないと
思われるXPマシンで動かしたことがある程度です)

とりあえず642さんに動かして遊んでもらいたいところではあるので、
どうしたらよいもんやら...
646名前は開発中のものです。:2006/12/29(金) 10:23:30 ID:M9cmQJF8
>>645
JDK入ってても現象でてます。
647名前は開発中のものです。:2006/12/29(金) 14:03:17 ID:0wIkKd8m
>>646

こんにちわ。

う〜ん。ちょっと環境の詳細が分からないとちょっと対応が難しそうですね。
(OS、サウンド環境、Java環境、etc...)
こちらで現象が確認できない(同一環境が揃わない)と、どうやって
対処して良いものか...

あと、他の方が作成したMIDIを鳴らすサンプルプログラムとかで、
発声するかとか知りたいところです。
それでも同じような例外が発生するようでればPC(Java)環境、
そうでなければ私のプログラムが問題ということになりますね。
(私がJavaの素人なので後者とは思いますが...)

なんか他の良いMIDIサンプルないですかねぇ。
(MidiSystem.getSequencer().open();してそうなやつ)
648名前は開発中のものです。:2006/12/29(金) 14:26:02 ID:M9cmQJF8
>>647
実行したら死んだ。
Sequencer midiSequencer = MidiSystem.getSequencer();
midiSequencer.open();

javax.sound.midi.MidiUnavailableException: MIDI OUT transmitter not available
at com.sun.media.sound.AbstractMidiDevice.createTransmitter(Unknown Source)
at com.sun.media.sound.AbstractMidiDevice.getTransmitter(Unknown Source)
at javax.sound.midi.MidiSystem.getSequencer(Unknown Source)
at javax.sound.midi.MidiSystem.getSequencer(Unknown Source)
at midi.MidiTest.<init>(MidiTest.java:21)
at midi.MidiTest.main(MidiTest.java:14)

諦めます。
649名前は開発中のものです。:2006/12/29(金) 15:15:29 ID:aT7rJMam
とりあえず僕がBGMの再生用に使ってるクラスはこんな感じ。
ttp://www.vipper.org/vip410441.txt.html
BGMBundleにシーケンス一式溜め込んでおいてランダムに再生するだけの物です。
手元にWindowsとLinuxの両方の環境あるけどどっちでも動いてます。
650648:2006/12/29(金) 15:59:11 ID:M9cmQJF8
>>649
やっぱり
this.sequencer = MidiSystem.getSequencer();
の部分で死ぬ

どうやら俺の環境に問題があるらしい。
何かにデバイス横取りされてるのかな。
Java Media Framework関係は普通に鳴ってる・・・。
651648:2006/12/29(金) 18:23:49 ID:M9cmQJF8
AudioClip play()も問題なし・・・。
こんな現象もあるんだ〜と感心。
今後の参考にします。
652名前は開発中のものです。:2006/12/29(金) 18:41:28 ID:0wIkKd8m
>>648

オアー。環境スか...(´д`;
そのうち環境が整ったらプレーしてみてください。m(_ _)m
(ステージも結構あるので、80'sのアクションゲーム好きでしたら
楽しめると思います)

でわ。
653名前は開発中のものです。:2006/12/29(金) 20:26:04 ID:aT7rJMam
ttp://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=cdd3f2d858bc6fffffffffa08e9d7dbe34c4:YfiG?bug_id=6483856
これかな?
Evaluationの部分を適当に訳してみる:
>指定されたサウンドカード(SoundMAX Digital Audio)はハードウェアMIDIポートを持っていないので
>Javaのソフトウェアシンセサイザーを使うことになります。
>標準ではJavaSE JREはソフトウェアシンセサイザーのサウンドバンクをインストールしませんが、
>しかしサウンドバンクが利用可能でなければシーケンサはソフトウェアシンセを使用しません。
>このためシーケンサは使用可能なアウトプットデバイスを見つけることが出来ないので失敗します。
>したがって新しいJavaSoundDemoのためにRFEの写しとしてCRを閉じて、
>それらのケースを詳細に取り扱うべきです。

最後の一文がよくわからんかったけど
JRE普通にインストールしただけじゃ
Java付属のサウンドバンクが入らないから入れろってことだね。
ただWindows側でソフトウェアシンセって持ってなかったっけ?
654名前は開発中のものです。:2006/12/29(金) 23:56:59 ID:J80FO9qV
>>648
がうごかないっていうのはライブラリの問題だと思う
マルチコアだと動かないとかよくあるから環境を書いたほうがいいと思う
655名前は開発中のものです。:2006/12/30(土) 10:34:14 ID:HoTiFon7
マザー:gigabyte GA-965P-DS3
CPU:intel Pentium D 930 BOX(一個)
サウンド:オンキヨー SE-90PCI
OS:Win2000SP4
JDK:JDK5、JDK6(どっちもダメだった)

関連性があると思われるインストール済みソフトウェア
Audio Deck
JMF1.2

MIDIはWindowsMediaPlayerに関連付けられている状態
656名前は開発中のものです。:2006/12/31(日) 10:14:46 ID:1VGXvsjp
お前らのゲーム音源はMIDIですか、それともAUですか。
657名前は開発中のものです。:2006/12/31(日) 21:54:30 ID:p+8prPoH
BGMはMIDI、効果音はau使ってます。
658名前は開発中のものです。:2007/01/01(月) 02:10:42 ID:6EV+wqWa
BGMはOggVorbis、効果音はWAV
これデフォでしょ
659名前は開発中のものです。:2007/01/01(月) 02:43:23 ID:moAKmPyK
>>655

JMFのコンフリクト
ttp://forum.java.sun.com/thread.jspa?threadID=586287&messageID=3024044

sound.jar(またはjmf.jarも)を
lib\extから(またはclasspathからも)除外。
660名前は開発中のものです。:2007/01/04(木) 22:53:24 ID:KxRY1/gx
サウンドバンクを配布するってのもだるいな・・・。
配布する際は使ってるライブラリも含める?
それともインストールを促す?

含めると、そんなライブラリ持ってるわい!って言う人いるだろうな。
かといって含めずに「動かないんですけど」って問い合わせが来ると対応が大変だし。
なんか良い方法ないかな。
661名前は開発中のものです。:2007/01/04(木) 23:04:33 ID:CqSR8cXM
散々注意書きする
662名前は開発中のものです。:2007/01/05(金) 00:53:20 ID:CKZiJJtc
アプレットなら普通にHTTP経由でダウンロードすればいいだけでは?
アプリなら適当にファイル同梱すればいいし

別にJREにはいってる必要はない
663名前は開発中のものです。:2007/01/05(金) 09:23:58 ID:EoheASy3
>>662
その「適当にファイル同梱」の事を言ってるんジャマイカ。
664名前は開発中のものです。:2007/01/05(金) 12:02:21 ID:CgA1l96c
>>663
再配布可能物なんだから問題ないだろ?
それが問題になるなら画像やサウンドファイルなど他のリソースも問題になるってことだぜ?
665名前は開発中のものです。:2007/01/06(土) 10:57:57 ID:51STjwfV
色々な視覚効果を試行錯誤中なんだが
いい感じのエフェクトはないかね?

ttp://www.durius.com/
ttp://hp.vector.co.jp/authors/VA012735/
666名前は開発中のものです。:2007/01/06(土) 15:14:07 ID:r24lOWtw
エフェクトに対してJavaと何の関係があるのかと
それにゲームによって使い方違うだろ
667名前は開発中のものです。:2007/01/06(土) 18:29:48 ID:nMuYdedC
自分も視覚効果について考えていたけど処理速度の都合上
あんまり無茶するとフレームレートががた落ちになるのがネックだね。
sun.java2d.openglやsun.java2d.d3dのオプションで
OpenGLやD3Dのアクセラレーションが効くのはいいけど
環境や処理によってアクセラレーションが
効いたり効かなかったりするからあんまし過信できないかな。
というかアクセラレーションが効かないだけならいいけど、
D3Dだと拡大縮小が以上に時間かかるバグがあったり、
OpenGLだと色が化けたりでまだ実用には少々難ありっぽい。
(どちらも本家のバグレポートにあった)

とりあえずDirect3D向けの視覚効果テクニックから
軽そうなのだけをJavaに引っ張る予定。
668名前は開発中のものです。:2007/01/06(土) 23:14:26 ID:CAKGleIT
OpenGLによるJava2Dアクセラレーション期待していたらぜんぜん話にならなかった(DirectDrawのほうがまし)から
JOGL使ってOpenGLそのまま使うのが今は一番現実的かな
669名前は開発中のものです。:2007/01/06(土) 23:36:13 ID:cnJipY2O
ttp://www.balmunc.jp/

MMORPGをJavaで作るそうです。
説明によるとサーバーもクライアントもJavaみたいです。
どこまでいけるのやら?
670名前は開発中のものです。:2007/01/07(日) 00:06:10 ID:NntNHMAa
>>669
ブラウザ上で動くオンラインゲームってのは面白そうだな。
Javaのメリットも生かせそうだし、何より金の臭いがプンプンするぜー!!
671名前は開発中のものです。:2007/01/07(日) 11:19:46 ID:6B2D6r/d
ホームページビルダーですか(笑)

アドレス見て.hackを思いだした
672名前は開発中のものです。:2007/01/09(火) 03:31:44 ID:EAQZbwWj
javaじゃ無いけど、SecondLifeのクライアントソースがオープンソースになった
http://secondlife.com/developers/opensource/getit
673名前は開発中のものです。:2007/01/09(火) 21:58:25 ID:HlHNM13x
>>669
オモシロそうだね。

しかし、いまどき手作りサイトはきつくないか?
せめてCMSを使ってほしい。
xoops, joomla, pukiwikiあたり。


674名前は開発中のものです。:2007/01/10(水) 10:31:16 ID:1y6WyCtf
FrameとSwingの違いってなんです?
675名前は開発中のものです。:2007/01/10(水) 13:02:27 ID:CY2D89Rv
AWTはFrameやDialog等を含む
SwingはJFrameやJDialog等を含む

つまり比べている単位が違う
676名前は開発中のものです。:2007/01/10(水) 16:06:33 ID:CUOEf+p3
XOOPSはバグだらけだしコミュ荒れまくりだしトラブル起きまくりだし半分死んでる
677名前は開発中のものです。:2007/01/10(水) 19:51:15 ID:1y6WyCtf
>>675
ありがとうございます
678名前は開発中のものです。:2007/01/10(水) 20:45:36 ID:oWjZFBCd
>>673
ネットゲームを作ってるけどユーザー登録と認証のデータベースを
一々作らなくてもXOOPSとかのに便乗してしまえばいいことに気がついたよ。
でもXOOPSは荒れてるのか、残念。
679名前は開発中のものです。:2007/01/10(水) 23:47:17 ID:ssMCF7LR
>>669
試みは面白いけど
ブラウザMMOである必要があるかってのが不明だし
見た感じ完全な素人ぽいし、何をやりたいかってのがわからないから微妙だな
680名前は開発中のものです。:2007/01/11(木) 00:27:37 ID:mphLe0zy
>>679
Javaだからブラウザとは限らないと思う。
むしろブラウザでアプレットでも動いて、
WebStartやJavaアプリケーションだったら
他の機能も使えるとかだったら面白いと思う。
ただ募集で人を募ってるにしてはちと情報が足りないよねぇ。
681名前は開発中のものです。:2007/01/11(木) 00:56:40 ID:NgTbegp6
>>669
どこかでみたなって思ってたら BOTNEWSの人のサイトじゃん。
682名前は開発中のものです。:2007/01/11(木) 08:07:23 ID:S2vx2eJV
ラグナロクw
683名前は開発中のものです。:2007/01/11(木) 14:53:51 ID:Yd1G/kpu
.hackを思い出すようなURLだな
684名前は開発中のものです。:2007/01/11(木) 21:55:18 ID:5qUJXaj7
皆様こんばんは。JAVA初心者です。
JAVAゲームを作りたいのですが、どこかのサイトでフロッピーに一括DLできるようなところはありませんでしょうか?
プログラムはもう出来ていて、あとは入力すれば出来るような簡単なゲームで良いんです(テトリスなど)。
皆様ご存知でしたら大変申し訳ないんですが教えてくれませんでしょうか…?
685名前は開発中のものです。:2007/01/11(木) 22:02:28 ID:+EVEwFD/
申し訳ありませんが意味が分かりません。もう少し易しい日本語で書いてください。
686名前は開発中のものです。:2007/01/11(木) 22:29:11 ID:XoWa/QNu
687名前は開発中のものです。:2007/01/12(金) 03:00:48 ID:STRKeNbN
そのサイトすごくいいんだけど
もちっと泥臭いJavaに限った情報を集めたサイトが欲しいなー
688名前は開発中のものです。:2007/01/12(金) 05:51:25 ID:h6iNVB6D
どの程度Javaを理解してるかにもよるな。
とりあえずお前さんが書いたソースをどっかにあげてくれ。
689名前は開発中のものです。:2007/01/12(金) 18:19:58 ID:+JdArOF0
Imageのサイズを取得することが出来ないんですが何故でしょうか
image.getWidth(this);でいけますよね?-1が返るんですけど
690名前は開発中のものです。:2007/01/12(金) 19:13:52 ID:k6cliGBg
>>689
Javadocより
> abstract クラス Image は、グラフィカルイメージを表現する
> すべてのクラスのスーパークラスです。
> イメージは、必ずプラットフォーム固有の方法で取得してください。
ベクトルイメージとかもひっくるめてのスーパークラスだから
ピクセルの概念をImageは持ってない。
BufferedImageとVolatileImageはピクセルベースのイメージで
サイズの概念を持ってるからサイズの取得ができるよ。
691名前は開発中のものです。:2007/01/12(金) 20:07:18 ID:STRKeNbN
>>688
ソースは公開してるけど、ここに紹介すれば
そんなサイトを君が作ってくれるの?
692名前は開発中のものです。:2007/01/12(金) 20:32:46 ID:h6iNVB6D
別に作ってもいいよ。
で、どこで公開してるの?
693名前は開発中のものです。:2007/01/12(金) 22:41:44 ID:hpZMXN0I
>>669
おもったんだけど、この理屈で言うんだったら、
ネトゲーのクライアントはアプレットでつくるより
Flex(ActionScript)で作ったほうがよくないか?
開発環境無料だし。

JREをインストールさせるより90%以上普及している
Flash使ったほうがよいかと。
(サーバサイドはJAVAでいいと思うが)

てかそういうゲーム誰か知らない?
694名前は開発中のものです。:2007/01/12(金) 22:46:22 ID:k6cliGBg
>>693
JREをインストールさせることが面倒なのは同意だが、
サーバーとクライアントで別々の環境にすると
今度は通信プロトコルの統一が面倒なのよねぇ。
695名前は開発中のものです。:2007/01/12(金) 22:51:00 ID:STRKeNbN
>>692
実名でやってるから2chに晒すつもりはない

とりあえずGraphics2Dの最適な描画について
まとめたドキュメントが日本語で読みたい
この方法は高速で、この方法は低速ですというのを
使ってるJDKのバージョンに合わせて知る方法があればすごく助かると思う

例えば画像の描画だけの場合でも描画面積のみ考えればいいのか、
そこでImageの描画回数はどのくらい影響するのかとか
src->dest間の色深度の違いでどのくらい影響があるのかとか
そういうのは試してみないとわからんし
結局は個人の常識とかノウハウに埋もれてたりする
みんながみんなの開発日記やソースを読める訳でもないから勿体無い
696名前は開発中のものです。:2007/01/12(金) 23:55:12 ID:4K5O+ZTo
>>693
Flashで作る場合、試行錯誤で作り上げていくの難しいからまずはJavaででも問題はないと思う
それにほとんどのMMOhaアプリケーションセットアップ型だし、ランタイムのみってのはメリットはあるだろう
WebStartつかえば差分パッチとか入れることも出来るし、キャッシュさせることも出来る

UDPTCP直接バリバリつかうようなアプリだとFlashきつくね?
HTTPだけ使うようなのならいいと思うが、ターゲット考えれば暗号化とかのいたちごっこ打破も目的に入ってると思うし
697名前は開発中のものです。:2007/01/13(土) 00:04:09 ID:wpmqZDm6
てか、2ch閉鎖すんのか。。。
698名前は開発中のものです。:2007/01/13(土) 01:06:04 ID:En3FXRLQ
>>695
そういうのはいいだしっぺがやるもんだと思うぞ。
自分のノウハウをまとめたサイトをどこかで立ち上げて、その後、皆に協力を依頼するなりしてみたら?
いくらなんでも自分は何もせず、他人に頼りきりってのは虫が良すぎだろう。
こんなのが欲しい、あんなのが欲しいと言ってるだけではどうにもならないんじゃ無いかな。
まず自分が動こうぜ。
699名前は開発中のものです。:2007/01/13(土) 01:21:57 ID:dd/POorY
Java2Dの場合まずアクセラレーションがきくかきかないかの判断が最重要
いまだとJOGLでアクセラレーション前提のほうがよさげ
700名前は開発中のものです。:2007/01/13(土) 01:58:25 ID:2t7E5/JS
>>698
そういうのを言いだしっぺ厨って言うんだよ

顔が見えないからといって人をクレクレ厨呼ばわりするような君の為には
javadocもドキュメントもフレームワークも永遠に書かないと心に決めた

というか実際そういう需要ってあんの?
701名前は開発中のものです。:2007/01/13(土) 02:40:35 ID:En3FXRLQ
だってお前、何もしてないじゃん。
まとめサイトが欲しいって言ってるだけじゃん。
欲しいものがあるのに何故自分から行動を起こさない?
まず何か行動を起こそうぜ。

俺の為に書くんじゃないよ。
自分の為、みんなの為に書くんだよ。
自分が培ってきたノウハウを他人に見せるってのはそういう事。
ここの連中、お前の質問に答えてくれてたよな。
俺じゃ無く、そいつらの為に書く気は無いか?
それとも最初から自分のノウハウをまとめたサイトなんぞ作る気は無くて、何かと言い訳して逃げたいだけか?

サイトを作るか?それとも作らないのか?どっちだ?
702名前は開発中のものです。:2007/01/13(土) 02:42:11 ID:Xgompw9t
むしろ閉鎖しようかと…
703名前は開発中のものです。:2007/01/13(土) 02:46:35 ID:En3FXRLQ
>>702
実際にサイトを運営してるのか?
よければ詳しく事情を聞きたいんだが。
704名前は開発中のものです。:2007/01/13(土) 02:49:01 ID:2t7E5/JS
>>701
なんか自己啓発セミナーみたいだぞ
もうちょっとトーンダウンしろよ
705名前は開発中のものです。:2007/01/13(土) 02:51:13 ID:En3FXRLQ
>>704
で?
結局、サイトを作るのか?それとも作らないのか?どっちなんだ?
706名前は開発中のものです。:2007/01/13(土) 02:59:43 ID:2t7E5/JS
寄稿するくらいならできるけどサイト運営まで手を回すつもりはないな
自分は自分でやってる事沢山あるし
でも例えば gamedev.org の Java コーナーにみんな書く気があったら
自分も何かしら書きたいけどね
ただ重要なのはそういう雰囲気であって、やる気だけで上手くいく問題とは思わないよ
707名前は開発中のものです。:2007/01/13(土) 03:22:10 ID:2t7E5/JS
あーJavaでゲーム作りますがってあんま見てなかったけど
そういうサイトになってたのね。てっきり個人サイトかと思ってた
じゃあ何か書けるよう準備しとくよ
708名前は開発中のものです。:2007/01/13(土) 04:25:06 ID:En3FXRLQ
書くのか。そうか頑張れ。

>重要なのはそういう雰囲気であって、やる気だけで上手くいく問題とは思わないよ
これは同意。やる気だけでは上手くいかない。
でもその雰囲気ってのは待ってたら自然発生するのか?
するかもしれんが、それまでずっと待つのか?
そういう雰囲気になるよう自分で行動したほうが早いと俺は思うね。
709名前は開発中のものです。:2007/01/13(土) 08:27:49 ID:ChZPL/q1
このスレは伸びる!!
710名前は開発中のものです。:2007/01/13(土) 12:59:31 ID:ISA4z7mo
>>707
あそこは個人サイトっぽい
Wikiだけどページ凍結されてるから他の人は更新できないし
711名前は開発中のものです。:2007/01/13(土) 17:39:42 ID:2t7E5/JS
>>708
日本で恐しくマイナーな言語のwiki立ちあげた事あったけど
利用者が一人もいなかったのでやめた事あんだよ
どんなプロジェクトでも需要の母数がなければ本人のやる気とともに消滅する
やる意味が薄いと思ったらやらないで他の事をやるだけ

>>710
よく読んだらそうだったすまん
でやっぱgamedev.orgかなと思ったらgamdev.orgなのか
712名前は開発中のものです。:2007/01/13(土) 20:16:38 ID:VT89Y6hX
gamdev.orzに見えた漏れはどうすればよいでしょうか?
713名前は開発中のものです。:2007/01/13(土) 21:09:30 ID:Q4fcHXOQ
>>712
人並みに凹んだら良いと思うよ
714名前は開発中のものです。:2007/01/13(土) 23:51:18 ID:VjT/WPc+
Javaで作ったゲームってどうやって公開すればいいんですか?
クラスファイルを配布しても直接実行できないですよね?
715名前は開発中のものです。:2007/01/14(日) 00:35:21 ID:pYfYvHXx
ランタイムが入っていればダブルクリックで実行できるようにしておくといいんじゃないの?
細かい設定がほしいならバッチファイルとかexe作るとかもあるけど
716名前は開発中のものです。:2007/01/14(日) 01:36:37 ID:W7oRzD5W
>>714
アプレット or WebStart or Jarにする。
717名前は開発中のものです。:2007/01/14(日) 04:14:21 ID:sLzS5csA
718名前は開発中のものです。:2007/01/14(日) 13:53:59 ID:cRcMzltB
>>715- 717
Jarなんていいものがあったのか
ありがとうございます
719名前は開発中のものです。:2007/01/14(日) 14:57:42 ID:xwM7+CqC
なるほど
そういうことね

メインクラス指定してするだけでおけ
ライブラリを使うのであればその指定もしておくといい

NetBeansだと自動的にライブラリへのパス設定とかその辺全部やってくれるよ
720名前は開発中のものです。:2007/01/14(日) 15:33:08 ID:GWjU6DST
NetBeansいいよねEclipseよりスッキリしてるし
移行できない理由があってすごく悔しい



で、とりあえず今小さな描画テストのフレームワークを作ってるんだけど
スコア算出って基本的には

スコアA = fps値
スコアB = fpsの実測値 / 設定された目標のfps
スコアC = 指定秒内に描画した回数

くらいでいいのかな
721名前は開発中のものです。:2007/01/14(日) 15:53:41 ID:xwM7+CqC
設定値と実測値だけでいいとおもわれ
722名前は開発中のものです。:2007/01/15(月) 14:26:02 ID:oOqpuHvf
Java WebStartを使うにはサーバーやサーバー側でダウンロード受付対応するプログラム
を用意しないといけないんでしょうか?
723名前は開発中のものです。:2007/01/15(月) 16:58:49 ID:/py25nqC
差分ダウンロード使わないのならアプリのjarとjnlpファイルを配置して
mime指定するだけでおけ
724名前は開発中のものです。:2007/01/15(月) 18:10:46 ID:JsWTQE8V
725名前は開発中のものです。:2007/01/16(火) 20:40:33 ID:+dkH4MDj
例の描画テストの件ですが、とりあえず最低限できたのでアップします

http://gamdev.org/up/img/8643.zip

何か意見とかくれるとうれしいです
特にフレーム周りの初期化について
この辺で失敗してるとテスト環境と呼べなくなるので

>>721
レスサンクス。スコアはオプションにしました
726名前は開発中のものです。:2007/01/16(火) 21:01:12 ID:dN71f/93
OpenGL使ったほうがおおむね早いけど、描画が崩れるよね
これはバグとしてあがってたと思う
5.0のときはまったく使い物にならなかったけど、アクセラレーションは一応聞いているようだ
ただ、これとJOGL組み合わせるとフリーズしたりするのが癌だな

ところでエッチな画像がはいってるといわないと周りの目がある家庭だと大変なことになるぞ

フルスクリーン切り替えが多いのであんまり切り替えないようにしたほうがいいかな
あとウインドウモード時にウインドウサイズを変更できないほうがいいか
727名前は開発中のものです。:2007/01/16(火) 22:32:01 ID:B9km73hg
OpenGLやD3Dのアクセラレーションは効果は大きいね。
だけどOpenGLは環境によって色化けしたし、
D3Dはsun.java2d.ddscaletoとsun.java2d.translaccelと同時に使わないと
逆に速度が落ちる上のに、
WebStartではd3dしか使えないという訳のわからない仕様なのよねぇ。
728名前は開発中のものです。:2007/01/16(火) 22:32:51 ID:I2Iys4yO
>>725
こういうエラーがでるけど何これ?
こちらの環境はver.1.5です、1.6でないとだめ?

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n
umber in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
729名前は開発中のものです。:2007/01/16(火) 22:35:50 ID:+dkH4MDj
>>727
OpenGLで描画が乱れるというのは気付きませんでした。ビデオカードによるのかな…
jogl との組合せは考えてなかったですがちょっと試してみます
でも jogl はデモしか触った事ないんで時間がかかりそうかも
あのエッチ画像はフリー画像で真っ先に思いついただけなんで変えときます。やっぱダメかな
フルスクリーン/ウィンドウモードは了解です


>>728
多分JRE 1.6 じゃないからだと思います…
注意書き忘れてました


レポありがとうございました
730名前は開発中のものです。:2007/01/16(火) 22:45:50 ID:+dkH4MDj
>>727
その辺は本当に悩みどころです…
VM 起動オプションによる描画法の設定もテスト側には面倒なんで
まとめて試す方法を考えときます
731名前は開発中のものです。:2007/01/18(木) 20:03:05 ID:cuqRge9/
>>669
いっぱい文章が書いてあるにも関わらず、何をしたいのかさっぱり分からない(´・ω・`)
732名前は開発中のものです。:2007/01/19(金) 19:41:29 ID:zUXwDm/l
>>725
1.5だとコンパイルすら通らん〜
733名前は開発中のものです。:2007/01/19(金) 19:54:37 ID:vmLWqdf7
Javaでトゥーンレンダリングのサンプルってあるか?
734名前は開発中のものです。:2007/01/19(金) 20:01:43 ID:jvhMK1qT
つーかOpenGlスレいったほうがいいぞ
735名前は開発中のものです。:2007/01/19(金) 23:14:22 ID:MHBKmwAD
736名前は開発中のものです。:2007/01/20(土) 05:56:04 ID:miZanmCM
質の高いサイトだな
737名前は開発中のものです。:2007/01/20(土) 11:08:59 ID:1LaVUZaW
良スレ認定
738名前は開発中のものです。:2007/01/24(水) 18:19:41 ID:abB7yEBV
設計の段階で悩んでいます。
具体的には、プレイヤークラス と 職業、職業毎のスキルの関係について悩んでいます。
戦士→剣士→騎士 のように転職可能なシステムを作りたいのですが、
騎士になっても戦士のスキルを使う事が可能というシステムにする場合、
スキルもオブジェクトとして持たせるべきなのでしょうか?

プレイヤーオブジェクトに 職業オブジェクトを持たせる
その職業オブジェクトが持っているスキルリストの中から習得したものを
名前を引数としてFactoryパターンのクラスに渡しスキルオブジェクトを作成
という形を取ろうと思うのですが、この形は非効率的だったり美しくなかったりしますか?
動くには動くのですが、確信が持てません
詳しい方が居ましたらご教授お願いします 説明分かりづらいですかね?
739名前は開発中のものです。:2007/01/24(水) 18:51:58 ID:ds9ziEzR
スキルは人につく

でいいんじゃね?
740名前は開発中のものです。:2007/01/24(水) 18:57:34 ID:abB7yEBV
スキルオブジェクトに スキルの名前、例えば"飛び蹴り"を渡したら
戻り値でその技の設定値を受け取るという形でしょうか?

プレイヤー→Skills.getSkills("飛び蹴り")
プレイヤー←"飛び蹴り"の設定値
741738:2007/01/24(水) 18:58:43 ID:abB7yEBV
すいません、名前入れ忘れてました
738=740=741=私です
>>740
>>739さん に宛てたものです
742名前は開発中のものです。:2007/01/24(水) 19:34:45 ID:Z8dMdSBn
EnumMapとか使うのがいいんじゃね?
743名前は開発中のものです。:2007/01/24(水) 20:21:05 ID:OcoQZH/9
それって実装の問題じゃなくね?
ドラクエ転職とかジョブチェンジなら人につければいい(直接オブジェクトにしないで習得フラグだけとかね)けど、例の様な継承系なら職につけてもいいよな
戦士:A,B
騎士:A,B,C,D
て上級は下級の全スキル含むようにすればいいし
ちゅうわけでシステムしだいでしょ
744名前は開発中のものです。:2007/01/25(木) 18:55:38 ID:pxDlcTzW
スキルを持ってるか持ってないかだけに意味があるなら、スキルはenumの方がコードが簡潔でいい。

enum Skill { SWORD, GUARD, ....... }
class Player {
EnumSet<Skill> skills;
}

スキル毎にレベルがあるとかいうなら、
class Player {
EnumMap<Skill, int> skills;
}
でレベルを表現。

スキル毎に経験値やらレベルやら使用回数やら細かいデータがつくなら、スキル毎にオブジェクトを作った方がいいと思う。
その場合でも、factoryを使う必要性はないような気がする。職業オブジェクトが直接 new していいんじゃない?
745名前は開発中のものです。:2007/01/25(木) 23:13:37 ID:vy4zHB8R
実装の仕方なんて好きにしろとしか

それを考えるのが正しいのだし、解法は何通りもあるわけで
マニュアルがないとゲーム開発が出来ないわけじゃないだろ?

そもそもJavaと何の関係もない
746名前は開発中のものです。:2007/01/26(金) 01:34:06 ID:N/LVhBmn
俺が今作ってる奴は魔法名とかもシナリオファイルにデータとして持っている。
シナリオファイルから読み込んだ際に管理クラスがオブジェクトを作成して
必要な時はそれを使うようにしてる。
747名前は開発中のものです。:2007/01/26(金) 10:47:13 ID:pkjLw+pg
Javaに依存しない話はここの方がいいよ。

ゲームにおけるデータ構造・クラス設計・パターン
http://pc10.2ch.net/test/read.cgi/gamedev/1155209226/
748名前は開発中のものです。:2007/01/27(土) 23:16:36 ID:G5nenmLn
サンプルがJavaで語られるんだからここでやる意味はあるだろ
無意味な誘導に見える
749名前は開発中のものです。:2007/01/27(土) 23:53:20 ID:hFlZJXQy
Javaに依存していればココでいいさ
だが、そうではないだろ
750名前は開発中のものです。:2007/01/28(日) 00:07:53 ID:2uWkx2df
ただの自治厨だな、実際にコードが出てるだろ
751738:2007/01/28(日) 03:47:32 ID:rcpB4oX3
レスをくれた方、有難う御座います。
EnumMapで実現する事が可能でした。
しかし、dojaなので使う事は出来ませんでした。
ただ、EnumMapを知らなかったので、列挙型についてあれこれと調べる内に知識が付きました。
大変感謝しています。
結局、上手いやり方が見つかるまで、
各職業毎にインナークラスでスキルを持ち、
習得時にインナークラスを作成してPlayerクラスのVectorに突っ込んでやる事にしました。

747さんのスレは、非常に参考になりそうなのですが、
レベルが高過ぎてちょっと参加出来なさそうです。
いえ、何もこのスレが自分みたいにレベル低いかというとそういうわけじゃないのですが
いつか参考に出来るレベルになった時に閲覧したいと思います。

今後は設計に関しての話題は自粛したいと思います。
なんだかすいませんでした。
752738:2007/01/28(日) 03:54:34 ID:rcpB4oX3
public Skills getSkill(String jobName,int No){
 return (Skills)Class.forName("skills."+jobName+"$skill"+No).newInstance();
}
try~catch文は省略していますが
この様にして内部クラスをオブジェクトとして得ました。
例としてSoldierクラスの内部クラスです。
public static class skill1 extends Soldier{
 public skill1(){
  skillName="剣士1";
 }
}
JVMがstaticに関してどのタイミングでメソッドをロード?するのかは
分かりませんが 上述の通り、「上手いやり方」が見つかるまでこれで行こうと思います

初心者なのに、dojaはきついなぁ…
String.splitもStringTokenizerも無いので自分で作ってます…
753名前は開発中のものです。:2007/01/28(日) 12:06:30 ID:caDqapim
dojaって最初にいってくれ
そういうスレがあるはずだから

また、容量が少なかったり速度が出なかったりするような環境の場合、
本来あるべきアルゴリズムを端折ることが多いから勉強にはむかんね
754名前は開発中のものです。:2007/01/28(日) 20:06:02 ID:ItnxVFSk
>>752
Skill を扱いたいのか Skills を扱いたいのかよくわからんが
int でナンバー振ってサブクラスがガチガチに定義するんなら
Skill の配列かリストで済むんじゃないのか

public abstract class AbstractJob implements Job {
 protected Skill[] skills;
 // ジョブのスキルを返す
 public Skill getSkill(int no) {
  return skills[no];
 }
}

というかリフレクションの使いどころを完全に間違えてる
あれはいざという時に使う伝家の宝刀みたいなものだ
755名前は開発中のものです。:2007/01/28(日) 23:07:22 ID:caDqapim
こまめにさしかえるような汎用的なフレームワークつくりたいのならインスタンスの生成の仕方それでもいいけど
dojaとかいってることからしてそういう目的ではないだろうしな

RPG用フレームワーク作るんです!とかいうのならなおさら

基本的にメソッド先で生成したオブジェクトを返すって使い方はしないよ
自前で登録してコンテナへ登録、もしくはコンテナが自動的に生成のどちらかかと
そしてコンテナからインスタンスを取得する。場合にっては使いまわしたり
756738:2007/01/29(月) 00:36:23 ID:X8Jeor0A
>>754-755
お二方とも有難うございます
稚拙なコードを晒すのは恥ずかしいですが、本当に勉強になります。
生成時にコンテナに追加という形でやってみたいと思います。
754さんの意見も大変参考になります。感謝しています。
757名前は開発中のものです。:2007/02/17(土) 08:06:32 ID:L15CXcqa
■いきなりびっくり Java 攻撃
古い記事だけど起動が遅いのは今も変わらないよな
ttp://www2.plala.or.jp/Cool/okite/red02.html

■Flashで動作する3Dエンジン「Papervision3D」
ActionScriptに浮気したくなる今日この頃
ttp://gigazine.net/index.php?/news/comments/20070212_papervision3d/
758名前は開発中のものです。:2007/02/17(土) 15:10:04 ID:5v908nqH
>>757
アプレットがすさまじかったのは原因はネスケで使ってたシマンテックJITの出来の悪さだろ
あれ起動中にネイティブに全部変換してる

おかげで1.3から標準でHOTSPOTVM搭載されるようになってVMのサイズが何倍にも膨れ上がったわりに
起動時間は何分の一にもなった

その後VMの起動速度はゆるやかに改善されていくことになるがJavaSE6は起動が急にはやくなったのは確か

適当なWEBに置くコンテンツとしてはFlashなりなんなりでいいだろう

ただ、規模がある程度大きくなり本格的なアプリとなれば別
759名前は開発中のものです。:2007/02/24(土) 22:19:26 ID:/rYZcxU7
Arkanae
http://edony.tuxfamily.net/~grad/arkanae.tuxfamily.org/en/index.html
ソースコードもあり
こんなのがあったとは知らなかった
760名前は開発中のものです。:2007/02/25(日) 00:29:28 ID:PImIuZ8L
>>757
プログラミングを行う観点で見れば、
「開発環境死亡・ライブラリ設計死亡・Flash9でもJITの性能しょぼい」
と選択肢にも挙がらないぞ。

アニメーション作成ツールとして見れば素晴らしいが、
残念ながらアプリ開発には使い物にならない。
761名前は開発中のものです。:2007/02/25(日) 12:31:39 ID:6L67UnbH
age
762名前は開発中のものです。:2007/02/25(日) 19:01:35 ID:LGf8AXIi
>>760
「使い物にならない」のがFLASHなのか、おまいのプログラム開発力なのか、世の中の「FLASHアプリケーション」でも見ながらもう一度考えてみるんだなw
763名前は開発中のものです。:2007/02/25(日) 21:47:35 ID:o7vkhh81
>>762
出来ることできないことがあってFlashはまだまだ制限は多い
アプリの種類によってはFlashでもいいこともあるが、開発コストとかそういうのもみてからな
764名前は開発中のものです。:2007/02/26(月) 03:01:50 ID:3IqZBjOx
この本はコードサンプルがJava
Physics For Games Programmers
http://www.amazon.co.jp/exec/obidos/ASIN/159059472X/
765名前は開発中のものです。:2007/02/26(月) 21:37:19 ID:g0XTbe0A
good job!
766名前は開発中のものです。:2007/02/26(月) 22:47:55 ID:YymhnNUL
767名前は開発中のものです。:2007/02/27(火) 17:21:30 ID:ZjZJQFQd
http://woomy.dip.jp/hiyoriyama/index.html
初心者なのですが、こういう感じのはFlashで作った方が簡単なのですか?
768名前は開発中のものです。:2007/02/27(火) 17:56:16 ID:B4ufeums
楽なのはJavaのほうかと
769名前は開発中のものです。:2007/02/27(火) 18:54:43 ID:ZjZJQFQd
そうなんですか! ありがとうございます ┌●ペコ
本屋行ってJavaの参考書を見てきます。
770名前は開発中のものです。:2007/02/27(火) 19:00:07 ID:B4ufeums
Javaのゲームの本たくさんあるけど、比較的まともなのは14歳からとかいうやつだけだったような
比較的新しい書籍でもなぜか10年前のJavaの環境用につくっていたりするし

>>11のところにあるライブラリやゲーム、過去の日記がわりと参考になる
771名前は開発中のものです。:2007/02/27(火) 19:02:10 ID:OwhxanSJ
java は覚えなきゃいけないことが多い。
もちろん java で覚えた事は他の言語でも役に立つけど。

つまり初心者が目的の作品を完成させるまで、
という意味では flash の方が簡単。

プログラミングそのものに興味があるなら java
それらしいものを作りたいだけなら flash でいいとおもう
772名前は開発中のものです。:2007/02/27(火) 19:10:29 ID:IkeFh1JT
RADで言語が隠ぺいされてるflashと言語そのものjavaを比べて覚えること沢山てw

保守性考えたらjavaだよな。
javaゲームはハードウェアアクセラレータ効かんとバリバリの3Dとか無理だが。
773名前は開発中のものです。:2007/02/27(火) 19:12:53 ID:B4ufeums
プログラミング自体がはじめてで本当の取っ掛かりがほしいなら昔のBASIC感覚で使えるHSPあたりだろうな
だが、flashは開発環境がお粗末なのでお世辞にも初心者が作りやすいとはいえないのが癌

JavaSE6ならJavaスクリプト+Javaのライブラリという使い方も出来るがIDEのお世話になることも出来ないので
ある程度の規模になるときつい
774名前は開発中のものです。:2007/02/27(火) 19:50:28 ID:3CmlaFoI
Flashは仕様外の動作をすることがあるから
それを避けるためのオマジナイが多いとか聞いたけどこれは本当?

あとは>>771に同意。
775名前は開発中のものです。:2007/02/27(火) 20:47:13 ID:IkeFh1JT
そう言う場合は他人が作ったフレームワークのバグリスク担いでフィードバックしてやるのが
バザールモデルの基本・・・

とか言ってみる。
結局間接的にOSSなライセンスされてんだし。
776名前は開発中のものです。:2007/02/27(火) 21:20:09 ID:1qONjX2a
>>767
ずいぶん長い間いじってる割に画面が小さくて見づらい、flashの方が簡単に作れるんじゃないの?音もかなり悪いし
777名前は開発中のものです。:2007/03/01(木) 11:25:25 ID:Q/MrFJlJ
上のページ見てたらjavaだけでBGMとか効果音出るんですね
けっこうゲームらしくみえる
778名前は開発中のものです。:2007/03/01(木) 12:14:46 ID:ycm+eBTU
音は普通にネイティブと変わらんよ
むしろFlashのほうが制限が大きすぎる
779名前は開発中のものです。:2007/03/01(木) 21:03:18 ID:8CEVVUMC
midiとかwavファイルはJava1.4以降だったかも・・・
アプレットからの利用では制限があったような気がする。

ひょっとしてJava1.1辺りでも波形を生成して発音可能?
780名前は開発中のものです。:2007/03/01(木) 21:26:44 ID:J8EC7Q4J
>>762
AS2で3000行以上のコーディングが必要なもの書いてみろ。
開発環境は酷い、ランタイムエラーを吐かないで正直死ねるぞ。
781名前は開発中のものです。:2007/03/01(木) 21:28:47 ID:BnQANlH3
いまActionScript語るならFlashよかFlexの方がこのスレ的だろな

それでもアポロ登場まではアプレット比較前提だが
782名前は開発中のものです。:2007/03/01(木) 22:56:33 ID:J3C3KVJN
>>779
JavaSoundは1.3以上

>>781
ゲーム用途ならWebStartのほうがいいんじゃね?
783名前は開発中のものです。:2007/03/02(金) 04:04:27 ID:Isc+NXUT
外国じゃけっこうwebstart見るけど日本じゃ見ないな。

開発者がwebstartに対して無知だから使いこなせてないんじゃね?

鯖丸ごと立てるかホスティングしちゃう他国と違ってレンタルスペース主体の日本じゃwebstart置けないしね。

クリック一つで必要なもん全部落としてキャッシュして後は差分だけネット越し・・・他はスタンドアローンと同じってのは使う側から見れば楽で良い。

同じ事はMEのAMSで出来るけどあっちは実装依存ヒドスw
784名前は開発中のものです。:2007/03/02(金) 12:01:55 ID:AlxNYkg4
差分ダウンロードがつかえるかどうかはたしかに鯖次第だが、配置だけならApacheとかなら大丈夫だぞ
785名前は開発中のものです。:2007/03/02(金) 22:28:33 ID:e7ng/jU4
レンタル鯖でもいけるってこと?
786名前は開発中のものです。:2007/03/03(土) 00:52:32 ID:LWiJuDbd
JNLPファイルのMIMEタイプの設定が出来る or 既にされている所だったら
787名前は開発中のものです。:2007/03/03(土) 07:49:54 ID:94HMLa1l
でもレンタルにwebstart置いたら鯖に負荷掛けそうで気が引ける・・・
788名前は開発中のものです。:2007/03/03(土) 09:09:45 ID:Lb6a9eHr
そんなに人気出るのかお前のゲームは
789名前は開発中のものです。:2007/03/03(土) 09:10:53 ID:vVu9iFKK
webstartはアプレットより負担かからんだろ
790名前は開発中のものです。:2007/03/03(土) 12:49:41 ID:e8MDKGEx
同じだろ
791名前は開発中のものです。:2007/03/03(土) 14:05:57 ID:YkFSkvir
WebStartはバージョンチェックやオフラインモードがある時点でアプレットやFlashより負担は少ない
792名前は開発中のものです。:2007/03/03(土) 14:54:27 ID:S2NfJpKC
アプレットが常に鯖と通信してる訳じゃないだろ?
793名前は開発中のものです。:2007/03/03(土) 16:27:50 ID:cZ+W9Vw8
なるほど、クライアント側でJ2REをインストールして、
更にJava Web Startもインストールしないと動かないんですね。
ttp://sdc.sun.co.jp/java/docs/products/javawebstart/ja/download-windows_ja.html

helloサンプルがダウンロードになるので、混乱してしまった。
今のところJava Web StartはWindows版だけ?
794名前は開発中のものです。:2007/03/03(土) 17:03:50 ID:nfMBIjTB
Macもあるお
795名前は開発中のものです。:2007/03/03(土) 17:31:56 ID:cZ+W9Vw8
おお!Macでも!

夢のJava Web Startのデモが動いた〜
ttp://java.sun.com/products/javawebstart/demos.html

もう少しアクションするゲームが見たかったなあ
なぜか日本語サイト行くと動かないです。
796名前は開発中のものです。:2007/03/03(土) 17:40:52 ID:6WDz0MUg
jreにjws付いてなかったけ。
jdkだけだった?
797名前は開発中のものです。:2007/03/03(土) 17:51:56 ID:lyCQr1W4
JREについてるよ。

ttp://www.java.com/ja/download/faq/java_webstart.xml
>Java Web Start ソフトウェアの入手
>Java Web Start ソフトウェアは、Java Runtime Environment (JRE) のコンポーネントで、JRE と一緒にインストールされます。
798名前は開発中のものです。:2007/03/03(土) 18:13:05 ID:xt9rX0Kw
>>792
ブラウザ閉じればまたダウンロードが入ってしまう
あとは署名関係が5.0から柔軟になったのでライブラリが使いやすくなったというのは大きい
799名前は開発中のものです。:2007/03/03(土) 21:37:25 ID:4m5N8dVe
AppleはSunに金払ってJavaの正式版を出してもらえよ
800名前は開発中のものです。:2007/03/03(土) 23:59:20 ID:sBNSOExJ
MacOSXのJVMは、SunのJVMを元にAppleが手を加えたバージョン
だったと思うのだけど...
801名前は開発中のものです。:2007/03/04(日) 00:33:57 ID:u4tLbN0a
>>798
ブラウザのディスクキャッシュがある

>>800
sunがハードウェアアクセラレータ利かす前にcocoaと統合してOpenGL使っちゃったから描画周りが違ってたり、5.0の途中までしか出てない。
802名前は開発中のものです。:2007/03/04(日) 01:51:19 ID:KQd1C5T2
アプレットだとオフラインモードやデスクトップ統合がないからダメすぎ
803名前は開発中のものです。:2007/03/05(月) 22:47:43 ID:b9ULYpEb
804名前は開発中のものです。:2007/03/06(火) 14:55:45 ID:VaqQcumj
コメント書き忘れたけど、下の本のPDFが読めるよ。
Pro Java 6 3D Game Development(発売予定)
Killer Game Programming in Java
805名前は開発中のものです。:2007/03/07(水) 04:01:52 ID:uOMRHvf+
win2k と me でデュアルブートしてるんだけど (つまり、完全に同一マシン)
同じ Java5 SDK、同じ DirectX8(笑) を入れたはずなのに
2k で普通にサクサク動く画面が me ではものすごく重くて意外。

ウィンドウモードでのゲームを作りたくて、
あらかじめ BufferedImage から int[] を取得しておいて
そいつに描画して JFrame に貼り付ける、という処理を
wait() と Timer、notify() を組み合わせる常套手段で回してるんだけど
このどこかで 9x系 = 本質的に 16bit てのが足かせになってるのかな。。。
タイマの精度か、synchronized のコストか。。。

今まで C++ で書いてた時は、ここまでの差は見た事なかったんで
ちょとショックですた。。。
806名前は開発中のものです。:2007/03/07(水) 11:55:36 ID:zPOySlRd
画面の色深度が違うとか

ソフトウェア描画は60fpsやるなら320*240くらいが限界だね
807名前は開発中のものです。:2007/03/08(木) 06:19:38 ID:K32nYRwN
DirectX8ならVGAカードとドライバは?
directX9以降のカード+ドライバだとdx8の対応がいい加減になって来てる。

まあ、javaが5.0ならハードウェアはあんま期待出来んが・・・
808名前は開発中のものです。:2007/03/09(金) 02:15:59 ID:De8bQ7Op
レスがついてるとはおもわなかた。サンクシコ。
色深度は両方とも32bit。
カードは6年前のDX8全盛期のもの。
だからおいらなかなかDX9に手出しにくいのですよ。

そんなわけで今プロファイラ勉強中。楽しくて萌え。いや萌えとかないけど。
809名前は開発中のものです。:2007/03/09(金) 02:36:59 ID:uJO/ivat
タイマー周りはNTカーネルと9xカーネルとでまったく違うから
組み方によっては差が出るだろうね

プロファイルとればどこが遅いのかすぐにわかるはず
勉強することもないのでは?
IDEが一発で円グラフや棒グラフでビジュアル化してくれるし
810名前は開発中のものです。:2007/03/09(金) 04:25:06 ID:dk7DCFkt
タイマーの差異でfps固定にミスってるとか描画性能が出てない上にディスプレイが32bitだからとかか・・・どっちかてとCPU性能かな?

こりゃベンチマークでマシン側の2Dと3D性能調べた方が良いね。javaの問題じゃなさそう。FF11がDX8世代だからちょうど良いと思うよ?

後はまあ、メモリの転送速度とか?java自身は十年前でも徹底的に叩きあげればそれなりに出たからね。
下手するとDX8末期に出た
イリュージョンのエロゲすら危ういかもしれんし・・javaで演算量を馬鹿みたいに増やしたベンチ組むと顔出すかも。

5.0だと初めから性能が大方バランス良く出てるから叩き甲斐の無いイケナイ子になってしまって残念。

6.0なんてそりゃあもう・・・再コンパイルなしであの速度はビビった。調教師いらねぇ。
けどサポートがxp sp2以降なんだよね。
vistのドライバが出そろってから乗り換えようと思ってる奴には正式サポートはなしですか?
811名前は開発中のものです。:2007/03/09(金) 10:54:20 ID:pyER6LIF
>>810
6.0っつーのはJava SE 6のことか?

どうでもいいことかもしれんが、Java SE 6のサポートはWindows2000以降
(厳密にはWindows2000以降とは書かれてないが面倒なので他バージョンは省略)。
XP SP2以降でなければならないとはどこにも書かれていない。
ていうかすでにSunは6.0といった名称は使っていない。Java SE 6。

こういうことは調べてから書いてくれよな。
そういう俺はWindows2000ユーザー。
サポートがXP SP2以降とか書いてあったので焦ったぜ。
812名前は開発中のものです。:2007/03/09(金) 12:18:07 ID:e7LFbbBG
xp sp1にjdk6入れたときテストしてないって出たよ。
動くがsp2移行にしろインストール続けるか?って聞かれた。

システム要件の所にはサービスパックの事までは書いてないはずだし。

書いてあるのは98,MEはサポート外ってだけ
813名前は開発中のものです。:2007/03/09(金) 21:59:28 ID:9+hAo8dr
>>770
> Javaのゲームの本たくさんあるけど、比較的まともなのは14歳からとかいうやつだけだったような

そう、15歳からはじめる Javaゲームプログラミングとかいう題名の本、結構良いよね。
とにかく、読みやすいし、アクションゲームの基礎をきっちり学べる。
画像、MIDI,、wav、地形スクロール、タイマー とか。


ただし、この本を買うのは恥ずかしい。
あと、はがきを送ると、オマケPDFがもらえるとあるのだが、まったく返事なかった。
サポート宛にメール送っても返事も返さない出版社である。
814名前は開発中のものです。:2007/03/09(金) 23:51:00 ID:QfQeHSSr
おいおいサポートめちゃくちゃだな
815名前は開発中のものです。:2007/03/10(土) 08:06:06 ID:5n5eAt21
ラトルズか、あそこはHSPシリーズとか(吉里吉里で)同人ゲーの作り方の本とか一見厨臭いけど
15歳からはじめるjava〜は当たりだった。

pdfはこれか
ttp://www.rutles.net/books/134.html

だれかこれ読んだ事ない?
ttp://www.amazon.co.jp/Javaゲームプログラミング-アルゴリズムとフレームワーク-長久-勝/dp/4797318422/ref=pd_sim_b_3/250-1688549-7177063
816名前は開発中のものです。:2007/03/10(土) 09:32:39 ID:4+e7EI8M
18歳から始める・・・が必要だな
817名前は開発中のものです。:2007/03/10(土) 11:21:26 ID:+DX9YtFE
ゲーム作りが初めてなら悪くないとおもうんだけど
古いJavaで動くように書かれてるんだよね。

新しいJavaを使いたかった俺としては少し物足りなかった。
818名前は開発中のものです。:2007/03/10(土) 12:10:01 ID:xgekqMww
>>816
エロゲでも作る?

>>817
1.4.2,5.0,6と全部別モンだから新しいっても書く方はバージョン毎に出せるよね。
何処ぞのeclipse本の様に
819名前は開発中のものです。:2007/03/10(土) 12:30:12 ID:/HVMBhqB
>>817
どの本について?

>>818
最新版対応とかかかれていて1.1時代のコードの本大量にあるから困る
音を出すにはauファイルにコンバートしましょうとかみると泣けてくる
なんで10年前のままなんじゃぁと
820名前は開発中のものです。:2007/03/16(金) 02:12:26 ID:xob5GmNS
>>819
やさしいJava第二版なんて5.0対応とか言って触れてる言語仕様は前版(1.4.2)のままで5.0仕様には一切触れずにコードもなく加筆しただけだった気ガス・・・
ただ単にこの本のサンプルコードがそのまま5.0のコンパイラ通るだけ。

当たり前だのくryと言いたい所だが小一時間・・・
821名前は開発中のものです。:2007/03/21(水) 20:05:26 ID:PxlWoCAm
ちょっと質問があります。

[Javaでゲーム作りますが何か?]ttp://javagame.main.jp/
を見ながらコーディングしています。
[ボールを動かす]http://javagame.main.jp/index.php?%A5%DC%A1%BC%A5%EB%A4%F2%C6%B0%A4%AB%A4%B9
で挙動が理解できないことがあります。
サンプルどおりうつと、おもったどおりなんですが、クラス構成を変更すると、移動元のボールが削除されず、棒状態で描画されてしまいます。
ソースをミテモ理由が分からなかったのでコメントをもらえないでしょうか?

・変更後クラス構成
Sample.class
MoveBall.class
MainPanel.class

・実装
Sample -> main()があり、main()内ではMoveBallインスタンス、MoveBall.work()呼び出し の2つ
MoveBall -> サンプルとほぼ同じ、main()内のインスタンス化を削除、main()内の処理をwork()に変更
MainPanel -> サンプルと同じ

・環境
JDK1.5.0_11
Window Vista
822名前は開発中のものです。:2007/03/21(水) 20:14:18 ID:p5zCnQO1
ほぼおなじとかじゃわからん
ソースあっぷしてもらわんと
823821:2007/03/21(水) 21:52:26 ID:PxlWoCAm
ふじこ
自己解決しますた。
>>822スマソ、おっしゃるとおりでした。クラス構造はまったく関係ない箇所でした。

何がおこったのか簡単に書いておきます。

MainPanel(JPanelのサブクラス)内に、コンポーネントを描画するメソッドとしてpaintComponent()があるのですが、その中で
paintComponent(Grahics g) {
 super.paintComponent(g);
 //以下青いボールの描写が続く
}
と書く箇所で、以下のミスをしていました。
super.paintComponents(g);

本来JComponent.paintComponent()を呼び出すのを、Container.paintComponents()を呼び出してしまったのが原因でした。

#JComponent.paintComponent()とContainer.paintComponents()の違いは良く分からず
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/JPanel.html
824名前は開発中のものです。:2007/03/21(水) 22:02:54 ID:p5zCnQO1
つーか、親のpaintComponent呼び出す必要はないと思うぞ
普通にfillしたらええ
825821:2007/03/21(水) 23:10:05 ID:PxlWoCAm
>>824わざわざ補足までありがとう。
しかし現状ではなぜ必要/不必要なのか、分かりません。
Java Tutorialに引き篭もってきます。λ............
ttp://java.sun.com/docs/books/tutorial/ui/index.html
826名前は開発中のものです。:2007/03/22(木) 00:48:34 ID://UyzQId
Swingのソースコード読んで実装が何やってるか見た方が理解が早いと思うよ
827名前は開発中のものです。:2007/03/29(木) 03:53:53 ID:V9bhDi93
Java で高速(fps で管理される)ゲームを作ってますが、フルスクリーンを使うと速度が激遅になってしまいました。
自分で調べてもこれ以上わからなかったので、お力を貸して頂けないでしょうか?

単純に、Sun のチュートリアルのとおりに排他的にフルスクリーン化しました。
↓のようにゲームループを作って、アクティブレンダリングを行い、
もちろん bufferStrategy を使ってページフリッピングを行っています。

↓のを1秒間に実行できる回数が、ウィンドウモードに比べて
フルスクリーンだと激減します。(→800x600x32xUNKNOWN)

do {
update();
Graphics2D g = (Graphics2D)bs.getDrawGraphics();
rendering(g);
g.dispose();
if(!bs.contentsLost()) bs.show();
}

これが、αを使ったりすると、ウィンドウモードでは 40fps 出るのに対してフルスクリーンでは 3fps。
明らかにお前のやり方間違ってるということですよね。
rendering(g) をコメントアウトしたときでも、ウィンドウモードは 1000fps、
フルスクリーンで 60fps でした。この60という数字を見るとふと505さんの発言に関係している気がしたんですが、
調べてもわかりませんでした。ここを見れば?でも結構ですんで、よろしくお願いします。
828名前は開発中のものです。:2007/03/29(木) 09:34:49 ID:DOhi2zRK
そういえばフルスクリーンの時にDirectXかOpenGL使う指定したら描画速度上がるんだろうか?
829名前は開発中のものです。:2007/03/29(木) 16:17:47 ID:TdF2VMR1
まず前提条件としてウインドウモード時の色深度

あとJava2Dのアルファブレンドはソフトウェア描画なのでネイティブなVRAMにバッファが置かれると大幅に遅くなる

そもそもフルスクリーン時で、というか高FPS時にイベントベースでの描画はつかうものではないぞと
830名前は開発中のものです。:2007/03/29(木) 17:47:03 ID:QM1oZ8YS
javaのDirectX/OpenGLの使用はどちらかというとDesktop Javaの一環でフォントや図形の描画品質を上げる為に
それを使ってて描画速度を上げる為のものじゃないってイメージだったけど
それで合ってるって事かな?
831827:2007/03/29(木) 18:09:59 ID:V9bhDi93
ウィンドウモードは解像度 1024x768x32 の画面上に
800x600 のウィンドウを作ってます。フルスクリーンでは 800x600x32 にしました。
ウィンドウの初期化時にフラグでフルスクリーンとウィンドウモードを場合分けしてます。
要するに描画ルーチンはウィンドウモードでもフルスクリーンでも
同じゲームループ(上に描いたやつ)を使ってます。
αを使ったら激遅になるのはわかってますが、αを使ったときに
フルスクリーンでここまで遅いというのが納得いかなかっただけです。
このやり方ってイベントベースっていうんですかね…。
フルスクリーンにすると処理範囲も狭くなるし、排他的に画面全体を使うとなると
う〜む、どう考えてもフルスクリーンの方が速いはずではないんですかね…。

一応、大枠はここのやり方を真似てるつもりです。
ttp://fivedots.coe.psu.ac.th/~ad/jg/ch03/index.html
832名前は開発中のものです。:2007/03/29(木) 20:38:15 ID:TdF2VMR1
>>830
あってない
833名前は開発中のものです。:2007/03/29(木) 20:42:13 ID:TdF2VMR1
>>831
フルスクリーン時描画してるのはVRAM
ウインドウ時描画しているのはメモリ内ビットマップ
あわせるのならまずメモリ内のバッファで描画をしてそれをVRAMへ転送とする

描画の仕方が大幅に違うのだから速度も大幅に違うのは当たり前

イベントベースってのはみまちがいだったようだ
updateというメソッドがあったのでな
834名前は開発中のものです。:2007/03/30(金) 10:14:03 ID:CxiJR9tX
単純な質問ですいません。

RPGを作っていて、
マップと自キャラを表示するところまでは
作ったのですが、NPCを表示させる
いい方法が思いつきません。

背景画像のように、固定ならいいのですが、
動き回るNPCをうまく表示できません。

効率のいい表示方法があれば教えてください。

いまは、

1.背景描画
2.自キャラ描画
3.表示範囲内にいるNPCを探し、描画

今は、この3の処理が無駄な動きになっている
気がします。
835名前は開発中のものです。:2007/03/30(金) 14:54:44 ID:QwdAmNT9
3. の処理を行ったとしても動きとは無関係だと思うけど。
とりあえず MVC でやってみると単純になるよ。

1. モデルを次の時間に進める (キャラ座標の計算など)

2. ビューがモデルの内容をまとめて描画 (キャラの座標は 1. で計算済み)

あと表示範囲内の判定はJVMも勝手にやってくれるので、必要になったら実装でいい。
836名前は開発中のものです。:2007/03/31(土) 14:47:41 ID:aOuaJNjw
そういうのって描画範囲に入ってないキャラも描画しちゃっていいんじゃない?
画面に表示されないから無駄かもしれないけど、マップのキャラクターが多くなってもそんなに重くはないんじゃ・・・
837名前は開発中のものです。:2007/03/31(土) 15:21:06 ID:bPcXSKJZ
実装依存だな

クリップ外に描画すること自体は重くはないのだが、
その前にテクスチャ座標とか計算して渡す処理だけははいるから
重くはならないというのは間違い

画面外かどうかの判定なんてスプライト描画処理で一括して扱うだろうからいれとけ
最初はまったく処理をしないラッパでいいから
838名前は開発中のものです。:2007/04/02(月) 00:03:15 ID:0q+4yudy
AGE
839名前は開発中のものです。:2007/04/02(月) 11:01:35 ID:M2CzSpdn
ありがとうございました。

画面外のキャラも、さほどの数にはならないので、
描画する方向で作成してみます。

840831:2007/04/03(火) 01:04:07 ID:Wawfbgtr
遅れながらレスくれた方ありがとうございます。
う〜む、色々試してますがウィンドウで BufferStrategy 使った場合も
VRAM直…ではないんですかね…

505さんの
>フルスクリーン時は垂直同期取るのに対してウインドウモードは取らない
って何か関係してませんかね?そもそも垂直同期って言葉自体なじみがなかったんですが、
垂直同期を取ってるのでいくら処理が速くても bs.show でリフレッシュレート以上に
ならないようになってる、と考えるのは間違いですか?
それだとしてもα使って 3fps って明らかな処理落ちか…う〜む…
841名前は開発中のものです。:2007/04/03(火) 02:08:11 ID:tJ3eBjgj
BufferStrategyでの同一API使ったアクセスが可能というだけで
VRAM直になるかはVM実装(つまり環境)依存

でも問題はなかろう?
Windowモードと同じようにいったんメモリ内で作ればいい
どういうゲーム作ろうとしているのかにもよるけど

あとは逆に積極的にハードウェアアクセラレーションを使うという方法もある
>>11のところでOpenGL対応してJava2D以上の表現が可能になったようだ
Java2Dはゲームで多用する加算合成がないしね
842名前は開発中のものです。:2007/04/03(火) 11:37:06 ID:QAPO4Fq8
>>11
これスゲーな
843名前は開発中のものです。:2007/04/03(火) 16:29:50 ID:Js4qFq6o
手軽そうだね
前見たときあまり内容無かった気がしたが地味に進めてるのね
今後に期待しとこ
844名前は開発中のものです。:2007/04/04(水) 12:34:42 ID:xNft8wzX
>>840
確かに遅すぎるようにも思うが、それだけの情報じゃ何とも言えない。
α使わないようにしてみたり、rendering(g)の中身を1行ずつコメントアウトしてみたりして原因をもっと追求してみたら?
フルスクリーン時にのみ毎回妙な処理してたりしないかい(毎回DisplayMode変更してたり…さすがにそれは無いか)
ともかく・どの部分で遅くなっているか・現象を再現できる最小限のコードはどんなか をもっと追求した方がいいと思うよ。
845名前は開発中のものです。:2007/04/05(木) 23:12:06 ID:IyGK/jzk
GTGEの日本語資料は"Javaでゲーム作りますが何か?"以外無いかのぉ。

使ってる奴居る?
846名前は開発中のものです。:2007/04/06(金) 00:02:37 ID:xOHyAwJg
Javaの場合あんまり泥臭いコード必要としてないので必要性が薄いだけでは?
847840:2007/04/06(金) 21:28:03 ID:/J9SjvCf
レス下さった方ありがとうございます。

rendering(g)の中身を1行ずつコメントアウトしてみたりってのは
やってるんですが、rendering の中身を空にすると今度は bs.show で
時間かかってたりして、どうにも思うように動いてくれないんですよね。
つまり、プログラムの動作速度をはかって原因を探るだけでは解決できず
そこで、ここで皆様の力を借りようという経緯です。
コードはどうあがいても結局 60fps になってるんですよね…。

BufferStrategy は実装依存、なんですね。
15歳から始めるJava〜ではウィンドウのみのサンプルがあって
そこで「BufferStrategy はビデオメモリに直接書き込むので高速」と
断言してあったような気がしてそこは疑ってませんでしたが。
実装依存としてウィンドウモードと同じ方法を用いる、という方法は
そういえばまだ試してませんでしたね。一度試してみます。
848名前は開発中のものです。:2007/04/07(土) 02:14:29 ID:2RXqF7NF
847
だからメインメモリでの描画はどうなんだと
849名前は開発中のものです。:2007/04/07(土) 07:28:23 ID:Y1V3BpGY
BufferStrategyがVRAM使うのってsunの実装だと、DirectXかOpenGL使うときだけじゃなかったけ?

850名前は開発中のものです。:2007/04/07(土) 08:23:33 ID:2RXqF7NF
何のオプションも指定していないデフォがDirectXなんだが
851名前は開発中のものです。:2007/04/07(土) 11:27:10 ID:GIyVfDKh
DirectXはDirectXでも指定なしはDirectDraw。
指定するとD3D。javaでのOpenGLとD3Dの基本的な使い方は同じで
どっちも極力VRAMに置こうとする。

けどだからと言って早くなるわけじゃない。
852名前は開発中のものです。:2007/04/07(土) 16:20:47 ID:2RXqF7NF
アルファブレンドがどういう描画をしているか、ソフトウェア描画がどういう経路でメモリアクセスしているかがわかるなら
遅くなる原因はわかると思うぜ>>840

BufferStrategyそのものが問題じゃないんだよ
Java2Dでゲーム開発ならBufferStrategyはどんな状況においても必須だし
853名前は開発中のものです。:2007/04/09(月) 09:45:56 ID:uR3mQ2BL
スレチで悪いんだが「Javaでゲーム作りますが何か?」の掲示板書き込める?

IPAフォントのライセンス違反してるからライセンスのリンク貼ってやろうかと思ったらCGIに怒られた・・・。
不明な処理って何ざんす?

スレチスマソ。
854名前は開発中のものです。:2007/04/09(月) 10:53:28 ID:dS/RvBxG
再配布してるってことだな

あとそこのサイトのコードバグもちなのでそのままつかわないこと
もしくは参考にしないこと
855名前は開発中のものです。:2007/04/09(月) 11:16:24 ID:TJO4g1v+
再配布自体はOKのようだが?
配布方法に問題があるとか?
856名前は開発中のものです。:2007/04/10(火) 03:26:17 ID:ZXpjg5Ty
>>855
良く嫁。
ttp://www.grass-japan.org/FOSS4G/license-ipafonts.eucjp.htm

GRASS GIS / MapServer / PostGISのどれかに同梱される形でのみ再配布可能。

かつ、フォントがIPAフォントである事を明示し、上記ライセンスを配布物に同梱しなければならない。
更に同ライセンス条項3)。

つーか、IPAフォントの単体配布が出来るならわざわざスターオフィスのパッケージ版なんて買わね。
857名前は開発中のものです。:2007/04/10(火) 03:49:48 ID:t/2fHoZt
重要な事忘れてたがIPAフォントはGRASS GIS / MapServer / PostGISからの利用以外許されてないよ。
他ソフトウェアからの利用がライセンスに含まれてない。

自分とこで作ったソフトに使うためにわざわざ商用フォントベースで作ったんだから当然だが・・・。

んでIPAフォントの権利持ってんのはオークニーだから聞くならこっち。
858名前は開発中のものです。:2007/04/10(火) 10:08:56 ID:HEVeN1vj
【初心者】課題をクリアしていくスレ【講習会】
http://pc11.2ch.net/test/read.cgi/gamedev/1086858349/
>>655です。お時間のある方、もしよかったら
講師になっていただけませんでしょうか?

【初心者】スレを立てる前にココで質問を【Part14】
http://pc11.2ch.net/test/read.cgi/gamedev/1175521815/
ここの>>26の質問にも答えていただけると幸いです。

マルチをしてすみません。
お手数おかけして申し訳ありませんが
レスは該当スレにてお願いいたします。
859名前は開発中のものです。:2007/04/10(火) 10:25:29 ID:tXE5CmGv
すいません、質問です。

JAVAで最短経路探索(A*)を組みたいのですが、
よいサンプルがあれば、教えてください。
860名前は開発中のものです。:2007/04/10(火) 10:33:35 ID:E2YWJL/P
えーすたーのアルゴリズムがわかってるならそのままやればいいのでは?
まずgoogleなどで検索してみよう
861名前は開発中のものです。:2007/04/10(火) 22:10:47 ID:0Wd+5rPi
>>853
管理人なんですが忠告ありがとございます。
IPAフォントのライセンスよんだんですが「当該ソフトウェア」って自分のソフトウェアと勘違いしてました。
即刻他のフォントに入れ替えます。
862名前は開発中のものです。:2007/04/14(土) 00:50:15 ID:2lk0UE8X
超亀レス恥ずかし><!なんですが
>>815の ゲームプログラミング-アルゴリズムとフレームワーク-長久-勝
は内容的にはjdk1.4.2の時代に1.1でも動くようにと書かれているので現在からすると
古すぎる感は否めないのですが、自分はこれでリフレクションを覚えたりしたので
懐かしくてレスしてしまいます。

でもその後、雑誌などを読んだ限りではリフレクションはあまり推奨されてないんですよね。
保守性が落ちるとかで。趣味な自分はへろへろ無駄に使ったりしてますが。
863名前は開発中のものです。:2007/04/14(土) 09:46:28 ID:EazSdGuN
リフレクションはアプリが使うものではなくライブラリやフレームワークが情報を引き出したり設定したりするのに使うもの
アノテーションが使えるようになってからは必須事項だよ
864名前は開発中のものです。:2007/04/15(日) 14:22:41 ID:Do4UH/Bo
>>176
こっちできいてみれば?ちなみにタスクシステムを作るのは可能。っていうかタスクシステムはデータ構造とクラス設計の話だから言語に由来することはないです。

タスクシステム総合スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1173708588/
865名前は開発中のものです。:2007/04/15(日) 16:02:43 ID:yPdKGk0j
いまさらタスクシステムの話されても。
オブジェクト指向が使えない時代のお話。
866名前は開発中のものです。:2007/04/15(日) 21:33:34 ID:JKlRxbBA
ですよねー
867名前は開発中のものです。:2007/04/15(日) 22:29:58 ID:gWanPSzj
誰一人として悪くはない。
この企画は…構造自体が不幸を孕んでいたのだ。

戦犯はいない。
理解できない、根源から違った存在がいただけだ。
誰にとっても。

本当なら決して出会うことのなかった、才能も、経験も、熱意も、人脈も、
何もかも違う人々に関わってしまった事自体がお互いに不幸だった。
つまり…関わった時点で無残な結末が予定されていたのだ。

今はもう…その不幸を呪い、やがて忘れる時を待つしかない。
868名前は開発中のものです。:2007/04/16(月) 12:26:43 ID:avbdJuoP
>>865
オブジェクト指向言語でタスクシステムが不要にはならないよ。むしろより簡潔に書ける。

マルチスレッドとかコンカレント関連のAPIのない時代でもあるまいし、というしてきなら、いいたいことはわかる。だがまちがっているけどね。
869名前は開発中のものです。:2007/04/16(月) 12:35:17 ID:uVwoDyO/
クマー。
870名前は開発中のものです。:2007/04/16(月) 12:57:04 ID:ZWSYWvOP
釣るならもっとそれっぽいことかいてよ
871名前は開発中のものです。:2007/04/22(日) 11:10:51 ID:QxABkYIn
drawImage(image, 0, 0, ★)
の★のところなんですが、パネルを渡してもnullを渡しても同じように描画できるんですが何か意味あるんでしょうか?
872名前は開発中のものです。:2007/04/22(日) 12:01:41 ID:OQsH7rKB
画像のロードに時間がかかるときとかに、
★にImageObserverを渡すと、ロードの完了を通知してもらえたりする。
873名前は開発中のものです。:2007/04/22(日) 12:50:31 ID:caMfTdAs
ゲームの場合、通常非同期でテクスチャロードすることはないから意味のない引数だと思っていい。
ネトゲだとしてもそのへんは自前でコントロールするわけで。
874名前は開発中のものです。:2007/04/26(木) 09:04:29 ID:LGVs5GvF
遅くなったけどd
875名前は開発中のものです。:2007/05/03(木) 18:13:48 ID:GHCrYaAw
誰か前スレ持ってる人いませんか?
保存しておいたと思ったけどなくしてしまったorz
876名前は開発中のものです。:2007/05/04(金) 00:25:28 ID:Z9OOsWLs
877名前は開発中のものです。:2007/05/04(金) 08:24:01 ID:2lM108GL
>>876
アップしていただけてうれしいんですがそれこのスレですorz
878名前は開発中のものです。:2007/05/04(金) 14:31:17 ID:Z9OOsWLs
879名前は開発中のものです。:2007/05/04(金) 14:40:06 ID:2lM108GL
>>878
ありがとございます。
おかげさまで見れました。
880名前は開発中のものです。:2007/05/05(土) 00:18:32 ID:E4gxwLZa
爆発のエフェクトを作りたいんですが、爆発させるときにTimerTaskオブジェクトを生成して起動、爆発が終わったらcancel()で破棄って方法でよいでしょうか?
何か大量に爆発させるときオブジェクトごとにTimerTask起動するのはあまりよくないような気がするんですがいい方法ないでしょうか?
881名前は開発中のものです。:2007/05/05(土) 00:23:25 ID:qNXdFV63
そもそも、ゲームPGでは余りスレッドを使わないんじゃない?
882名前は開発中のものです。:2007/05/05(土) 00:37:49 ID:Z2/Vlbj0
基本的にはオブジェクトごとにスレッドはやめとけ

関連性のないエフェクトだけ別スレッドというのはやってもいいけど(というか3Dはわりと普通気味)
そういうのはスレッドプールとか使うのが普通

こまめにON/OFFはとろいぞ
883名前は開発中のものです。:2007/05/05(土) 07:46:38 ID:E4gxwLZa
ありがとうございます。

結城さんのデザインパターン本のスレッド編にWorkerThreadの実装があったけどこれかな。
ttp://www.hyuki.com/dp/dp2_ch08.pdf

あとJakarta CommonsにThreadPoolっていうクラスがありました。
ttp://jakarta.jp/commons/components.html

調べてみます。

>>881
とはいってもスレッドプールも結局スレッドですよね。
スレッド使わずにアニメーションとかできるんでしょうか?
884名前は開発中のものです。:2007/05/05(土) 10:37:03 ID:Z2/Vlbj0
>>883
スレッドをかんちがいしてないか?
ゲームで処理単位でスレッドは使う必要はない
使う場合同期等ちゃんと理解してから出ないとダメ

スレッドプールは標準APIにはいってるんだからそれを使えばいい
これはこまめにスレッドを生成破棄しないからタイマータスクの生成+破棄とはまったく動きが違う

言っている意味がわからないならスレッドは使わないで下され
885名前は開発中のものです。:2007/05/05(土) 14:36:33 ID:S0VZ5lLo
>>883
普通にwhile文を使って、一こま毎計算して表示する。
スレッドは処理の種類によって必要なら使うと言う感じでは。
ある程度本格的なゲームPGの本とか、次の本辺りを読んでみれば分かると思う。
http://www.amazon.co.jp/dp/4627918615/
http://www.amazon.co.jp/dp/4501539208/
886名前は開発中のものです。:2007/05/05(土) 20:16:15 ID:2yfTJp2D
どうでもいいことだが、
>タイマータスクの生成+破棄

>タイガーマスクの生成+破棄
に見えた。
887名前は開発中のものです。:2007/05/05(土) 21:13:20 ID:LKYrIilR
タイガーマスクと聞いてなぜかアンパンマンの顔が浮かんだ。
アンパンマンの顔のライフサイクル想像すると笑えるw
888名前は開発中のものです。:2007/05/16(水) 02:33:22 ID:qUFCPdNa
sdljavaが結構いいと思うんだけど
このスレ的には評価はどう?
889名前は開発中のものです。:2007/05/16(水) 11:33:01 ID:EfvfG/mQ
それ開発とまってなかったっけ?
アクセラレーションもつかえないし、ネイティブのSDLもあんまりほめられたものじゃないけどね
890名前は開発中のものです。:2007/05/16(水) 16:28:36 ID:dKqdtDi9
sdlって俺だと動画表示くらいしか使わんなぁ。
動画ならJMFのVideoRenderer実装してるんで間に合ってる。
他はCDへのアクセスとジョイスティックだっけ?
javaゲーをCD・・・。
891名前は開発中のものです。:2007/05/25(金) 00:14:02 ID:Odp2f4Vl
graphicsクラスとかImageうんたらクラスとか描画関係のことだが、javaSE6(別に5.0でもよい1.4より新しい奴)でどうすればいいのかサンプル紹介しているページないかな
とりあえず、BufferStrategyとかが1.4で加わったのは記憶にあるのだが、それ以降描画関係一切追いかけてないのでどのAPI使うのが最新手法なのかよくわからん
その辺の解説とサンプル紹介しているページキボンヌ
892名前は開発中のものです。:2007/05/25(金) 04:15:14 ID:xzeMUWWG

SE5,6のJava2Dは内部実装が変わっただけで1.4以降から特に使い方が変わるようなAPIの変更はないよ。
強いていうならLCD向けアンチエイリアシングが強化されたのと、JOGLから描画パイプライン触れるようになったくらい。
アプリケーションプログラマには関係ないね。
だから1.4の事知ってりゃ、それが使える。
893名前は開発中のものです。:2007/05/25(金) 10:07:11 ID:gi7La1ao
確か、Java in the Boxにいろいろ記事がありましたよ
http://www.javainthebox.net/index.html

それと、Java NIOは次の本が結構詳しい
Developing Games in Java
http://www.brackeen.com/javagamebook/
http://books.google.com/books?id=rSs35Uw11okC
894名前は開発中のものです。:2007/05/25(金) 10:27:15 ID:BH7EzlMX
JavaSE6のOpenGLパイプラインは不安定なのでデフォ動作は取りやめになったよ
おかげでSwing+JOGLが5.0までとおなじ遅い動作しかできん
895名前は開発中のものです。:2007/05/25(金) 19:17:37 ID:GvMFqj5n
win版のOpenGLまわりは全部VGAドライバ寄りの原因だからしかたない。
プロパティ与えて起動すると描画がめちゃくちゃだからな。
そもそもゲームはSwingと相性悪いからAWTで良いよ。
896名前は開発中のものです。:2007/05/25(金) 21:01:58 ID:M11kx4ro
MORPGとかネット対応とかになるとSwingコンポーネント使えないのは不利かと
ドライバの不具合ってほんの一部の話なら別にそのドライバが対応すればいいだけのこと

nVidia、IntelともにOpenGLを有効にしてもまともに動かないのだから原因は他にあるはず
897名前は開発中のものです。:2007/05/25(金) 23:14:46 ID:Odp2f4Vl
891です
レスさんくすです
参考にさせていただきます

それはそうと、今日15才からはじめるJavaゲーム製作だかなんだか言う本を軽く立ち読みしたのだが、
音楽とかタイマ関係まで一通りそろってそうでよさげだと思っている
ただ、心配なのが、ここで使ってるAPIて古い奴まじってたりしない?
わかる人、教えてくれ
898名前は開発中のものです。:2007/05/25(金) 23:26:30 ID:M11kx4ro
そこのは1.4だったかな
許容範囲

Javaのゲーム開発本は大量にあるが唯一実用となる書籍として有名なやつだよ
新目なのに1.1対応とか、やってることがひどいとか参考にならないのが多いからね

@ITとかも平気で嘘のせるからAPIマニュアルとソース読むしかないというのが悲しい

とりあえずその本で一通りわかるようになったら次はたぶんOpenGlとかやるレベルだから中級まではそれでいいと思う
899名前は開発中のものです。:2007/05/25(金) 23:47:07 ID:Odp2f4Vl
>>898
レスさんくす
土日勉強してみます

>そこのは1.4だったかな
>許容範囲
だよね
俺の会社(メーカー、ソフトハウスじゃないが、ソフトもそれなりに作ってる)もほとんど1.4しか使ってない
極たまに5.0のところあるが、6は使ってる部署0
900名前は開発中のものです。:2007/05/26(土) 00:42:13 ID:px/b9uk2
15さいからはじめる〜は日本のjavaゲー本の中では良い本だよ。
あれの内容を完全に理解できたぜ!ってレベルなら一人でシコシコハードコーディングでもゲーム作れるんじゃないかと。

日本の企業が仕事で1.4系使ってるのは単について行けてないだけだよ。
エンドオブライフだからやめた方が良いんだけどね。5.0の新文法だけでも覚えた方が良い。
趣味グラマの間に使って覚えとくとか・・・。6.0は追う気がないならどうでもいい。
901名前は開発中のものです。:2007/05/26(土) 01:00:42 ID:3yf6+JCa
去年あたりから5.0は普及してるよ
ツールも対応したし、アプリ鯖もJ2SE5.0対応したしね

今年に入ってからアプリ鯖もJavaEE5対応したのが出始めてきたから加速すると思う
効率が別次元なので今のうちに覚えておくといいかと

個人のゲームなら1.4を選択する必要はないしJavaSE6一択かと
仕事だと6は今は検証中だと思う
update1が出る前はほんとひどいバグもちだったし

ただ標準でJAXB2.0やJAX-WS2.0はいったのが面白いし5.0のときはほとんど強化されなかったAPIに
かなり手が入っているのもポイントでびっくりするほど使いやすくなったよ
902名前は開発中のものです。:2007/05/26(土) 03:14:19 ID:E/o29az5
>>900
古いBroadVisionとか使ってる会社だと
今でも1.3onlyだな
つかうちもそうなんだが
903名前は開発中のものです。:2007/05/26(土) 08:34:56 ID:7uwRZyAG
1.3と6じゃVMすら別モンだよな。Swingがまだ屑だったころだしXML APIもろくに無かったころか。
904名前は開発中のものです。:2007/05/26(土) 10:15:56 ID:6pNAZ0zx
でもMACを視野に入れたゲームだと5.0は動かないよね?
905名前は開発中のものです。:2007/05/26(土) 10:56:51 ID:OQbVauRb
たとえば?
906名前は開発中のものです。:2007/05/26(土) 11:08:04 ID:J3LywcEw
>>904
6はだめだが5.0はあるぞ
907名前は開発中のものです。:2007/05/26(土) 12:43:35 ID:OQbVauRb
そういう話じゃないと思うぞ
908名前は開発中のものです。:2007/05/27(日) 22:13:07 ID:8JpcMLEY
15才の〜で勉強しようと思ったが、近所の本屋で売り切れだ
ついでに俺の金も無い
てことで、節約してnetだけで勉強しようと思うのだが、Javaでゲーム作りますがなにか?はどうなんですか?
自分が軽く見たところ、基礎からしっかりやってくれているみたいだが、ダメダメなところとか、注意するところありますか?
909名前は開発中のものです。:2007/05/27(日) 23:31:08 ID:wTM4DUzU
本格的に開発しないのであれば通過点としてはそれなりにいいんじゃない?
目的がゲーム作成だけならライブラリ用意してすぐに開発に入ったほうがいいけど。

ただ、画像はImageIO使ってロードしたほうがいいとかバッファは現在のピクセルフォーマットとあわせるといいとか
Java2D細かい挙動が必要になったときがたぶんのってない。

まず>>908がゲーム開発自体はすでにしていてJavaでのやり方がわからないだけなのか
Javaはわかるがゲーム開発自体がわからないのか、どちらもわからないのかによってとるべき道は違うかな。
910名前は開発中のものです。:2007/05/28(月) 00:08:25 ID:kxuyYAly
>>909
Javaはそれなりにやってます(SE5.0、webアプリ開発)
会社の同僚と趣味でSE6勉強してます
最近勉強仲間がSE7だのクロージャだの言い出して、俺自身は最新テクノロジとかよりゲームの方が好きなので個人でゲーム勉強しようかと思ってます
ちなみに、グラフィック、swingは全く触ったことありません
学生時代awtすこし勉強したけど、それも研究室の新人研修だけで、忘れてしまいました
よろしく
911名前は開発中のものです。:2007/05/28(月) 00:25:24 ID:fdi5zjDi
ということはゲームの開発に関する知識だけがないのか
ならそのサイトで軽く覚えるといいかと

あとはJavaに関係なくゲームの作り方を教えてるサイトもみること
流れとかそういうのはかわらんから

基本的にタイマーや垂直同期によって一定頻度でのループをつくり、1フレームごとに処理をしていく
まず最初にキーなどの入力>その後ゲームの処理処理>出力

出力する際逐次表示されているVRAMへ描画していくと描画途中が見えてしまうので
オフスクリーンバッファという見えない領域へいったん描画、出力時にコピーまたはフリップ(フルスクリーン専用)となる

基本的にイベントを取るのはキーボードくらいなのでawtやSwingはそんなに深く知る必要はないよ
912名前は開発中のものです。:2007/05/28(月) 00:34:07 ID:XL3m6L+U
Javaの文法がわかっていてゲームを作るのが目的ならフレームワーク的になっている>>11をつかうのがいいかと。
本格的なSTGも作れるようだし。

自分でフレームワークを作りたいというのなら上記の細かい仕組みを知る必要になるが。
913名前は開発中のものです。:2007/05/28(月) 01:10:28 ID:kxuyYAly
レスどうもありがとう
ゲームは1日1時間てことで明日から1時間位づつゲーム勉強してみまつ
Javaでゲーム作りますが何か?のページ見てたらGTGEが面白そう
とりあえず、こいつの中身読んでみよっかな
なんか、やる気出てきたので週明けから暇であることを祈る
また、なにかあったらよろしく
914名前は開発中のものです。:2007/05/28(月) 09:50:19 ID:dR+mP3mE
俺も毎日一時間以上ゲームPGや勉強やることにしたよと会社から
915名前は開発中のものです。:2007/05/28(月) 11:32:44 ID:ahItnJp8
ゲームはモチベーションを上げるため、と割り切れば勉強のためにもいいとおもわれ。
殺風景な業務用のコンポーネントがならぶだけではなく、フレームの中をボールが飛び跳ねてアニメーションしてるとか
DBとの連携やゲームとの相性の悪くないORマッピングとか、各種デザインパターンとかものにはなるし。

WEBアプリのフレームワーク側ではなくドカタ側にまわってると技術力とモチベーション低下が避けられないからね。
916名前は開発中のものです。:2007/05/28(月) 14:22:09 ID:dR+mP3mE
まさにそんな感じ。
去年まで4年以上ミドルウェアを開発してて、
上司の退職をきっかけにずっと前に出した異動希望が発動して、
グラフや統計などを使う研究用Webアプリを開発することになって、
プログラミング的には難易度が下がった。
とはいえ計画通りだし、年内は勉強しながらMyライブラリを作る。
2年ほどで作りたいのはトバルみたいなの。
917名前は開発中のものです。:2007/05/28(月) 21:47:29 ID:9APdzwvN
トバルとはなつかしいな
918名前は開発中のものです。:2007/05/29(火) 01:11:09 ID:QU7Bv3WN
No.1だな
919名前は開発中のものです。:2007/05/30(水) 00:26:54 ID:9qP8n2n4
トバル2は面白かった
920名前は開発中のものです。:2007/05/30(水) 02:01:02 ID:JwW2N6l2
PSで格ゲーは邪道。SSでアーケードスティックプロ、それが俺のジャスティス!
921名前は開発中のものです。:2007/05/31(木) 08:52:09 ID:zC6v4guW
15才〜、以外にお勧めの本もしくはwebある?
ゲーム製作本でなくても、描画とか同期とかキー入力とかゲームに関係あることが書いてある奴があれば教えて欲しい
レベルは基礎でも応用でもどっちでもいいです
あ、javaのAPIは無しね
よろぴこ
922名前は開発中のものです。:2007/05/31(木) 11:46:26 ID:ElLhOgmF
実際のところ標準APIの組み合わせで2Dゲームならだいたいことたりるから
APIマニュアル見ながらテストするのが一番わかりやすかったりする

Javaの命令がわからない、という人ならそれでわからない問題ってのはたしかなかったと思う

ゲームの作り方そのものがわからないならJavaとか言語以前の話
923名前は開発中のものです。:2007/06/02(土) 12:45:52 ID:ySjBjTJY
ようするに、15才〜以外にまともな本もホームページも無いのね
924名前は開発中のものです。:2007/06/02(土) 12:47:59 ID:KQGH3f1A
ゲーム開発がわかる人=APIマニュアルだけでおけ
ということだろ

だからある程度のゲーム開発になるとまともな本がない
あとは開発者の減少だろうね
昔はベーマガとか大量にゲーム開発のための本があったわけで

実際同人の開発者もほとんどがその世代である30代以上だ

Javaに限らんのよ
925名前は開発中のものです。:2007/06/02(土) 14:19:19 ID:4zeBTZ5e
MIDPってはやってる?
926名前は開発中のものです。:2007/06/02(土) 14:33:58 ID:bNMRwVZE
MIDP汎用は日本じゃはやってない
やれることが少なすぎるから

ドコモが使ってないというのもあるかも

一応2.0からはやれることは増えたけど使いにくいかな
927名前は開発中のものです。:2007/06/03(日) 11:38:31 ID:foEaYR55
スプライトのアニメーション(イメージの切替)なんですが、スプライトクラスの中でTimerTaskを起動して表示するイメージ番号を切り替えるのって効率悪いですか?
定石としてはメインループで各スプライトに対して表示するイメージを切り替えるメソッドを呼ぶようにするんでしょうか?
928名前は開発中のものです。:2007/06/03(日) 12:21:22 ID:XU9gmanv
つまりメインループとキャラと完全な非同期ってことね
スプライト100個出したら100個のスレッドがたちあがるってことかな?

そうでないにしろ、表示されるタイミングとスプライトの時間管理とのずれが問題になるよね
たとえば1フレームごとに点滅表示させるような場合、それらが同期取れてないのでずっと表示されたり
ずっと消えたままになるよね

各種オブジェクトは内部でカウンタを持って1フレームごとに呼び出されるメソッドで+1していくのが基本だよ
メインループ側(フレームワーク側)とは切り離して独立して動けるようにね

そうすると単体テストが容易になったりするし、見るクラスが1つだけなのでバグもでなくなる
外部からのきっかけがほしい場合はオブザーバーパターンを使えば汎用的になってなおよろし
小規模であまり深く考えないのならpublicなメソッドでもいいと思うけど
929名前は開発中のものです。:2007/06/03(日) 23:30:45 ID:NMJr+FyS
それならフレームじゃなくて時計の時間にスプライトの状態を同期すれば
完全非同期でも問題ないの?
930名前は開発中のものです。:2007/06/03(日) 23:35:39 ID:qjYqK/Ln
タイマつかっても完全同期は無理。
スレッドの動く時間は保障されないし、逐次処理しても当たり前だが時間は常に動いている。
それと処理落ちとかした場合は?OSがリアルタイムでない時点でいくらでもあることだよ。
931名前は開発中のものです。:2007/06/04(月) 01:03:47 ID:LU4adZL7
モーション付モデルデータを表示するために、何か良いエンジンありますか?
932名前は開発中のものです。:2007/06/05(火) 23:07:38 ID:YHsxbudA
>>926
レスサンクス。
auのオープンアプリレイヤーに興味あったんだけどこれからなのかな。
933名前は開発中のものです。:2007/06/05(火) 23:14:12 ID:geU+8UYE
というか新しい機種しか対応してないし、ここはJavaSEの話がメイン
934名前は開発中のものです。:2007/06/06(水) 21:05:44 ID:WeNeu8ST
eclipseでjarファイル生成させたのにクリックしても起動しませんorz
何が問題なんでしょうか。
クリック時にエラーは出ません
935名前は開発中のものです。:2007/06/06(水) 21:18:40 ID:O774Z098
マニフェストファイル作った?
わからないのなら正直NetBeansのほうがいいと思うぞ
必要なライブラリもクラスパス自動登録されるようにしてくれるし
936名前は開発中のものです。:2007/06/06(水) 21:46:27 ID:/nuanp7M
ふむ
同意してみる
eclipseの方が好きなの、ちょっと玄人向けの気もする
何でもかんでも後からplugin追加だからな

その点、NetBeansは何もしなくてもある程度使える
個人的には何もしなくてもWebアプリのプロジェクトがサクサク作られたのが気に入った


しかし、疑問なのはゲーム製作にしてもそれ以外にしてもIDEの話になると、ほとんどの書籍がeclipse使うよな
NetBeansはなんか問題(著作権とか?)でもあるのかね
937名前は開発中のものです。:2007/06/06(水) 21:53:54 ID:O774Z098
NetBeansの使い方知らないやつが多いだけじゃね?

去年のJavaのIDE TOPはNetBeansが選ばれてる時点で流れに乗れない人たちと思われ。
あとEclipseはプラグイン入れるだけでページ数稼げる。これポイント。
938名前は開発中のものです。:2007/06/06(水) 23:20:53 ID:WeNeu8ST
>>935
マニフェストファイルは作ってます
必要なライブラリはありません
大学がeclipseなのでそれを使ってます-`)
939名前は開発中のものです。:2007/06/06(水) 23:58:27 ID:IfzalnNn
考えられるのは、
・マニフェストファイルがおかしい
・実行環境に問題がある
・そういうプログラムである
くらいか

マニフェストファイルをEclipseに生成させるようにしてJARを作成してみたら?
それで上手くいくようなら自作マニフェストファイルがおかしいって事になる
940名前は開発中のものです。:2007/06/07(木) 13:02:37 ID:vuPLnRCS
NetBeansのほうがお勧めというが、
プラグインを入れなくても、
リファクタリングとか、補完とかの機能がEclipseのほうが使いやすい。
必要としない人も多いから何とも言えないが。

まぁ、次期NetBenasで解消されるようだけど。
Swingが速くなったおかげで、重さも解消されたし。

最初からNetBeansを使ってるひとは、Eclipseのほうが便利な部分を知らなくて使っていくだろうし、
逆もそうだとおもうんだよね。

まぁ、初心者にはNetBeansが良いと思う。
941名前は開発中のものです。:2007/06/07(木) 13:04:07 ID:vuPLnRCS
う、下げ忘れた。ごめんなさい。

>>934
まずは、コマンドプロンプトで
java -jar ***.jar
で起動させてみて。
942名前は開発中のものです。:2007/06/07(木) 16:59:15 ID:5Qk7KRIL
>>940
JBuilderとかになれてるとEclipseのほうが使いにくいのだ
EclipseはCTRL+スペースばかりに機能が統合されていてすばやく撃ち込む場合使いにくいのだよ
NetBeansも最近CTRL+スペースに集中してきて悪化している

ユニットテストとかライブラリとかはNetBeansのほうが使いやすいね

EclipseでまともにGUI開発できないってのはまぁ致命的といえば致命的だが
ゲームだとせいぜいコントロールパネルくらいだからどうでもいいか

あ、ゲームだと問題となるのが最新のJDKが推奨されるけど、
Eclipseは最新のJDKが使えない可能性が高いのが問題となりやすいかも
943名前は開発中のものです。:2007/06/07(木) 18:06:19 ID:vuPLnRCS
>>942
なるほど。
JBuilderはほんとの初期しか使ってないから評価できないけど、
forループとかでイテレータ使うテンプレートが無かったのは覚えてる。
あと、sysoutとかで補完とかそういった細かい所は好みの問題だし、
慣れだからね。

確かにユニットテストはNetBeansのほうが良い。
Eclipseはわかってる人からすれば、なんてことはないけど
知らない人に説明するの面倒。
プロファイラも同じなんだよね。
Eclipseのプロファイラの重さはかなり致命的。TPTPとかもうね・・・・。

GUI開発に関しては、VEが一応ある。Matisse(NetBeansのGUIエディタ)も動く・・・・・・有料だけど。
コレが無料ならいいのだけどねぇ・・・・。
ただ、Matisseはソースは出力物であって、編集できない形だから俺はいまいち。
その点VEは編集しても頑張って再現してくれる。失敗も多いけどね。

俺の印象だと、
Eclipse 巨大な整理されていない道具箱
NetBeans 必要な道具だけが綺麗に整理されている道具箱

ある程度使えばどっちも生産性に差は無いと思う。
とくにゲーム制作に関しては。
944名前は開発中のものです。:2007/06/07(木) 18:47:03 ID:5Loz1nuS
>>941
java -jar ***.jarで起動させました
するとエラーが表示されました
eclipseには何も表示されなかったのに何故…
どうやらファイル入出力が拙いようでした

いろいろ弄って何とか解決できました
皆さんありがとうございました
945名前は開発中のものです。:2007/06/07(木) 20:32:04 ID:wcTYYNm5
ん?Eclipseでも実行させたらエラーちゃんとでてるよな?
946名前は開発中のものです。:2007/06/07(木) 20:53:24 ID:vuPLnRCS
Jarにまとめる前に実行するだろうから
やっぱり、コンソールに出力されるはずだがなぁ・・・・。

自動的にコンソールが前面に出てくる設定になってないとか。
947名前は開発中のものです。:2007/06/08(金) 07:45:07 ID:dU1vbfjk
>>943
>俺の印象だと、
>Eclipse 巨大な整理されていない道具箱
>NetBeans 必要な道具だけが綺麗に整理されている道具箱
激しく同意
しかし、最近NetBeansの勢いが増してきた気がする
6.0楽しみだ

Eclipseは最新の技術への対応が遅くなってきて無いか?
ただで使わせてもらってるのにえらそうに言うのもなんだが

ただ、個人的にはEclipseの方が好き
なぜなら、日本語のドキュメントが多いからw
948943:2007/06/08(金) 11:19:22 ID:uRAOQaxB
ちょっと補足。
>Eclipse 巨大な整理されていない道具箱
>NetBeans 必要な道具だけが綺麗に整理されている道具箱
NetBeansは必要な道具が無かった場合、かなり苦労を強いられる。(出来ないことはない)
Eclipseはほとんどの場合箱のなかを探し出せばそれを実現する道具(プラグイン)を誰かが作ってる。

俺もEclipseの方がすき。

長いこと使ってきて愛着があるってのもあるし、使えるプラグインが多いことも私にとっては重要。
Amaterasのプラグインとか無いとやっていけない。
それにNetBeansのとにかく簡単に!という流れに乗ってか、Callisto
という、
コレさえあれば大抵大丈夫っていうプラグインセットも出てきたから
NetBeansの勢いに負けずに頑張って欲しいなぁ。


Eclipseで一番危惧しているのはJavaが疎かになるんじゃないかなってこと。
PHPやC++、Rubyへの対応がニュースの目玉になるぐらいだから・・・。

ゲーム関係ないなw
949名前は開発中のものです。:2007/06/08(金) 11:43:53 ID:0pRpBrj+
NetBeans、この1年でのRuby対応すごすぎ

Ruby対応は今IDEでもっとも旬なものじゃないかな
950名前は開発中のものです。:2007/06/08(金) 14:37:30 ID:S8TOMltZ
>>928
遅くなったけどありがとうございます。

>>スプライト100個出したら100個のスレッドがたちあがるってことかな?
そうです。

結論としてはオブジェクトごとにTimerTask持つやり方でいいってことでしょうか?
951名前は開発中のものです。:2007/06/08(金) 14:43:00 ID:0pRpBrj+
皮肉をこめたあの文章でダメだと思わないのならやめたほうがいい

マルチスレッドでやるにしろスレッドプールと排他制御を理解してからね
タスク間での通信とか大丈夫に見えない

別スレッドでやるにしろ手軽なものじゃないよ
何も考えない場合依存性がないエフェクト関連でしかつかえん
952名前は開発中のものです。:2007/06/08(金) 16:42:07 ID:S8TOMltZ
キャラクターのアニメーションに使うだけなので他のオブジェクトと依存性はないかと・・・
953名前は開発中のものです。:2007/06/08(金) 16:47:14 ID:0pRpBrj+
で、スレッドが増えることによる弊害は考えないの?
各スレッドごとにスタックもつわけだし、綺麗なアニメーションも出来ないよ
954名前は開発中のものです。:2007/06/08(金) 18:43:35 ID:f1IK12WV
fillPolygonなんかで多角形を一色に塗る方法は分かったのですが、
ゲームなんかでよくあるように画像をはめ込むことはできませんでしょうか?
955名前は開発中のものです。:2007/06/08(金) 18:46:08 ID:0pRpBrj+
矩形ならJava2Dですぐ出来るんじゃね?

多角形が必要ならJOGL使ったほうがよさげ
956名前は開発中のものです。:2007/06/08(金) 19:29:42 ID:pznBE7uN
javaのゲームプログラミングを勉強したいんですけど、何かお勧めの本はありますか?
957名前は開発中のものです。:2007/06/08(金) 20:40:58 ID:f1IK12WV
>>955
ありがとうございました。ド素人なんでググるところから始めてみます。
958名前は開発中のものです。:2007/06/08(金) 21:08:19 ID:rLAdfwxn
>>956
ゲームじゃないプログラミングの経験はあるの?
ないならしばらくゲームを作るのは忘れて一般のJavaの入門書買って勉強した方がいい
ゲーム作りながら0から学ぼうとするのはかえって遠回りになるよ
959名前は開発中のものです。:2007/06/08(金) 21:56:13 ID:JbwzLCuD
>>948
一人称を統一してくれ。
960名前は開発中のものです。:2007/06/08(金) 22:31:58 ID:S8TOMltZ
>>953
それを>>927で聞きたかったんです。
やっぱりオブジェクトが増えると効率悪くなりますかね。
今のところ数十個ならちゃんと表示されてるんですが。
一般的にキャラクターのアニメーションとかエフェクトとかでもスレッドプールというのを使うんでしょうか?
961名前は開発中のものです。:2007/06/08(金) 23:06:41 ID:pPM/oaLv
>>958
普通のプログラミングも始めたばかりです
962名前は開発中のものです。:2007/06/08(金) 23:42:07 ID:0pRpBrj+
>>960
スレッドが増えるとメモリなどの効率が悪くなるし、排他制御での効率の問題も出やすい
マルチコアが普及してもこの数年じゃせいぜい同時に動けるのは4スレッド程度
ならば4スレッドつくっておいて毎フレームなげる
100個のオブジェクトがあった場合最初に4つなげて空きができるまで残りの96個は待っている状態になる

ただ、本当に並列動作が意図的にほしいのでないのならマルチスレッドはバグの原因になるから使わないほうがいい
TimerTaskが便利そうに見えるというのならそれはフレーム管理を理解していないだけ
書籍なども読んだりしてまずシングルスレッドで行うようにしよう

バックグラウンドで動かしたいスレッドなんて音楽や効果音などでたくさんあるんだし、必要になってから勉強しよう
並列処理を理解せずにTimerTaskを使うのは危険すぎる
963名前は開発中のものです。:2007/06/09(土) 01:08:05 ID:vu3KtdAq
>>960
いわゆる擬似タスクを使えばいいのでは?
スレッドは同期処理とかなにかと面倒。
964名前は開発中のものです。:2007/06/09(土) 07:49:01 ID:EZVk7j6P
疑似タスクとかフレーム管理とかJavaの本でお目にかかったことないんですがC++関係のゲームプログラミング本に書いてあるのでしょうか。
何かよい資料があれば紹介していただきたいんですが。
965名前は開発中のものです。:2007/06/09(土) 08:32:30 ID:vu3KtdAq
擬似タスクやフレーム管理はJAVAとはまったく関係のないゲームプログラム独特の話。

ウェブならここ。ただしCやアセンブラの時代の話なので概念だけ見るとよい。
ttp://www.hh.iij4u.or.jp/~peto/index.shtml

と思ったら閉鎖してたので以下で見てみて。
ttp://web.archive.org/web/*/http://www.hh.iij4u.or.jp/~peto/index.shtml

ここもよいかも。
ttp://homepage3.nifty.com/moha/

本ならこれ。C++で書かれてて結構新しい本なのでメモリまわりを工夫すれば参考になるんじゃないかな。
「シューティングゲーム プログラミング 松浦 健一郎 司 ゆき」
amazonで検索してくれ。

あと、以下は解説はないけど豊富なソースがある。
D言語で書かれてるので一番参考になるかもしれない(windows系のやつ)。
タスクはActorというクラスで管理している。
ttp://www.asahi-net.or.jp/~cs8k-cyu/
966名前は開発中のものです。:2007/06/09(土) 08:59:52 ID:bbYOCeLH
場合によってはデザパタ本よんだほうがいいかもしれん
967名前は開発中のものです。:2007/06/09(土) 15:23:47 ID:EZVk7j6P
>>965
JavaであるといいんですがやっぱりC++のほうがゲームプログラミングは充実してますね。
ありがとうございます。読んでみます。
968名前は開発中のものです。:2007/06/09(土) 17:55:28 ID:O4qCppAQ
別にObject指向わかっていればたいしたことはないと思うし、そういうゲームの基礎的な部分ってのは
みんなアセンブラやC,BASIC時代で終えてきた人ばかりだしね

今のほうが基礎的なこととか情報の入手に困る時代
Cでもサンプル少なすぎってわけさ
969名前は開発中のものです。:2007/06/09(土) 19:01:59 ID:Z0TKLmia
タスクシステム使った事ないけどワークメモリと関数ポインタもった構造体のリストを時間ベースで管理するってかんじ?
OOと合うの?普通に並列化したほうがいい気がする。
970名前は開発中のものです。:2007/06/09(土) 19:45:16 ID:zoMf1LX5
SFCの聖剣伝説のようなARPGを作るにあたって、MVCを考慮したシステム設計で悩んでいます。
ARPGを作成する上で参考になりそうなクラス図一覧やシーケンス図が記載されているような
参考書はあるのでしょうか?
JAVAで無い場合はそれ以外の言語でもいいのでよろしくです。
971名前は開発中のものです。:2007/06/09(土) 22:47:46 ID:O4qCppAQ
普通に作れば?
どこがひっかかるの?
972名前は開発中のものです。:2007/06/10(日) 18:04:49 ID:x8dp2pdS
このスレの少し前でも話題になってるようなのですが
15歳からはじめる〜の本の応用編PDFのパスワード誰か知りませんか?
出版社のサポートに問い合わせても何の返事も来なくて・・・
973名前は開発中のものです。:2007/06/10(日) 18:16:16 ID:/a81qKx+
>>972
あれの葉書の締め切りとかってもう終わってる?
今から葉書出しても遅いかにゃ?
974名前は開発中のものです。:2007/06/10(日) 20:35:19 ID:StHZ6Btk
>>813見ると送ってももらえなさそうだね
975名前は開発中のものです。:2007/06/10(日) 23:14:46 ID:/a81qKx+
>>974
本当だ
葉書見たら、無料で送付してくれる期間も過ぎてたわ
976名前は開発中のものです。:2007/06/12(火) 22:48:39 ID:54Piwy01
graphic関係で質問
BufferStrategyてJPanelで使えないの?
今、JFrameでWindow作って、その上にJPanel乗せて、JPanelにゲーム画面を描画しようと考えているのだが、間違ってるのか?
直接JFrameに描くほうが正しいのか?
それとも何か解決法があるのか?
すまんが、よろしこ
977名前は開発中のものです。:2007/06/13(水) 00:22:14 ID:xt1HCEaa
ドキュメントちゃんとよんだ?
1行目に書いてあると思うけど。
978名前は開発中のものです。:2007/06/13(水) 00:48:27 ID:DenGxzXk
>>977
もちろん読んでる(BufferStrategyのことだよね)
そこで、WindowsとCanvas上の〜〜〜とあるのはわかるのだが、JPanelやそのほかのコンポーネントでも描画すること多いから、普通に考えるとJPanel上でも使用する方法があるのでは無いかと思って質問した
結論としてはやっぱり、無理なの?
とすると、JFrame上にべた書きか

979名前は開発中のものです。:2007/06/13(水) 00:54:59 ID:xt1HCEaa
ようはライトウエイトコンポーネントじゃないんだよ
WindowとCanvasってのことはね
JComponentなんてかいてないでしょ?
980名前は開発中のものです。:2007/06/22(金) 02:15:12 ID:26NocAGI
ゲーム作ってみたいがどれダウンロードすればいいか分からない
981名前は開発中のものです。:2007/06/22(金) 10:24:46 ID:GQikK9pU
開発環境込みでダウンロードしたいなら
http://java.sun.com/javase/ja/6/netbeans.html

昔ながらのエディタでいろいろいじるなら
http://www.javadrive.jp/install/jdk/index.html
コレ参考にしたらよいよ。
982名前は開発中のものです。:2007/06/23(土) 02:16:15 ID:7dvBJduy
>>980
みな、次スレ立てるのが嫌で980踏まないようにしていたのに、こんなど素人が踏むとは…
お前さんスレ立てしたことあるかにゃ?
無いなら985か990に立ててもらうしかないな

>>981
開発環境としては、eclipseの方が情報豊富だから、初心者にお勧めじゃないかな
983名前は開発中のものです。:2007/06/23(土) 09:47:37 ID:bWvtpOgZ
インストーラの指示に従うだけでおわるNetBeansのほうが楽、というか環境に対応する速度がやはり速いね
VistaとかJDK6とか
984名前は開発中のものです。:2007/06/23(土) 11:17:05 ID:WgjC+sQH
NetBeansって名前が変わる前は使ってたが、まともになった?
985名前は開発中のものです。
それなりにまともだけど、あともう一歩って感じかな。6.0に期待。