1 名前:ヤンス mailto:sage [04/09/08 09:17 ID:Qk2n0ep6] JAVAアプレットでファミコンのゲームにありそうな2Dアクション物を作ろうと思い 二ヶ月くらい前から勉強を始めて最近やっと、ショボイながらも記念すべき 人生初の自作ゲームを作って今、第二作目を作っている所なのですが、やり方の 分からない処理が多すぎて困っております。 勿論ネットや本等で調べまわった上でスレを立てました、何でこんな処理が 分からないんだよと思われるでしょうけれど指導の方お願いします。 上級者の方達と質問のやり取りをしたいのです。 当面の目標は倉庫番、ロードランナー、ドンキーコング等の1画面固定タイプの やつを作ろうと思います、とりあえず現段階で二次元配列を使っての マップと自機の表示まで出来てます、二次元配列を使って表示した マップの壁などに、どうやって当たり判定を付けるかで躓いてます 当たり判定の付け方の考え方など教えて貰えたら、ありがたいです。 ちょっと爪垢が溜まってきたので、また後ほど書きたいと思います。
7 名前:名前は開発中のものです。 mailto:sage [04/09/08 13:58 ID:axWRME1Y] >>1 おまえていどのやつはいくらでもいるんだよクズが
8 名前:ヤンス mailto:sage [04/09/08 15:24 ID:Qk2n0ep6] >>7 まだチェックしていないスレッドがありました 早速読みに行ってきます、有り難う御座います! まあ、実際問題クズなんで、これからも宜しく。
9 名前:名前は開発中のものです。 mailto:sage [04/09/09 00:32 ID:lXEC1B6x] ありきたりだが、誰でも最初は何も知らないクズだったんだ。 これがきっかけで業界に入って、自信をつけて、ガンガンコード書いて そのうち仕様とか決めれる立場になって、残業とかで1週間家に帰れなかったりして、 株で儲けて退職して行く同僚を羨ましげに眺めたりして、 気づけば30過ぎてそれでも嫁さん居なかったりして、 いままでPCにつぎ込んだ金額を計算して愕然となったりして、 親の言う通りに公務員になっておけばよかったなとか思うかも知れないけど、 今はガンバレ! 俺は応援してるよ。 あとHRipED+Tには礼を言っておけよ。
10 名前:ヤンス mailto:sage [04/09/09 01:46 ID:arw9tEgy] >>HRipED+T氏 どうも有り難う御座いました! おかげさまで引っ掛かっていた問題が解けそうな気配です。 間違えて>>7 にお礼を言ってしまっていた・・・ >>9 どうもです! 何気にプログラムやグラフィック等は趣味で留めて置くのが楽しいかなと 思いました、なので小さな頃ファミコンで遊んでた時 なんでこうゆうゲーム(まだアイデア等固まって無いので仕様とかは書けないですが)が 無いのかなと思ったやつを 自分で作れればいいかなあと。 まだまだ未熟者の上、髪型もオカシイですが頑張ります!
11 名前:名前は開発中のものです。 [04/09/12 09:03:06 ID:89in4wvs] 応援するぞ。 自分はアクションよりRPG(DQみたいなの)好きなのでJavaで書く練習してる。 あげ
12 名前:名前は開発中のものです。 mailto:sage [04/09/12 21:09:16 ID:Fx/3T5NO] Javaアプレットは簡単なゲームのデモをサイト上に載せるのに便利だけど、 いつも悩むのが速度調整なんだ。 現在時刻の取得、インターバルタイマ、sleepやwaitメソッド、どれをとっても 20ミリ秒程度の精度しかない。 どうやったらどのマシンでも同じ速度で動かせる?
13 名前:関連スレ(シューティング) mailto:sage [04/09/12 22:58:39 ID:V/gfmIdV] PCで出来る2Dシューティング(STG)総合スレ15 game8.2ch.net/test/read.cgi/game/1094563437/ シューティングゲーム製作技術総合 4機目 pc5.2ch.net/test/read.cgi/gamedev/1092048824/ ★シューティングゲームは終わらない-STAGE32- game8.2ch.net/test/read.cgi/famicom/1092042431/ PCエンジンシューティング総合スレ game9.2ch.net/test/read.cgi/retro/1076413725/ 下手の横好きシューティング5 game8.2ch.net/test/read.cgi/gsaloon/1090942682/ さて、3Dシューティングでも作るか pc5.2ch.net/test/read.cgi/gamedev/1045989093/ フライトシューティング隔離スレッド game9.2ch.net/test/read.cgi/fly/971843679/
14 名前:名前は開発中のものです。 mailto:sage [04/09/12 23:51:11 ID:Uwc56kdh] >>12 スリープ間隔を20ミリ秒以上にする
15 名前:名前は開発中のものです。 mailto:sage [04/09/14 00:36:09 ID:OuV1fMqk] >>12 OSは?
16 名前:12 mailto:sage [04/09/14 18:19:59 ID:o257G0XK] レスありがとうございます >>14 実際のスリープ時間が20ミリ秒だったのか25ミリ秒だったのか取得できません… また、演算や描画に何ミリ秒かかったのかの計測もできてません。 >>13 手持ちのOSはWindows98SEとXPです。 知り合いもWindowsしか持っていません。サイトの来訪者もWindows系がほとんどです。 Javaアプレットで作成する以上MacやUNIX系でも検証しておきたいとは思っています。 一時期こんな方法をとっていました。 while(終了条件) { count = 0; while(1秒間) { 処理();// 常にほぼ一定処理時間となるよう期待してダミー処理を含めてある Thread.sleep(ウェイト値) count++; } if(count<目標FPS値)ウェイト値--; if(count>目標FPS値+2)ウェイト値++; }
17 名前:名前は開発中のものです。 mailto:sage [04/09/14 20:43:22 ID:OuV1fMqk] Javaでの時間管理の話はいろいろでてるが TimerTaskとObject.waitが最有力
18 名前:名前は開発中のものです。 mailto:sage [04/09/14 21:18:11 ID:OnFUzIY5] >>17 サンプルキボンヌ
19 名前:12 mailto:sage [04/09/14 21:46:30 ID:ckBU9Z+e] >>17 JAVAでゲーム作成 pc5.2ch.net/test/read.cgi/gamedev/1074347252/l50 の49レス群で検討されている方法でしょうか(実は私のレスですがw)。 他の話もご存知のようなので、是非お聞きしたいです。 >>18 速度調整に的を絞ったサンプルをいくつか書いてみます。 コーディング速度は遅いですが日付が変わるまでには何とか。
20 名前:17 mailto:sage [04/09/14 23:18:31 ID:OuV1fMqk] まぁあのスレでTimerTask+waitを提唱したの俺だがな Linux等Win以外での動作安定度もこの方法が一番よかったのが決定だかな ポーリングはJavaの仕組みを考えれば効率悪いのはあきらかだしね hotspotはプログラムが動いている間にバックグラウンドでコンパイルが進んでいるわけだし コレが阻害されるというのは結果としてよくない -XX:+PrintCompilationとかつけて実行してみなされ
21 名前:名前は開発中のものです。 mailto:sage [04/09/14 23:57:14 ID:ckBU9Z+e] サンプルを用意しました。 ものすごく短くて単調なので期待しないでください。 gamdev.org/up/img/1234.zip 私は「フラっとサイトを訪れた一般ユーザが何の抵抗もなくサンプルを閲覧できる可能性が高い」ことを 最優先事項にアプレットを作っているので、まじめにゲームを開発するこの板は趣旨が合わないのかも しれません。
22 名前:名前は開発中のものです。 mailto:sage [04/09/15 07:53:36 ID:fzloy3Ue] おー、すばらしいです! 帰ってきてから見せてもらいます。 サンクス!
23 名前:名前は開発中のものです。 mailto:sage [04/09/18 20:12:15 ID:j8Y6GvgW] 先生! わざわざ圧縮しないでください!
24 名前:12=21 mailto:sage [04/09/21 07:25:09 ID:RcSzxkaT] こんな方法を取っていた時もありました スレッド1 while(終了条件){処理();wait();} スレッド2 while(終了条件){wait(33);notify();} 一部の環境ではうまくいきましたが、別の環境ではnotify()実行直後に処理()が開始しされてしまい、 それが終わってからwait(33)で待ちが始まるため全く調整の意味がありませんでした。 でも良く考えたら、 スレッド1 while(終了条件){処理();wait();wait(1);} スレッド2 while(終了条件){wait(33);notify();} とすればスレッド2だけがbusy扱いになって先にwait(33)が実行されるのでは? 朝の寝ぼけた頭で考えてるので、落ち着いてからまたサンプルを作ってみます。
25 名前:ヤンス [04/09/23 21:20:06 ID:FBDpqX5t] あああ、自機の方向に弾を撃たせる処理で躓いた・・・ 右向いて撃った後、左を向くと弾まで一緒に左を向きやがる・・・
26 名前:名前は開発中のものです。 mailto:sage [04/09/23 21:20:58 ID:aZqAfyms] ヤムチャかよ!
27 名前:名前は開発中のものです。 mailto:sage [04/09/23 21:31:25 ID:teKJ9g46] 面白いからそれでいいじゃん。
28 名前:名前は開発中のものです。 mailto:sage [04/09/24 10:47:48 ID:rxnCqiG6] 斬新なアイデアだ
29 名前:名前は開発中のものです。 mailto:sage [04/09/25 02:11:22 ID:m5HAIfiz] え?Thread.sleep(16)で出来てなかったの? これは出来てないの?
30 名前:12 mailto:sage [04/10/02 12:36:34 ID:jCcM5OdI] 速度調整に関する検証結果です。 WindowsXP上のVMでwaitメソッドを実行した場合の精度は15msのようです。 確実に指定した期間以上スレッドを停止させるため、端数は繰り上げになります。 つまり、30FPSを実現しようとしてwait(33)を実行すると、実際にはwait(45)を 実行したのと同じになり、期待した速度調整がまったくできなくなります。 Windowsネイティブアプリケーションの場合、APIのtimeBeginPeriodを呼び出す ことでタイムスライシング全体の精度を上げるようになっているようです。 実際に別タスクでtimeBeginPeriodを呼び出すアプリケーションを実行している間は、 JavaVMのwaitメソッドの精度も向上しています。終了させた途端に精度は落ちます。 この現象は、SunのVMでもIEに付属のMicrosoftVMでも再現するようです。 今のところjavaのプログラムから明示的にwaitの精度を上げる方法がみつかりません。 とりあえず、 スレッド1 while(終了条件){処理();wait();} スレッド2 while(終了条件){notify();wait(30);} としておくのがWin95系でもNT系でも一番安定するようですが、他のOSでどんな挙動を するかはまったく調査していませんし、好ましい記述とはかけ離れています。
31 名前:12 mailto:sage [04/10/02 12:37:54 ID:jCcM5OdI] 上記書き込みで使用したWindowsネイティブアプリケーションのリスト ※VC6.0のコンソールアプリケーションで作成し、winmm.lib等をリンクする #include <windows.h> #include <mmsystem.h> #include <conio.h> int main( int argc , char *argv[]) { timeBeginPeriod(1); getch(); timeEndPeriod(1); return 0; }
32 名前:名前は開発中のものです。 mailto:age [05/01/26 12:47:35 ID:F1s8Zwef] e
33 名前:名前は開発中のものです。 mailto:sage [05/01/26 13:11:34 ID:iPs053oe] Javaの時間管理は最善はTimerTaskとの組み合わせな
34 名前:名前は開発中のものです。 mailto:sage [05/01/26 18:51:37 ID:DaQEkIt1] ・ガベージコレクションが動作するとフレーム数が変わってしまう ・ガベージコレクションが動作するタイミングを制御できない これがゲームにおける時間管理のネックになっとるわけだが、 Sunはガベコレの禁止と強制のAPIは作ってくれないのだろうか。
35 名前:名前は開発中のものです。 mailto:sage [05/01/26 20:43:03 ID:iPs053oe] GCがネックになるゲームのほうが少ないと思うが・・・ もしねっくになってるならメモリ管理やばいかもね メモリの使用量を把握してnew領域でのGCだけに専念させるだけ
36 名前:名前は開発中のものです。 mailto:sage [05/01/27 00:21:06 ID:dod+XOt2] >GCがネックになるゲームのほうが少ないと思うが・・・ ( ゚д゚) ポカーン
37 名前:名前は開発中のものです。 mailto:sage [05/01/27 00:42:29 ID:ZTZ4mfiF] いまどきJavaでGCがネックになるプログラムかけるやつのほうがおかしい Windowsでたまに垂直同期取りこぼすとかその程度と同じ話だし 完璧もとめるならRTOSいけ
38 名前:名前は開発中のものです。 mailto:sage [05/01/27 01:13:44 ID:3sf5TT/z] GCうんぬん言ってる香具師は最近のJavaVMに実装されているGCについて調べて見れ。 まずはそれからだ。
39 名前:名前は開発中のものです。 mailto:sage [05/01/27 01:50:45 ID:Zc+qNABH] GCがそれほど致命的だとは思わんが、それよりもVM自体の実装が(ry
40 名前:名前は開発中のものです。 mailto:sage [05/01/27 02:12:53 ID:3sf5TT/z] まーまー、CとJava両方で自力でMD5を求めるコードでも書いて実行してみよう。
41 名前:名前は開発中のものです。 mailto:sage [05/01/27 21:57:36 ID:fopdIjFa] Javaの欠点はMSがVMを最初から入れないこと
42 名前:名前は開発中のものです。 mailto:sage [05/01/28 16:20:14 ID:qY41Ezue] それはJavaでなくてMSの欠点だ
43 名前:名前は開発中のものです。 mailto:sage [2005/12/15(木) 21:44:28 ID:0EyZOrrF] アップスキャンコンバータ
44 名前:名前は開発中のものです。 mailto:age [2006/01/08(日) 10:07:24 ID:xb+qmFYY] 保守
45 名前:名前は開発中のものです。 mailto:sage [2006/01/08(日) 10:31:34 ID:Q5IJU6st] 何かネタをくれ〜
46 名前:名前は開発中のものです。 mailto:sage [2006/01/08(日) 14:46:19 ID:3CJHpBe+] 2Dアクションといえばパックマンかマリオだろ
47 名前:名前は開発中のものです。 [2006/03/15(水) 08:46:55 ID:916ZRAwJ]
48 名前:名前は開発中のものです。 mailto:sage [2006/04/15(土) 01:26:13 ID:sf5nUDiw] 誰か夢をくれ〜〜
49 名前:名前は開発中のものです。 mailto:sage [2006/04/15(土) 22:26:15 ID:lpccgP2z] >>48 ,,..,,...,, 〃´, 〜〜ヽ | | iイノリ从)〉 ゝ|リ|!.゚ ヮ゚ノi Ci}~レπv{~つ[ 夢 ] ノ!( ,i , ) ~し'ノ~
50 名前:名前は開発中のものです。 mailto:age [2006/09/09(土) 19:16:23 ID:Etye9TEO] age
51 名前:名前は開発中のものです。 mailto:sage [2006/09/15(金) 18:02:34 ID:hLFPrz9k] >>48 あの……落としものですよ? .∧__,,∧ (´・ω・`) (つ夢と) `u―u´ あなたのすぐ後ろに落ちていましたよ? たとえあなたの夢が叶わなかったとしても… .∧__,,∧ (´・ω・`) (つ夢と) `u―u´ 叶えようとしたあなたの心を捨てないで下さいね…
52 名前:名前は開発中のものです。 [2006/11/24(金) 01:07:03 ID:HeoETDlJ] 俺も頑張るよ!
53 名前:名前は開発中のものです。 mailto:sage [2006/11/26(日) 15:41:54 ID:1oJzDjvL] 誰か金をくれ〜〜
54 名前:名前は開発中のものです。 [2006/11/26(日) 19:26:37 ID:8IgW2e6l] Javaの開発は金かかんなくて助かるわ〜
55 名前:名前は開発中のものです。 [2006/12/01(金) 11:09:36 ID:LC+/aYM5] 私もファミコンのゲームにありそうな2Dアクション物を作ろうと思って、Java素人なのですが作ってみました。 未だにアプレットの作り方すらよーわからんです。(^^ゞ ttp://www.perfect-logic.net/SampleAction/
56 名前:名前は開発中のものです。 [2006/12/01(金) 18:01:06 ID:y3AgeiUV] せっかくだから↓で告知して評価してもらってきたら?こんなマイナーなスレじゃなくて ■自主製作ゲーム:開発状況報告スレVer0.7■ pc8.2ch.net/test/read.cgi/gamedev/1153179462/
57 名前:名前は開発中のものです。 [2006/12/01(金) 18:23:44 ID:LC+/aYM5] >>56 ありがとうございます〜。 スレッドを一通り読んでみたら、告知してみますね♪
58 名前:名前は開発中のものです。 [2007/02/27(火) 00:27:51 ID:aBqJ/Obc] ゲーム製作でJavaってあまり聞かないけど どこがゲーム製作に向いてないのでしょう
59 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 02:13:15 ID:vI3+be/W] 別に向いてないわけではない 海外では普通に3Dもバリバリ使われてるし 日本でのJava使い=業務用というイメージかね そのうちでてくるでしょ 去年JOGL1.0になったばかりだし
60 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 08:32:11 ID:Qf1ALB7E] 処理速度的にまだ弱い あとはゲーム作成のノウハウがまだ整っていないところかな まあ速度はハードやAPIが速くなってきてるし 時間の問題かも なんでもタダで環境揃うし俺みたいな貧乏人にはいい環境なんですがね JAVAは
61 名前:名前は開発中のものです。 [2007/02/27(火) 10:52:16 ID:no4sgWaC] woomy.dip.jp/hiyoriyama/index.html エミュレーター?
62 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 11:33:50 ID:B4ufeums] おおむねC言語の9割程度の速度が出ている状況で 2Dアクションゲームで処理速度が足りないなんてあまりなさそうだが
63 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 13:58:54 ID:eZOuwfTZ] >>58 動作にランタイムが必要な点で嫌ってる
64 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 08:01:40 ID:94HMLa1l] winのネイティブゲーの方がよっぽどランタイムに頼ってるこの矛盾・・・問題は初めから入ってるかどうかだな。 速度も描画作法無視した描画やらない限り十分過ぎる。 javaが遅いとか今時言ってる連中は頭が1.3の暗黒時代で止まってる。 3Dの方ならそもそも高級すぎるんでゲーム向きじゃない。JOGLも1.0出したからこれから。
65 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 22:20:31 ID:4ndYI6Y/] java web start が普及してほしい。 というか自分のサイトではjava web start使うようにするわ。
66 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 22:45:43 ID:v+aMbBg1] >>63 まぁ、それも後数年だよ。 そのうちパソコンはみんなJavaベースのOSで動いてJavaアプリを動かすための環境になる。 WindowsやらMacといった旧型OSの方が、JavaベースOS上のランタイム(エミュレータ)で動くようになるだろうね。
67 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 03:37:19 ID:l4bht04N] 組み込みの世界ならそれもありかも
68 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 14:46:34 ID:UpVLWozu] 仮にそのJavaベースのOS上で動くWinエミュやMacエミュが完璧だとして、 そのエミュ上にさらにJavaランタイムが必要になりそうな
69 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 15:52:55 ID:uJO/ivat] 長時間起動したままの場合GCがメモリの断片化を考えると有利だよな 実際ルータとかレコーダとかそういうのでも起こってるし 組み込みのプログラムの規模の肥大化にあわせてアプリ側もヒープの動的確保使わないとやっていられなくなってるし
70 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 12:22:18 ID:xgekqMww] んでそういう組み込まれた機器がPCなんて触った事ありませんって連中の所にあってUIがグラフィックスバリバリとかね。 Flashのメニューみたいな。携帯化するよw エージェントの様なシステムと組み合わせる時にJavaOS使えるかもね。 カーナビにタチコマ、そこからネットワーク介して思考戦車に移動、電脳に移動とか下にあるモン意識せず共通に仮想化出来て。 まあスレチだが
71 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 13:13:11 ID:NZYMmz3a] >>70 これからのゲームはMIDP2.0が標準になるだろうね。 携帯ではすでに当たり前の存在になりつつあるし、パソコンでも利用可能。 機能も本格的なフレームバッファや標準的なサウンド機能とゲーム開発には十分だし。 MIDPで開発すれば「一度書けばどこでも動く」Java本来の世界に逝くことができる。
72 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 14:14:32 ID:/HVMBhqB] JavaMEじゃちと無理だろ JavaSE以上にヒープや使えるマシンパワー、メモリ速度が違いすぎてそれがネックになりやすい あくまでも同一言語で開発が出来て移植が容易という程度だな 同じキャリア内でもゲームとかが個別に対応してる現状を考えるとなおさら
73 名前:C使い [2007/03/17(土) 20:31:37 ID:e0pLCHEg] eclipseちょっと見たけど これからはJAVAの時代がくるかもって本気で思った。 eclipseほどのソフトが無料だったら インディアやチャイニーズのJAVA人口増えそう。 もちろんジャパニーズも
74 名前:名前は開発中のものです。 mailto:sage [2007/03/18(日) 01:44:09 ID:/FCakVJu] そのEclipseはオライリーに去年負け組みの烙印押されてネットで反感かって修整させたようだが Googleも基幹システム実はJavaつかってましたというのもわかっちまったしなぁ
75 名前:名前は開発中のものです。 mailto:sage [2007/03/19(月) 00:09:04 ID:0mpAkYzl] 久しぶりにJOGLのサイトに行ったら、大分バージョンアップしていたな。
76 名前:名前は開発中のものです。 mailto:sage [2007/03/19(月) 21:03:58 ID:Zu/PHoBB] 1.0が去年でて安定してるんで2DゲームでもJOGLは悪くはないだろうね ただ少し古めの統合ビデオだときつい 915GM以降がターゲットならまったく問題はないが
77 名前:名前は開発中のものです。 mailto:sage [2007/03/19(月) 21:43:02 ID:UrJuPpg+] 915GMってそんなに良いチップなの? 具体的にGF4程度の性能はある? 915GM以降ってよく聞くんだけど偶然かな・・・
78 名前:名前は開発中のものです。 mailto:sage [2007/03/19(月) 23:02:35 ID:Zu/PHoBB] 915GM以降がIntelのビデオとして3世代目あたりか 855GMEなど世代目まではDirectXは6くらいまでしかサポートしておらず3Dはおまけ程度 それでFF11が動かなかったが915以降はDirectX9対応して動くようになった 3Dの速度も一気に3倍くらい速くなってる感じ さすがにGF4までの速度はいってないよ 統合チップとしては3Dもかなりのものになったのが915GM GeForce4 MX クラスになったと思えば近いかも ただ、当時より圧倒的にCPUやらメモリの量やらバス帯域やらよくなってるので実現できるものが違いすぎる 915GMなら比較的新しいから性能が低すぎることもなくサポートしやすいってのも大きいね ちなみにMがつくとノート用なのでノート用としてみるとUMAビデオとしてはかなり高性能に見えると思う 915GMの後継が945GMでクロック向上とサポートしてる命令が増えてるとかの差がある あと超低電圧版や低価格機だと945GMSとかになってメモリの速度とかいろいろと遅くなってるので 855GME並みに遅い場合もある
79 名前:名前は開発中のものです。 mailto:sage [2007/03/20(火) 22:03:47 ID:nx0qHnSt] まあ俺はNetBeans派だけどね。 モジュールの作り方覚えたら組み込んでいきたい。 やっぱJDKと一緒にDLできるってのは初心者に勧めやすい。
80 名前:名前は開発中のものです。 mailto:sage [2007/03/20(火) 23:00:07 ID:3GNvhVA2] NetBeansは5.0だったかあたりからアプリケーションで使うライブラリを 自動的にlibフォルダにコピーしてマニフェストファイルでリンクしてくれるのが便利だよな クラスパスをちゃんと知ってる人は別に問題ないけど、知らない人でも扱えるその手間のなさはいい
81 名前:名前は開発中のものです。 mailto:sage [2007/04/04(水) 17:31:18 ID:xZsJ6jDt] FlashとApolloに完全に食われつつある昨今、皆様いかがお過ごしでしょうか。
82 名前:名前は開発中のものです。 mailto:sage [2007/04/04(水) 17:47:32 ID:+3v2Q0mp] 最近ApolloApolloと連呼して荒らしまわってるのはお前か 会社名とか聞くと面白そうだな
83 名前:名前は開発中のものです。 mailto:sage [2007/04/04(水) 17:58:33 ID:UdFABoGJ] 仮想マシン語(中間言語)走らせるタイプだと表面的な言語はシンタックスの違いですらなく、 プラットフォームなんてVMだから関係なく、そこまで行くと 開発の容易さと保守性と開発環境の充実の方が重要だろうなぁ。 JavaのEoDは中途半端で、ActionScriptなんてEcma-262だから保守性なんてあったモンじゃないし、 どっちもどっちだろ。 javaベースはプログラマ、Flashベースはデザイナで済み分けられてる現状、お互い平行線だと思うんだが。
84 名前:名前は開発中のものです。 mailto:sage [2007/04/06(金) 15:58:22 ID:sxRNfl4U] AS/Apollo系のスレではJava厨が跋扈してるのね 正直どういう基準で同列に語ってるのかが理解できない
85 名前:名前は開発中のものです。 mailto:sage [2007/04/06(金) 22:54:19 ID:+twN6j/w] まー、適材適所がわからん馬鹿なんだろ。
86 名前:名前は開発中のものです。 [2007/04/12(木) 19:15:04 ID:e/3TFgB5] これもひどい
87 名前:名前は開発中のものです。 [2007/04/13(金) 00:59:09 ID:uMYzPjGT] JAVAってJITなの?
88 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 04:14:59 ID:X1dHKijv] HotSpot
89 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 10:45:12 ID:HyA+bf47] JITは8年くらい前に卒業 Hotspotというレスポンスとスループットを両立するものになっておる
90 名前:名前は開発中のものです。 mailto:sage [2007/04/27(金) 19:41:09 ID:W0CIDG0i] 12fpsくらいのアクションゲームがあるとしたら、おまえらがっかり? フレームワーク的なものの推奨fpsを模索してるんだが、ラインを知りたい。
91 名前:名前は開発中のものです。 mailto:sage [2007/04/27(金) 19:52:53 ID:2hgvmjyM] 別におもしろければなんでもいいよ ただ、60fpsが余裕で出ると思うのでマシンスペックで300MHzとかを対象にしているのであればそれでもいいけど 最低30fpsはほしい希ガス
92 名前:名前は開発中のものです。 mailto:sage [2007/04/27(金) 20:56:23 ID:W0CIDG0i] Javaで30fpsって迷うよね。TimerTaskかポーリングか。 低負荷なポーリングとかあるんだろうか。
93 名前:名前は開発中のものです。 mailto:sage [2007/04/27(金) 21:14:55 ID:2hgvmjyM] 精度重視ならある程度のsleep等+ポーリング 実際はフルスクリーンならタイマー+垂直同期のみでいける ウインドウ時で垂直同期を取るにはJOGL+UMA以外のビデオ搭載のやつが必要 どっちにしろ60fpsは余裕
94 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 01:15:47 ID:Yt5Nv7VQ] >>90 12fpsでも遊べなくないからがっかりはしない。 GUIツールキットと描画に何を使うかでもfpsは差があるからそれ次第でもある。 AWT + JOGLで最近の性能ならjake2で300fps位、JOGLのデモでもそれ以上出る。 描画が何にしてもSwingだとSwingのバッファに書いてからパイプラインに渡す分遅いがそれでも、 60fpsは出る。今時javaで速度気にすんのは知らん人間だけだよ。 それより、俺としてはデカイGCがドカっと来て明らかにもたついてんのは気になるかな。小さいCGがチマチマ来るのは気にならない。 今からフレームワーク作るならアプレットよりJWSを視野に入れた方が良いよ。 と、AWT+JOGL+JMF(+JOAL)+viajeで作ってる最中の俺が言ってみる。 AWT使うならインストール型標準拡張のJNIくらいpure Javaと差はないと思ってる。 ・・・と、俺の考え。
95 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 08:48:04 ID:GbSr5Tht] >>94 JOGLはGLJPanel使うと60fpsでないな その改善をJavaSE6でやるはずだったが、ベータ版は有効だったのに正式版で無効になった JavaSE7でちゃんとOpenGLパイプラインが動けばGLCanvas捨てることが出来るんだけどね GLCanvasはフルスクリーン時描画が出来ないバグもちだから実は使いたくないと思ったり そのかわりビデオチップによってはウインドウモードで垂直同期が効くというすぐれものだったりもするが
96 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 11:37:11 ID:HANiMBGR] パイプラインの変更は既に実装済みでも有効にするとVGAドライバのバグ誘発してOSと無理心中だから仕方ない。 しかも有効にした途端に必ず落ちるという訳でもないみたい。やっかいだねぇ。 java側の問題ではないからSEのバージョンは関係ないよ。 ゲームならGUIは自前だからAWTの見た目なんて関係なし、フルスクリーンはどうだろう、やる人間の好みかな?エロゲだと居るだろうねw けど、アプリ実行中にころころウィンドウとフルスクリーン切り替えれるのってwinくらいなんじゃなかったっけ? JOGLが実際に使える段階まで来たのは良い事だよ。しかも、最近やたら更新早い。 java.netでホストされてる標準ライブラリに取り込まれてない 公式プロジェクトは頻繁にクラス・パッケージ構成が変わるからフレームワーク組むとき困るよ・・・。
97 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 12:05:58 ID:PlJLH/jq] フルスクリーンはアクション系こそ必要 そしてここはアクション系のスレ パイプライン有効にするとすべての環境で不具合が出るんだけれども特定のドライバの問題ってわけではないようだ J2SE5.0からSwing描画にOpenGl使えるようになってるんだけれども、有効にするとリペイントマネージャまわりがおかしいのかめちゃくちゃになる 標準でOpenGL使えるようになるには遠すぎ
98 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 12:36:04 ID:usJc8olx] -Dsun.java2d.opengl=true -Dsun.java2d.opengl.fbobject=false 付けて暫く動かしてみそ、ドライバによってはドライバのバグを再現する。必ずなる訳ではない。
99 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 12:50:51 ID:PlJLH/jq] UMAビデオでもGeForceでもだめだが?
100 名前:名前は開発中のものです。 mailto:sage [2007/06/03(日) 17:25:21 ID:wvWDdkI8] 12fpsでアクションゲームってwww 今時、Flashでも30fpsは出るぞ
101 名前:名前は開発中のものです。 mailto:sage [2007/06/03(日) 17:30:39 ID:qjYqK/Ln] あおり方間違ってるぞ Javaでは垂直同期を取って60fpsが可能。これはflashには不可能。 上の12fpsというのは作者が12fpsでつくってもいいか?といってるだけかと。 そもそも4月の書き込みに今頃つっこむなぞ・・・
102 名前:名前は開発中のものです。 [2007/09/08(土) 04:36:01 ID:sP8eKrEk] Java(アプリケーション)のスレッドがないのでここで 質問させてもらいますが、インスタンスのプールってどのように 実装していますか? あと、画像の透過はどうしていますか?gifやpngだとジャギーがでてくる ので画像を二枚用意して比較させて1ドットづつアルファ値を設定して いますがいい方法があったら教えてもらえませんか?
103 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 13:04:20 ID:F1K7atqP] インスタンスプールの実装がわからないのならそれはまだ使うタイミングではないと思われ 必要な場合ってのは限られるからね 画像に関してはJava2Dでアンチエイリアスをかけるようにする もしくはpngでαつきで作成しておく
104 名前:名前は開発中のものです。 mailto:sage [2007/12/31(月) 01:08:49 ID:DW0nBc61] ggsdg dfhhf fdgg sdgsd sdgsd
105 名前:名前は開発中のものです。 [2007/12/31(月) 06:06:31 ID:nIWs4m/L] 晒しあげ
106 名前:通行中のjuner mailto:sage [2008/03/10(月) 09:01:44 ID:Hz+DJliq] 通行ついでに、最近スキルを得る為に作ってみているものを貼ってみる。 ttp://juner.csx.jp/game/unb/
107 名前:名前は開発中のものです。 mailto:sage [2008/03/10(月) 09:11:13 ID:Dcr87hng] >>106 www.vector.co.jp/soft/win95/game/se119747.html ゲーム用爆発アニメーション作成ツール
108 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 01:59:19 ID:klztBJ6c] >>105
109 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 17:14:17 ID:xVETCOHb] 新しいgamdeve かきかき TopPage - game-develop.com wiki wiki.game-develop.com/ GameDevWikiを何とかするスレ pc11.2ch.net/test/read.cgi/gamedev/1156117275/
110 名前:名前は開発中のものです。 mailto:age [2008/08/15(金) 10:54:51 ID:fu+JQp+m] あげ
111 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 17:57:33 ID:cm8lH5DO] Javaゲーム作成の総合スレみたいなスレが無いのですが、 どなたかたてていただけないでしょうか?
112 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 21:34:26 ID:GqjEpIM5] 総合スレ pc11.2ch.net/test/read.cgi/gamedev/1013953851/
113 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 16:56:19 ID:BFNfndoR] 前立ったのはすぐ落ちたからな・・・
114 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 19:25:28 ID:WJzGqLN0] この板を「java」で検索したら五つありますね。 アクションを作りたいならこのスレ、他には 「Javaアプレットのゲームの限界は!」 pc11.2ch.net/test/read.cgi/gamedev/1005230153/l50 「JAVAアプリでゲーム」 pc11.2ch.net/test/read.cgi/gamedev/1033926010/l50 言語としての質問ならプログラム板にたくさんスレがあります。 過去には単発作品スレみたいなとこでボンバーマンやさいたまSTGを 作ってるスレをみた事あります。 それとも、「Javaゲーム総合」みたいなスレがほしいとかでしょうか いまJavaでがんばってる人いないから期待します。 ここも休眠ぽい。 javagame.skr.jp/
115 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 01:05:24 ID:LURDNrEZ] もう落ちたスレばっかりだけれども過去に語りつくしたというのが正しいかと 基本的に1.4.1の時点でアクセラレーションがきいてきたりしてるし1.5、1.6とあまりパワーアップはしていない あ、でもJavaSoundは使いやすくなってると思う 凝ったことをしたりアクセラレーションを最大限にしたいのならJOGLを使う ジョイパッドを使いたいのならJNIは必須になるのがちょっと厄介かな ほとんどの場合Windowsさえ対応していればいいのだろうけど
116 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 01:13:52 ID:LURDNrEZ] 基本的にJava自体の機能・性能向上と1GHzを超えた今のマシンの性能では大概なんでもできるよ 60fpsでアルファブレンディングばりばりでOgg Vorbisでサウンドもならしたりするのもね ゲーム自体の作成が初めてなのか、Javaでの作法がわからないのかというところだが、 前者なら今はゲーム開発がわかる雑誌がほぼ全滅してるのでちょっとつらいかもしれない 15年前は大量にあったのにねぇ 後者ならば「15歳からはじめる〜」というのが一番の解かな ゲームをとにかくすぐに作りたいのならば「ShinGL3」 そこにある2面まであるサンプルSTGがShinGL3つかってるから機能は分かりやすいはず
117 名前:名前は開発中のものです。 mailto:sage [2008/09/07(日) 13:54:34 ID:8xBduqc8] そもそもVMが糞だから Sunの技術者って底辺ドカタみたいなのしか居ないんだろうか
118 名前:名前は開発中のものです。 [2008/09/08(月) 11:12:42 ID:xrQK/F8B] 4年目にしてやっと118レスおめ
119 名前:名前は開発中のものです。 mailto:sage [2008/09/08(月) 12:43:48 ID:dLS/wPVc] 記念パピコ
120 名前:名前は開発中のものです。 [2008/09/21(日) 18:46:00 ID:OsH1BNzp] Javaでアクションゲームつくっても、コントローラーが使えないから遊べないんだよな・・・・
121 名前:名前は開発中のものです。 mailto:sage [2008/09/21(日) 21:24:54 ID:r4b2JGP3] JNIで実装汁
122 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 00:03:29 ID:vRkjT2mF] JoyToKeyみたいなのをユーザ側で用意してもらうとか
123 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 00:29:14 ID:tOuH/n2C] jmonkeyengine
124 名前:名前は開発中のものです。 [2008/10/03(金) 00:20:58 ID:+ke5of9f] javaで画面を揺らすにはどうしたらいい? ドラクエでダメージうけたときみたいに
125 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 00:53:13 ID:j+bPhG3o] Javaだろうがそうでなかろうが、変わらんと思うけど
126 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 01:25:42 ID:Ai04tfzT] 仮にJavaAppletで作っているとしたら、JavaScript側にアクセスして ウィンドウ全体を揺らすとかいうネタを仕込むのも面白いかもね 雑魚戦じゃなくイベント限定にしないとウザイが
127 名前:名前は開発中のものです。 [2008/10/04(土) 04:59:23 ID:wlsIJF4e] オート戦闘でメッセージ作成と表示の同期をとるにはどうしたらいい?
128 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 10:19:46 ID:eBSs+DHR] Javaだろうがそうでなかろうが、変わらんと思うけど
129 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 11:01:12 ID:XU1Q4+7D] なんかJavaとまったく関係のない質問ばかりくるのはなんでだろう
130 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 12:32:07 ID:NE5vtfU1] つまりJavaでのゲーム制作も一般的になったと言うことですね、分かります
131 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 12:34:28 ID:eBSs+DHR] 確かにそういう面はあるのかもしれないな
132 名前:名前は開発中のものです。 [2008/10/04(土) 14:12:05 ID:wlsIJF4e] お前らスキルがないなら黙ってろよ
133 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 17:03:04 ID:XU1Q4+7D] 質問するスレまちがえてるのになんだこいつは ああ、釣られてしまったか
134 名前:名前は開発中のものです。 [2008/10/04(土) 18:12:06 ID:wlsIJF4e] アクションゲームでもこういう要素はあると思うんだけどな ああ、ここは「初級」者しかいないのか・・・・
135 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 18:53:47 ID:lCxx5DEZ] そりゃ上級者さんたちはこんなところに頼らなくても自力で解決なさいますから・・・
136 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 02:18:13 ID:cgXuY+W+] アクションゲームでもない質問だったのかいw
137 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 02:55:24 ID:cgXuY+W+] まあ、1フレーム中でのエフェクトやメッセージ表示や音再生を保持するクラスを作って、 listに突っ込んでいけばいいんでないかい? んで、frontから再生していく。 1フレーム区切りだとデータ量が多くなると思うなら、もっと長く区切ってもいいし。 その場合、コードが煩雑になるけどね。
138 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 10:47:17 ID:esDCMgrI] スレ間違えて自分で解決も出来ないくせに初級者しかいないとか わめきちらすID:wlsIJF4eがいるスレはここですか?
139 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 11:26:48 ID:k/pYUo2C] JMonkeyEngineの解説してください よろしくお願いいたします JMonkeyEngineは3Dのエンジンみたいですが、2Dもつくれますよね? ゲームループとかも管理してくれるみたいだから知りたいです よろしくお願いいたします
140 名前:名前は開発中のものです。 [2008/10/05(日) 14:46:42 ID:vHSrsShI] 動作上2次元かもしれないけど 内訳では4次元配列くらいが必要では?
141 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 22:48:03 ID:B28yXkKi] アプレットとかJWSとかでJOGLやるやつってdll類はどうしてんの? 全部署名つけてオレオレ証明書でダイアログ出す? それでユーザに「危ないってダイアログ出すけど信用してOK押して」って言うわけ?
142 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 22:55:31 ID:Za20XjLJ] Sunの署名付きのjar(DLL入り)が配布されてるのでそれを使う
143 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 10:06:43 ID:rhB09fqh] if(isJump == false && jumpKey == ture) { // ジャンプ中でなく、ジャンプキーが押されたら isJump = true; // ジャンプ中にする vy = -jumpSpeed; // ジャンプスピード(初速) } vy += gravity; // 重力をかける ---------------------------------------- 横スクロール(マリオ型)アクションゲームで、上記みたいにジャンプを実装している場合、 「ジャンプキーが押された時間が短い場合は小ジャンプにする」 という風にするには根本的にプログラムを変更しないといけないですか?
144 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 10:44:45 ID:Wn6D0K7q] 物理的にはおかしいけど空中でもボタンが押されてたら上向きにちょっと加速度与えればいいだけ 実際マリオはそうだろ
145 名前:143 mailto:sage [2009/02/23(月) 19:48:11 ID:8ReVmxnp] >>144 マリオはそうなんですか、知りませんでした。 それでやってみます、ありがとうございました。
146 名前:名前は開発中のものです。 [2009/03/04(水) 20:49:06 ID:BgNcpKU6] >>51 (´・ω・`)ショボーン imepita.jp/20090124/089930
147 名前:名前は開発中のものです。 mailto:sage [2009/03/22(日) 07:24:47 ID:O3SVwcBu] JOGLのGLCanvasで自前ループ内display()させてるとどうもちらつく 別スレッドでAnimator使ったりしないとまずいのだろうか 垂直同期との明示化がわからん(環境によって自動的にできたりできなかったり?)
148 名前:名前は開発中のものです。 mailto:sage [2009/03/22(日) 12:09:18 ID:t26wnkyW] displayってコールバックだから自分で呼ばないほうがええんじゃ
149 名前:名前は開発中のものです。 mailto:sage [2009/03/23(月) 20:58:13 ID:UqizvfMn] というか、それで例外吐かないんだ。 JOGL使いは占めのころは、OpenGL系のAPIを別スレッドからアクセスしたら いきなり例外吐いてびっくりしたものだが。
150 名前:名前は開発中のものです。 mailto:sage [2009/03/23(月) 21:25:56 ID:uzXOwN2A] TextureIOの初期読み取りロジックを別に抜き出した時は別スレッド扱いの例外吐かれて困まった。 一本道のつもりだったのだけどイベントリスナスレッドとかが影響してるのか。
151 名前:名前は開発中のものです。 mailto:sage [2009/03/23(月) 22:17:05 ID:dbyr6AlE] >>150 自分はTextureIOのnewTextureがコンテクスト依存と思っていなくて 半泣きになったことがある。 enableとかbindをしなければ、別スレッドから呼んでも大丈夫だろうと 思っていたんだよなあ… 結局、テクスチャ登録は絵だけ準備してフラグを立てて、 displayメソッドの中からフラグをチェックしてテクスチャオブジェクトを生成するという めんどうな動きになった。
152 名前:150 mailto:sage [2009/03/23(月) 22:38:48 ID:uzXOwN2A] >>151 同じ症状だったと思う。とった解決策も同じだ(w もうちょい綺麗に書くイデオムみたいのはあるのかな。
153 名前:151 mailto:sage [2009/03/23(月) 23:00:18 ID:ZB3pm8mv] >>152 仲間がいたようなのでついでに聞いてみる。 テクスチャオブジェクトのガベージコレクションってどうしてる? ファイナライザにdisableを仕込みたいところだけど、 ファイナライザはGLAutoDrawableとは別スレッドから呼ばれるだろうから、 同じ理由で例外吐いて死にそうな気がする。 自分の場合、これはまだ解決してない。 オブジェクトが破棄されるたびにVRAMにゴミが残るわけで、 どうしたものかと思っているんだが… やっぱり、ゲームエンジン側で管理すべきなのかな。 テクスチャオブジェクトの管理用コレクションとモデルオブジェクト管理用コレクションを見比べて、 「そのテクスチャを利用しているモデルオブジェクトがもはや存在しない」 となった時点で明示的にdisableをかけて、それからremoveする、と。
154 名前:名前は開発中のものです。 mailto:sage [2009/03/23(月) 23:22:49 ID:uzXOwN2A] >>153 シーン中にインテリジェントに捨てる事に関してはオブジェクトに関してもテクスチャに関しても考えてないや シーン中は(理論上)無限にプーリングしてシーン終了時の後始末でシーンコンテキストのテクスチャを全disable & 削除っていう方針 テクスチャ画像の重複登録をしないのは当然として、そこまで多種の画像を読み込む事を想定していないってのが正直な所
155 名前:151 mailto:sage [2009/03/23(月) 23:27:33 ID:ZB3pm8mv] >>154 なるほど。その辺は割り切っちゃうという手もあるな。 自分のゲームエンジンでもテクスチャは共用されるから、 確かに、さほど厳密に管理しなくともVRAMを圧迫しない気はする。 考えてみれば、256x256x32bitなら、たかだか256KBだからなあ。
156 名前:154 mailto:sage [2009/04/02(木) 19:49:00 ID:rnxHGA2h] 過疎っているなぁ。 基本的な方針は同じだけどdisableに関してはテクスチャを使うときに enable → bind → 表示 → disableを毎回するように変えた。 やっぱりカレントスレッド問題が色々と面倒くさいので。
157 名前:名前は開発中のものです。 mailto:sage [2009/04/09(木) 01:21:53 ID:QVY5xGft] >>156 総合スレとの区別があいまいだしねえ… ちなみに、enableしてないテクスチャオブジェクトをdisableすると例外吐くんだっけ? これを受け付けてくれるなら、いきなりdisableしてもいいような気がする。 逆に、enableを多重にやると、VRAMに同じテクスチャイメージが多重登録されたりしそうで心配だが、 取り越し苦労だろうか。
158 名前:名前は開発中のものです。 mailto:sage [2009/04/14(火) 17:40:52 ID:Wx3DB5EW] >>144 すげえあたまいい・・・と感動してしまった
159 名前:名前は開発中のものです。 [2009/05/14(木) 21:04:29 ID:jnlC9FY/] >>146 オハヨー!! ∧∧ ∩ (`・ω・)/ ⊂ ノ (つノ (ノ ___/(___ / (___/  ̄ ̄ ̄ ̄ ̄ ̄
160 名前:名前は開発中のものです。 [2009/11/04(水) 00:17:42 ID:mdwZ7HUY] アニメーションの表示ってどうやってます? 俺はコンピュータ内蔵の時計呼び出してその値からやってるんだけど、 そうするとポーズ画面のあと再開したときにアニメーションがずれちゃうんだよ どうしたらいいかな
161 名前:名前は開発中のものです。 mailto:sage [2009/11/04(水) 10:26:18 ID:MgRdkNpl] 経過時間を算出するようにして ポーズ中は経過時間が増えないようにするとか
162 名前:名前は開発中のものです。 mailto:sage [2009/11/04(水) 21:22:33 ID:OEwandvL] ゲームのはなしじゃないの? フレーム単位で処理するからずれるとかはないとおもうけど 可変フレームのはなし?
163 名前:名前は開発中のものです。 mailto:sage [2009/11/04(水) 21:46:58 ID:wmTV4PxT] 可変フレームでもアニメのコマnからn+1へ描画させるタイミングをフレームを考慮した時間後に書き換えるからずれはしない。 何か忘れてる。
164 名前:名前は開発中のものです。 mailto:sage [2010/03/02(火) 23:08:25 ID:Ex3WWwU3] test
165 名前:名前は開発中のものです。 mailto:sage [2010/05/07(金) 20:42:20 ID:WillkCAw] javaはpng画像の表示は重いですか? マリオ風をつくってるんですがgifで表示させてた時よりカクカクします。 フルカラー+透過を実現したくてpngにしたんですが…。
166 名前:名前は開発中のものです。 mailto:sage [2010/05/07(金) 21:15:05 ID:j/r3kS3U] ソフトウェア描画だからな それでなくても透過合成は重い部類だし
167 名前:名前は開発中のものです。 mailto:sage [2010/05/07(金) 23:37:10 ID:KEJO6T7M] αブレンディング使ってるならハードウェアアクセラレーションがきいていても使っていないときよりは速度は落ちる スペックにもよるが32*32のスプライト10万個くらいだすと60fps維持できないと思う
168 名前:名前は開発中のものです。 mailto:sage [2010/05/08(土) 20:58:02 ID:2Mve6/zz] アルファチャンネルじゃなくて、普通の透過なんですけどね…。 別の方法試してみようと思います。ありがとうございました。
169 名前:名前は開発中のものです。 mailto:sage [2010/05/08(土) 22:13:03 ID:+nu9nO6K] ならコードが悪いだけだな
170 名前:168 mailto:sage [2010/05/09(日) 01:02:49 ID:f5Ph/Aqm] >>169 drawImageでダブルバッファリングしながら表示させてます。 1000*1000くらいの大きな画像に24*24くらいのマップチップやキャラチップを並べて、 drawImage(img, x1, y1, x2, y2, imgX1, imgY1, imgX2, imgY2, observer); でimgX1〜imgY2を指定してチップを表示してるんですが、もしかして各チップを 一つずつのファイルに分けた方が高速ですかね?それともdrawImage使うのがそもそもダメですか?;;
171 名前:名前は開発中のものです。 mailto:sage [2010/05/09(日) 10:10:47 ID:Pu1jTf/z] 転送元と転送先のImageはなに? あとJavaはJavaSE6update10以上つかってる?
172 名前:168 mailto:sage [2010/05/09(日) 16:51:18 ID:f5Ph/Aqm] 転送元と転送先のImageというのは、描画する画像の型と描画先の画像の型という意味でいいですか? 一応Image型をBufferedImage型に描画してます。 転送元がImage型だからカクカクするのかなと思ってBufferedImage型→BufferedImage型も試してみましたが あまり改善されませんでした。 JavaバージョンはJavaSE6update18です。
173 名前:名前は開発中のものです。 mailto:sage [2010/05/09(日) 21:02:07 ID:Pu1jTf/z] 転送元がImageということはどういうフォーマットになっているかわからないってことかな。 描画バッファから画面への転送の方法とかどうしているかも気になる。 あとはピクセルフォーマットを同設定しているかか。 転送もとのフォーマット 描画バッファのフォーマット 画面のフォーマット これらをどう設定しているかにもよる。 あとImageの分割もやってみた?32bppだと1000*1000で4MBも食うわけで。
174 名前:名前は開発中のものです。 mailto:sage [2010/05/09(日) 21:14:11 ID:o2jE/Yfm] もうハードウェアアクセラレーションが効く環境に変えちゃえばいいのに アホみたいに速いよw
175 名前:名前は開発中のものです。 mailto:sage [2010/05/09(日) 22:56:26 ID:eCAtLDK5] >>168 カラーが24bitなら透過は8bitになってると思うよ そして全ての透過値が0xffか0x00しかなくても、8bitのアルファチャネルがあるのと同様のロジックが走る アクセラレーションが効いてなければ結構描画効率は落ちる マリオみたいなゲームなら1チップに255色以上使う必要性も少ないだろうし、 リソース合成時かゲーム起動時に減色して透過インデックスを指定するようにしたらどうかな
176 名前:168 mailto:sage [2010/05/10(月) 01:29:54 ID:CH9wxDuw] 皆さんありがとうございます。 javagame.skr.jp/index.php?%A5%A2%A5%AF%A5%C6%A5%A3%A5%D6%A5%EC%A5%F3%A5%C0%A5%EA%A5%F3%A5%B0 に書いてある、repaint()を使わないで描画する方法(アクティブレンダリング)というのをやってみたら大分カクカクが収まりました。 >>173 すいません、勉強不足で仰られていることの意味がわからないんでコード晒します。 >>168 からいろいろ変えてみて、今現在、 Image img = Toolkit.getDefaultToolkit().getImage(getClass().getResource(filename)); MediaTracker tracker = new MediaTracker(this); tracker.addImage(img, 0); try { tracker.waitForID(0); } catch (InterruptedException e) { e.printStackTrace(); } BufferedImage bimg= new BufferedImage(img.getWidth(null),img.getHeight(null),BufferedImage.TYPE_4BYTE_ABGR); Graphics g = bimg.createGraphics(); g.drawImage(img,0,0,null); でpng画像をbimgに読み込んだ後、drawImageでオフスクリーンバッファに描画してます。 画面への転送方法は先程も書きましたがrepaint()を使わない方法に変えてみました。 あと、画像を最初にBufferedImageで読み込んでいても、チップは分割しておいたほうがいいですか? >>174 すいません、軽く調べましたがなんか難しそうなので諦めます。 >>175 そうなんですか。うーん、どうしてもフルカラーでいきたいんですよね…。無理そうならgifに戻すことにします。
177 名前:名前は開発中のものです。 mailto:sage [2010/05/10(月) 22:09:49 ID:rdBA97qw] 画像のロードは遅延読み込みやりたいわけじゃないならImageIOつかうとよいよ。転送待ちをする必要ないし。 あとABGRとかARGBとか順番によって大きく速度が変わるからピクセルフォーマットは意識したほうがよい。 転送先はVRAM、もしくはコンパチブルピクセルフォーマットのほうがいいよ。 そして転送元もあわせたほうがよい場合が多い。 あとは特定色の透過をしたい場合TransparencyがBITMASKになってると大概早いはず。
178 名前:名前は開発中のものです。 [2010/05/11(火) 10:35:00 ID:RB0dCl6F] 初級って書いてあるから開いてみたけど 話が難しすぎてさっぱりわからないwww ダメだ俺orz