JAVA シューティング作成委員会
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG終わってからでなら作ってみまふ。
2Dか3Dどっち?
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGもっとこう、グワッと情熱となんかそれっぽいもので溢れる
なんか凄い迫力とともになんかそういうやつ作れ
0011デフォルトの名無しさん
NGNG>初心者が集まって作りましょう。
0012デフォルトの名無しさん
NGNGそれともJAVA2Dとか3Dとかいう奴?
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGスレッドのRunnableで作りますよね?
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGジーパンかよ
おれは、リーバイス派だ!
0018デフォルトの名無しさん
NGNGPCで出来る2Dシューティング(STG)総合スレ5
http://game2.2ch.net/test/read.cgi/game/1058538369/
シューティングゲーム製作技術総合
http://bbs.gamdev.org/test/read.cgi?bbs=gamedev&key=1056635103
【初心者】 Java質問・相談スレ30 【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1060918347/
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/gamedev/
----- 終了 -----
0021デフォルトの名無しさん
NGNGせめて1が何かネタを貼らなきゃなぁ
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG気のせい
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNGhttp://game2.2ch.net/test/read.cgi/game/1058538369/
シューティングゲーム製作技術総合
http://bbs.gamdev.org/test/read.cgi?bbs=gamedev&key=1056635103
【初心者】 Java質問・相談スレ30 【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1060918347/
終了
0028デフォルトの名無しさん
NGNG障害物の位置はデータベースに入っているのだな、きっと。
0030デフォルトの名無しさん
NGNGむちゃくちゃおもろそうじゃん!
データベースから障害物やら
敵機の情報取り出して・・・
むうう、たかがゲームなのに
こんな大規模なシステム使うなんて
わくわくしてくるな
どうせならEJBも無理やり使ってみよう
0031デフォルトの名無しさん
NGNGシステムエラーならロールバック
凄い意味ないけど、
0033JGreener ◆B7mnQ.LRaw
NGNGネットワーク対戦になっていて、
数十人が同時に乱戦できるようなものがありましたね。
慣性で動いていて、なかなか面白かったのを覚えています。
そんなのどうですか?
ネットワーク対戦なところがJavaチック?(こじつけ
0034デフォルトの名無しさん
NGNG複数のプレイヤーが、ある唯一のアイテムを奪い取ろうとする。なんて設定だと、
トランザクションやロールバックが必要になるかもよ。
『取ったぞー!』
『へへ、残念だったね。オレが先だったよーん』
0035デフォルトの名無しさん
NGNGなるほど、ネットワークなら
P2P2Pかサーバントを使いたいところだな
0037デフォルトの名無しさん
NGNG自機をカスタマイズできるとか
なんかロボコード見たくなってきた
0038JGreener ◆B7mnQ.LRaw
NGNGロボコードは面白いですよね。
でも、自分で操作する楽しみのほうがネットゲームでは大きいと思うので、
グラディウスで言うところのオプションみたいなのを、ロボコードちっくに作れるというのはどうでしょう。
0040デフォルトの名無しさん
NGNGつか、ネタ?
0041デフォルトの名無しさん
NGNGここでやるなら最低コードちょっとは書く気を見せれ。
0042デフォルトの名無しさん
NGNGいるか!?
0043デフォルトの名無しさん
NGNGキボン
0044デフォルトの名無しさん
NGNGそれだけじゃないぞ。RPGを兼ねたシューティングなら、
世界、建物などの形状、サイズ、座標、武器、防具、
などをデータベース化できる。火山が噴火した、
新しい世界を追加したなど、世界が変わればデータベースが更新される。
ネットワーク上で多人数プレイでこのようなVirtual Realityを兼ねた
RPGを実現するにはデータベースがどこかで必要になる。
当たり前だがユーザ管理にも使う。
0045デフォルトの名無しさん
NGNGつーか5万人くらいでできる箱庭諸島なんてどうだ?
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNGrunneble?
マルチスレッドだよね?
0048デフォルトの名無しさん
NGNGTimerクラスを使うのがいいよ
0049デフォルトの名無しさん
NGNGなーるほど、Javaを使う意味があるねえ。
CGIなんて使わないから最高だ。
クライアント側はAppletにするか、JavaWebStart対応にするかだね。
0050デフォルトの名無しさん
NGNGこうなったら、J2EEてんこもりアプリにしよう
つーか結局、どんなゲームにするかが問題なのだが
>RPGを兼ねたシューティング
っていうのがイメージ湧かない
既存のゲームでこういうのあるの?
0051デフォルトの名無しさん
NGNGおいおい、応答性重視のアプリのSOAP使うな。
0052デフォルトの名無しさん
NGNGだからさ、そういう処理に使うって誰も言ってないじゃん
ユーザがオフラインの間にいろんなイベント起こさせたり
ユーザー同士のコミュニケーションにも使えるじゃん
0053デフォルトの名無しさん
NGNGpublic static void main(String[] args) {
System.out.println("Game Over");
}
}
0054デフォルトの名無しさん
NGNG> じゃあよ、SOAPとかJMSでもいいから無理やり使ってみよう
> こうなったら、J2EEてんこもりアプリにしよう
>
> つーか結局、どんなゲームにするかが問題なのだが
> >RPGを兼ねたシューティング
> っていうのがイメージ湧かない
> 既存のゲームでこういうのあるの?
iDSoftwareのDoom, Quakeのような、擬似3D空間でマシンガンやショットガンで
シュートするならシューティングゲームというだろ。
ガンアクションシューティングというが。弾がなくなるとチェーンソーで切り裂いたり
拳でなぐることもあるが。
Morrowindという3D空間上を彷徨うアクションRPGゲームやってみいよ。
5000円くらいで秋葉原で買える。
あれで弓矢、クロスボウを持てば放物線を描いて矢を敵にシューティングできる。
マシンガンMODを使えばマシンガンも持てる。
まさにRPGを兼ねたシューティングだろ。
0055デフォルトの名無しさん
NGNG頭脳戦艦ガルが思い浮かぶわけだが。
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG仕様が決まってないので
どうしようもない
0061デフォルトの名無しさん
NGNGあまりに出来が良かったので、
売り物になりますた。
0062デフォルトの名無しさん
NGNGとりあえずMemoryImageSourceでソフトウェア3Dとスプライト描画の併用でやってみる。
がJavaはあまり使ったことないので、どれだけ速度出るのか不安。
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG折角きたんだから、何か喋ってくれw
0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG同上
0068デフォルトの名無しさん
NGNGthread.sleepで敵の動きを表現しました。段々降りてくるような感じ
ですが、自分の弾が発射されて動くようにしようとthread.sleepを使用すると、
うまく行きません。
そもそもthread.sleepは乱用するものじゃないのでしょうか。
0069デフォルトの名無しさん
NGNGttp://up.isp.2ch.net/up/d8e600470dac.html
ttp://up.isp.2ch.net/up/c41cb2580339.jar
操作は↑↓←→ Z
0070デフォルトの名無しさん
NGNGソースキボンヌ(下の奴見れんかった
0071デフォルトの名無しさん
NGNGTimerクラスを調べろ。Threadクラスなぞ使わん
Timerクラスで敵、自機、弾、画面描画すべてマルチスレッド・非同期で動かせ。
0072デフォルトの名無しさん
NGNG>>68
FPS固定メインループで実行すれば簡単じゃないの?
そもそもsleepでウェイトをかける意味がわからん。
007368
NGNGちょっと、かんどう(>_<)
どうも有難うございました
0075デフォルトの名無しさん
NGNGJavaでゲーム作る時は
1スレッドで、自機、敵機すべてを同期させ
Thread.sleep()で負荷調整。
・・が普通だと思っているが間違ってる?(Timerクラスを使う・・という話が気になった)
何かのサンプルで見たのでそうしているが、実はThread.sleep()の動きがよくわかってなくて、ひょっとしてこれで負荷調整する事にはならない?
たとえばThread.sleep(100)が必ず100msスリープするという意味だとすると負荷調整は不可だね。
1スレッドにかかった時間が40msの場合60msスリープする、、というように動いてくれるとOKだけど。
あと、注意点としてはガベコレが極力動かさない考慮として
ゲーム進行中はnewを実行しない。くらいは気にとめているが、あとなんかある?
0076デフォルトの名無しさん
NGNG負荷調整が何なのかがよくわからんが、もし一定時間ごとに画面を書き換えるなら、
sleepが終了してから次にsleepするまでにかかる時間を見積もるか計測する必要がある。
Timerならいらない。
あと、WindowsではSystem.currentTimeMillis()は10ms程度の誤差があるから気をつけろ。
Thread.sleepやTimerの精度はたぶん1ms程度。
0077デフォルトの名無しさん
NGNGThread#sleep()は、指定時間waitした後に、止めてたスレッドを
runnable状態に変更するだけ。直ぐ動いてくれるかどうかは、他の
スレッドの状態による。下手するとずっと動かないかも。
>あと、注意点としてはガベコレが極力動かさない考慮として
>ゲーム進行中はnewを実行しない。くらいは気にとめているが、あとなんかある?
暇なときに空オブジェクトをnewしとく。
暇なときに強制的にGCしとく。
>>76
>Thread.sleepやTimerの精度はたぶん1ms程度。
いいかげんなこと書くな。仕様上は「不定」。
0078デフォルトの名無しさん
NGNGシングルCPU環境が想定される場所でリアルタイムな処理が必要なの
に、マルチスレッドなんて危険では無いだろうか。
AWT使う限り描画はイベントディスパッチスレッドの仕事になってし
まうが、せめてそれ以外のユーザースレッドは、1こ(0ならなおよし)
にすべきでは。
0079デフォルトの名無しさん
NGNGJavaがゲームに向いてないと言われる所以
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNGんで、System.currentTimeMillis()の精度が悪いそうだけど
固定で30FPSとかでループさせたりできないのん?
0082デフォルトの名無しさん
NGNGvolatileImageは一度使うと病み付きだよ。
今までとぜんぜん速度が違う。
あとsleepの精度だけど本当に10〜30ms程度だよ。
どんなにがんばっても10ms以下にはならん。
20msまでなら何とか使えるけど。
RT JAVAで6msまで改良されたみたいだけど
今のJDKに反映されているかは知らん
0083デフォルトの名無しさん
NGNG甘い。描画と各ルーチンのスレッドを切り離すことによって
描画を最低限に抑えて(描画は30ms、敵ルーチンは10msとか)
処理速度を最大限引き出すことができる
008475
NGNG処理を一定に保たせるためにThread#sleep()を使ってた俺は馬鹿だった
Timerクラス使いまする
0085デフォルトの名無しさん
NGNGRealTime Javaは拡張ライブラリで実装配ってるよ。探して味噌。
>sleepの精度だけど本当に10〜30ms程度だよ
だから何度も言っているとおり、それは各スレッドの状態とか
JVMの機嫌とかCPUの性能その他もろもろの条件で、タマタマそ
うだっただけだってば。
>>83
コンテキストスイッチ分無駄じゃん。なんでマルチスレッドにす
るのよ???
>>84
Timerのソース読んで味噌。勘違い野郎がいることが判明するぞ。
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNGほい
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGあほか、コンテキストスイッチと描画処理のどっちのほうがコストがかかると思う?
マルチスレッドにするのはそっちのほうがコードが少なくすっきりするからだよ
lastTime=System.currentTimeMillis();
while(フラグ)
{
nowTime=System.currentTimeMillis();
if(nowTime-lastTime>実行周期)
{
ループ処理();
lastTime=lastTime-実行周期;
}
try{Thread.sleep();}
catch(InteruptedException e){}
}
厳密に一定間隔で処理実行しようとするとこんなコードになるわけだけど
こんなの書くよりもTimer使ったほうが楽だろ?
0090訂正
NGNGwhile(フラグ)
{
nowTime=System.currentTimeMillis();
ループ処理();
try{Thread.sleep(実行周期-(lastTime-nowTime));}
catch(InteruptedException e){}
}
0091デフォルトの名無しさん
NGNGlastTime=System.currentTimeMillis();
入れるのわすれてる
0092デフォルトの名無しさん
NGNGいけないならやらない方がマシだと思うがなぁ。
全てを分かっていてやるならいいだろうけど。
一定の処理間隔を作るには、タイマーやSleepの誤差を吸収する
カラクリを作るべきだと漏れは思う。
VSYNC割り込みのようなものが使えるなら話しは別だが。
0093Timer派89=90=92
NGNGプロの作ったクラスライブラリのルーチンを使ったほうが確実だと思う。
将来的にOSレベルで実行を保障してくれるかもしれんし
0094Timer派89=90=93
NGNG0095デフォルトの名無しさん
NGNGはい。
http://www.alienfactory.co.uk/main.html
http://naramura.kdn.ne.jp/msx3/g3project/
0096デフォルトの名無しさん
NGNGむしろ、一定の処理間隔をあきらめるべきか。
でも、スクロール型シューティングでそれはつらいかもしれぬ。
009792
NGNG漏れが言いたかったのは、60Hzのモニタで40FPSのゲームをしても、
気になる奴は気になるだろうけど、普通は余り気にならんと思う。
1フレームの問題としてではなく、長い目で見て問題を解決しようと。
完璧に同期出来ればそれで良いのだけど、無いものねだりをしても
しょーがないし。
0098デフォルトの名無しさん
NGNG参考にしたいです。
009968
NGNG010096
NGNG「vsyncと描画間隔の不一致」ではなくて「描画間隔がころころ変わる」
のを前提に作るということ。
60Hzで40FPSのゲームが気にならないだろうという点については俺も同意見。
>>99
いや。FPSはFrame Per Second
もし、40msの描画間隔なら、1000/40=25FPS
0101デフォルトの名無しさん
NGNGなるほど、どうもありがとう。
0102Timer派89=90=93
NGNG実行速度が変わってしまうのは何とかしなければいけない
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGやっぱここだろ
http://www.din.or.jp/~null/game/r_stream/
0107デフォルトの名無しさん
NGNGやろうとすると出来なかったりするんだが、最新のjavaがインストール
されてナイトだめですか?
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNGHTMLコンバータでぐぐれ
0111デフォルトの名無しさん
NGNGどこかいいトコしりませんか?
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG知らんかったよ
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG自機x軸に対し、少しずつxに近づけるのでしょうけど。
0116デフォルトの名無しさん
NGNGちゃんと角度でやった方が、より「らしい」ホーミングになります。
(のんびり誘導ミサイル系)
ジェミニ誘導でもするんだったらガンガン加速させる
0117デフォルトの名無しさん
NGNG加速させれば振り切れるけど。
0118デフォルトの名無しさん
NGNG誘導ミサイルの進行方向左右n度に自機がいるときだけ角度を調整する。
または最小回転半径を大きくとって、画面外まで飛ばして消す。
0119デフォルトの名無しさん
NGNG> javaで作ったシューティングゲームをホムペに後悔して、他のパソコンから
> やろうとすると出来なかったりするんだが、最新のjavaがインストール
> されてナイトだめですか?
んなことはない。
「get Java」とJava Web Startがあるだろ。
「get Java」で検索しれ
0120デフォルトの名無しさん
NGNG一般の人はわざわざSunのページに行ってダウンロードしてくれるでしょうか。
JREだとプログラマ向け雑誌以外のCDなんかに入っているんでしょうかねぇ。
0121デフォルトの名無しさん
NGNGフラッシュが通用する相手なら大丈夫だろう
プラグインの自動インストールはJavaでも可
0123デフォルトの名無しさん
NGNGこんなのもあるんですか。ありがとうございます。
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNGなぜゲーム作るのにThreadやsleepという発想が出てくるのか疑問。
しかも会話を見ていると、いまいちスレッドとスリープの動作が、正しく認識されていないのが伺える。
そもそも、sleep()の誤差がどうこうという前に、sleep()は引数以上にスレッドを停止させる可能性がある。
スレッドも、優先度に関わらず、何時どのスレッドが動作するか保障されない事を知ってもらいたい。
それを理解していれば、ゲームの同期を図るのに、スレッドを利用することは不向きであることが分かるだろう。
まず、設計やクラスライブラリ云々の前に、javaの基本を正しくおさえる必要があるかと。。。
0126デフォルトの名無しさん
NGNGというか他に選択肢もないでしょ。
外部のネイティブなライブラリ叩くなら別だろうけど
0127デフォルトの名無しさん
NGNGSunのページでなくても
AppletとかJNLPファイルを置いてあるサイトで
ちゃんとgetJavaへリンクするような記述をいれたり
MIMEタイプをしっかりサーバ側で指定していれば
そんなわざわざダウンロードしにいく手間もなければ
自分からインスコする手間もないぞ。
0128デフォルトの名無しさん
NGNGjavaは知っているようですがゲームはしらないようですね
時間管理するのに結局Sleepしか選択肢ないんだよ
timertask系はいまいちな動作速度で綺麗に流れない
javaに限らず基本的な考え方はwinとかでも同じだぞ
本当のちゃんとしたゲームならばWinやMac、Linuxという環境を捨てて
スワップ無しの垂直同期確実にとれるようにするしかない
ティアリングで我慢するレベルならsleepでいいってこった
0129125
NGNGふむぅ、、言い訳ではないけれど我流なもので申し訳ない
sleep()だと、ものすごい不具合を発生する可能性は否定できないと感じたもので。
>>126で妥協してsleep()という考えも上がっているみたいではあるが。
Javaというか、オブジェクト指向の特性上、sleep()も隠蔽される要素が多いはずで
しかも元は、タイマーとしてのものではなくて、スレッドを管理するためのメソッドというものだから
確実に同期を取ろうとするならjava.util.Date(long)を利用して自分で単純なタイマーを作った方が
難しい作業が必要なわけじゃないし、精度が出るような気がしたのだけれども、どうでしょう?
それに何より、タイマーとしての安全性はこちらの方が上だと思いますし。
過去に私も昔1つのスレッドでsleep()をタイマー代わりにしてゲームを作った事があって
確かに目に見えた不具合は無かったが。2つ以上のスレッドを利用するとなると上記で説明した問題の危険が発生するはず。
話は少し外れるけど、何かこのスレを見ていると行き当たりばったりで作ろうとしすぎている気がしてならない
まずはシステムとしての足回りから固めるべきじゃないかと思う。
大体、オブジェクト指向言語の利点を生かそうとすれば、自然と設計を重視するはずなのに
その手の話が殆ど進んでないのが気になる。
せっかくJavaで作るなら、ここで製作したクラスが、他のゲーム製作に対しての汎用性を持たせられる
事を目的としてクラス設計をしても良いのではないだろうか。
0130125
NGNGまあ、俺も口だけを動かしてても仕方が無いと思ったし
ちょっと興味もあるから暇を見て試作品でも作ってみる事にする
0131デフォルトの名無しさん
NGNGJ2SE1.5のjava.util.concurrentなんかどうよ?
0132デフォルトの名無しさん
NGNG作り方が悪いだけでは?
俺はなんの問題も出てないし実装としてSleepとCalendar使うことになるよ
たぶん、Dateとやろうとしてることは変わらないはず
Sleepってのはスレッドをどうのこうのって話じゃないよ
マルチスレッドだろうが関係ない
>>131
結果は現状と変わらない
誤差が小さくなる程度で>>128で指摘した根本的解決ではない
0133125
NGNGいや、実際に作ったわけじゃないし、単純なものなら不具合は目に見えないと俺も思う
単純なレベルでは、もちろんsleep()は問題ないと思う
でも、sleep()はstaticだけれど、スレッド制御に使うものなんだよ。
だからタイマーとして使うには、その後機能拡張したときに起こる不具合の「可能性・危険性」を増加させる事に繋がると。。
動作としては、sleep()はスレッドを実行状態→指定時間の実行停止→実行可能状態→実行状態
と状態遷移させる機能を持っているけど、ここで注意するべきなのが
指定時間の実行停止から実行可能に移るまでの時間は保障されないところなんだよ。
これを見るだけでもsleep()がタイマーとして不適格なのは確かでしょ。
スレッドをどうこうじゃない、と言っててsleep()もstaticではあるけど
スレッド制御以外でsleep()使っても何も起こらないでしょ?
sleep()をタイマーとして使うために(ほかメインルーチンとしてのループ)としてスレッドを利用する事は
プログラムの自由度や拡張性を損なうはずだし
他のスレッドを使ったときに同期が取れなくなる根本の原因になるはずだから
メインルーチンはスレッドにしない方が妥当と思います。(あくまで私は)
0134125
NGNGいや、実際に作ったわけじゃないし、単純なものなら不具合は目に見えないと俺も思う
単純なレベルでは、もちろんsleep()は問題ないと思う
でも、sleep()はstaticだけれど、スレッド制御に使うものなんだよ。
だからタイマーとして使うには、その後機能拡張したときに起こる不具合の「可能性・危険性」を増加させる事に繋がると。。
動作としては、sleep()はスレッドを実行状態→指定時間の実行停止→実行可能状態→実行状態
と状態遷移させる機能を持っているけど、ここで注意するべきなのが
指定時間の実行停止から実行可能に移るまでの時間は保障されないところなんだよ。
これを見るだけでもsleep()がタイマーとして不適格なのは確かでしょ。
スレッドをどうこうじゃない、と言っててsleep()もstaticではあるけど
スレッド制御以外でsleep()使っても何も起こらないでしょ?
sleep()をタイマーとして使うために(ほかメインルーチンとしてのループ)としてスレッドを利用する事は
プログラムの自由度や拡張性を損なうはずだし
他のスレッドを使ったときに同期が取れなくなる根本の原因になるはずだから
メインルーチンはスレッドにしない方が妥当と思います。(あくまで私は)
とりあえず目先に捕らわれない設計を行うべきじゃないの?オブジェクト指向なら尚更
0135デフォルトの名無しさん
NGNGもちつけ
具体的なあんたのsleep使わないコードはどうなってるんだ?
sleepは指定スレッドを一定時間止めることでそれは変わらない
スレッドが待機状態から実際に動くまでの時間差は絶対にあるし
それはjavaに限ったことではない
非リアルタイムOS使ってる時点でその保証は絶対に不可能
ならばsleepがだめという結論はでないだろ
もしかしてあんたsleepを固定で60fpsなら16とかメインスレッドに書いてると思ってるのか?
前回の実行可能時間からのミリタイム取得して引き算使うのは常識だし、
もっと厳密にするならタイマ管理するスレッドでsleep16とかでぶんまわしてメインスレッドに状態を通知する
0136デフォルトの名無しさん
NGNG結果が出ればいい世界で、品質を追い求めるような空論は必要ないっしょ。
どんな作り方がいいかどうかなんて人によって思想があるんだろうし、
実際に不都合が出ない限り、いくら言われても変えないんじゃないかな。
0137125
NGNGいや、俺もあの後そう思ったんだよな。なんぼ言っても無駄な感じがしたわ。
確かに、不都合が出るモノを作ろうが俺の知ったことじゃないんだよな。
>>135
やっぱり、あんまりJavaのスレッドの動作がわかってないみたいだからこれ以上言っても無駄だと思う。
sleepで前回の実行可能時間からのミリタイム取得して引き算使っても、俺の指摘した危険性は変わらない。
俺も幼い頃は、sleepで時間調節と思ったし、初心者向けにAppletとか載せてる参考書とかの
サンプルだとスレッドを使ってループとタイマの処理をさせているのが多いけど
ちゃんとスレッドの理解があれば、あのやりかたに疑問を持つのは当たり前。
と、こう言っても分からないと思うから、まずは書店にでも行って本格的な参考書でも覗いて見てほしいよ
あとSJC-P用の参考書なんかでも細かく説明されていると思う。
それを読んで理解できれば俺の言いたいことが分かるはず。。。。(多分)
実際にコード書いてるわけじゃないけど、俺としてはスレッドとsleep()使うなら(使わなくとも)
Appletのインスタンスが生成されてGraphicの引数がPaintで渡されたら
Graphic参照を他のクラスに引き渡して、メインルーチンとしてそのクラスを使えば
見易すいと思うし、作りやすさ(多人数での開発)も向上できると思うよ。
ここまではスレッドを使わない理由にはならないけど、そもそもスレッドを使う意味が無いと俺は思う
何故わざわざ無駄にコードを複雑にしなければならないか分からん、スマートな形にどうしてもしたくないってなら別だろうけど
それと俺の指摘しているsleep()の話
後は、確認はしてないけどスレッド処理は負荷が大きい部類に入ったはず。(とは言えたかが知れているとは思うが。。)
と、いろいろ言っちゃったけど、自分の納得できるように好きに作ってみたらいいんじゃないかと
文句言って悪かったな。俺も俺のやり方で、まずは作ってみることにする。
0138125
NGNGあとスレッドに状態を通知しようが何をしようが、スレッドが実行状態に移されるタイミングはVMが全部制御している。
>>77
なんでスルーされているのか分からないんだけど、強制GCなんてできない。(勧める事は可能、多分それを言いたかったのだとは思うが)
当たり前すぎるからシカトしてたのかも知れないけど
0139デフォルトの名無しさん
NGNGもしくは問題になるコード
>>137の書き込み見る限り意味不明の逃げにしかみえんぞ
0140125
NGNGコード、コードって(w
俺が言いたいのは、sleep()はタイマーに使えるもんじゃないよって事(何回言わせるんだ)
コードなんてまだ書く段階じゃないから設計しかしてないよ。
と言っても俺が進めるのは、とにかくスレッドを使わないで
Graphicが生成されたら、その参照を使って他のクラスでメインルーチンを作るってだけ
それの説明でわかるでしょ?
いいから、ちゃんとJavaを勉強してから始めたほうが俺は無難だと言いたい。
発言見る限り、全然知らないとしか言いようがない、多分これ以上俺が説明した所で無駄
自分で納得してください。けど、どうするかはそっちの勝手。
sllep()をタイマーに使うと、自分が止めたい時間より、長く止まる事は普通にありえるんだよって事。
それでもいいなら何も言うことは無し。
普段どんな言語使ってるか知らんけど、Javaの場合上っ面だけで動作できるプログラムを作ることができても
細かな部分で、動作が複雑なところが多いんだよ(特にCをやってたなら注意すべき)
0141125
NGNGimport java.awt.Graphics;
public class X01 extends Applet{
public void init(){}
public void start(){}
public void stop(){}
public void destroy(){}
public void paint(Graphics g){
X02 x02 = new X02(g);
x02.Y01();
}
}
*****************************************
import java.applet.Applet;
import java.awt.Graphics;
public class X02 extends Applet{
Graphics g;
X02(Graphics g){
this.g = g;
}
public void Y01(){
//メインルーチンの先端
}
}
とりあえずスレッド使わなくてもこんな感じで始めればスレッド使わなくても
普通の作り方ができるっしょ。これ以上やる必要ってあるの?わざわざスレッドなんて使い出して意味あるの??
0142デフォルトの名無しさん
NGNGそんなのだれでもしってるだろ
VM依存もあるし、その下のOSやらにも左右される以上sleep4もSleep0も同じとか
それはわかって使ってる
これらはリアルタイムOSじゃない限り保証されるものではない
「それなり」に動くことを期待するわけ
Windowsネイティブのsleepも「それなり」を期待しているだけだ
マルチタスクOSでCPU100%でぶんまわすというふざけた実装はしたくないもんでね
>Graphicが生成されたら、その参照を使って他のクラスでメインルーチンを作るってだけ
Graphicsを他のクラスでもっていくってそれはSleepとなんの関係もない部分だろ
>実際にコード書いてるわけじゃないけど、
こんなことかいてるから信憑性が全くないわけ
だから、根拠を出すためにサンプルコードが必要
時計での時間管理だけならTimerTask使った方がいいだろう
しかし、TimertaskはSleep以上に誤差が大きくなる
fixedにすれば一瞬のHDDアクセスや他のプロセスの負荷が上がった瞬間に
早送り現象が発生するし、なくせば悪化
特にWin上で問題なくてもLinuxで問題が出やすい
0143デフォルトの名無しさん
NGNG厨は黙って勉強しろってことだ(ゲラ
0144デフォルトの名無しさん
NGNG俺はスレッドの話はしてない
ちみが問題にしているsleepの話をしているんだ
スレッドはどう使おうが自由
ゲーム作るのにはマルチスレッドつかおうがメインスレッド1つだろうが自由
0145デフォルトの名無しさん
NGNGどうでもいいがつっこみどころ満載だぞ
0146125
NGNGいや、環境のことを言いたいんじゃないよ。そんな細かい話じゃない。
Javaの基本的なスレッド管理の事を言っている。
>sllep()をタイマーに使うと、自分が止めたい時間より、長く止まる事は普通にありえるんだよって事。
というのを分かって欲しい
スレッド1本なら問題ないけど、2本目を仮に使う可能性が出た場合思うようにタイマーが動かなくなる可能性があるって事。
sleep()を使うのは誤差以前に根本的な問題を抱えているって事。
確かに、「それなり」なら問題はないとは思うけどね。
信憑性がないってのは心外だね、コード書けばいいって話じゃない。
そもそもオブジェクト指向言語で開発しようとするなら設計を重要視すべき。
コードを書くのなんて単なる作業に過ぎない。
論理的に問題無い設計を十分にしたあと、ただコード化するだけ。
そっちのやり方は、拡張性を失うし、大きなプログラムを作ろうとするには不向き。
もし論理的矛盾が無いシステムを作ろうとするなら、Javaの仕様についての正しい理解が必要になる
逆に正しい理解をしていない人間が、その作業を行うのは不可能なんだよ。
俺が見る限り、>>142は、とりあえず作る、作った事のある、細かいところは無視、そういったレベルにしか見えん
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG理解するために悪い例としてコードを書いてほしい、
ということだと思うよ。
0149125
NGNG>>>141
>俺はスレッドの話はしてない
>ちみが問題にしているsleepの話をしているんだ
>スレッドはどう使おうが自由
>ゲーム作るのにはマルチスレッドつかおうがメインスレッド1つだろうが自由
スレッドあってのスリープでしょうが。
スレッドはどう使おうが自由って、何回も言うけど
マルチスレッドにしたときにsleep()を使ってタイマー制御してると問題なんだって(w
いい加減、勉強してこい。
0150125
NGNGそういうことか。。。
でも、それなら>>141が作ろうとしているやりかたで
マルチスレッドにしたのが悪い例になるだけ。
悪い例ではあるけど、それが正しく動作しないとは限らない。
精度は低いものの、それなりに同期はとれるはず。
でも厳密には正確に動作できていない。
その程度のレベルだろうな。
それで納得できるか、できないかだよな。
俺は納得できないってだけだなこれは。。。。
0151デフォルトの名無しさん
NGNGいや、sleepがjava固有の問題というかVM依存なんだよ
netscapeのvm(oemだけど)、あれはたしか0も4も同じ0だったはず。
下手するとWin95の問題だったかも
スレッドの数に限らずsleepは信用しないこと
これはvmかぶせてるjavaならさらに重要
javaはまっとうな時間管理が出来ないんだから妥協するしかない
ちなみにクライアントのほとんどはwinだろうけど、これなら大概sleep含めて綺麗に動く
Linuxはこのへんもたつくけど解決方法はなんとかある
シューティングゲームなんで多少フレームレート落ちても
それなりに安定したフレームレートさえでれば問題ないよ
winで60fpsがlinuxで55fpsだったとしても大きく損ねることはない
設計云々はべつに今回の問題とは関係のないところ
>>147
メインスレッドってしらんのか?
ゲームでは時間管理にシングルスレッドでもsleepを使うことはあるんだよ
0152125
NGNGそうか妥協することを前提とした話なら納得できるわ。
お互い、どの程度理解してるのか計れないから会話がかみ合わなくてスマン。
結論としてはJavaはゲーム向きじゃないんだろうな、、、やっぱり(それを言えば元も子も無いが)
当方は普段C++、DirectXでゲーム作ってますわ。VBのDirectXなんかも意外に良いかも、時間短縮できるし。
そっちはゲーム開発に詳しそうだから聞いてみるが
マシンに負荷がかかる部類のスレッドをあえて利用する価値についてどう思う?
0153デフォルトの名無しさん
NGNGC&DirectXもやったがアレはちと酷いもんだった
GameSDKと呼ばれてたころから追いかけていたが
いくら待っても実装されないものや実装がビデオカード依存とか
ゲームの処理がCPUがどんなに速くなったところで
スワップなどの発生ででフレームが飛ぶ
昔から触ってきた人種ならビデオのアクセラレーションありで
CPUがクロック100MHzもあれば余裕で処理落ち無しで
2DSTGなんか作れる
結論としてはリアルタイムOS以外はゲーム向きじゃない
VSync切る人もいるけどティアリングなんてお話にならないし
最近はTV放送でもスタッフロールなどでティアリングしているのを
見ると激しく萎える
まぁ、マシンパワーが上がってそのへんをすべて妥協するとした場合
javaは1.4からの新機能でだいぶ使いやすくなったのは確かだし
ゲーム開発するにもちゃんとオブジェクト指向ですっきりしたコードが書ける分
C+DirectXでめちゃくちゃなコード書くより楽ということになった
せいぜいDirectInputをJNIで使うくらいかな
2Dのゲームを見比べてjavaはダメだという結論はでないはずだ
0154デフォルトの名無しさん
NGNGスレッドは大量に生成をくりかえさないかぎりさほど負荷かからないよ
昔のjavaのグリーンスレッドはすごかったけどね
今じゃネイティブスレッド使ってるし、それこそjavaVM立ち上げた時点で
かなりのスレッド立ち上がってるし、hotspotのコンパイルログ見ればわかると思うけど
おもしろいほどバックグラウンドでガシガシネイティブコードにかきかわっていってる
スレッドが重いとはおもわないこと
winだって普段でスレッド500こくらい立ち上がってるし
それでも、GUIの操作しているとLinuxよりWinのほうがサクサク動く
ゲーム部分のスレッドとして1つ、サウンド周りのスレッドとして
1つというのはふつうにありえる実装だよ
たとえばjavasoundのデフォルトで1秒のPCMバッファがあったはずだから
何も考えずにsleep(1)をループにいれてその辺の処理をチマチマ書くというのも問題ない
このsleepがなくなるとサウンドの方で100%CPU使用率になるから注意と
CPU負荷率が上がるとノートはファンが回り出したり、CPUのクロック上昇、
そして温度によりクロック低下などバッテリの消費早めるとかいろいろあるんでね
すでにノートの方がデスクトップより遙かに売れている時代だ
そのへんも考慮してあげてもいいだろう
0155デフォルトの名無しさん
NGNGゲーム部分と、サウンドでスレッドを用意ってのは分かるし
普通に思いつきやすい発想だとは思うけど
それこそプラットフォームによって思うように動かない可能性が高くなるんじゃないの?
全てのプラットフォームで一貫した動作は保障できなくなるし。(何を求めるかによるけど)
プリエンプティブとタイムスライスとか、どんなプラットフォームを使ってるかわからんわけだし。
その方法だと、動作をVMのスケジューリングに依存する部分が多すぎじゃないのかな。
それで、もし同期を取ろうとスレッド制御をしようとするのが面倒になってくるし。
0156デフォルトの名無しさん
NGNGいまのjavaでグリーンスレッドとか考慮する必要あるの?
すくなくとも現行のjavaの満足に動くプラットフォームではなんの問題もない
0.5秒以内のスライスならまったく問題ない
秒単位でスケジュールされるようなマルチタスクOSなんていらね
0157デフォルトの名無しさん
NGNG確かに、そう言われれば、そうなんだけどね。
昨日、ずっと考えたけど。結局、自分好みのつくりかたでいいよな。
というわけで自分の好きに作ることにした。
結論としては、スレッドとsleep()は使わない方針にして
・スレッドを多数使用したときに考えられる、タイマーへの影響を回避
・プラットフォームによるVMのスケジューリングへの依存を極力回避できる
・よりオブジェクト指向ライクなクラス設計がし易い傾向が現れる(説明は長くなるので割愛するけど)
のメリットを得て、その代償に
・タイマー制御をスレッド停止によって実現しないことでのCPUへの負荷
を選択することにしました。
0158デフォルトの名無しさん
NGNGこれまったく文脈と関係ないだろ
0159デフォルトの名無しさん
NGNG各キャラクタのクラスに描画情報を持たせるのと
アプレットで描画情報を一元管理するのと、
どっちがいいのかしらん?
前者のほうがオブジェクト指向ぽい香りがするが。
0160デフォルトの名無しさん
NGNGもちろんメインルーチンがそれを綺麗に呼ぶようなフレームワークづくりが先に必要だけどね。
たとえば抽象敵クラスを継承して実装していくのがふつーと思われるので
そこにdrawとかというメソッド用意すると。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG実際にやってみな
俺はぜんぜん体感できないよ
gcが頭よくなったのとマシンパワーがありあまってるからね
STGのオブジェクト程度まったく問題はない
0163デフォルトの名無しさん
NGNG>各キャラクタのクラスに描画情報を持たせるのと
オブジェクト指向的
>アプレットで描画情報を一元管理する
構造化技法
俺もそう思う
でも>>160の言うように、描画用などの基本動作のクラスを作って
各キャラクタのクラスに継承させるのが、よりOOP
0164デフォルトの名無しさん
NGNGpublic static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
System.out.print(i + "getキタ");
for (int j = 0; j < i * i; j++) {
System.out.print("━");
}
System.out.print("(゚∀゚)");
for (int k = 0; k < i * i; k++) {
System.out.print("━");
}
System.out.println("!!!!!");
}
}
}
0165デフォルトの名無しさん
NGNGオプションでいろいろな種類を選べるんだったよね?
誰かベンチ付き説明きぼんぬ。
0166デフォルトの名無しさん
NGNGdWの「Javaの理論と実戦」シリーズは?
ttp://www-6.ibm.com/jp/developerworks/java/library.html
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG─、、
(゚皿゚ O) ガオー!
/ ̄/ >>
| ̄| | |
@/\ \@/
/'/ /'/
| | | |
-┛ -┛
0169デフォルトの名無しさん
NGNGLinuxみたいに誰もが参加できるような。
今までにないと思うんですけど。
ちなみにThread.sleep()は精度が悪くて使いものにならないと思う。
Java3DのTimerを使うのが常套手段らしいです。
↓このチュートリアルが大変参考になります。
http://fivedots.coe.psu.ac.th/~ad/jg/index.html
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG最初は数当てゲームなんかが良いんじゃないでしょうか?
所詮Javaなんですから。
0172デフォルトの名無しさん
NGNGJavaの実力を知らないですむし、これからもJavaと付き合っていけそうじゃないですか。
まずは、そういうところから始めましょうよ。
まして、いきなり3DやろうとするとJavaに絶望する危険がありますよね。
言語には向き不向きがあるわけですし、身の丈にあったところから始めたほうがいいと思うんですよ。
0173デフォルトの名無しさん
NGNGこれ、きっちり使えるんですよ。
友人なんかも、すごいなーって驚いてました。
Javaで、ここまで出来ると思わなかったんでしょうね。
でも、感心してくれる人はたくさんいたのに、
実際に使ってくれるひとは一人もいなかったんですよ。
当たり前ですよね。
考えてみれば、Javaで作ったからこそすごいのであって、
MIDIソフトだと考えれば使い物にならないですから。
ゲームなんかでも同じことがいえると思うんですよ。
やはりJavaは、CGI程度のことに使うのがいいと思うんです。
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG何とかそれまでには、作品の一つくらい完成させたいじゃないですか。
生産性の高いJavaですから、変な夢さえ見なければ、
今からでも十分間に合うと思うんですよね。
がんばりましょうよ。
0177デフォルトの名無しさん
NGNG確かにコンシューマライクなスタンドアロンのゲームをJavaでオープンで
作ろうとするのは明らかに馬鹿げてるというか、意味がないと思うんです。
またウルティマオンラインのようなMMORPGを作っても意味がないと思うんです。
要するにJavaでどこまでクオリティの高い「売れる」ゲームを作れるかと
いうことには興味がない。
僕は、「作品」としての「ゲーム」ではなくて、
「ゲーム」の外観をもった「巨大なネットワークシステム」を構築したい。
抽象的ですが、ゲームというものをもっと大きく捉えたものなんです。
でもそれって一体どんな感じなのか??
今アイデアとしてあるのは、コミュニケーションを根本的なテーマにしたものなんですが、
激しくスレ違いでごめんなさい。
0178デフォルトの名無しさん
NGNG経験的に言えることは、systemが完成したとしても、ネットワークは出来ないと思うんですよ。
使ってくれる人がいないから。
Javaで作ると、どうしてもプログラマ以外には敷居が高くなってしまう。
出来るだけミニマムで自己満足の範囲内で作ったほうがいいと思うんです。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGスレタイはわかってるけど、もう結論出てるでしょう。
無理なんですよ。
少々路線変更して現実的な形にしたほうがいいと思います。
数当てゲームならたぶん完成しますよ。
0181デフォルトの名無しさん
NGNG作るのは "ナンバーシューティングゲーム" という事で・・・
0182デフォルトの名無しさん
NGNG久々に笑った。
0183デフォルトの名無しさん
NGNGあるとすればVMをインスコできないユーザーの啓蒙ぐらいだ
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNG3Dグラフィックスモデル、サウンド、デバイス入力などを一手にこなす
なかなか優等生なライブラリだ。
これのおかげでJavaは、Win32や.NETよりゲーム向きなんじゃないだろうか。
まー使ったこと無いけど。
0186デフォルトの名無しさん
NGNGフルスクリーンやページフリッピングもDirectXで面倒な処理かくより手軽に出来る
実はフルスクリーンアプリをタスク切り替えとか最小化したときの
復旧を全自動ってのがかなりらくだ
JavaSoundは通常のmidi再生やpcm再生はすでに十分なもの
とくにJavaSoundはソフトウェアmidi内蔵しているので
WinでもLinuxでもまったくおなじ音がでるのがすばらしい
0187デフォルトの名無しさん
NGNG書いててむなしくないですか?
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG環境によります。
やりたいことによっても変わります。
いずれにせよ、ファイルをコピーするだけなのでユーザが簡単に行えます。
どこにコピーすれば良いかは環境によるので一概に言えません。
バージョンによっても変わります。
何をコピーすれば良いかは、環境とバージョンによって変わるので一概に言えません。
いずれにせよ、ファイルをコピーするだけなのでユーザが簡単に行えます。
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG宣伝ばかりしてるから、こうなるのですよ。
上の書き込み全部読んでみてくださいね。
作るスレなのに、夢を語るばかりで何も出来てこないじゃないですか?
夢も大事ですけど、出来ることからこつこつやりましょう。
まず、コードの1行を書く。そこから始めてみませんか?
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG携帯のJavaみたいな物でいいのですか?
だったらJNI使いまくってすばらしい3Dシューティングでも作りましょうよ。
J#でも良いかもしれないですね。
このスレの人は、出来るだけPureJavaでやりたいのだと思ってました。
0194デフォルトの名無しさん
NGNGJOGL
https://games-core.dev.java.net/
Xith3D
http://www.xith.org/
JME
http://www.mojomonkeycoding.com/jmeDownload.html
JavaGaming.org
http://www.javagaming.org/cgi-bin/JGNetForums/YaBB.cgi
0195デフォルトの名無しさん
NGNGJava3Dよりそっちの方がいいみたいだね。
Shaderも使えるみたいだし。使わないけど。
0196デフォルトの名無しさん
NGNG永遠に脳内レンダリング。
0197デフォルトの名無しさん
NGNG3Dシューティングならともかく、2Dキャラを3Dに置き換えただけのゲームは正直秋田。
まあ、1回モデリングすれば何十枚もドット絵書かなくていいから楽なんだろうけど。
0198デフォルトの名無しさん
NGNGうちらには関係ないっしょ。
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG_/ノ.. /、
/ < }
ry、 {k_ _/`;, ノノ パンパン
/ / } ;' `i、
_/ノ../、 _/ 入/ / `ヽ, ノノ
/ r;ァ }''i" ̄.  ̄r'_ノ"'ヽ.i ) ―☆
{k_ _/,,.' ;. :. l、 ノ
\ ` 、 ,i. .:, :, ' / / \
,;ゝr;,;_二∠r;,_ェ=-ー'" r,_,/ ☆
【ラッキーレス】
このレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
0202デフォルトの名無しさん
NGNG界 界 界 界
界 界 界
# | # #
### ### ###
A
0203デフォルトの名無しさん
NGNGところで、ミサイルやインベーダーは出現する度にnewするもんなんですか
0204デフォルトの名無しさん
NGNG通常のSTG程度の弾幕なら逐次new〜GCも問題ない
普通にJava2Dつかっていても300MHz以下ならまずいかもしれんが
大概描画関係の方がネック
どうせならjavaらしく敵キャラやステージデータは完全にプラグインにしなされ
俺は自己満足といわれようがそうして作ってるけどな
なんかSTGツクールでも作った方がいい気がしてきた
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG有り難うございます」」
>どうせならjavaらしく敵キャラやステージデータは完全にプラグインにしなされ
後スミマセン、これってどういう意味でしょうか?
0207デフォルトの名無しさん
NGNGひとつのjarにまとめるのもいいけど、わけてそれを差し替え可能にしとくのがいいかなぁと
gamemain.jar
stagedata.jar
enemy.jar
って感じで差し替え可能にしておくとパッチ配布が楽になるかもしれん
「URLClassLoader」ってのをしらべてみそ
0208デフォルトの名無しさん
NGNGあとSTGツクール(←死後?)って何のことでしょうか?
www
0209デフォルトの名無しさん
NGNGいろんなのがでている
しかし、マイナーだったのか
STG作るならプログラムもいいが
まずはこういったツクール系を先に手を出すものだと思ったが
ほかにはデザエモンとかシューティング68Kうんずとか
吉田工務店あたりも
0210デフォルトの名無しさん
NGNGありがとうございます。
さっぱりわからないのですが?
www
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNGPC98時代にアスキーのツクールシリーズでSTG作るヤツも出てたけど。
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGttp://naramura.kdn.ne.jp/msx3/g3project/
0215デフォルトの名無しさん
NGNGたしかにjavaつかったSTGではあるけど、ここは既存のゲームを紹介するスレではない
参考にするならするでかまわんがなにを伝えたいのかがわからん
ちなみにPCでできるSTGなど他のスレ関係では激しく既出
そもそも、このスレが場所違うが
0216デフォルトの名無しさん
NGNGみたいなの作りたいなあ
0217デフォルトの名無しさん
NGNGそういうのは、夢・独り言板で・・・
0218デフォルトの名無しさん
NGNGみたいなの作りたいなあ
0219デフォルトの名無しさん
NGNG0220216
NGNG夢独り言板とかいってマジ意味不明
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG千本ノックの人ですか?
0223デフォルトの名無しさん
NGNG誰かJBBS借りて、そこで話さない?
ここだと、いろんな情報が一箇所にぶち込まれて・・・
0224デフォルトの名無しさん
NGNGちゃんと計画とかをたてて説明して
あっちでまずは立ててみたら?
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGttp://briefcase.yahoo.co.jp/test1748
[space][5]で弾を撃つ
[←][→][4][6]で左右移動
Test.lzhの中身:
build.xml
manifest.txt
Test.java
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGなんかHDD整理してたら、俺が高校の時に作った
痛いSTGが出てきたんだけどアップしてみようかな。
ちなみに、ソースもあるけどJava2 1.4だとコンパイルできなかった。
0230デフォルトの名無しさん
NGNGおれも痛いのがあるから。
0231デフォルトの名無しさん
NGNGJFrame使ってる理由が謎 Swingのクラスローディングの手間かからないFrame使っとけ
0232デフォルトの名無しさん
NGNGあほがいた
0233デフォルトの名無しさん
NGNGなんで? JPanelとかSwing系のクラス読み込みかかるはずだろ
0234デフォルトの名無しさん
NGNG0235229
NGNGアップしてみた
0236デフォルトの名無しさん
NGNGhttp://shin.cside.com/product/pw/index.htm
普通にさくさくうごいてるね
0237デフォルトの名無しさん
NGNGせめてゲームで盛り上げてくれ
0238230
NGNG乙。おれも晒してみる。
一昨年つくったシューティング。
ソースが汚すぎていまや修正不能。自作のドット絵が限りなく痛い。
http://proxy.ymdb.yahoofs.jp/users/bf3132b0/bc/Public/Shooging+1.zip?bcLgGEBBsecDAQSl
授業の宿題で年末につくったシューティング。
Java のくせに機種によって動作が鈍かったり弾が視認不能だったり。
Mac OS X だと快適なんだけどね。
http://proxy.ymdb.yahoofs.jp/users/bf3132b0/bc/Public/Shooting+2.zip?bcLgGEBBMdVzCKi1
0240230
NGNGMac用に最適化したからダブルバファリングやめたんだった。
出直してきます。
0241デフォルトの名無しさん
NGNG独特の操作系統に慣れると走ってるだけでも楽しいね。
ただ敵を壊す爽快感よりも作戦とか緻密な操作に重点があるかんじで
あんまシューティングっぽくないような。
あと難しすぎて1面クリアするだけで1時間かかった・・・。
0242デフォルトの名無しさん
NGNGこのスレでどうこう言ってもなあ。
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG社会人7年目。Javaメインにやってるが、Servlet/JSPオンリーで、
最近はとんとJavaのクライアントサイド、ってのに縁がないな・・・。
久しぶりになんか作ってみたくなった。ゲーム。
でも、ゲームは絵がなー。
いい素材探してくるか。
0245デフォルトの名無しさん
NGNGABAさんところとかみてみたら?
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGいいボケが思いつきませんでした。
勘弁してください。受け止めきれませんよ。
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNGttp://milkyway.merseine.nu/Java/Java089.html
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNGあるいは単に使いたいから。
といったところでいかがでしょう。
納得できるような一般解はなかなか得られそうにないかな、と。
特にゲームなんかだと。
0254デフォルトの名無しさん
NGNGというかJFrame作った時点でスレッド作られるし
JavaSoundでも自動的に作られる
そもそも負荷無しで厳密な時間管理にはスレッド必須
0255デフォルトの名無しさん
NGNG負荷ありでスレッド使わない方がいいよ
メソッドのスレッド.タイマーだけ使う
これが一番ゲーム的
0256デフォルトの名無しさん
NGNGよほどの思考系じゃないかぎり10%もいくことはないんじゃない?
そもそもスレッドが問題になることはないし
逆にスレッドは厳密な時間管理で必須かと
メインスレッドでwaitとTimerTaskでfixedの組み合わせは
CPUパワー喰わずにフレームレートが安定動作する
時間のポーリングやる人いるけどあれはCPUパワー喰うくせに
実はsleep並に安定しない事も多い
そもそも音関連いれたらスレッド必須だろうに
0257デフォルトの名無しさん
NGNGJavaで60fps over実現しようとするとやっぱそれなりに
0258名無しさん@そうだ選挙に行こう
NGNG3Dはjava3Dがオープンになった今後の動き次第だろうね
そもそもメインスレッドでポーリングしてると他の処理に負荷かかるので
結果としてなめらかに動かない
hotspotはバックグラウンドでガリガリコンパイルするし場合によっては
並列GCで動いている可能性もあるかもしれない
サウンド周りはLine使うので定期的に動くスレッドが必要
これらに負荷かけてまでポーリングしていたらJavaは重いって言われるの当たり前
0259名無しさん@そうだ選挙に行こう
NGNGついつい従来通りに時間のポーリングをしてしまうが、
大半のVMでは最低でもメインスレッド、GCスレッド、ファイナライズスレッドの3スレッド構成になるからなぁ。
他のスレッドに影響を与えるとまでは考えつかなかった。
なかなか興味深いTips thanks
0260名無しさん@そうだ選挙に行こう
NGNGポーリングするならsleep(1)をいれたほうがまだましという状況は
あるかもしれんがその程度
メインスレッドをobject.wait()で止めてTimerTaskからobject.notify()
で起動させるようにするとかなりなめらかになるぞ
特にLinuxでのフレームレートの安定度が段違い
ポーリングはWinで一見問題なくても他の環境で問題が出ることもしばしばというわけだ
0261デフォルトの名無しさん
NGNGお前ら本気で言ってるのか??
まずJavaにおけるスレッドの動作を隅々まで調べたほうがいいぞ
>>260は分かってるかは知らんけど近いこと言ってるな
0262デフォルトの名無しさん
NGNGどこをどのように修正すると正解なのか言ってみてクレ。
0263デフォルトの名無しさん
NGNG0264横レス
NGNG・TimerTaskは内部的にObject.wait(long)で調整⇒sleepと大差ない。
というわけで、問題は実装の手間だけだろうと言ってみる。
細かくやりたいなら、大まかにSleep(long)/wait(long)で調整したあと
残りをSystem.nanotime()やJava3DTimerでポーリングするとよさげ。
(60fpsで試したらほとんどポーリングしていたが)
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG定期的に回ってくれるのでちょうど使いやすい
最終的にはどうせ垂直同期とるんだからコンフィグでタイマー&bltを使うか
垂直同期のみかで切り分けるのがよさそう
世の中液晶ディスプレイばかりになったので以前に比べたら
かなり状況はよくなってきた希ガス
0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNG気合で
すんばらしすぎる殿方達の脳みそのなかで
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/gamedev/1094602659/
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG入力処理スレッド、描画処理スレッドとか。
0278デフォルトの名無しさん
NGNGhttp://jbbs.livedoor.jp/travel/3861/
0279デフォルトの名無しさん
NGNGああいうゲームすぐ作れますか?
0280デフォルトの名無しさん
NGNG2Dだけなら大概問題ないが、アルファブレンドでは加算合成が標準で入ってないあたりが
少しは問題になるだろうか。
あと拡大縮小回転アルファブレンドはアクセラレーションがきかず、ソフトウェア描画になる。
基本的にすぐに作れる。
というかDはまだいいが、CとかC++にくらべればJavaははるかに2DSTGは作りやすい。
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG描画以外のところがプログラム組む上で最重要だからな
多態ってのを意識し始めるとどんどん効率はよくなる
C++でもできるがある程度言語的に縛られる部分とかもあるのと
プログラマのレベルによる品質の差が大きすぎる
0283デフォルトの名無しさん
NGNGそれにJITの最適化すげーよ?
Cみたいに最適化がコンパイラのバージョンに依存しない
どこそこのコンパイラが遅いとか、そういうこと気にする必要ない
新しいJITランタイムができれば再コンパイルする必要すらなく速くなるんだぜ?
あれ?でもバイトコードに落とされた時点で多少変わりそうだよな?
いくらJITでも最適化すんのはバイトコードレベルなわけだし
よくわかんねーや
0284デフォルトの名無しさん
NGNGだからJavaがすでにCより早いとかそういう現象が起きているわけだ
まぁ2年位前からだけどな
0285デフォルトの名無しさん
NGNGバイトコードの実行時コンパイルなんて、70年代のPascalで既に実装されてたよ
0286デフォルトの名無しさん
NGNGHotSpot技術は昔から研究されていたが、実用的になったのはここ最近のことだ
たんなるJIT技術でいいのなら1.1のころからとっくに問題になってなかったさ
0287デフォルトの名無しさん
NGNGまじっすか
0288デフォルトの名無しさん
NGNG同じ命令を解釈するCPUであってもPentiumM系列とNetburst系とで最適化がまったく違う
AMDになったり他のCPUになればさらにね
そういった対応ができないこともないのが動的コンパイラの利点
SSEやMMXなど対応していればそれを使うし、なければ使わないといったことは
すでにやってるはずだよ
これをCとかだと自分で書かないといけないわけだが
JavaはCよりも速いとかで検索してみそ
0289デフォルトの名無しさん
NGNGどこに置いてあるの。
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNGおいてあるのじゃなくて自分で作れ
0292デフォルトの名無しさん
NGNG余裕でつくれるなら、なぜベクターのゲームがJAVAだらけにならない?
0293デフォルトの名無しさん
NGNGまぁVBだろうがHSPだろうがインタプリタでも余裕で大量生産できるわけで
言語はもはや問題じゃないさ
そしてJavaは速度的には早いほうではある
無料で趣味から仕事までカバーできるIDEとかあるのはすげーけどな
0294デフォルトの名無しさん
NGNG余裕でつくれるなら、なぜベクターのゲームが○○だらけにならない?
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNGなんだかんだいっても初心者にはEclipseは敷居が高いしな。
0297デフォルトの名無しさん
NGNG実際にJavaのスレみても画像関連の質問がほとんどこないことから
実際に作ってる人がいないだけっぽいな
一応ゲームとしてそれなりに作れるようになったのは1.3あたりからかな
1.4でフルスクリーンやフリップできるようになったのは確かに大きいけどね
むしろ最近はランタイムをセットアップさせなくてもJavaアプリが動かせることを
しったやつらが多いようなんで、通常のWin32アプリと同じ土俵にたった
というのが大きい希ガス
0298デフォルトの名無しさん
NGNG.exeが作れるってこと?
0299デフォルトの名無しさん
NGNGレジストリをいじられたくないとか展開するだけでゲームを遊びたい人にはこれでいいだろう
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGナローは厳しいな。
作り手側はOSより回線を気にしなきゃいけない。
0302デフォルトの名無しさん
NGNG別に同人でCD配布ならサイズはきにせんでいいし
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNGjavaスレなんで言語はjava1.4
IDEはeclipse
DBはMySQL
アプリケーションサーバーはJBoss
フレームワークStruts
でいこうと思います。
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNGつーかJavaで正確なフレームレートなんて(ry
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
05/02/27 14:40:080314デフォルトの名無しさん
2005/05/13(金) 23:12:020315デフォルトの名無しさん
2005/05/13(金) 23:42:04ハゲドー
専用ゲーム機で作るにかぎるだろ。変にPCOSで作る必要なし。
楽なのはワンダースワンカラーだとおもわれ
0316デフォルトの名無しさん
2005/06/05(日) 20:27:340317デフォルトの名無しさん
2005/06/05(日) 21:44:280318デフォルトの名無しさん
2005/06/05(日) 21:54:360319デフォルトの名無しさん
2005/06/05(日) 22:52:16GCの速度が上がったのは大きいと思う
JavaSoundも扱いやすいstaticメソッド増えてるし
移行しない意味はないね
0320デフォルトの名無しさん
2005/06/06(月) 23:31:510321デフォルトの名無しさん
2005/07/04(月) 03:30:23本当であるか?
0322デフォルトの名無しさん
2005/07/04(月) 12:54:330323デフォルトの名無しさん
2005/07/07(木) 02:39:140324デフォルトの名無しさん
2005/07/07(木) 12:09:550325デフォルトの名無しさん
2005/07/07(木) 22:49:500326デフォルトの名無しさん
2005/07/07(木) 22:56:170327デフォルトの名無しさん
2005/10/04(火) 21:58:26今年理系大学はいってから今までJavaと戯れてたんで
Javaでゲーム作ってふりー配布したいのですが。
0328デフォルトの名無しさん
2005/10/04(火) 22:55:240329デフォルトの名無しさん
2005/11/01(火) 17:47:01当り判定一つにつき相対値絶対値を二つずつ
作らなければいけなく、管理が面倒なんです。
なにか代わりになるものはありませんか?
ver1_4_02です
0330デフォルトの名無しさん
2005/11/01(火) 18:25:36俺は相対座標にRectangleつかって当たり判定もRectangleのintersectsでだしてるが
if分で自前で管理するのと速度的に差が出るわけでもないし
0331デフォルトの名無しさん
2005/11/01(火) 18:26:200332デフォルトの名無しさん
2005/11/01(火) 21:29:18必要な機能を足せるから自前でまとめるのもよいかな?
ありがとうございます。
0333ハーピィ
2005/11/01(火) 22:22:590334デフォルトの名無しさん
2005/11/09(水) 17:47:14sleep使う必要ないということはないよね?
0335デフォルトの名無しさん
2005/11/09(水) 19:10:31画面モードをかえれるとは限らない
リフレッシュレートをかえれるとは限らない
その辺考慮して考えればいいかと
ターゲットがWindowsであれば640*480-8/16bppはまず大丈夫だけどね
普通はウインドウモードとフルスクリーンモードを造るからどっちの処理も入れておいたほうがいい
0336デフォルトの名無しさん
2005/12/09(金) 13:35:27「バヒューン」っていう音を持っている人 頂戴。
0337デフォルトの名無しさん
2005/12/09(金) 17:09:120338デフォルトの名無しさん
2005/12/24(土) 17:28:56皆さんは一体なにを基に敵の出させ方を考えますか?
0339デフォルトの名無しさん
2005/12/24(土) 20:37:450340デフォルトの名無しさん
2005/12/24(土) 22:18:280341デフォルトの名無しさん
2005/12/25(日) 20:53:18Kanawave, swave, PixTone
0342デフォルトの名無しさん
2006/03/18(土) 14:48:51ワロタ
ガンダムもヤマトも全否定ですわ。
0343デフォルトの名無しさん
2006/03/23(木) 11:30:400344デフォルトの名無しさん
2006/04/14(金) 22:27:35フリーでいいのない?
0345デフォルトの名無しさん
2006/04/28(金) 08:44:01C:\My Documentsに解凍して
C:\My Documents\bulletml0_21\bulletml\src\bulletml
で、バッチファイル一発でビルド。
SET PATH=c:\j2sdk1.4.2_03;c:\j2sdk1.4.2_03\bin
javac -classpath %CLASSPATH%;. jp/gr/java_conf/abagames/bulletml_demo/noiz/*.java
実行はこれでok
SET PATH=c:\j2sdk1.4.2_03;c:\j2sdk1.4.2_03\bin
java -classpath %CLASSPATH%;. jp.gr.java_conf.abagames.bulletml_demo.noiz.Noiz
ところがネットに接続してないと弾幕を出せないんです。
<!DOCTYPE ...http://.../bulletml/bulletml.dtd">を
./とかに書き直してもHDDから読まない。
ローカルHDDにあるbulletml.dtdを読ませたいんですけどどうしたらいいでしょう。
0346デフォルトの名無しさん
2006/04/28(金) 08:48:52<!DOCTYPE bulletml SYSTEM "./bulletml.dtd">
としたら次のエラーが出ました。
fatal error : 基本 URI を使用せずに、相対 URI "./bulletml.dtd" を解決することはできません。
-- start --
java.lang.NullPointerException
at jp.gr.java_conf.abagames.bulletml_demo.noiz.BulletImpl.set(BulletImpl.java:67)
at jp.gr.java_conf.abagames.bulletml_demo.noiz.GameManager.addBullets(GameManager.java:274)
at jp.gr.java_conf.abagames.bulletml_demo.noiz.GameManager.gameWakeUp(GameManager.java:375)
at jp.gr.java_conf.abagames.bulletml_demo.noiz.GameManager.wakeUp(GameManager.java:387)
at jp.gr.java_conf.abagames.util.LoopThread.run(LoopThread.java:25)
at java.lang.Thread.run(Thread.java:534)
** stop **
0347デフォルトの名無しさん
2006/04/28(金) 11:13:470348デフォルトの名無しさん
2006/04/28(金) 12:41:000349デフォルトの名無しさん
2006/04/28(金) 14:14:53出来上がったものは低速でちんたら動いて
でもライトワンスランエニウェアだからと慰めるものの
案外どこでも走ってはくれず徒労感ばかり残る
まさにマゾのきわみ
0350デフォルトの名無しさん
2006/04/28(金) 22:35:500351デフォルトの名無しさん
2006/04/30(日) 14:52:450352デフォルトの名無しさん
2006/04/30(日) 16:23:320353デフォルトの名無しさん
2006/05/09(火) 19:58:13Macでもちゃんと動いてるみたいだしね
0354デフォルトの名無しさん
2006/05/09(火) 20:02:080355デフォルトの名無しさん
2006/05/09(火) 22:47:58「楽しい」に掛かってるんだろ
0356デフォルトの名無しさん
2006/07/04(火) 21:23:38場所 所沢(池袋・高田馬場から直通)
i−want−to−study−java@hotmail.co.jp
(アドレスは全角で書いてあるので半角に直してください)
よろしくおねがいします
0357デフォルトの名無しさん
2006/07/11(火) 02:10:060358デフォルトの名無しさん
2006/07/17(月) 21:12:07専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
0359デフォルトの名無しさん
2006/07/18(火) 15:48:030360デフォルトの名無しさん
2006/07/26(水) 21:30:24一般的な家庭教師の相場と比べても低すぎる。
非一般的なノウハウをその値段で教える奴がいたらバカか下心あるかどちらか。
お前なめてないか
■ このスレッドは過去ログ倉庫に格納されています