Javaでゲーム作成 2本目at GAMEDEV
Javaでゲーム作成 2本目 - 暇つぶし2ch308:名前は開発中のものです。
06/05/16 11:35:56 pNczDPI9
ファミコン時代にバッファがあったと思うか?
ひたすら上書き

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

それだけだよ


309:名前は開発中のものです。
06/05/16 11:37:03 pNczDPI9
一応レイヤーという考え方もありだが、いまだとそっちのほうが楽だろ
それぞれウインドウ内のみの描画管理
画面全体の描画でそれらを適切に呼び出す

310:名前は開発中のものです。
06/05/20 04:48:56 i7QcIrxX
>>308-309
遅くなったけどサンクス
なんとなく分かってきた

キャラやアイテムのリスト作るのが面倒臭いな・・・
存在してるキャラ、所持してるアイテムを調べてリストにして
多ければウィンドウをスクロールさせなきゃならぬ
面倒だけどがんばるか・・

311:名前は開発中のものです。
06/05/20 09:04:00 R0av8b56
面倒か?
わからなければ先にUMLでもなんでもいいけど処理の手順を書いたほうがいい


312:名前は開発中のものです。
06/05/21 05:45:05 BQPLtheI
処理を考えるのが一番面倒だ
きちんと順序立ててやってみるよ・・

313:名前は開発中のものです。
06/05/22 04:54:34 rAUj867u
俺はデータモデルの設計が一番面倒だなぁ。
変更や拡張に強く、ネットワーク越しの同期の取りやすいデータモデルをとか考え出すとはまり込む。

314:507
06/05/22 19:16:41 KUql4eEY
Javaを最近勉強しはじました。
とりあえず簡単なゲームを作りたいと思っているのですがどれ位勉強すればいいですか?

315:名前は開発中のものです。
06/05/22 19:27:29 bgWiXtf3
ゲーム作りで勉強すれば
そういう本最近多いし

316:名前は開発中のものです。
06/05/23 14:28:37 qGRGm1GF
if else で100近く分岐しそう・・
激重かな

317:名前は開発中のものです。
06/05/23 15:24:24 5zoiL+RS
>>316
どういう風に分岐させたいんだ?

318:名前は開発中のものです。
06/05/23 15:30:17 nyPWq5Mq
100こくらいのifでおもくなるって10MHz切ってるマシンの人かな


319:名前は開発中のものです。
06/05/23 22:43:16 qGRGm1GF
>>317
たとえばさ、魔法クラスがあって、そのメソッドに魔法No.をわたして
そのメソッド内で渡されたNo.によってswitchで分岐させるとか

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

あと、変数は少ないけどメソッドがたくさんあるクラスのインスタンスを
100個くらいつくるとメモリがやばかったりするかな?

320:名前は開発中のものです。
06/05/23 22:51:29 wlFUtSp+
class Magic
{


321:320はミス
06/05/23 22:57:01 wlFUtSp+
abstract class Magic{
public abstract void perform();
}
みたいにして、個別の魔法はこれを継承するようにするとJavaらしくなるよね
実際にゲームを完成させる気ならこんなことしないだろうけど

メソッドはたくさんあっても問題なし

322:名前は開発中のものです。
06/05/23 23:14:15 qo1KKw1q
デザインパターン立ち読みでもいいからおぼえとくといいぞ

制御とデータをわけるという考え方は
Cとか構造化言語までのものだ

323:名前は開発中のものです。
06/05/23 23:18:59 qo1KKw1q
>>321
いや、ゲームでも普通はそういうプログラムを書く

それと識別させたいのならenumを使え
switchもつかえるし

324:名前は開発中のものです。
06/05/23 23:34:50 qGRGm1GF
レスサンクス
おかげで設計ができてきた
enumすか・・あまり馴染みがないから学ぶよ

ところで>>321の4,5行目が素でわからない
アフォですまぬ
教えてもらっていい?

325:名前は開発中のものです。
06/05/24 00:05:11 qo1KKw1q
ポリモーフィズムとかStateパターンとか
そのへんしらべてみるとわかるよ

326:名前は開発中のものです。
06/05/24 00:29:52 0rz/nhQ6
おk、ゲーム作りながら勉強する
いろいろサンクス

327:名前は開発中のものです。
06/05/27 11:28:27 MsTUcez+
VectorにStringとInteger入れて、取り出すときに
Integerの要素をStringでキャスト、変換したり
Stringの要素をIntegerでキャスト、変換したら
エラー出るかな 面倒くさいんでInteger、Stringで統一してるんだが

勉強すればわかることだけどもしよければレスちょうだい

328:名前は開発中のものです。
06/05/27 11:38:38 EufEKVaf
それぞれIntegerとStringが対応してるんなら
class (名前)
{
public String getString();
public Integer getInteger();
}
みたいなクラスを作る

対応してないんだったら、String用のVectorとInteger用のVectorを別にする

329:名前は開発中のものです。
06/05/27 11:49:40 ryxQUfnb
キャストはかならずクラスの関連性がないと無理
かならず数字を含む文字列ということであれば格納前に返還すればいいだけの話だが
この情報だけではどうしたいのかがわからない

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

シングルスレッドならパフォーマンスはまずかわらんけどな


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

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

話変わるけど、コマンドの実装が面倒だ・・
移動コマンド、アイテムコマンド、魔法コマンド、使用対象コマンド・・
それぞれにクラス作ってそのクラスのキーイベント処理メソッドを
現在のコマンドモードによって呼び分けなきゃならん
いい方法ないかな

331:名前は開発中のものです。
06/05/27 13:39:56 8ehQx4Ia
よくわからんがキーイベントにゴリゴリ書いてるのか?
それならフレームワークの設計自体からやりなおしたほうがいいぞ

332:名前は開発中のものです。
06/05/27 13:57:59 MsTUcez+
ゴリゴリ書いてる・・
とりあえず組んでみようとは思ったがマジで勉強が足りんらしい
チラ裏スマソでした

333:名前は開発中のものです。
06/05/27 14:12:56 8ehQx4Ia
キーイベントではキーの入力フラグを上げ下げするだけ
そしてゲームのループ内でそのフラグを読み取る

これでおけ

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

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

ここの住人はレベル高いね スレ汚しスマソでした

335:名前は開発中のものです。
06/05/27 14:52:54 8ehQx4Ia
ループ内は60fpsとか固定でチェックするから問題ないよ

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

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

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

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

とにかくメインループで取得して状態に応じてswitchで戦闘時なのか移動時なのか
キャンプコマンド中なのか分離するようにかけばおけ

336:名前は開発中のものです。
06/05/27 17:41:03 MsTUcez+
ゲームの作り方か・・
一から設計見直すよ
マジで参考になった、ありがとう

337:名前は開発中のものです。
06/05/28 16:35:03 su6FTHmr
C++だとエフェクト(爆発とか)は加算合成を使うって書いてあるんですがJavaでも同じような方法で実装する手段ありますか?

338:名前は開発中のものです。
06/05/28 17:06:46 oT4lybEG
Java2Dには通常合成はあるが加算合成はない
自前で実装するかJOGLとかで3Dで描画するしかない

>>11とかのライブラリに単純な合成がある模様

339:名前は開発中のものです。
06/05/28 22:35:07 L8EQs44V
>316
ifをバイナリツリーみたいな構造にすれば
log2(100)の回数の比較だけで済むんじゃないか?

340:名前は開発中のものです。
06/05/30 19:56:51 AkbGbw5f
mpeg2のような差分圧縮形式のシーケンシャルアニメーションって負荷高いですか?
レイヤー可能でそれを実現できたらコンパクトになるなと思ったのですが

341:名前は開発中のものです。
06/05/30 21:02:41 bnvMLnBd
Javaの質問と関係ないな
効率がいい場合と効率が悪い場合があるっしょ

342:名前は開発中のものです。
06/05/30 22:16:22 AC7eOzy5
>>339
ポリモフィズムで解決という結論がとっくに出ていると思うのだが


343:名前は開発中のものです。
06/05/31 19:31:13 kqayNosp
みんなが配布物に同梱してるSPIってOGG Vorbisくらい?
これが便利ってのがあったら教えてください。

344:名前は開発中のものです。
06/05/31 22:06:19 H+lYwXra
だろうね
OggVorbisさえ再生できればだいたいこまらん


345:名前は開発中のものです。
06/06/01 20:01:54 oy8AdH4m
Javaのゲームライブラリ作成中。Flashの1/2くらいの表現力、生産性が目標。
まぁ皆も半月くらいでライブラリは作って、オーサリング環境作るのに挫折するんだろうけどね。

346:名前は開発中のものです。
06/06/01 23:16:05 mTuQuIix
普通に考えてFlashより表現力は上だし
生産性もFlashはスクリプトがおわっとるからまけないだろ

347:名前は開発中のものです。
06/06/01 23:24:39 IyLxQihX
実行環境の普及率と人々のイメージ

348:名前は開発中のものです。
06/06/02 02:24:25 IlXUhKKR
FLASHと比べるんだからブラウザ上で動かすんだよな
・MIDIや圧縮音声を再生する
・BGMと映像を確実に同期させる
・表示サイズを変更するとそこそこのクオリティで拡縮表示する
あたりが大変そうだ

349:名前は開発中のものです。
06/06/02 07:57:55 OCsBTCKI
・JavaSoundでmidiと圧縮音声は問題なく可能。すぐ上でOggの話が出てる。
・BGMとの同期はそうつくればいいだけ。
・拡大縮小時にアンチエイリアスをかけるかどうかの設定が可能。アルゴリズムも設定可能。

別に大変じゃないし


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

なんかFlash8.5からはさらに高度なAPIを持つらしいし
実装の研究をする教材としてはかなり好奇心がくすぐられる。

351:名前は開発中のものです。
06/06/05 07:16:50 voSd2aR7
JavaでノベルゲームとかRPGって作れますか?

352:名前は開発中のものです。
06/06/05 10:04:02 EcpAwWeS
macromediaはずっとデザイナー偏向で作ってきたけど
adobeとの合併で技術者向けのAPIも良くなってくと思う

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

>>351
うん

353:名前は開発中のものです。
06/06/06 01:13:29 wO6xzgzA
>>351
余裕

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

ただJAX-WSとかGroupLayout標準装備があるんで
企業向けではアプレットやWEBStartが今でも多少使われているのが
今後さらに加速するかも


354:名前は開発中のものです。
06/06/06 23:16:48 /CfzneHU
個人的にはアプレットが一番好きだ
Webで公開して気軽に遊んでもらえるし

355:名前は開発中のものです。
06/06/06 23:20:22 wO6xzgzA
1.1時代のアプレットだとまともにうごかんしな
1.2以上だと別途セットアップが必要
1.2時代のJREなら今のブロードバンド時代なら問題は少ないのだが
5.0のサイズはすげぇ
1.4がかわいく見えるくらい


356:名前は開発中のものです。
06/06/07 21:23:04 IghNSOPk
今はJavaくらいふつうに入れてない?
メーカー製パソコンとかって入ってないの?

357:名前は開発中のものです。
06/06/07 21:41:53 4a3JF+Q3
まあJREも楽勝でインスコできるからな

358:名前は開発中のものです。
06/06/07 23:03:47 k1IxK3O2
>>356
バージョンは買ったときのマシンでばらばらだしそれを期待するのはちときつい
ゲームなら新しいバージョンになればどんどんよくなってるのが敏感にわかる

359:名前は開発中のものです。
06/06/14 15:09:12 LwkvhD3f
>>354
JavaWebStartも良くない?
あれ対応のゲーム出てくると使う側としては楽チンなんだが。見ないね。

360:名前は開発中のものです。
06/06/14 17:48:02 Kbfca28q
Javaで簡単なゲーム作るにはどれ位勉強すればいいですか?

361:名前は開発中のものです。
06/06/14 18:00:49 gnk1ZbZr
「簡単なゲーム」の定義と脳味噌の質によります

362:名前は開発中のものです。
06/06/14 18:55:46 oiUcwSTz
>>360
3じかん位かな?

363:名前は開発中のものです。
06/06/14 20:43:32 E7n+afyq
アプレットにしてもWebStartアプリケーションにしてもセキュリティの問題がつくからね

364:名前は開発中のものです。
06/06/14 21:01:18 KYL0jDeY
>>363に横から追加
Java Web Startってサーバー側にmime-typeの追加が必要だから、
レンタル鯖じゃ動かない可能性あり。

MIME-TYPE:application/x-java-jnlp-file

365:名前は開発中のものです。
06/06/15 13:30:54 tNRE7/uO
>>364
そこは連鎖場屋の中の人にMIME-TYPEの使いを頼めばなんとかなる予感。

366:名前は開発中のものです。
06/06/16 00:52:38 yygRlJ/S
apacheなら個人でもなんとかなるが、運用次第だな


367:名前は開発中のものです。
06/06/17 12:40:34 msfIS4LL
レンタルサーバーでJMSとか使えないかな
ApacheのActiveMQとかで低負荷のCGI代わりに使いたい

368:名前は開発中のものです。
06/06/17 13:13:35 Z2AWkk9k
1台丸ごと借りるならいけるけど
月1,2万かかるよ

369:名前は開発中のものです。
06/06/17 13:31:48 msfIS4LL
それだと完全にASP側に回ってるのと変わらないね
diceやtalkなどシンプルな機能をメッセージングできれば
使い方を決めるのは利用者側みたいなのイメージしてたんだが

370:名前は開発中のものです。
06/06/17 14:46:45 Z2AWkk9k
DBにしてもレンタル鯖のは使い物にならないのと同じ

371:名前は開発中のものです。
06/06/17 17:29:15 cZqcM90l
昨今のDIブームに乗ってアスペクト志向を取り入れようとして挫折気味
設計だけが楽しいみたいな状態に陥ってしまったw

372:名前は開発中のものです。
06/06/17 18:48:38 Z2AWkk9k
ゲーム開発でアスペクトが生きるかどうかはデバッグ時以外では微妙だが
DIはたぶん便利になる
俺も次のゲーム開発ではDIで開発するつもり

373:名前は開発中のものです。
06/06/17 23:46:12 2TpnxAFo
ゲーム開発でDIって例えばどんなの?

374:名前は開発中のものです。
06/06/17 23:58:20 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:名前は開発中のものです。
06/06/19 21:46:48 Zb7E8WNx
サウンドにフェード(イン/アウト)、パン(レフト/ライト)の加工をしたいのですが
ぐぐって見た限りではそれらしきところが見当たりませんでした。
これらは割りと基本的なものだと思っていたのですが、Javaにはない機能なのでしょうか?

376:名前は開発中のものです。
06/06/20 00:23:13 z0sECMlC
あります

377:名前は開発中のものです。
06/06/24 21:54:42 pcuzjDvS
フェードはFloatControlで出来ると思うけど、パンってどうすればできるの?
2スピーカーなら2スピーカー分のFloatControlが必要になるよね?

378:名前は開発中のものです。
06/06/24 22:08:59 pcuzjDvS
あ、そういうことか。自己解決orz

379:名前は開発中のものです。
06/06/25 14:38:34 fAOFmqJM
MIDIのSequencerでループさせようとしても
ループの開始時のgetTickPosition()が-2000とかなって余計な雑音が入る。
setLoopStartPoint(0)と設定しても効果なし。
現在はisRunning()でsleepはさむ方法でループさせているが気持ち悪い。

何かよい解決方法があれば教えてください。

380:名前は開発中のものです。
06/06/25 16:59:01 B6He1TJy
MIDIに送り出す部分を自分で作ってるの?
そうではなくMIDIファイルから単に流すだけならループ関係はどうしようもないよ

音源ドライバとか昔の8bit16bit時代ならいくらでも情報は手に入るから
そのへんさがすしかないかな

381:名前は開発中のものです。
06/06/25 20:25:58 US/w5wC7
Java2Dと違ってJavaSoundはちょい敷居が高めだね
ogg対応かつ簡単なエフェクトが掛けられるAudioClipが登場してほすぃ
標準で。

382:名前は開発中のものです。
06/06/25 20:36:42 AQjDLDTE
AudioClipは使い物にならないから今の実装だとoggが再生できてもいらね

383:名前は開発中のものです。
06/06/25 20:42:16 US/w5wC7
だからand条件つけてるやんw

384:名前は開発中のものです。
06/06/25 21:37:23 AQjDLDTE
エフェクトつけれたところでいらんだろ
あんなバッファサイズ最大制限が小さくオンメモリ必須なClipは

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

あとJava2DよりJavaSoundのほうが敷居は低いと思うよ
5.0以上ならだいぶ使いやすくなったJavaSoundにたいしていまだにアクセラレーションの聞く範囲がせまく
アルファブレンドもほとんど使えないJava2Dよりはね

385:名前は開発中のものです。
06/06/25 21:43:50 US/w5wC7
それは「敷居」とは関係ないのでは?

386:名前は開発中のものです。
06/06/25 22:12:46 AQjDLDTE
いやいや十分敷居は高いよ

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

ム板ならともかくこの板ゲーム製作板だしね

387:名前は開発中のものです。
06/06/26 20:32:48 MgtqB2cg
アルファブレンドが敷居が高いとか馬鹿なこと言ってるし
そもそも敷居の意味がわかってないようだな

388:名前は開発中のものです。
06/06/26 23:48:06 6e6dhTU9
アルファブレンドじゃなくてアクセラレーションがきかない描画ってのが敷居が高い。
JavaSoundは非常にシンプル。DirectSoundやってたならすぐにわかるだろうさ。

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

まったく知識がない場合どちらも難しいだろうが、Java2Dのほうが範囲が広すぎて難しいと思われ。
JavaSoundのほうが難しいと感じるのならあなたは2Dの知識はそれなりにあって
Soundのほうが苦手ということだろう。

389:名前は開発中のものです。
06/06/27 00:34:52 VajeLVWc
所詮はビットマップなのに何が難しいんだか

390:名前は開発中のものです。
06/06/27 00:54:30 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:名前は開発中のものです。
06/06/27 10:22:35 GJGczP/s
検索結果が多いということはわからないからネタにしているのかその逆なのか判断は難しいな
あとJava2Dはピクセル単位での処理だけじゃないから割と面倒だよ

392:名前は開発中のものです。
06/07/09 17:44:21 O0aQTArO
今日書店寄ってきたが、3冊あったJavaゲーム本で
JavaSoundに触れていた本は0冊だったw
Javaでゲームなんて作ってんじゃねーよって感じなのだろうか

393:名前は開発中のものです。
06/07/10 14:41:59 7etPnpyv
まず、MIDIが使えない。
JavaのMIDIデバイスは古いバージョンのままで、多くのファイルが
正常に演奏できない。音が変になる。
OSのMIDIデバイスを取得して、その出力ポートに切り替えるメソッドは
どうやら中身が実装されておらず、事実上切り替えられない。

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

陳腐な批評になるが、SUNのAPIは設計は最高なんだけど実装が・・・・

394:名前は開発中のものです。
06/07/10 21:24:37 ykWXL1Xc
>>392
ゲーム本じゃないけど
これの最後の章あたり、ちょこっとSound APIに触れてた
ま、これだけのために買うのはもったいないが・・・
URLリンク(www.oreilly.co.jp)

あと俺の知ってるのは
JavaWorld 2001年10月号、2004年5月号
Cmagagine 2002年8月号と9月号
にちょろっと載ってた
javax.sound.sampledパッケージ使って
複数の音声を同時に再生とかやってた


395:名前は開発中のものです。
06/07/12 00:08:04 ndOxEXf9
>393
Java 5.0あたりでは多くのMIDI問題は修正されているんじゃないの?

396:名前は開発中のものです。
06/07/12 00:31:43 6aHYcbBn
MIDIで音が変になるか?

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

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


JavaSoundは本読むより実際にいじってみるほうが早いよ
難しくはないし、5.0以降でかなり楽になってる
ただ、JavaSoundDemoが5.0で動かないとかがあふぉすぎ

397:名前は開発中のものです。
06/07/21 19:29:07 rgZqd6WV
>MIDIで音が変
サウンドバンクのせいじゃね?
URLリンク(www.new-arrow.com)


398:名前は開発中のものです。
06/08/05 23:05:31 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:名前は開発中のものです。
06/08/06 01:44:54 kmAOB+5B
jwsのdemoみてみたけどfps表示されないね
昔見たような気がしたけど

400:名前は開発中のものです。
06/08/06 02:36:29 A5aINFFL
>>399
jwsのdemoにあるGaresはGLCanvas(AWT)使用の物です。

JRefractを起動してGaersを呼び出すか、
jogl-demos.jarを落としてJGaersを実行するかすれば、
fps表示有りのGaers(GLJPanel swing使用)が起動します。

401:名前は開発中のものです。
06/08/06 16:06:10 kmAOB+5B
さんきゅ
JOGLなんて久しく触れてなかったから忘れてたよ

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

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

ソース読んでないけど

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

GLCanvasの方使っときます。

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

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

オンボードでも845GあたりからOpenGLはまともに動くようになってきたのにねぇ


404:名前は開発中のものです。
06/08/06 20:21:45 A5aINFFL
>>403
CPU使用率はPentium4 3GHz(HTオン)で論理CPU一つがほぼ100%に…
GLCanvas使うと殆どCPU使わない

405:名前は開発中のものです。
06/08/07 11:33:48 LXzNSWyz
今2Dアクション作ってるんだが
やっぱりグラフィック描画はJava2D使ったほうがいいのかな?
今のところpaintCompornent使って描いてて
そこまで不満はないんだが

406:名前は開発中のものです。
06/08/08 00:49:52 NGJuOaT6
paintComponentはJava2D使って描画してるわけだが・・・

407:名前は開発中のものです。
06/08/08 19:44:58 OxD/Wpxu
ああ、スマン
Graphics2Dを使わないで描画してるって意味

408:名前は開発中のものです。
06/08/09 01:40:46 jTOF7SJj
Graphicsだけつかっていても実態はGraphics2Dだぞ

BufferStrategyではなくて?

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

for文を使うときに何か制限はありませんか?
キャンバスクラスでfor を使うとエラーが出てきてしまって困っています。

410:名前は開発中のものです。
06/10/05 02:23:59 nS6lvpAp
そんなのありえん
まずエラーは何なのか、どこでおきてるのか

あとCanvasはいまはほとんどつかわん


411:名前は開発中のものです。
06/10/05 02:26:18 UlwDPe/+
柄フレーム付きでBufferStrategyを使うときくらいか。

412:名前は開発中のものです。
06/10/05 14:34:39 6n2qO2al
URLリンク(gamdev.org)
15パズルを作ろうとしているんですが・・・
型の開始が不正と言われるんです・・・。

413:名前は開発中のものです。
06/10/05 17:15:27 JxBA5zKz
>>412
Canvasクラスじゃなくてもエラーになって当たり前
メソッドの中に書け

414:名前は開発中のものです。
06/10/05 23:15:13 6n2qO2al
今度はfor文に使う変数の型が不正と出てしまいました。
int型ではだめなのでしょうか?

415:名前は開発中のものです。
06/10/05 23:37:11 3erpkvWT
その部分のソースがないとなんとも

416:名前は開発中のものです。
06/10/05 23:38:34 UlwDPe/+
import見て、「ああ、MEね。独特な癖でもあるのかなぁ」とか思ってたら
クラスの内側を見た瞬間全てを理解した。

まずJavaの入門サイトを回ろう。質問はその後。OK?

417:名前は開発中のものです。
06/10/05 23:50:20 6n2qO2al
分かりました。サイトめぐりしてきます。

418:名前は開発中のものです。
06/10/06 00:37:07 n8QeDfZX
Eclipseでカーリングゲーム作ってるんですがパワーメーターなどを組み込むのに手間取っています。
なにかオススメの参考書を教えてください。よろしくお願いします

419:名前は開発中のものです。
06/10/06 03:47:35 RxJHFhg5
まずそれはEclipseであるかどうかが関係するアプリなのかとききたい?


420:名前は開発中のものです。
06/10/06 08:35:03 79ZjkJYk
swtつかってんの?

421:名前は開発中のものです。
06/10/06 17:15:07 NF0Fi7f7
失礼しました。書き方が悪かったです
これから一から作りたいのでそれに見合う参考書を教えていただけませんか?
できればゴルフかビリヤードのサンプルが載っている参考書がいいのですが・・・
よろしくお願いします

422:名前は開発中のものです。
06/10/06 17:22:32 VIIycFpg
システムをどうしたいの?
システムがわかってるならそのまま作るだけだと思うが


423:421
06/10/06 22:59:44 Mdom56kE
システムというとゲームの設定とかのことでしょうか?
ゲームを作るのは初めてなのでこんな感じにしたいっていうのはあるのですが
技術がないので、自分のイメージに感じが似てるゴルフかビリヤードのサンプル見ながら、
少しづつ作ろうかなと思って質問しました。

424:名前は開発中のものです。
06/10/06 23:08:13 DivPy0FS
>>423
URLリンク(javagame.main.jp)
このへんで一通り勉強すれば
ゲームなんて基本はどれも大体一緒だよ
はじめから目当てのものを作ろうと思わない方がいい

425:名前は開発中のものです。
06/10/07 01:11:11 BYxdR2eO
ゲーム自体がはじめてだったのか
まずはループ処理や入力まわり、描画、サウンドなどを一通り勉強しよう

Javaに限った話じゃないがね、これらの機能を使った最低限の動く単純なゲームを作るといい

426:名前は開発中のものです。
06/10/07 01:17:47 BYxdR2eO
ゲーム開発で何度か相談されたことがあるが、
ゲーム開発初心者なのに最初からでかいゲーム作ろうとするやつ多いよな

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

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

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

いまじゃハードとか違法関係ばかりで真っ当なソフト雑誌が残ってねぇ
危険すぎ

427:名前は開発中のものです。
06/10/07 01:50:40 xRS6QFs/
プログラミングの話をいまさら紙の上でやっても利点は皆無だから
白黒だし検索できないしコピペできないリンクもない


428:名前は開発中のものです。
06/10/07 01:54:11 BYxdR2eO
だがまったく資料がない現状よりましでは?
ネットでまとまった資料やたくさんのコードはでてこねーし

ようはゲーム開発の基礎ってすでに20年位前からある基礎なわけで
いまさらネットでまとめようと思う人はまずいない

429:名前は開発中のものです。
06/10/08 00:52:26 S1BiNozn
RMIはEJBだけで埋もれさせてはいけない低級APIな気がしてきた。

430:名前は開発中のものです。
06/10/08 01:36:32 +r9TQj6u
RMIはJava2SE5.0からは大幅に改善されたので普通に価値があると思うぞ

431:名前は開発中のものです。
06/10/08 03:06:24 CumxyfUX
RMIよくしらないんだが、ゲームでつかうとしたらたとえばどんな例があるの?
リアルタイムなものでもつかえそう?
MMORPGみたいのものはどうなんかな?


432:名前は開発中のものです。
06/10/08 12:24:12 +r9TQj6u
おもいっきりはしょるとソケット通信の高級APIみたいなもんだから場合によるとしかいえん
UDP使いまくらないといけない用途には使えないね
人数や設計しだいではMMORPGでも使えるかと

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

オンラインゲームってローカルで計算される部分は少なく、入力を鯖に送って
結果を表示するだけのシステムだから設計だけしっかりしていればそんなに難しくはないかと

433:名前は開発中のものです。
06/10/08 17:25:06 S1BiNozn
カードゲームとかターン制のゲームには向いてると思うんだ。
ただホストをプレイヤーのどちらかが行うとなると性善説ゲームになるけどね。

434:名前は開発中のものです。
06/10/08 23:44:58 vqXTr2Px
Google Web Toolkit (GWT)を使ってJavaで、
Ajaxなブラウザゲームを作成している人はおらんかね。。。

435:名前は開発中のものです。
06/10/09 02:01:24 1PRT+gpJ
RMIはJavaの目玉である事実に間違いはないが、シビアなリアルタイムが
必要となるオンラインゲームに使う様なものじゃない。
重すぎる。


436:名前は開発中のものです。
06/10/09 03:22:04 +490gA4h
オンラインゲームだからすべてシビアなタイミングとは限らん

437:名前は開発中のものです。
06/10/09 18:17:01 wlsw1WDR
東風荘とかみてりゃ、まあそりゃそうだ


438:名前は開発中のものです。
06/10/10 11:31:47 aHfYBwCV
実際RMI使ったオンラインゲームとかあるの?


439:名前は開発中のものです。
06/10/10 13:08:42 COB1kkz5
その前にJavaがフロントエンドのゲームなんてあるの?といったほうが早いのでは

RMIは自前でプロトコル作るよりは重いけどWEBサービスに比べたらめちゃくちゃ早い
開発の容易さはRMIのほうが上


440:名前は開発中のものです。
06/10/10 19:14:44 Z6Vg5wVI
ぶっちゃけCGIより早ければ十分でしょ。

441:名前は開発中のものです。
06/10/10 19:44:19 Z6Vg5wVI
疑問なんだが第三者サーバを通さずに
ランダム性のあるゲームを公正に運用することって可能?

442:名前は開発中のものです。
06/10/10 20:52:02 Fmr3/ROI
両方のクラで同処理を行って結果に差異がないか互いにチェックするとか?

443:名前は開発中のものです。
06/10/10 21:10:32 Z6Vg5wVI
自分で言っといてなんだけど、公開鍵の応用でいいんだよね。

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

多少重そうだけどこれなら実際に通信があるのは1と2の送受信でよい。
でもまあランキング戦とかには使えないよなぁ。

444:初歩的なことでスマン
06/10/12 20:16:43 iUCUCn7d
j2sdkとJava3Dを入れてみたんだけど
3d絡みのDemoプログラムが無いっぽい。
ググってみたけど付いてきてるはずなんだけどなー

j2sdk下にはwireframeのサンプルプログラムしかないし
それとも他に入れるべきソフトがあるのかしら
少なくともjava3d-1_4_0_01-windows-i586.exeには入ってないですか?

445:名前は開発中のものです。
06/10/12 23:35:22 LKwsUKW6
joglやりましょうよ。
java3dは抽象度たかすぎ。

446:名前は開発中のものです。
06/10/13 02:39:03 zPaEQQ16
マックでも動くなら

447:名前は開発中のものです。
06/10/13 03:55:03 S+VaDlj1
ゲーム用途ならJava3Dやめとけ
あとでなくぞ
JOGLにしとけ



448:444
06/10/13 16:45:36 vmtvD3zz
>445>446>447
そうします。ありが㌧

449:440
06/10/13 20:32:45 /GHVYosk
OSXのJava5.0って完成度高い?

450:名前は開発中のものです。
06/10/13 20:33:34 /GHVYosk
おっと、何故か番コテが残ってた。てか復活した?w

451:名前は開発中のものです。
06/10/13 22:17:57 GU1W4jxT
さわってないけどおかしいという話は特に聞いてないな


452:名前は開発中のものです。
06/10/14 00:08:50 NtWi6K2U
これからはdirectxじゃなくてjoglやろうぜ
URLリンク(61.215.215.33)

453:名前は開発中のものです。
06/10/14 02:31:13 MGTxKfzz
Sun本気でゲームやるならジョイパッドいい加減対応してくれ


454:名前は開発中のものです。
06/10/14 02:52:06 ZM4Zxtns
>>453
JOGL, JOAL, JInput と一通り用意されていたりする。

が、JInputの使い勝手と品質は、アレゲです(約1年前試用)。

455:名前は開発中のものです。
06/10/14 03:02:31 MGTxKfzz
JOGLにしてもそれらのライブラリぜんぶ標準じゃないし
基本的なヒューマンインターフェースデバイスは標準にしないと意味ないのに

456:名前は開発中のものです。
06/10/14 06:59:51 nYtGilm6
OpenGLに関してはJava6で標準だろ
入力デバイスがアレなのは、Win以外がアレだからでしょ

457:名前は開発中のものです。
06/10/14 07:22:45 1AUmoz7r
>>449
 1.4.2と比べて何が変わったのやらという感じ。

458:名前は開発中のものです。
06/10/14 07:48:07 nYtGilm6
>>452
RuneScapeとかいうのは4.5億も売り上げがあるのか
そういやTibiaってのもグラはしょぼいが潤ってたらしいしな

459:名前は開発中のものです。
06/10/14 10:21:48 MGTxKfzz
>>456
VMが一部環境用にアクセラレーションとして使ってるだけで標準実装とはちがうはずだが


460:名前は開発中のものです。
06/10/14 11:53:22 r+tdu3ZM
ところで
JInputを使おうとするとArrayIndexOutOfBoundsExceptionが出るのは自分だけだろうか…

461:名前は開発中のものです。
06/10/14 15:16:14 MGTxKfzz
JInputの日本語資料ゼロか・・・こりゃ普及せんな

462:名前は開発中のものです。
06/10/17 23:44:15 46k9HZL6
Input Method Frameworkの使い方がドキュメント読んでもいまいち良く分からないw
BufferStrategyと日本語入力を組み合わせるならこれしかないと思うんだが。。。

Swingベースに切り替えようかな、Java6からJOGLがPanel化されるんでしょ。

463:名前は開発中のものです。
06/10/18 13:58:55 YpbpZhIP
BufferStrategytと日本語入力の問題はDirectXとかでも同じだからな
Panelのは速度が遅いはずだが改善されたんか


464:名前は開発中のものです。
06/10/19 00:32:10 nGTITlbS
>>462
自前描画している日本語入力対応エディタのソースを見てみると良いかもしれない。

465:名前は開発中のものです。
06/10/27 07:07:03 Yr57x8PW
CopyOnWriteArraySetなどの並行APIを試してみたけど
結局STGとかだとLinkedListで十分なんだと分かっただけだった。

466:名前は開発中のものです。
06/10/27 07:15:14 xDAg32vR
マルチスレッドでつくってんの?

467:名前は開発中のものです。
06/10/27 07:28:53 Yr57x8PW
マルチコアへの自動的な最適化とか面白そうだなと思ってね。
でも並行APIはiteratorによるremoveにたいして適正の在るのがなくて辞め。

468:名前は開発中のものです。
06/10/27 08:40:24 xDAg32vR
こんな会社があったんですね。。。
URLリンク(www.cyberstep.com)

469:名前は開発中のものです。
06/10/27 08:51:15 phd+j6pm
>>488
マルチプラットホーム化が容易とうたってる割にGetAmpedRもC21もWindowsのみ対応なんだな‥‥

470:名前は開発中のものです。
06/10/27 12:18:12 v3In4esC
2Dゲームで個人レベルで作れるものでマルチコアが生きる分野ってあんまりないかもね
超連射みたいにソフトレンダなら明らかに効果があるがそれはシステム構築を楽しむためくらいしか・・・

471:名前は開発中のものです。
06/10/27 23:11:57 Yr57x8PW
スタンドアロンなゲームは「余ったリソースは捨てるリソース」なんだなと思ったよw

472:名前は開発中のものです。
06/10/30 15:12:29 VjSo8VCQ
JOGLって凄いんだな

473:名前は開発中のものです。
06/10/30 15:57:55 Sn/Y/O/E
ん?

474:名前は開発中のものです。
06/10/30 18:47:16 Gg9zo7Zm
だたのOpenGLのラッパ
びっくりするくらいオブジェクト指向もくそもねぇ

それだけに触ったことある人ならそのまま使える

475:名前は開発中のものです。
06/10/30 21:46:59 AwvN98hH
Graphics2DオブジェクトそのものがGCの原因になるから
フルGCの発生回数を特定シーンごとに0に押さえるみたいな方法って不可能?

476:名前は開発中のものです。
06/10/30 23:24:45 Gg9zo7Zm
Graphics2Dのものによるかな
ゲーム用途なら基本はGraphicsだけで収まる範囲にすること

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

あとフルGCやりたくないなら使用メモリを把握した上でコンカレントGCに変更することや
シーンがはっきりと分けれていたりするなら切り替え時にFullGC入れてみるとか

477:名前は開発中のものです。
06/11/08 22:10:52 nrOch+Qr
URLリンク(www.youtube.com)
これJavaでできてんの!?すごい

478:名前は開発中のものです。
06/11/08 22:17:38 /VhjzjqX
ムービーからだとフレームレートとかようわからんし、
あちらの人は固定フレームレートにこだわらないからねぇ

まずはパッドを標準ライブラリで使えるようにしないとね
表示もだ大事だけど入力がないとどうしようもない

479:名前は開発中のものです。
06/11/09 01:22:54 C3JWOVJ7
specforce
chrome作ったところが2005年ごろ作ったみたい。
ページ開いたらBGMが流れるので注意。
URLリンク(www.specforcethegame.com)

かなり品質の高いFPSゲームだと思う。


480:名前は開発中のものです。
06/11/09 02:09:01 yu7HeJLH
これって、Javaサーバーに使えますかねぇ
URLリンク(www.hikakuserver.com)

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

人柱キボン


481:名前は開発中のものです。
06/11/11 11:19:53 C9CXGr4F
URLリンク(www.puppygames.net)<)
URLリンク(www.agency9.com)<)
URLリンク(www.chromethegame.com)<)
URLリンク(home.halden.net)
GroundFX
URLリンク(www.javagaming.org)
URLリンク(www.oddlabs.com)<)
URLリンク(www.jpct.net)
URLリンク(www.jmonkeyengine.com)<)
ホッケーのゲーム
URLリンク(www.wurmonline.com)<)
URLリンク(www.crystalsquid.com)<)
URLリンク(www.puzzlepirates.com)

482:名前は開発中のものです。
06/11/11 11:45:18 C9CXGr4F
>>481>>477に出てくるゲームのURLね
このうち、開発に役立ちそうなのは多分
URLリンク(www.imilabs.com)<)
URLリンク(www.javagaming.org)
URLリンク(www.jmonkeyengine.com)<)

しかし、面白そうなゲームが山のようにあるな

483:名前は開発中のものです。
06/11/11 13:07:20 HZB9qJCG
java, javax系でAudioClipより表現が豊かなサウンド用インタフェースってありませんか?
AudioSystemやMidiSystemを上手くラップしたいんだけど、AudioClipじゃ物足りない印象

484:名前は開発中のものです。
06/11/11 13:35:38 bJZMO9on
なんでAudioClipがでてくるんだよ
JavaSoundカワイソス

485:名前は開発中のものです。
06/11/11 13:41:41 HZB9qJCG
君一行目しか読んでないでしょ

486:名前は開発中のものです。
06/11/11 18:45:04 oHATF8vt
2行目が一致しないから仕方ないだろ
JavaSoundがでてくるなら問題はないのに

487:名前は開発中のものです。
06/11/12 03:04:56 FcOUrdTF
正直、あちらさんのゲームを見せられて、すごい、すごいと言われても、も一つピンとこねえな。
あちらさんはアセンブラかましたりとか平気でやるからな。
日本人でJavaでFPSを作ってる人っていないの?

488:名前は開発中のものです。
06/11/12 06:49:35 1OH5pVw5
>>487
Javaでどうやってアセンブリ言語を使うのだ

489:名前は開発中のものです。
06/11/12 07:28:17 0f+TtNLb
JNIの事を言ってるんじゃ無いか?

490:名前は開発中のものです。
06/11/12 08:23:03 +OD3pyxM
ここにいる人だけど、その多くは、Javaで本格的にゲームを作った事が
ない人だろう。
各種Docで知識は豊富だけど、ただ読んで覚えてるだけ。
ゲームの開発経験はないだろう。

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

491:名前は開発中のものです。
06/11/12 08:26:03 +OD3pyxM
>>ただ読んで覚えてるだけ

ってのは、その知識をもとに小規模なテストアプリを作成して
その結果で判断する事も含まれてる

492:名前は開発中のものです。
06/11/12 10:16:17 5sSMIo0r
増えてきた本格派JAVAゲーム
URLリンク(61.215.215.33)

こんな記事あったよ。日本のゲーム業界でJava使ってるとこってあるの?教えて業界人。

493:名前は開発中のものです。
06/11/12 10:38:02 wvoDMNwq
>>490
javaのPrduct系ゲーム開発経験者ですか?
それとも勘でいっている?

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




494:名前は開発中のものです。
06/11/12 16:48:08 sIeJXGua
>>486
おまえは何を言ってるんだ?

495:名前は開発中のものです。
06/11/12 21:12:28 RoytZnjF
>>490
> ここにいる人だけど、その多くは、Javaで本格的にゲームを作った事が
> ない人だろう。
で、おまいはJavaで本格的にゲームを作成したことがあるのか?

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

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

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

デタラメも大概にしてくれ。

496:名前は開発中の者です。
06/11/12 21:43:38 BPHT/7vm
LWやメタセコで作ってXファイルで吐いた3DモデルをJava側で読み込むツールとか、キャラのモーションを登録してJavaで読み込ませるツールとか、どこかで公開してるのかな?
そういうのがないと、素人には3Dゲームなんて、とても作れない。

497:名前は開発中のものです。
06/11/13 00:19:13 i1RxyPEd
>>494
JavaSound理解してないやつ乙

498:名前は開発中のものです。
06/11/13 01:47:03 xomXll6Q
お前がインタフェースベースな設計を知らないだけだろw

499:名前は開発中のものです。
06/11/13 19:04:22 jHwlfoAH
AudioClipってもっとも低機能で使い勝手の悪いものなんだが
それをほしいといわれても困る

500:名前は開発中のものです。
06/11/13 23:23:32 YBTvT9dR
ローダつくろうと思ってるんだけど、どのローダ書くのがいいかな?
1.メタセコ
2.ブレンダ
3.Xファイル
Xのローダ書いとけば一番無難?
自分、右手系でPG書いてるから変換が面倒くさそうだけど。
みんなはどんな感じ?

501:名前は開発中のものです。
06/11/14 06:53:06 t9hh4M26
>>499
それより良いインタフェースはないかと聞いてるだけでは?

502:名前は開発中のものです。
06/11/14 06:56:22 t9hh4M26
てか質問の意図を理解してない以前に設計知らないだけみたいだな

503:名前は開発中のものです。
06/11/14 09:51:06 v38jtkOO
あれ質問の意図がわかるやつのほうが頭どうにかしてるとおもうぜ・・・
本人ですか

504:名前は開発中のものです。
06/11/14 17:34:18 wMYc2bpW
Javaでゲーム作るとき
描画ってどうしてる?


505:名前は開発中のものです。
06/11/14 19:15:20 KGaPDyoT
2Dなら普通にJava2D+BufferStrategy
フルスクリーン時は垂直同期取るのに対してウインドウモードは取らないという点に注意してね

506:名前は開発中のものです。
06/11/14 23:35:47 N+Lhd8Zl
初めてアクションゲーム作ってるんですが
画像を半透明にしたりパレットデータを換えるときどうしてますか?
できればリアルタイムで処理させたいのですが
いい方法が見つかりません。RGBImageFilterではImageを得るまでが面倒で動作も不安定でした。
PNG形式のbyte列を直で変更して毎フレームImageに変換も遅そう
助けてください

507:名前は開発中のものです。
06/11/14 23:48:08 t9hh4M26
>>503
普通にわかるが?

508:名前は開発中のものです。
06/11/15 00:19:12 kbx8RzUW
>java, javax系でAudioClipより表現が豊かなサウンド用インタフェースってありませんか?
なぜAudioClipと比較したインターフェースにこだわる?Lineとかいってほしいということか?


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

~System系は5.0から大幅に使いやすくなったので迷うようなことはないと思うのだが。
普通に自分で好きなインターフェースで作りなさいとしかいえない。

509:名前は開発中のものです。
06/11/15 00:21:40 kbx8RzUW
>>506
Java2Dは使ってみた?通常合成なら大丈夫。
ハードウェアアクセラレーションはきかないからXGAで常時60fps維持したいとかだと厳しいけど。


510:名前は開発中のものです。
06/11/15 00:21:42 VX1VJ6O9
「同じインターフェースにこだわりたい」んだろ、もういいよ

511:名前は開発中のものです。
06/11/15 00:39:05 kbx8RzUW
こだわるならこだわるでAudioClip実装すればいいだけなんだけど。

512:名前は開発中のものです。
06/11/15 00:45:16 VX1VJ6O9
うざw そのインタフェースじゃ物足りないってんだからループするだけだろ
無いなら無いってだけなのに何引っ張ってんだか

513:名前は開発中のものです。
06/11/15 01:38:20 VX1VJ6O9
Java6になっても非Winの透過アクセラレートは無しなのかな。
まあ非Winを切り捨てても何の問題もないが。

514:名前は開発中のものです。
06/11/15 07:10:33 EhAiNbIT
>>509
それってGraphics2Dのことですか?
時間ができたら調べてみます。

515:名前は開発中のものです。
06/11/15 13:57:28 zHfv0gGD
>>512
だからこそあの質問が意味不明なのだ。
1行目と2行目と一致しない。

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

>>514
それだけじゃないけどね。
URLリンク(java.sun.com)

516:514
06/11/15 23:56:59 EhAiNbIT
>>515
バッファストラテジというのを導入してみたんですが、といってもほとんどコピペで理解してないんですが
Graphics2D.drawImage(Image,AffineTransform,Observer)でキャラを拡大したらGraphicsのdrawImageで描いた
ブロックの画像に縦縞ができてしまったんですが、どうすればいいでしょうか?必要ならできるだけ答えます
みなさんはバッファストラテジをどう使ってるのか教えていただけると助かります。

517:名前は開発中のものです。
06/11/16 00:11:55 RzG/81yb
これDirectX使って描画するからビデオドライバに問題があると崩れる場合がある。真っ当な環境なら問題は出ない。

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

Graphics::drawImageでの拡大だとどんなかんじ?

518:名前は開発中のものです。
06/11/16 00:37:17 A0r/2s0Y
>>515
>だからこそあの質問が意味不明なのだ。
>1行目と2行目と一致しない。
お前日本語学校からやり直した方がいいぞw

519:514
06/11/16 07:35:27 DvgKUdTk
>>517
環境は何を書けばいいですか?今まで気にしてなかったもので…

520:名前は開発中のものです。
06/11/16 10:21:23 HdufXzqB
作ってみたけど微妙('A`)
ネットで対戦だから一人じゃバランスもとれず適当、せっかく作ったから遊んでください。
URLリンク(cattaka.myhome.cx)

521:名前は開発中のものです。
06/11/16 12:59:05 GPsbxADW
>>519
そもそもWindowsなのか、フルスクリーンモードなのかウインドウモードなのか
ビデオチップやドライバ等

ところでGraphics::drawImageによる拡大は問題なさそうなの?それが先決か。

522:名前は開発中のものです。
06/11/16 13:01:06 GPsbxADW
>>518
具体的な対応取らない荒しはかえれ
最近ずっとJava関係荒らしてるのお前だろ

523:名前は開発中のものです。
06/11/16 23:02:33 A0r/2s0Y
AudioClipがinterfaceなのを知らないのか
デザインパターンを知らないのか
日本語を知らないのかどれだい?

524:514
06/11/17 18:00:42 7Zpg5IH1
>>521
OS:Win98
ウィンドウモード
Graphics::drawImageでは縞はでませんでした。
バッファストラテジはそんなに効果があるんですか?
今一速くない気がします…

525:名前は開発中のものです。
06/11/17 18:50:02 gSEH6ifA
>>524
速度に関してはソフトウェア描画になる部分とアクセラレーションがきく描画と分かれる。
拡大縮小やαブレンドはソフトウェア描画になる。

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

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

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

まとめると
・画像のロードの仕方
・デスクトップの色数
・実際に問題の出るコードと画像

526:514
06/11/17 19:08:46 Lt0Wj0UY
>>525
画面は24bitでした。転送元imageというのがいまいち分かりません…
今まで携帯でしか作って無かったので、、、
あとこういうゲームに特化してJAVAの解説してるとことか無いですかね?
人に見せられるもんじゃないですけどソースアップしました。
URLリンク(park21.wakwak.com)

527:名前は開発中のものです。
06/11/17 21:47:35 6OJGRcli
まずぱっとみpaintイベントに描画ロジックが書いてあるようなきがするが、
通常paintイベントに対して処理は行わない。

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

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

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

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

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

pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。

528:514
06/11/17 23:51:15 83DvLp/B
>>527
お返事ありがとうございます。
>repaint呼び出すところを自前のメソッドを呼び出すようにかえて、
>paintメソッド名をそれにあわせて書き換えよう。
playに変えました。

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

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

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

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

>pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。
やってみました。


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

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

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

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

あとこのスレと前スレを一度全部見ておいたほうがいい。

530:514
06/11/18 16:22:37 09nqBb7g
言われたところは大体やりました。ただTimer系がまだいまいちわかりません
サクっとでいいんで説明してもらえたら助かります。
あとJAVA2Dなら画像のパレット替えやフィルタリングもできるんですよね?

531:名前は開発中のものです。
06/11/18 16:36:52 qC5zAejN
タイマーはここみるといいよ。
URLリンク(www.javainthebox.net)
ほかにも櫻庭さんのサイトはJava関係の重要なのが多いから関係のありそうなところ見といたほうがいい。

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

RPGとかで30fpsくらいでいいのならいろいろと出来ると思うよ。
Java2Dを詳しく書いた書籍ってあったかな・・・。まずはJava2Dのマニュアルをよんでみよう。
少なくともJDKのJava2Dサンプルくらいはすぐできるから。

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

画像も予め用意したらその分メモリ食われて遅くなるってこともありますよね?
いかんせんJAVAでのメモリの使われ方が良く分かって無いのでどこかで損してる気がします…

533:名前は開発中のものです。
06/11/18 19:54:34 ZKUyfd27
wait、notifyはObjectにあるメソッド。これはJavaの基本中の基本なので勉強するといいよ。
APIドキュメントよんでごらん。ざっくりというとwaitはスレッドを停止させてnotifyで起こすという感じ。
マルチスレッド使ってるのでこの辺基本を抑えないと大変なことになる。

参考
URLリンク(www.nextindex.net)

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

最初はざっくり作ってリファクタリングをゆっくりやるといいよ。IDE使えば手軽に見通しよくなるし。
オブジェクト指向等も徐々に勉強していきながらでいい。


534:514
06/11/18 22:14:54 Bis6pJQA
>>533
wait()とnotify()意味は半分ぐらい分かったのですが、いまいち調べても
欲しいサンプルが見つかりません…。色々試してはいるんですがなかなか
動いてくれません。ヘタレで悪いんですがゲームで使う時のwait、notify
のコードをちょろっと書いて貰えないでしょうか?

ただ分岐は多くてもいいというのはホッとしました。丁寧なレスありがとうございます。
助かります(^^;。

535:名前は開発中のものです。
06/11/18 23:55:20 ZKUyfd27
基本中の基本だけにしらべればいくらでもサンプルコードが出てくると思うのだが。


536:514
06/11/19 10:56:55 1IKPzYYc
Timer/TimerTaskとwait/notifyを組み合わせられないんです。
どうやったらTimerTaskで周期的にnotifyできるのかとかSynchronizedを付けるべきところとか
探し方が悪いのかも知れないんですが

537:名前は開発中のものです。
06/11/19 13:54:05 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:名前は開発中のものです。
06/11/19 20:11:00 8MYA5LfB
>>536
URLリンク(www.y-adagio.com)


539:520
06/11/19 23:41:03 yvfHZIx2
今頃鯖のポート解放忘れてるのに気がついた。
何がしたいんだよ俺・・・・orz

540:名前は開発中のものです。
06/11/20 00:56:56 mU6Ad/cq
リアルタイムシミュレーションでネット対戦できるゲームをjavaで作りたいのですが、参考になるサイトありますかね?
ちなみに自分は今までCで数値シミュレーションを生業としてきてGUI関係はよくわかっていません。
勉強できるサイトがあるとうれしいです。
よろしくお願いいたします。

以上

541:名前は開発中のものです。
06/11/20 01:19:17 8PZEbpO9
ものすごい初心者な質問なんだけど、
普通のゲームってソフトとかクライアントとかをダウンロードするじゃない?
JAVAゲームの場合、ブラウザから直接開始するけど、
読み込み時間みたいのがかなりかかるんじゃないのかな?
音楽もいちいちMP3をダウンロードすることになるの?

542:名前は開発中のものです。
06/11/20 01:42:07 HqvpBzdY
>>540
シミュレーションが、物理シミュレーションかシミュレーションゲームか不明
GUIプログラミングは簡単なので立ち読みか普通のサイト見れば良いのでは
URLリンク(www.javadrive.jp)
URLリンク(www.hellohiro.com)

543:名前は開発中のものです。
06/11/20 15:21:51 107nEDGg
>>541
Javaのプログラムってのはアプレットだけじゃないよ。
通常のアプリケーション等もあるし、一度ダウンロードしたらアプレットはキャッシュからとってくることも出来るし
WebStartはバージョン等が変わってなければすべてキャッシュファイルからとってくる。

そもそもC等で作ったアプリだって同じだぞ。ネット経由でダウンロードするように作ってあるなら。
バックグラウンドスレッドでガンガン落としていけばあまり問題はなさそうだが。

544:名前は開発中のものです。
06/11/26 21:31:48 vp/Awfnk
話題が無いがage
無限にステージが生成されるマリオっぽいゲーム「Infinite Mario Bros」
URLリンク(gigazine.net)

545:名前は開発中のものです。
06/11/26 23:34:43 o/jL46vw
>>544
Wurm Online の中の人が製作しているみたい?
ソース付きだし勉強になりそうだ。

546:名前は開発中のものです。
06/11/27 18:13:24 QR83lXnt
VolatileImageとMemoryImageSourceって一緒に使えますか?

547:名前は開発中のものです。
06/11/27 18:15:01 IAG3BIQ8
使えるけど、後者は使う意味ないぞ
1.1時代の互換性のためだけの遺産だから

548:名前は開発中のものです。
06/11/27 18:52:38 QR83lXnt
詳しく教えてください
VolatileImageでピクセル操作とかできますか?

549:名前は開発中のものです。
06/11/27 21:03:56 OAwnVtrw
VolatileImageは画面モードにも夜がVRAMをさすと思っていい。
VRAM直書きはメインメモリ直書きに比べて非常に遅いので出来てもやらないほうがいいのは常識。

メモリ上のImageを扱うなら1.2以降はBufferedImageを使う。最初にピクセルフォーマットをきめて
配列で扱えること、出来上がった画像を何度もコピーする場合アクセラレーションが自動的に適用される。


550:名前は開発中のものです。
06/11/27 21:56:18 L4SNxotk
>>547
いや、実際にはMemoryImageSourceが一番素直な「フレームバッファ」
で使いやすい。BufferedImageは、メモリ上の配列と直接関連付けられ
ないのが致命的(ピクセル列に見立てたint配列を操作すれば直ちに
対応するImageに反映されるという意味での「Buffered」でなければ、
Rasterなどという扱いにくい邪魔者が出てくるだけでまったく意味が
ない。まだMemoryImageSourceの方がまし)。


551:名前は開発中のものです。
06/11/27 23:13:58 OAwnVtrw
ゲーム用途だとダイレクトにピクセルを扱う場合8bitか16bitにしないと速度的に問題が出るから
BufferedImageでそういう指定するのが一番だと思うし、ピクセルフォーマット合わせる場合
GraphicsConfiguration使うだろ?

問題あるのか?short配列アクセスとか簡単に出来るから便利だと思うんだが。

552:名前は開発中のものです。
06/11/28 22:11:57 WdzF4q7Z
>>544
それすごいな
pure javaだけでここまでできるの?

553:名前は開発中のものです。
06/11/28 22:46:49 jI1vxm7H
>>552
2Dなら余裕
あとは根気等

ただグラフィックなどあからさまなパクリはいかんね

554:名前は開発中のものです。
06/11/28 22:52:55 dIaLfStB
>>552
署名なしで動くアプレットだから当然、pure javaです。

携帯で普通にドラクエが動いている世の中だからな。
出来るかどうかはプログラマの腕次第だと思うよ。

555:名前は開発中のものです。
06/11/29 08:24:09 SF7yfmPu
>>551
>問題あるのか?short配列アクセスとか簡単に出来るから便利だと思うんだが。

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

あと、int配列から作ったMemoryImageSourceで速度的な問題って感じたことないぞ。
Pen3+845GEのマシンで100以上のキャラクタ描いてもまったく問題にならなかった(100FPS以上)。


556:名前は開発中のものです。
06/11/29 12:28:42 E1GsFmbf
>>555
ラスター使うから同じじゃね?

557:名前は開発中のものです。
06/11/29 13:28:43 SF7yfmPu
>>556
ラスターは邪魔だよな……。
BufferedImageのような各種変換機能付きImageを作るなら、まず単純なフレームバッファ用意してその上位版という位置づけにして欲しかった。
BufferedImageも内部には直接画面に転送する32ビット配列(Win版は32ビットDIBSection+独自のアルファ処理?)持っているんだろうし。


558:名前は開発中のものです。
06/11/29 13:56:50 E1GsFmbf
ピクセルフォーマットが同じだとDDBで転送するだろうから速度は速いはず。
MemoryImageSourcreは任意のピクセルフォーマットで扱うとき大変じゃない?

559:名前は開発中のものです。
06/11/29 16:21:44 SF7yfmPu
>>558
いや、BufferedImageはWinではDIBSectionじゃないの。
一応「バッファ」もっているし、アルファ処理対応だから。
ラスター要求されたときのためにもメモリ上にフレームバッファが必要なはず。

そういえば、もう何年もWin32APIにしろJavaにしろフルカラー32ビットフレームバッファ(DIB/DIBSection/MemoryImageSource)の速度的な不満は感じたことないな。
ピクセル単位の処理はフルカラー32ビットで行うのが一番楽(1ピクセル1DWORD)だし描画時の性能も十分。


560:名前は開発中のものです。
06/11/29 22:03:00 r/0kDPlo
BITMASK指定でバッファ作ればDIBと思われる動作速度じゃないよ。

561:名前は開発中のものです。
06/11/29 22:06:29 r/0kDPlo
32bit単位でのアクセスは非常に遅い。

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

PentiumM1GHz/Pentium42GHzクラスのマシンを動作対象にしようとすると
QVGA-16bppくらいしか選択肢はない。


562:名前は開発中のものです。
06/11/30 17:09:31 TUwNRJc1
>>559
そんな馬鹿な。2Dの画像転送速度で比較すると

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

なのですが。確かに小さい画面サイズならそれだけ差はなくなるけど
まともなゲームの画面サイズにすると、その遅さが浮き彫りに

563:名前は開発中のものです。
06/11/30 17:14:30 TUwNRJc1
>>559
失礼。フレームバッファの単語を読み飛ばしてました

564:名前は開発中のものです。
06/11/30 18:04:42 NwbsHHlf
Java2DアクセラレーションはDirectXも使っていたり複雑だけど
通常の矩形転送以外はアクセラレーションきかねぇんだよな
しかも頻繁にGCがおきやがる

JOGLアクセラレーションに期待
5.0だとDirect3Dモードはひどいし、OpenGLモードはもっとひどいし

565:名前は開発中のものです。
06/12/01 10:00:02 A/U7d6+m
JAVAって画像ファイル形式にGIFしか使えないってマジですか?

566:名前は開発中のものです。
06/12/01 10:14:43 LDltEBVY
マジではありません

どんな画像ファイル形式でも使えますよ

567:名前は開発中のものです。
06/12/01 11:37:19 LC+/aYM5
Java素人なのですがなんとなく作ってみました!
未だにアプレットの作り方すらよーわからんです。(^^ゞ
URLリンク(perfect-logic.net)


568:名前は開発中のものです。
06/12/01 17:10:48 IDdYaP0u
結構作りこんでありますねぇ。
某ゲームを彷彿させて萌えましたw
ところでシステムがアーケードっぽいのはなぜなんでしょう?

569:名前は開発中のものです。
06/12/01 17:16:25 LC+/aYM5
感想ありがとうございます~。
アーケードっぽいのは私がアーケードゲーム好きだったので、なんとなくそれっぽくしただけなんです。(^^ゞ

570:名前は開発中のものです。
06/12/01 23:36:55 o1acqxN9
>>567
ちょっ
これで素人とは言わせないぞ
どこのプロだ?

571:名前は開発中のものです。
06/12/02 00:01:56 WxTjtQSm
>>570
こんばんわ。
ホントにJavaでものを作って公開するのは初めてですよ~。
一度くらい仕事でJavaってみたいです。(^-^)
ちなみにゲーム歴は結構長いです。インベーダー時代からやってます♪

572:名前は開発中のものです。
06/12/02 05:50:16 8WxMFuvR
適当な推理だけど、
中堅ソフトメーカーの社員で、30代半ばから40台。
開発現場から管理職に昇進したものの、なんか以前より暇でムズムズしてる人。
最近のゲームは、はっきりいってぬるぽ杉て殺意すら覚えている。
乗り越える壁があってこそ面白いゲームと考えてる。
マーケティングにその事をこぼした際今時流行らないと一蹴され、このゲームを
作り始める直接のきっかけになった。


なんてね。

573:名前は開発中のものです。
06/12/02 09:32:54 wBc7JJHR
>>572
36~40の割には顔文字やら音符やらずいぶん軽いな
そんなもんなのかね

574:名前は開発中のものです。
06/12/02 10:03:44 YSW2q7Ho
>>572

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

このゲームを作ったきっかけは、昔ナムコの某塔を登るゲームの
二作目(ただ飛ぶだけのヤツ)にガッカリして、自分ならこう作る
かなぁとずっと思ってて、Javaでなんかグラフィックをいじる
ソフトを作ってみるかと思ったキッカケがあったときに
それを実行移した感じですね。
年々仕事がハードになるので、息抜きに作った感じです。(^^;

575:名前は開発中のものです。
06/12/02 10:09:23 OMk/eHpK
(^-^)とか(^-^)/とか(^-^)/~は30台でも使う人いるな


576:名前は開発中のものです。
06/12/02 10:37:29 TVj7JnE/
>>567
URL見てスルーしてたが結構凄いじゃん

577:名前は開発中のものです。
06/12/02 11:10:40 YSW2q7Ho
>>576
ありがとうございます~。
周りにJavaのグラフィックやゲームフレームワークについて
お話できる人がいない上に、プレーしてもらえるゲーマーが
殆どいない状況だったので、ここに晒してみた感じです。w

578:名前は開発中のものです。
06/12/02 13:20:11 A/80wyG1
俺もURLみただけでアプレットかなんかかとおもってスルーしてた

単純でもDEMOがあるのがすばらしいな
結構DEMO作るの面倒なんだよな

579:名前は開発中のものです。
06/12/02 16:34:43 Q74I213y
>>567
初期化時の画面のこだわりは恐ろしいものがありますな。
ゲーム自体もかなり作りこんであるので、ちとびっくりしました。

>>574
「飛ぶだけのやつ」はシリーズでいうと3作目ではないかと。
2作目は「塔を降りる」やつではないかと。
スレ違い失礼。

580:名前は開発中のものです。
06/12/02 16:49:36 YSW2q7Ho
>>578
DEMOがあるとなんか昔のアーケードっぽくていいかな?
と思いました。(^^)
あと、最初の方の面は宝の出し方が故意にノーヒントにしてあるので、
デモプレーで分かるようにしてみました。

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

二作目はイシターでしたね。三作目が正解です。www
書き込んだ後に思い出して反省していました。(^^ゞ

581:名前は開発中のものです。
06/12/02 17:06:52 w9uTYl/6
>>567
JAVAなのにブラウザから直接はじめられないの?

582:名前は開発中のものです。
06/12/02 17:12:22 YSW2q7Ho
>>567
Javaの素人なのでアプレットの作り方とか知らないんです。
エントリポイントが違うくらいの違いであれば作ることができそうですが、
ちゃんと作る気力が無くて...orz

583:名前は開発中のものです。
06/12/02 17:46:49 w9uTYl/6
embedとかで埋め込めなかったっけ?
普通に作りこんであるだけに起動が面倒なのは惜しい。

584:名前は開発中のものです。
06/12/02 17:50:35 YSW2q7Ho
ほほぉ。そんなのがあるんですね。φ(.. )メモメモ
今度勉強してみようかな。

585:名前は開発中のものです。
06/12/02 20:54:16 A5BBW3gR
>>582
つゲームのパネル化&AppletとFrameへの貼り付け


586:名前は開発中のものです。
06/12/02 21:53:27 NlWQrbtL
マニフェストでMain-Classを指定してるみたいだからjarアーカイブの関連づけをjavaかjavawに関連づけてたらダブルクリックで実行できるだろ。

>>567
起動~リソースの読み込み~タイトル画面移行に掛かった時間を標準出力に吐いてくれたらうれしい


587:名前は開発中のものです。
06/12/02 22:03:33 g+e0ZUOZ
>>567
連投スマン
これってAWT?
-Dswing.aatext=true
でアンチエイリアスが効いてないような気がするんだけど・・・

588:名前は開発中のものです。
06/12/02 22:23:32 YSW2q7Ho
みなさんありがとうございます~。
アプレットにも対応してみようかと、mainのクラス(ActionGame extends JFrame)
とは別にAppletのクラス(ActionGameApplet extends JApplet)を作って、
appletviewer使って実験してみたのですが、私のスキルが足りなくて、
途中で画像の読み込みとか(?)でヌルポになってしまいました…
(トレースは表示されましたが、時間が無くて具体的にどの辺りかが
あんまり分かっていません。あと内部でJPanel(JFrameに貼りついている
MainScreen)を作っているのですが、
これがアプレットに貼り付かないみたいで別ウィンドウが出て
しまいました...)
なものでアプレット化は当分無理そうです。ごめんなさい~。m(_ _)m

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

開発環境はbash, vi, antで開発していたので、
シェルで普通にパラメータを指定して起動みたいな感じで、
ダブルクリックとかあまりやっていませんでした。
(Windows XPとかだと、jar=ZIPファイルで中を展開ってイメージが
あったもんで...)

589:名前は開発中のものです。
06/12/02 22:53:32 m+FwCpVx
アフォな解凍ソフトが jar まで解凍拡張子として関連付けしている
場合があるから、Windows向けに下記のランチャーソフトをお勧め

URLリンク(launch4j.sourceforge.net)
URLリンク(www.ne.jp)

590:名前は開発中のものです。
06/12/02 23:02:38 lFDLhCqW
jarはダブルクリックで実行がデフォ
あふぉなアーカイバは無視しておけ

591:名前は開発中のものです。
06/12/02 23:04:51 lFDLhCqW
>>588
画像読込部分はりソース読み込みならおかしくなるとは思えないけどどういうコード使ってるの?

592:名前は開発中のものです。
06/12/02 23:08:50 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

593:586
06/12/02 23:31:14 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:名前は開発中のものです。
06/12/02 23:49:58 lFDLhCqW
>>592
System.exitがどっかにかいてあるとか?
あれはアプレットだとセキュリティ違反


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

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



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

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

-Dswing.aatext=true パラメータは知らなかったのでググッてみたのですが、
これはテキストにアンチエイリアスがかかるとか紹介されていました。
ビットマップの転送にもアンチエイリアスがかかるのかも知れないのですが、
私も試したらNGでした。ちなみにゲーム中に表示される文字は全て
ビットマップです。

596:名前は開発中のものです。
06/12/02 23:58:03 YSW2q7Ho
>>594
System.exit書いてあります!
アプレットの時はコレが書いてあるだけでNGなんですね。φ(^^ )メモメモ

597:名前は開発中のものです。
06/12/03 00:11:31 Weooalfd
ブラウザでプレイできるようにしてくれ~

598:名前は開発中のものです。
06/12/03 00:19:26 7tbgDbUF
>>597
すみません~。スキルがなくて…orz

System.exit止めたらExceptionが消えましたが、Component.createImage(w,h) API
でイメージが生成できないのは解消できずです。orz
newしたJPanel(Component)はヌルポでは無いのに…

599:名前は開発中のものです。
06/12/03 00:28:03 JGG55Wof
>>597
アプレットはずっと動き続けるものだからね
破棄はブラウザ閉じたりページ移動したりユーザーの意思によってのみされるわけだ

>>598
エラーメッセージは?


600:名前は開発中のものです。
06/12/03 00:36:40 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:名前は開発中のものです。
06/12/03 00:37:20 JGG55Wof
しかしアプレットだとVMにたいして細かい制御ができないしパフォーマンスも下がるし制限多いんだが
アプレットにこだわるのはどういうことだろうね

WebStartアプレットならまだましか

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

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

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

ここまでの規模になるとたいしたことなくともIDE必要だと思うよ
antも全部自動生成してくれるし

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

ImageIOというのもあるんですね。ためになります~。
EclipseとかカッコイイIDEを使いたいというのもあったのですが、
何分勉強する時間が無くて、最初はHello Worldから始めて、
グラフィックをちょっと描いてみる→ここまでに至りました。
この辺、言語や開発の仕方を覚えていく過程としてはかなりいい加減です。
(この言語が本職で無いからどーでもイイヤみたいな感じだったとでも
いいましょうか...(^^ゞ)

605:名前は開発中のものです。
06/12/03 00:57:25 JGG55Wof
>>603
サーバーVMはスループットはよくなるけどレスポンス悪化するのでゲームじゃ今のところ使えない
クラスロード時にコンパイルが出来るなら別だがそういうVMはないはず

それにインクリメンタルGCは5.0でトレインGCからパラレルGCに変更になったので大丈夫だよ
トレインアルゴリズムは非常の遅くて1GHzくらいでも60fps維持は結構きつかった
一応隠しオプションでトレインにかえれるけどだれもつかわないね、あれは


606:名前は開発中のものです。
06/12/03 01:01:12 JGG55Wof
>>604
リソース読むときコードにクラスローダ直書きってこと?

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

それに補完等があるからIDEは便利だよ
コンパイルしなくても構文にエラーがあればリアルタイムに表示してくれるし

607:名前は開発中のものです。
06/12/03 01:06:14 7tbgDbUF
>>606
>リソース読むときコードにクラスローダ直書きってこと?

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

IDEはもう少し時間が取れたら試してみようかな…

608:名前は開発中のものです。
06/12/03 01:20:39 aNPfAlfu
>>605
パラレルアルゴリズムってそんなにパフォーマンス改善されてるのか。

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

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


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

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

#MSVMはJITだけが取り柄だな

609:名前は開発中のものです。
06/12/03 01:41:17 JGG55Wof
>>607
リソース周り少し調べればたぶん解決すると思う
ストリームのほうつかってみたら?

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

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

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

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

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

linuxは32bitならサーバークラスマシン検出しないとデフォはクライアントだと思うんだけど
64bitはクライアント版はなし

610:名前は開発中のものです。
06/12/03 01:54:36 7tbgDbUF
>>609
色々と調べたら、アプレットでのjar内のリソースの読み込みは
セキュリティポリシーの問題で難しそうに感じました。
(それで合っているのか分かりませんが...)

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

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

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

>>皆様
クソゲーではありますが、純粋にレトロ風なアクションゲームを
楽しんでいただけると幸いです。(^^)
URLリンク(perfect-logic.net)

611:名前は開発中のものです。
06/12/03 03:06:12 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:名前は開発中のものです。
06/12/03 03:16:48 fVWUDxZS
確か、Jar関連のプログラミングは、
ClassLoader#getResource
Thread#setContextClassLoader
辺りを使えば大体何とかなったな

613:名前は開発中のものです。
06/12/03 12:38:36 YF8PnGLn
>>611のコードが間違っているが見なかったことにする

614:名前は開発中のものです。
06/12/03 12:49:00 SWYB2VRJ
>>610
楽しんで作ってるうちが一番だと思うよ
だからアプリケーションでのみだが問題ない

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

とりあえずこのスレを1から読んでみることをオススメする

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

本職はWin,LinuxのC++/Asm系なので、この言語の高級感
(というかライブラリの充実度)は萌えだったのですが、
仕事となると色々と知らないといけないガイドラインが多そうで
大変なんだろうなぁとシミジミです。

616:名前は開発中のものです。
06/12/03 21:55:02 /gdh39Xl
前スレのほうが中身はあったようなきがしたけどまぁ出来上がってるから関係ないね
あとは音楽でもはいっていれば十分かと

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

Javaはネット周りが楽なのでネトゲの鯖から採用され始めてきて最近はクライアントにもきてるみたい
ネトゲは運用がはいるからパッケージと違って保守性って大事だからね

617:名前は開発中のものです。
06/12/03 22:29:48 7tbgDbUF
>>616
>あとは音楽でもはいっていれば十分かと
そうなんですよねぇ… ちょっとMIDIで作ったのですが、
プログラムや絵よりも難産で当分無理かなぁという状況です。
(外部ファイルで設定できるとはいえ、開発者の作曲のスキルが…orz)

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

昔、日経Linuxとかで携帯ゲーム開発のコストの記事かなんかを
みたことあるのですが、技術者のスキルに比べて開発費用が激安で
回収が厳しいとか書いてありました。Javaで簡単に作れる時代になった
とはいえ、これで保守/運用とかあると厳しいんだろうなぁと感じました。

618:名前は開発中のものです。
06/12/04 00:23:03 TAJliEjW
キーボードでもいいんだけど、同時入力が出来ない場合が多いからね
しかもこのキーとこのキーが同時に入力できないってのはキーボードによって違う
アクション系では致命的

619:名前は開発中のものです。
06/12/04 00:50:11 rOxIjnLZ
>>618
>キーボードでもいいんだけど、同時入力が出来ない場合が多いからね
>しかもこのキーとこのキーが同時に入力できないってのはキーボードによって違う
φ(.. )メモメモ
これって、キーボード的(ハードウェア的)にですか?
OSのキーボードデバイスドライバ的ですか?('=,VMのイベント的ですか?)
(恐らく後者とは思っていますが...)

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

とても勉強になります。

620:名前は開発中のものです。
06/12/04 02:19:17 oYP8msvX
URLリンク(ja.wikipedia.org)

621:名前は開発中のものです。
06/12/04 03:05:27 rOxIjnLZ
あー、ハードウェア的でしたか…(^^;
JoyToKeyのようなソフトウェアはキーイベントをOSに発行するから、
こーいう問題はないのかもなぁ…

622:520
06/12/04 04:42:32 8QL/yjCh
キーボードのタイプにもよるだろうけど左上+スペースが反応しないね。


623:名前は開発中のものです。
06/12/04 04:43:21 8QL/yjCh
そしてミス、漏れはこのスレの520じゃない

624:名前は開発中のものです。
06/12/13 12:04:19 nFrd+DMR
JavaSE6がでたが、単純に高速化してるなー

625:名前は開発中のものです。
06/12/13 16:07:46 tbX8caYj
ニューラルネットワークの学習に使ってるけど
同じことさせて11.701sec→9.815secで速くなってた。
処理の内容はほとんどが浮動小数点演算だけどGUI周りはどうなんだろ?


626:名前は開発中のものです。
06/12/13 19:05:49 nFrd+DMR
GUIもはやいっぽい。
特に今までアクセラレーションがなかったWindows以外の環境でもアクセラレーションきくようになったのは大きいかと。

627:名前は開発中のものです。
06/12/14 08:23:31 U6gTfVOR
windowsだけど1600x1200のタイル描画で普通に60fpsがだせるようになった
5.0で同じことやっても10fpsいかなかったし、
6.0はjavaゲームの本当のスタート地点になるかも

628:名前は開発中のものです。
06/12/15 18:08:34 Ihq+GcpE
まじか
じゃあ俺もこれからアプレットのゲームつくってみよ

629:名前は開発中のものです。
06/12/15 23:17:44 e9fBCpQh
デスクトップ環境の強化ってどういう意味?
Javaアプリケーションが高速ってこと?

630:名前は開発中のものです。
06/12/16 16:06:00 p9tzPmLY
>>627
2Dの事?
今までが遅すぎただけ。アルファブレンド固定なせいもあるけど
しかし、今頃になってようやくって感じだな。

ロジックの速度も上がってるけど、コレクションクラス群はどう?
JavaがC++で劣るのはGCのみ、と言ってる人がいるけど
ロジックのコアとなるCollectionAPIの遅さを考慮してないから話にならん。
STLは、ヘボ設計だけど速度はあるからそれだけ実用に足りるがね。

631:名前は開発中のものです。
06/12/17 00:02:03 SYIGKUNN
>>627が何の描画で早くなったのか知りたいな

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

これはClientVMがServerVMにスループットでも追いついたということか


632:名前は開発中のものです。
06/12/17 14:55:12 iXhkS4tF
へーマジか

633:名前は開発中のものです。
06/12/17 15:17:19 hjNOU8u3
新しいJava2DレンダリングエンジンとJOGLの統合
URLリンク(journal.mycom.co.jp)
URLリンク(weblogs.java.net)

とか

ClientVMのレジスタ割り当てアルゴリズムが変更された
URLリンク(weblogs.java.net)

あたりが影響している感じ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch