トップページ⇒tech
360コメント115KB

JAVA シューティング作成委員会

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
初心者が集まって作りましょう。
0002デフォルトの名無しさんNGNG
まあ、一人でがんばれ
0003デフォルトの名無しさんNGNG
2で答えが出てしまったので終了
0004デフォルトの名無しさんNGNG
今宿題で忙しいんで無理だけど
終わってからでなら作ってみまふ。
2Dか3Dどっち?
0005デフォルトの名無しさんNGNG
2Dでいこうぜ
0006デフォルトの名無しさんNGNG
3Dやれよ
0007デフォルトの名無しさんNGNG
アスキーキャラでいいのなら作ってみよう
0008デフォルトの名無しさんNGNG
インベーダーでもいいよ。
0009デフォルトの名無しさんNGNG
さっさと作れチンカスども
0010デフォルトの名無しさんNGNG
既存ゲームは作らんでいい。
もっとこう、グワッと情熱となんかそれっぽいもので溢れる
なんか凄い迫力とともになんかそういうやつ作れ
0011デフォルトの名無しさんNGNG
>>10
>初心者が集まって作りましょう。
0012デフォルトの名無しさんNGNG
画像扱ったことないけどSwingとかSWT使うのか?
それともJAVA2Dとか3Dとかいう奴?
0013デフォルトの名無しさんNGNG
メディアトラッカーで読み込んだのだが・・・
0014デフォルトの名無しさんNGNG
なんか俺、勘違いしているかも知れないのですけど、
スレッドのRunnableで作りますよね?
0015デフォルトの名無しさんNGNG
7行で作ろう
0016デフォルトの名無しさんNGNG
機種は505?
0017デフォルトの名無しさんNGNG
>>16
ジーパンかよ
おれは、リーバイス派だ!
0018デフォルトの名無しさんNGNG
参考スレ

PCで出来る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デフォルトの名無しさんNGNG
>>17の、新しいボケに ニュータイプを感じた
0020デフォルトの名無しさんNGNG
ゲーム製作技術@2ch掲示板
http://pc2.2ch.net/gamedev/

----- 終了 -----
0021デフォルトの名無しさんNGNG
Java に特化して作るなら、こういうスレッドを立てるのも悪くないけど、
せめて1が何かネタを貼らなきゃなぁ
0022デフォルトの名無しさんNGNG
そもそも板違い。
0023デフォルトの名無しさんNGNG
ゲ製作避難所に繋がらなくない?
0024デフォルトの名無しさんNGNG
>>23
気のせい
0025デフォルトの名無しさんNGNG
うぷろだは繋がるけど掲示板は無理
0026デフォルトの名無しさんNGNG
EnterpriseJavaBeans + Oracleでシューティングゲーム?
0027デフォルトの名無しさんNGNG
PCで出来る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/

終了
0028デフォルトの名無しさんNGNG
>>26
障害物の位置はデータベースに入っているのだな、きっと。
0029JGreener ◆B7mnQ.LRaw NGNG
>>1さんがマジなら、手伝いますよ。
JAVA好きなんで、JAVAで本格的なゲームができたらいいなと思ってました。
0030デフォルトの名無しさんNGNG
データベースか!
むちゃくちゃおもろそうじゃん!
データベースから障害物やら
敵機の情報取り出して・・・
むうう、たかがゲームなのに
こんな大規模なシステム使うなんて
わくわくしてくるな

どうせならEJBも無理やり使ってみよう
0031デフォルトの名無しさんNGNG
で、トランザクションが働いて
システムエラーならロールバック
凄い意味ないけど、
0032デフォルトの名無しさんNGNG
http://www.msnusers.com/q00avooa3aa8oj6a73ftau7o94/msgattachments/1
ソース
0033JGreener ◆B7mnQ.LRaw NGNG
昔あったシューティングで、2Dの上方から見た視点で、
ネットワーク対戦になっていて、
数十人が同時に乱戦できるようなものがありましたね。
慣性で動いていて、なかなか面白かったのを覚えています。

そんなのどうですか?
ネットワーク対戦なところがJavaチック?(こじつけ
0034デフォルトの名無しさんNGNG
>>31
複数のプレイヤーが、ある唯一のアイテムを奪い取ろうとする。なんて設定だと、
トランザクションやロールバックが必要になるかもよ。

『取ったぞー!』
『へへ、残念だったね。オレが先だったよーん』
0035デフォルトの名無しさんNGNG
>>33
なるほど、ネットワークなら
P2P2Pかサーバントを使いたいところだな
0036JGreener ◆B7mnQ.LRaw NGNG
>>35
よく知らないのですが、RMIですか?
P2Pでどんどんステージと敵機が拡大していくってのは、面白いかもですね。
0037デフォルトの名無しさんNGNG
>>36

自機をカスタマイズできるとか
なんかロボコード見たくなってきた
0038JGreener ◆B7mnQ.LRaw NGNG
>>37
ロボコードは面白いですよね。
でも、自分で操作する楽しみのほうがネットゲームでは大きいと思うので、
グラディウスで言うところのオプションみたいなのを、ロボコードちっくに作れるというのはどうでしょう。
00391NGNG
>>32
自分が作ったしゅーちんぐゲームです。
この後発展できませぬ
0040デフォルトの名無しさんNGNG
>>1さん、それ見れない。
つか、ネタ?
0041デフォルトの名無しさんNGNG
構想するだけならゲ製。
ここでやるなら最低コードちょっとは書く気を見せれ。
0042デフォルトの名無しさんNGNG
1じゃないけどオレが作った鬼ヘボシューティングならあるぞ。
いるか!?
0043デフォルトの名無しさんNGNG
>>42
キボン
0044デフォルトの名無しさんNGNG
>>30
それだけじゃないぞ。RPGを兼ねたシューティングなら、
世界、建物などの形状、サイズ、座標、武器、防具、
などをデータベース化できる。火山が噴火した、
新しい世界を追加したなど、世界が変わればデータベースが更新される。


ネットワーク上で多人数プレイでこのようなVirtual Realityを兼ねた
RPGを実現するにはデータベースがどこかで必要になる。
当たり前だがユーザ管理にも使う。
0045デフォルトの名無しさんNGNG
>>30
つーか5万人くらいでできる箱庭諸島なんてどうだ?
0046デフォルトの名無しさんNGNG
>>1さん、もう撃沈ですか?
0047デフォルトの名無しさんNGNG
そういえば、なに使って作る?
runneble?
マルチスレッドだよね?
0048デフォルトの名無しさんNGNG
>>47
Timerクラスを使うのがいいよ
0049デフォルトの名無しさんNGNG
>>45
なーるほど、Javaを使う意味があるねえ。
CGIなんて使わないから最高だ。

クライアント側はAppletにするか、JavaWebStart対応にするかだね。
0050デフォルトの名無しさんNGNG
じゃあよ、SOAPとかJMSでもいいから無理やり使ってみよう
こうなったら、J2EEてんこもりアプリにしよう

つーか結局、どんなゲームにするかが問題なのだが
>RPGを兼ねたシューティング
っていうのがイメージ湧かない
既存のゲームでこういうのあるの?
0051デフォルトの名無しさんNGNG
>>50
おいおい、応答性重視のアプリのSOAP使うな。
0052デフォルトの名無しさんNGNG
>>51
だからさ、そういう処理に使うって誰も言ってないじゃん
ユーザがオフラインの間にいろんなイベント起こさせたり
ユーザー同士のコミュニケーションにも使えるじゃん
0053デフォルトの名無しさんNGNG
public class ShootingGame {
public static void main(String[] args) {
System.out.println("Game Over");
}
}
0054デフォルトの名無しさんNGNG
>>50
> じゃあよ、SOAPとかJMSでもいいから無理やり使ってみよう
> こうなったら、J2EEてんこもりアプリにしよう
>
> つーか結局、どんなゲームにするかが問題なのだが
> >RPGを兼ねたシューティング
> っていうのがイメージ湧かない
> 既存のゲームでこういうのあるの?

iDSoftwareのDoom, Quakeのような、擬似3D空間でマシンガンやショットガンで
シュートするならシューティングゲームというだろ。
ガンアクションシューティングというが。弾がなくなるとチェーンソーで切り裂いたり
拳でなぐることもあるが。

Morrowindという3D空間上を彷徨うアクションRPGゲームやってみいよ。
5000円くらいで秋葉原で買える。

あれで弓矢、クロスボウを持てば放物線を描いて矢を敵にシューティングできる。
マシンガンMODを使えばマシンガンも持てる。
まさにRPGを兼ねたシューティングだろ。

0055デフォルトの名無しさんNGNG
RPG要素を持ったシューティングというと
頭脳戦艦ガルが思い浮かぶわけだが。
0056デフォルトの名無しさんNGNG
銀河伝承だろ
0057デフォルトの名無しさんNGNG
キングスナイトだろ
0058デフォルトの名無しさんNGNG
ソウルハッカーズだろ
0059デフォルトの名無しさんNGNG
で、もうすぐ3週間たつけどまだできないの?やっぱりJavaでゲームはムリか。
0060デフォルトの名無しさんNGNG
Javaがどうとか言う前に
仕様が決まってないので
どうしようもない
0061デフォルトの名無しさんNGNG
>>59
あまりに出来が良かったので、





売り物になりますた。
0062デフォルトの名無しさんNGNG
ちまちまとつくりはじめてまつ。
とりあえずMemoryImageSourceでソフトウェア3Dとスプライト描画の併用でやってみる。
がJavaはあまり使ったことないので、どれだけ速度出るのか不安。
0063デフォルトの名無しさんNGNG
まじでつくってるやついるのか
0064デフォルトの名無しさんNGNG
 
0065デフォルトの名無しさんNGNG
>>64
折角きたんだから、何か喋ってくれw
0066デフォルトの名無しさんNGNG

0067デフォルトの名無しさんNGNG
>>66
同上
0068デフォルトの名無しさんNGNG
激初心者です
thread.sleepで敵の動きを表現しました。段々降りてくるような感じ
ですが、自分の弾が発射されて動くようにしようとthread.sleepを使用すると、
うまく行きません。
そもそもthread.sleepは乱用するものじゃないのでしょうか。
0069デフォルトの名無しさんNGNG
昔作ってたやつの残骸が出てきたから晒してみるよ
ttp://up.isp.2ch.net/up/d8e600470dac.html
ttp://up.isp.2ch.net/up/c41cb2580339.jar

操作は↑↓←→ Z
0070デフォルトの名無しさんNGNG
>>69
ソースキボンヌ(下の奴見れんかった
0071デフォルトの名無しさんNGNG
>>68
Timerクラスを調べろ。Threadクラスなぞ使わん
Timerクラスで敵、自機、弾、画面描画すべてマルチスレッド・非同期で動かせ。
0072デフォルトの名無しさんNGNG
普通Timerなんか使わんのじゃない?

>>68
FPS固定メインループで実行すれば簡単じゃないの?
そもそもsleepでウェイトをかける意味がわからん。
007368NGNG
Timerクラスで解決しました。
ちょっと、かんどう(>_<)
どうも有難うございました
007469NGNG
>>70
ソースも全部一緒に入ってるよ
しかしなかなか落ちてこないね
0075デフォルトの名無しさんNGNG
ちょっとたまたまのぞいたので教えて欲しい
Javaでゲーム作る時は
1スレッドで、自機、敵機すべてを同期させ
Thread.sleep()で負荷調整。
・・が普通だと思っているが間違ってる?(Timerクラスを使う・・という話が気になった)
何かのサンプルで見たのでそうしているが、実はThread.sleep()の動きがよくわかってなくて、ひょっとしてこれで負荷調整する事にはならない?
たとえばThread.sleep(100)が必ず100msスリープするという意味だとすると負荷調整は不可だね。
1スレッドにかかった時間が40msの場合60msスリープする、、というように動いてくれるとOKだけど。

あと、注意点としてはガベコレが極力動かさない考慮として
ゲーム進行中はnewを実行しない。くらいは気にとめているが、あとなんかある?

0076デフォルトの名無しさんNGNG
>>75
負荷調整が何なのかがよくわからんが、もし一定時間ごとに画面を書き換えるなら、
sleepが終了してから次にsleepするまでにかかる時間を見積もるか計測する必要がある。
Timerならいらない。

あと、WindowsではSystem.currentTimeMillis()は10ms程度の誤差があるから気をつけろ。
Thread.sleepやTimerの精度はたぶん1ms程度。
0077デフォルトの名無しさんNGNG
>>75
Thread#sleep()は、指定時間waitした後に、止めてたスレッドを
runnable状態に変更するだけ。直ぐ動いてくれるかどうかは、他の
スレッドの状態による。下手するとずっと動かないかも。

>あと、注意点としてはガベコレが極力動かさない考慮として
>ゲーム進行中はnewを実行しない。くらいは気にとめているが、あとなんかある?

暇なときに空オブジェクトをnewしとく。
暇なときに強制的にGCしとく。

>>76
>Thread.sleepやTimerの精度はたぶん1ms程度。
いいかげんなこと書くな。仕様上は「不定」。
0078デフォルトの名無しさんNGNG
>>71
シングルCPU環境が想定される場所でリアルタイムな処理が必要なの
に、マルチスレッドなんて危険では無いだろうか。

AWT使う限り描画はイベントディスパッチスレッドの仕事になってし
まうが、せめてそれ以外のユーザースレッドは、1こ(0ならなおよし)
にすべきでは。
0079デフォルトの名無しさんNGNG
javaのsleepの精度は10〜30ms程度。
Javaがゲームに向いてないと言われる所以
0080デフォルトの名無しさんNGNG
低脳煽りクンは巣にカエレ!
0081デフォルトの名無しさんNGNG
JavaでゲームだったらJDK1.1.8ベースでつくらない?

んで、System.currentTimeMillis()の精度が悪いそうだけど
固定で30FPSとかでループさせたりできないのん?
0082デフォルトの名無しさんNGNG
冗談きついよ、JDK1.4はゲーム向けの機能満載してるのに。
volatileImageは一度使うと病み付きだよ。
今までとぜんぜん速度が違う。

あとsleepの精度だけど本当に10〜30ms程度だよ。
どんなにがんばっても10ms以下にはならん。
20msまでなら何とか使えるけど。
RT JAVAで6msまで改良されたみたいだけど
今のJDKに反映されているかは知らん
0083デフォルトの名無しさんNGNG
>>78
甘い。描画と各ルーチンのスレッドを切り離すことによって
描画を最低限に抑えて(描画は30ms、敵ルーチンは10msとか)
処理速度を最大限引き出すことができる
008475NGNG
みんなありがとう、勉強になった。
処理を一定に保たせるためにThread#sleep()を使ってた俺は馬鹿だった
Timerクラス使いまする
0085デフォルトの名無しさんNGNG
>>82
RealTime Javaは拡張ライブラリで実装配ってるよ。探して味噌。

>sleepの精度だけど本当に10〜30ms程度だよ
だから何度も言っているとおり、それは各スレッドの状態とか
JVMの機嫌とかCPUの性能その他もろもろの条件で、タマタマそ
うだっただけだってば。

>>83
コンテキストスイッチ分無駄じゃん。なんでマルチスレッドにす
るのよ???

>>84
Timerのソース読んで味噌。勘違い野郎がいることが判明するぞ。
0086デフォルトの名無しさんNGNG
Javaでかかれたシューティングゲームを探してみよう
0087デフォルトの名無しさんNGNG
http://www.shiftup.net/game3.html
ほい
0088デフォルトの名無しさんNGNG
自分でだしといてなんだけど、かなーりおもろい
0089デフォルトの名無しさんNGNG
>>85
あほか、コンテキストスイッチと描画処理のどっちのほうがコストがかかると思う?
マルチスレッドにするのはそっちのほうがコードが少なくすっきりするからだよ
lastTime=System.currentTimeMillis();
while(フラグ)
{
nowTime=System.currentTimeMillis();
if(nowTime-lastTime>実行周期)
{
ループ処理();
lastTime=lastTime-実行周期;
}
try{Thread.sleep();}
catch(InteruptedException e){}
}
厳密に一定間隔で処理実行しようとするとこんなコードになるわけだけど
こんなの書くよりもTimer使ったほうが楽だろ?
0090訂正NGNG
lastTime=System.currentTimeMillis();
while(フラグ)
{
nowTime=System.currentTimeMillis();
ループ処理();
try{Thread.sleep(実行周期-(lastTime-nowTime));}
catch(InteruptedException e){}
}
0091デフォルトの名無しさんNGNG
うお、最後に
lastTime=System.currentTimeMillis();
入れるのわすれてる
0092デフォルトの名無しさんNGNG
一部だけすっきりしても、肝心の部分に余計な事を考えなければ
いけないならやらない方がマシだと思うがなぁ。
全てを分かっていてやるならいいだろうけど。

一定の処理間隔を作るには、タイマーやSleepの誤差を吸収する
カラクリを作るべきだと漏れは思う。

VSYNC割り込みのようなものが使えるなら話しは別だが。
0093Timer派89=90=92NGNG
俺は素人があれこれ考えて実装するよりも
プロの作ったクラスライブラリのルーチンを使ったほうが確実だと思う。
将来的にOSレベルで実行を保障してくれるかもしれんし
0094Timer派89=90=93NGNG
すまん、92じゃないや
0095デフォルトの名無しさんNGNG
>>86
はい。

http://www.alienfactory.co.uk/main.html

http://naramura.kdn.ne.jp/msx3/g3project/
0096デフォルトの名無しさんNGNG
>>92
むしろ、一定の処理間隔をあきらめるべきか。
でも、スクロール型シューティングでそれはつらいかもしれぬ。
009792NGNG
>>96
漏れが言いたかったのは、60Hzのモニタで40FPSのゲームをしても、
気になる奴は気になるだろうけど、普通は余り気にならんと思う。

1フレームの問題としてではなく、長い目で見て問題を解決しようと。

完璧に同期出来ればそれで良いのだけど、無いものねだりをしても
しょーがないし。
0098デフォルトの名無しさんNGNG
JOGLでゲーム作ろうと思うのですが、JOGLで作られた面白いゲームはありますか?
参考にしたいです。
009968NGNG
40FPS= thread.sleep(40)?
010096NGNG
>>97
「vsyncと描画間隔の不一致」ではなくて「描画間隔がころころ変わる」
のを前提に作るということ。
60Hzで40FPSのゲームが気にならないだろうという点については俺も同意見。

>>99
いや。FPSはFrame Per Second
もし、40msの描画間隔なら、1000/40=25FPS
0101デフォルトの名無しさんNGNG
>>100
なるほど、どうもありがとう。
0102Timer派89=90=93NGNG
完全に一致する必要はないけど機種によって
実行速度が変わってしまうのは何とかしなければいけない
010392NGNG
>>100
3Dなゲームだと殆どそういう作りが多いようですな。
漏れはdeltaTimeの導入は避けたいなw
0104デフォルトの名無しさんNGNG
保守カキコ
0105デフォルトの名無しさんNGNG
そろそろできた?
0106デフォルトの名無しさんNGNG
>>86
やっぱここだろ
http://www.din.or.jp/~null/game/r_stream/
0107デフォルトの名無しさんNGNG
javaで作ったシューティングゲームをホムペに後悔して、他のパソコンから
やろうとすると出来なかったりするんだが、最新のjavaがインストール
されてナイトだめですか?
0108デフォルトの名無しさんNGNG
XPだとjava入ってないかもな
0109デフォルトの名無しさんNGNG
早く遊びたい。
0110デフォルトの名無しさんNGNG
>>107
HTMLコンバータでぐぐれ
0111デフォルトの名無しさんNGNG
シューティングゲームに使えそうな素材がみつからないのですが・・・
どこかいいトコしりませんか?
0112デフォルトの名無しさんNGNG
AGEさせていただきます・・
0113デフォルトの名無しさんNGNG
かえるの王国とさいたまインベーダが同じ人だったなんて
知らんかったよ
0114デフォルトの名無しさんNGNG
なぜJAVA
0115デフォルトの名無しさんNGNG
自機に対してのホーミング弾を作ろうと思うんですが、どうすればいいですかね?
自機x軸に対し、少しずつxに近づけるのでしょうけど。
0116デフォルトの名無しさんNGNG
>>115
ちゃんと角度でやった方が、より「らしい」ホーミングになります。
(のんびり誘導ミサイル系)

ジェミニ誘導でもするんだったらガンガン加速させる
0117デフォルトの名無しさんNGNG
のんびり誘導させると一生付いて来ちゃうんですけど。
加速させれば振り切れるけど。
0118デフォルトの名無しさんNGNG
>>117
誘導ミサイルの進行方向左右n度に自機がいるときだけ角度を調整する。
または最小回転半径を大きくとって、画面外まで飛ばして消す。
0119デフォルトの名無しさんNGNG
>>107
> javaで作ったシューティングゲームをホムペに後悔して、他のパソコンから
> やろうとすると出来なかったりするんだが、最新のjavaがインストール
> されてナイトだめですか?
んなことはない。
「get Java」とJava Web Startがあるだろ。

「get Java」で検索しれ
0120デフォルトの名無しさんNGNG
1.4ってどのくらい普及してんでしょうね。
一般の人はわざわざSunのページに行ってダウンロードしてくれるでしょうか。
JREだとプログラマ向け雑誌以外のCDなんかに入っているんでしょうかねぇ。
0121デフォルトの名無しさんNGNG
>>120
フラッシュが通用する相手なら大丈夫だろう
プラグインの自動インストールはJavaでも可
0122デフォルトの名無しさんNGNG
>>120
http://www.java.com/en/download/windows_automatic.jsp
0123デフォルトの名無しさんNGNG
>>122
こんなのもあるんですか。ありがとうございます。
0124デフォルトの名無しさんNGNG
(=゚ω゚)ノ
0125デフォルトの名無しさんNGNG
こんな埋もれたスレにレスするのもあれなんだけどさ・・・・

なぜゲーム作るのにThreadやsleepという発想が出てくるのか疑問。
しかも会話を見ていると、いまいちスレッドとスリープの動作が、正しく認識されていないのが伺える。
そもそも、sleep()の誤差がどうこうという前に、sleep()は引数以上にスレッドを停止させる可能性がある。
スレッドも、優先度に関わらず、何時どのスレッドが動作するか保障されない事を知ってもらいたい。
それを理解していれば、ゲームの同期を図るのに、スレッドを利用することは不向きであることが分かるだろう。

まず、設計やクラスライブラリ云々の前に、javaの基本を正しくおさえる必要があるかと。。。
0126デフォルトの名無しさんNGNG
アプレットとかの小物ゲームならThread.sleep()で十分、
というか他に選択肢もないでしょ。
外部のネイティブなライブラリ叩くなら別だろうけど
0127デフォルトの名無しさんNGNG
>>120
Sunのページでなくても
AppletとかJNLPファイルを置いてあるサイトで
ちゃんとgetJavaへリンクするような記述をいれたり
MIMEタイプをしっかりサーバ側で指定していれば
そんなわざわざダウンロードしにいく手間もなければ
自分からインスコする手間もないぞ。
0128デフォルトの名無しさんNGNG
>>125
javaは知っているようですがゲームはしらないようですね
時間管理するのに結局Sleepしか選択肢ないんだよ
timertask系はいまいちな動作速度で綺麗に流れない

javaに限らず基本的な考え方はwinとかでも同じだぞ

本当のちゃんとしたゲームならばWinやMac、Linuxという環境を捨てて
スワップ無しの垂直同期確実にとれるようにするしかない

ティアリングで我慢するレベルならsleepでいいってこった
0129125NGNG
>>128
ふむぅ、、言い訳ではないけれど我流なもので申し訳ない
sleep()だと、ものすごい不具合を発生する可能性は否定できないと感じたもので。
>>126で妥協してsleep()という考えも上がっているみたいではあるが。
Javaというか、オブジェクト指向の特性上、sleep()も隠蔽される要素が多いはずで
しかも元は、タイマーとしてのものではなくて、スレッドを管理するためのメソッドというものだから
確実に同期を取ろうとするならjava.util.Date(long)を利用して自分で単純なタイマーを作った方が
難しい作業が必要なわけじゃないし、精度が出るような気がしたのだけれども、どうでしょう?
それに何より、タイマーとしての安全性はこちらの方が上だと思いますし。

過去に私も昔1つのスレッドでsleep()をタイマー代わりにしてゲームを作った事があって
確かに目に見えた不具合は無かったが。2つ以上のスレッドを利用するとなると上記で説明した問題の危険が発生するはず。

話は少し外れるけど、何かこのスレを見ていると行き当たりばったりで作ろうとしすぎている気がしてならない
まずはシステムとしての足回りから固めるべきじゃないかと思う。
大体、オブジェクト指向言語の利点を生かそうとすれば、自然と設計を重視するはずなのに
その手の話が殆ど進んでないのが気になる。
せっかくJavaで作るなら、ここで製作したクラスが、他のゲーム製作に対しての汎用性を持たせられる
事を目的としてクラス設計をしても良いのではないだろうか。
0130125NGNG
スマソSage進行だったね。

まあ、俺も口だけを動かしてても仕方が無いと思ったし
ちょっと興味もあるから暇を見て試作品でも作ってみる事にする
0131デフォルトの名無しさんNGNG
>>128
J2SE1.5のjava.util.concurrentなんかどうよ?
0132デフォルトの名無しさんNGNG
>>129
作り方が悪いだけでは?

俺はなんの問題も出てないし実装としてSleepとCalendar使うことになるよ
たぶん、Dateとやろうとしてることは変わらないはず
Sleepってのはスレッドをどうのこうのって話じゃないよ
マルチスレッドだろうが関係ない


>>131
結果は現状と変わらない
誤差が小さくなる程度で>>128で指摘した根本的解決ではない
0133125NGNG
>>132
いや、実際に作ったわけじゃないし、単純なものなら不具合は目に見えないと俺も思う
単純なレベルでは、もちろんsleep()は問題ないと思う
でも、sleep()はstaticだけれど、スレッド制御に使うものなんだよ。
だからタイマーとして使うには、その後機能拡張したときに起こる不具合の「可能性・危険性」を増加させる事に繋がると。。
動作としては、sleep()はスレッドを実行状態→指定時間の実行停止→実行可能状態→実行状態
と状態遷移させる機能を持っているけど、ここで注意するべきなのが
指定時間の実行停止から実行可能に移るまでの時間は保障されないところなんだよ。
これを見るだけでもsleep()がタイマーとして不適格なのは確かでしょ。

スレッドをどうこうじゃない、と言っててsleep()もstaticではあるけど
スレッド制御以外でsleep()使っても何も起こらないでしょ?
sleep()をタイマーとして使うために(ほかメインルーチンとしてのループ)としてスレッドを利用する事は
プログラムの自由度や拡張性を損なうはずだし
他のスレッドを使ったときに同期が取れなくなる根本の原因になるはずだから
メインルーチンはスレッドにしない方が妥当と思います。(あくまで私は)
0134125NGNG
>>132
いや、実際に作ったわけじゃないし、単純なものなら不具合は目に見えないと俺も思う
単純なレベルでは、もちろんsleep()は問題ないと思う
でも、sleep()はstaticだけれど、スレッド制御に使うものなんだよ。
だからタイマーとして使うには、その後機能拡張したときに起こる不具合の「可能性・危険性」を増加させる事に繋がると。。
動作としては、sleep()はスレッドを実行状態→指定時間の実行停止→実行可能状態→実行状態
と状態遷移させる機能を持っているけど、ここで注意するべきなのが
指定時間の実行停止から実行可能に移るまでの時間は保障されないところなんだよ。
これを見るだけでもsleep()がタイマーとして不適格なのは確かでしょ。

スレッドをどうこうじゃない、と言っててsleep()もstaticではあるけど
スレッド制御以外でsleep()使っても何も起こらないでしょ?
sleep()をタイマーとして使うために(ほかメインルーチンとしてのループ)としてスレッドを利用する事は
プログラムの自由度や拡張性を損なうはずだし
他のスレッドを使ったときに同期が取れなくなる根本の原因になるはずだから
メインルーチンはスレッドにしない方が妥当と思います。(あくまで私は)
とりあえず目先に捕らわれない設計を行うべきじゃないの?オブジェクト指向なら尚更
0135デフォルトの名無しさんNGNG
>>133
もちつけ

具体的なあんたのsleep使わないコードはどうなってるんだ?
sleepは指定スレッドを一定時間止めることでそれは変わらない

スレッドが待機状態から実際に動くまでの時間差は絶対にあるし
それはjavaに限ったことではない
非リアルタイムOS使ってる時点でその保証は絶対に不可能
ならばsleepがだめという結論はでないだろ

もしかしてあんたsleepを固定で60fpsなら16とかメインスレッドに書いてると思ってるのか?
前回の実行可能時間からのミリタイム取得して引き算使うのは常識だし、
もっと厳密にするならタイマ管理するスレッドでsleep16とかでぶんまわしてメインスレッドに状態を通知する
0136デフォルトの名無しさんNGNG
不都合の出るサンプルを作ればいいんじゃない?
結果が出ればいい世界で、品質を追い求めるような空論は必要ないっしょ。

どんな作り方がいいかどうかなんて人によって思想があるんだろうし、
実際に不都合が出ない限り、いくら言われても変えないんじゃないかな。
0137125NGNG
>>136
いや、俺もあの後そう思ったんだよな。なんぼ言っても無駄な感じがしたわ。
確かに、不都合が出るモノを作ろうが俺の知ったことじゃないんだよな。

>>135
やっぱり、あんまりJavaのスレッドの動作がわかってないみたいだからこれ以上言っても無駄だと思う。
sleepで前回の実行可能時間からのミリタイム取得して引き算使っても、俺の指摘した危険性は変わらない。
俺も幼い頃は、sleepで時間調節と思ったし、初心者向けにAppletとか載せてる参考書とかの
サンプルだとスレッドを使ってループとタイマの処理をさせているのが多いけど
ちゃんとスレッドの理解があれば、あのやりかたに疑問を持つのは当たり前。
と、こう言っても分からないと思うから、まずは書店にでも行って本格的な参考書でも覗いて見てほしいよ
あとSJC-P用の参考書なんかでも細かく説明されていると思う。
それを読んで理解できれば俺の言いたいことが分かるはず。。。。(多分)

実際にコード書いてるわけじゃないけど、俺としてはスレッドとsleep()使うなら(使わなくとも)
Appletのインスタンスが生成されてGraphicの引数がPaintで渡されたら
Graphic参照を他のクラスに引き渡して、メインルーチンとしてそのクラスを使えば
見易すいと思うし、作りやすさ(多人数での開発)も向上できると思うよ。
ここまではスレッドを使わない理由にはならないけど、そもそもスレッドを使う意味が無いと俺は思う
何故わざわざ無駄にコードを複雑にしなければならないか分からん、スマートな形にどうしてもしたくないってなら別だろうけど
それと俺の指摘しているsleep()の話
後は、確認はしてないけどスレッド処理は負荷が大きい部類に入ったはず。(とは言えたかが知れているとは思うが。。)

と、いろいろ言っちゃったけど、自分の納得できるように好きに作ってみたらいいんじゃないかと
文句言って悪かったな。俺も俺のやり方で、まずは作ってみることにする。
0138125NGNG
>>135
あとスレッドに状態を通知しようが何をしようが、スレッドが実行状態に移されるタイミングはVMが全部制御している。

>>77
なんでスルーされているのか分からないんだけど、強制GCなんてできない。(勧める事は可能、多分それを言いたかったのだとは思うが)
当たり前すぎるからシカトしてたのかも知れないけど
0139デフォルトの名無しさんNGNG
125、その問題にならないコードかいてみろよ
もしくは問題になるコード
>>137の書き込み見る限り意味不明の逃げにしかみえんぞ
0140125NGNG
>>139
コード、コードって(w
俺が言いたいのは、sleep()はタイマーに使えるもんじゃないよって事(何回言わせるんだ)
コードなんてまだ書く段階じゃないから設計しかしてないよ。
と言っても俺が進めるのは、とにかくスレッドを使わないで
Graphicが生成されたら、その参照を使って他のクラスでメインルーチンを作るってだけ
それの説明でわかるでしょ?
いいから、ちゃんとJavaを勉強してから始めたほうが俺は無難だと言いたい。
発言見る限り、全然知らないとしか言いようがない、多分これ以上俺が説明した所で無駄
自分で納得してください。けど、どうするかはそっちの勝手。

sllep()をタイマーに使うと、自分が止めたい時間より、長く止まる事は普通にありえるんだよって事。
それでもいいなら何も言うことは無し。

普段どんな言語使ってるか知らんけど、Javaの場合上っ面だけで動作できるプログラムを作ることができても
細かな部分で、動作が複雑なところが多いんだよ(特にCをやってたなら注意すべき)
0141125NGNG
import java.applet.Applet;
import 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
もしかしてSleepの動作が環境ごとに違うってこと言いたいだけなのか?
そんなのだれでもしってるだろ
VM依存もあるし、その下のOSやらにも左右される以上sleep4もSleep0も同じとか
それはわかって使ってる

これらはリアルタイムOSじゃない限り保証されるものではない
「それなり」に動くことを期待するわけ
Windowsネイティブのsleepも「それなり」を期待しているだけだ
マルチタスクOSでCPU100%でぶんまわすというふざけた実装はしたくないもんでね

>Graphicが生成されたら、その参照を使って他のクラスでメインルーチンを作るってだけ
Graphicsを他のクラスでもっていくってそれはSleepとなんの関係もない部分だろ

>実際にコード書いてるわけじゃないけど、
こんなことかいてるから信憑性が全くないわけ
だから、根拠を出すためにサンプルコードが必要

時計での時間管理だけならTimerTask使った方がいいだろう
しかし、TimertaskはSleep以上に誤差が大きくなる
fixedにすれば一瞬のHDDアクセスや他のプロセスの負荷が上がった瞬間に
早送り現象が発生するし、なくせば悪化
特にWin上で問題なくてもLinuxで問題が出やすい
0143デフォルトの名無しさんNGNG
>>139
厨は黙って勉強しろってことだ(ゲラ
0144デフォルトの名無しさんNGNG
>>141
俺はスレッドの話はしてない
ちみが問題にしているsleepの話をしているんだ

スレッドはどう使おうが自由
ゲーム作るのにはマルチスレッドつかおうがメインスレッド1つだろうが自由
0145デフォルトの名無しさんNGNG
>>141
どうでもいいがつっこみどころ満載だぞ
0146125NGNG
>>142
いや、環境のことを言いたいんじゃないよ。そんな細かい話じゃない。
Javaの基本的なスレッド管理の事を言っている。
>sllep()をタイマーに使うと、自分が止めたい時間より、長く止まる事は普通にありえるんだよって事。
というのを分かって欲しい
スレッド1本なら問題ないけど、2本目を仮に使う可能性が出た場合思うようにタイマーが動かなくなる可能性があるって事。
sleep()を使うのは誤差以前に根本的な問題を抱えているって事。
確かに、「それなり」なら問題はないとは思うけどね。

信憑性がないってのは心外だね、コード書けばいいって話じゃない。
そもそもオブジェクト指向言語で開発しようとするなら設計を重要視すべき。
コードを書くのなんて単なる作業に過ぎない。
論理的に問題無い設計を十分にしたあと、ただコード化するだけ。
そっちのやり方は、拡張性を失うし、大きなプログラムを作ろうとするには不向き。
もし論理的矛盾が無いシステムを作ろうとするなら、Javaの仕様についての正しい理解が必要になる
逆に正しい理解をしていない人間が、その作業を行うのは不可能なんだよ。
俺が見る限り、>>142は、とりあえず作る、作った事のある、細かいところは無視、そういったレベルにしか見えん
0147デフォルトの名無しさんNGNG
スレッドを使わないで、sleepの話をしても意味は(ry
0148デフォルトの名無しさんNGNG
>>146
理解するために悪い例としてコードを書いてほしい、
ということだと思うよ。
0149125NGNG
>144 :デフォルトの名無しさん :04/03/19 13:28
>>>141
>俺はスレッドの話はしてない
>ちみが問題にしているsleepの話をしているんだ

>スレッドはどう使おうが自由
>ゲーム作るのにはマルチスレッドつかおうがメインスレッド1つだろうが自由

スレッドあってのスリープでしょうが。
スレッドはどう使おうが自由って、何回も言うけど
マルチスレッドにしたときにsleep()を使ってタイマー制御してると問題なんだって(w
いい加減、勉強してこい。
0150125NGNG
>>148
そういうことか。。。
でも、それなら>>141が作ろうとしているやりかたで
マルチスレッドにしたのが悪い例になるだけ。
悪い例ではあるけど、それが正しく動作しないとは限らない。
精度は低いものの、それなりに同期はとれるはず。
でも厳密には正確に動作できていない。
その程度のレベルだろうな。
それで納得できるか、できないかだよな。
俺は納得できないってだけだなこれは。。。。
0151デフォルトの名無しさんNGNG
>>146
いや、sleepがjava固有の問題というかVM依存なんだよ
netscapeのvm(oemだけど)、あれはたしか0も4も同じ0だったはず。
下手するとWin95の問題だったかも
スレッドの数に限らずsleepは信用しないこと
これはvmかぶせてるjavaならさらに重要

javaはまっとうな時間管理が出来ないんだから妥協するしかない
ちなみにクライアントのほとんどはwinだろうけど、これなら大概sleep含めて綺麗に動く
Linuxはこのへんもたつくけど解決方法はなんとかある

シューティングゲームなんで多少フレームレート落ちても
それなりに安定したフレームレートさえでれば問題ないよ
winで60fpsがlinuxで55fpsだったとしても大きく損ねることはない

設計云々はべつに今回の問題とは関係のないところ

>>147
メインスレッドってしらんのか?
ゲームでは時間管理にシングルスレッドでもsleepを使うことはあるんだよ
0152125NGNG
>>151
そうか妥協することを前提とした話なら納得できるわ。
お互い、どの程度理解してるのか計れないから会話がかみ合わなくてスマン。
結論としてはJavaはゲーム向きじゃないんだろうな、、、やっぱり(それを言えば元も子も無いが)
当方は普段C++、DirectXでゲーム作ってますわ。VBのDirectXなんかも意外に良いかも、時間短縮できるし。
そっちはゲーム開発に詳しそうだから聞いてみるが
マシンに負荷がかかる部類のスレッドをあえて利用する価値についてどう思う?
0153デフォルトの名無しさんNGNG
winですらゲーム向きじゃない
C&DirectXもやったがアレはちと酷いもんだった
GameSDKと呼ばれてたころから追いかけていたが
いくら待っても実装されないものや実装がビデオカード依存とか

ゲームの処理がCPUがどんなに速くなったところで
スワップなどの発生ででフレームが飛ぶ
昔から触ってきた人種ならビデオのアクセラレーションありで
CPUがクロック100MHzもあれば余裕で処理落ち無しで
2DSTGなんか作れる

結論としてはリアルタイムOS以外はゲーム向きじゃない
VSync切る人もいるけどティアリングなんてお話にならないし
最近はTV放送でもスタッフロールなどでティアリングしているのを
見ると激しく萎える

まぁ、マシンパワーが上がってそのへんをすべて妥協するとした場合
javaは1.4からの新機能でだいぶ使いやすくなったのは確かだし
ゲーム開発するにもちゃんとオブジェクト指向ですっきりしたコードが書ける分
C+DirectXでめちゃくちゃなコード書くより楽ということになった
せいぜいDirectInputをJNIで使うくらいかな
2Dのゲームを見比べてjavaはダメだという結論はでないはずだ
0154デフォルトの名無しさんNGNG
>>152
スレッドは大量に生成をくりかえさないかぎりさほど負荷かからないよ
昔のjavaのグリーンスレッドはすごかったけどね

今じゃネイティブスレッド使ってるし、それこそjavaVM立ち上げた時点で
かなりのスレッド立ち上がってるし、hotspotのコンパイルログ見ればわかると思うけど
おもしろいほどバックグラウンドでガシガシネイティブコードにかきかわっていってる

スレッドが重いとはおもわないこと
winだって普段でスレッド500こくらい立ち上がってるし
それでも、GUIの操作しているとLinuxよりWinのほうがサクサク動く

ゲーム部分のスレッドとして1つ、サウンド周りのスレッドとして
1つというのはふつうにありえる実装だよ
たとえばjavasoundのデフォルトで1秒のPCMバッファがあったはずだから
何も考えずにsleep(1)をループにいれてその辺の処理をチマチマ書くというのも問題ない
このsleepがなくなるとサウンドの方で100%CPU使用率になるから注意と

CPU負荷率が上がるとノートはファンが回り出したり、CPUのクロック上昇、
そして温度によりクロック低下などバッテリの消費早めるとかいろいろあるんでね
すでにノートの方がデスクトップより遙かに売れている時代だ
そのへんも考慮してあげてもいいだろう
0155デフォルトの名無しさんNGNG
>>154
ゲーム部分と、サウンドでスレッドを用意ってのは分かるし
普通に思いつきやすい発想だとは思うけど
それこそプラットフォームによって思うように動かない可能性が高くなるんじゃないの?
全てのプラットフォームで一貫した動作は保障できなくなるし。(何を求めるかによるけど)
プリエンプティブとタイムスライスとか、どんなプラットフォームを使ってるかわからんわけだし。
その方法だと、動作をVMのスケジューリングに依存する部分が多すぎじゃないのかな。
それで、もし同期を取ろうとスレッド制御をしようとするのが面倒になってくるし。
0156デフォルトの名無しさんNGNG
>>155
いまのjavaでグリーンスレッドとか考慮する必要あるの?

すくなくとも現行のjavaの満足に動くプラットフォームではなんの問題もない
0.5秒以内のスライスならまったく問題ない

秒単位でスケジュールされるようなマルチタスクOSなんていらね
0157デフォルトの名無しさんNGNG
>>156
確かに、そう言われれば、そうなんだけどね。

昨日、ずっと考えたけど。結局、自分好みのつくりかたでいいよな。
というわけで自分の好きに作ることにした。

結論としては、スレッドとsleep()は使わない方針にして
・スレッドを多数使用したときに考えられる、タイマーへの影響を回避
・プラットフォームによるVMのスケジューリングへの依存を極力回避できる
・よりオブジェクト指向ライクなクラス設計がし易い傾向が現れる(説明は長くなるので割愛するけど)
のメリットを得て、その代償に
・タイマー制御をスレッド停止によって実現しないことでのCPUへの負荷
を選択することにしました。
0158デフォルトの名無しさんNGNG
>・よりオブジェクト指向ライクなクラス設計がし易い傾向が現れる(説明は長くなるので割愛するけど)
これまったく文脈と関係ないだろ
0159デフォルトの名無しさんNGNG
話の流れを折ってすまんが、
各キャラクタのクラスに描画情報を持たせるのと
アプレットで描画情報を一元管理するのと、
どっちがいいのかしらん?
前者のほうがオブジェクト指向ぽい香りがするが。
0160デフォルトの名無しさんNGNG
俺は各キャラが責任を持って描画するようにしている。
もちろんメインルーチンがそれを綺麗に呼ぶようなフレームワークづくりが先に必要だけどね。
たとえば抽象敵クラスを継承して実装していくのがふつーと思われるので
そこにdrawとかというメソッド用意すると。
0161デフォルトの名無しさんNGNG
敵やら弾やらを生成する度にnewしちゃだめですか?
0162デフォルトの名無しさんNGNG
>>161
実際にやってみな
俺はぜんぜん体感できないよ
gcが頭よくなったのとマシンパワーがありあまってるからね
STGのオブジェクト程度まったく問題はない
0163デフォルトの名無しさんNGNG
>>159
>各キャラクタのクラスに描画情報を持たせるのと
オブジェクト指向的

>アプレットで描画情報を一元管理する
構造化技法

俺もそう思う
でも>>160の言うように、描画用などの基本動作のクラスを作って
各キャラクタのクラスに継承させるのが、よりOOP
0164デフォルトの名無しさんNGNG
class getter {
public 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
つうかVMのGCって一口で言っても
オプションでいろいろな種類を選べるんだったよね?
誰かベンチ付き説明きぼんぬ。
0166デフォルトの名無しさんNGNG
>>165
dWの「Javaの理論と実戦」シリーズは?
ttp://www-6.ibm.com/jp/developerworks/java/library.html
0167デフォルトの名無しさんNGNG
hosyu
0168デフォルトの名無しさんNGNG

      ─、、
    (゚皿゚ O) ガオー!
    / ̄/ >>
    | ̄|  | |
   @/\ \@/
     /'/ /'/
     | |  | |
    -┛ -┛
0169デフォルトの名無しさんNGNG
オープンソースの巨大ゲームプロジェクト作りませんか?
Linuxみたいに誰もが参加できるような。
今までにないと思うんですけど。

ちなみにThread.sleep()は精度が悪くて使いものにならないと思う。
Java3DのTimerを使うのが常套手段らしいです。
↓このチュートリアルが大変参考になります。
http://fivedots.coe.psu.ac.th/~ad/jg/index.html
0170デフォルトの名無しさんNGNG
とりあえずsourceforgeに登録
0171デフォルトの名無しさんNGNG
スレッドは使わないほうがいいですね。
最初は数当てゲームなんかが良いんじゃないでしょうか?
所詮Javaなんですから。
0172デフォルトの名無しさんNGNG
コンソールで動くようなゲームにすれば、
Javaの実力を知らないですむし、これからもJavaと付き合っていけそうじゃないですか。
まずは、そういうところから始めましょうよ。
まして、いきなり3DやろうとするとJavaに絶望する危険がありますよね。
言語には向き不向きがあるわけですし、身の丈にあったところから始めたほうがいいと思うんですよ。
0173デフォルトの名無しさんNGNG
以前にMIDI作るソフト作ったんですよね。
これ、きっちり使えるんですよ。
友人なんかも、すごいなーって驚いてました。
Javaで、ここまで出来ると思わなかったんでしょうね。
でも、感心してくれる人はたくさんいたのに、
実際に使ってくれるひとは一人もいなかったんですよ。
当たり前ですよね。
考えてみれば、Javaで作ったからこそすごいのであって、
MIDIソフトだと考えれば使い物にならないですから。
ゲームなんかでも同じことがいえると思うんですよ。
やはりJavaは、CGI程度のことに使うのがいいと思うんです。
0174デフォルトの名無しさんNGNG
アフォれす晒しage
0175デフォルトの名無しさんNGNG
というわけで、一緒にオープンソースの数当てゲーム作りませんか?
0176デフォルトの名無しさんNGNG
このスレも8月で1年を迎えるわけですよね?
何とかそれまでには、作品の一つくらい完成させたいじゃないですか。
生産性の高いJavaですから、変な夢さえ見なければ、
今からでも十分間に合うと思うんですよね。
がんばりましょうよ。
0177デフォルトの名無しさんNGNG
>>173 175
確かにコンシューマライクなスタンドアロンのゲームをJavaでオープンで
作ろうとするのは明らかに馬鹿げてるというか、意味がないと思うんです。
またウルティマオンラインのようなMMORPGを作っても意味がないと思うんです。
要するにJavaでどこまでクオリティの高い「売れる」ゲームを作れるかと
いうことには興味がない。
僕は、「作品」としての「ゲーム」ではなくて、
「ゲーム」の外観をもった「巨大なネットワークシステム」を構築したい。
抽象的ですが、ゲームというものをもっと大きく捉えたものなんです。
でもそれって一体どんな感じなのか??
今アイデアとしてあるのは、コミュニケーションを根本的なテーマにしたものなんですが、
激しくスレ違いでごめんなさい。
0178デフォルトの名無しさんNGNG
>>177
経験的に言えることは、systemが完成したとしても、ネットワークは出来ないと思うんですよ。
使ってくれる人がいないから。
Javaで作ると、どうしてもプログラマ以外には敷居が高くなってしまう。
出来るだけミニマムで自己満足の範囲内で作ったほうがいいと思うんです。
0179デフォルトの名無しさんNGNG
どうでもいいがおまえらスレのタイトルを言って見ろ
0180デフォルトの名無しさんNGNG
>>179
スレタイはわかってるけど、もう結論出てるでしょう。
無理なんですよ。
少々路線変更して現実的な形にしたほうがいいと思います。
数当てゲームならたぶん完成しますよ。
0181デフォルトの名無しさんNGNG
>>179
作るのは "ナンバーシューティングゲーム" という事で・・・
0182デフォルトの名無しさんNGNG
>>181
久々に笑った。
0183デフォルトの名無しさんNGNG
今のスペックと言語仕様で作れないものなんてない
あるとすればVMをインスコできないユーザーの啓蒙ぐらいだ
0184デフォルトの名無しさんNGNG
アプレットならプラグインをインスコさせれば良いだけじゃねーのか? Flashと同じく。
0185デフォルトの名無しさんNGNG
ちなみに、Java3Dは
3Dグラフィックスモデル、サウンド、デバイス入力などを一手にこなす
なかなか優等生なライブラリだ。
これのおかげでJavaは、Win32や.NETよりゲーム向きなんじゃないだろうか。
まー使ったこと無いけど。
0186デフォルトの名無しさんNGNG
すでに2Dだけならjava2Dかなり便利だしな
フルスクリーンやページフリッピングもDirectXで面倒な処理かくより手軽に出来る
実はフルスクリーンアプリをタスク切り替えとか最小化したときの
復旧を全自動ってのがかなりらくだ

JavaSoundは通常のmidi再生やpcm再生はすでに十分なもの
とくにJavaSoundはソフトウェアmidi内蔵しているので
WinでもLinuxでもまったくおなじ音がでるのがすばらしい

0187デフォルトの名無しさんNGNG
>>186
書いててむなしくないですか?
0188デフォルトの名無しさんNGNG
ランタイムとかいるの? > Java2D、Java3D
0189デフォルトの名無しさんNGNG
>>188
環境によります。
やりたいことによっても変わります。

いずれにせよ、ファイルをコピーするだけなのでユーザが簡単に行えます。
どこにコピーすれば良いかは環境によるので一概に言えません。
バージョンによっても変わります。
何をコピーすれば良いかは、環境とバージョンによって変わるので一概に言えません。

いずれにせよ、ファイルをコピーするだけなのでユーザが簡単に行えます。
0190デフォルトの名無しさんNGNG
死滅スレより芸があって面白い。
0191デフォルトの名無しさんNGNG
>>190
宣伝ばかりしてるから、こうなるのですよ。
上の書き込み全部読んでみてくださいね。

作るスレなのに、夢を語るばかりで何も出来てこないじゃないですか?
夢も大事ですけど、出来ることからこつこつやりましょう。
まず、コードの1行を書く。そこから始めてみませんか?
0192デフォルトの名無しさんNGNG
ケータイでjavaで書かれたシューティングなんて腐るほどあるぞ。
0193デフォルトの名無しさんNGNG
>>192
携帯のJavaみたいな物でいいのですか?
だったらJNI使いまくってすばらしい3Dシューティングでも作りましょうよ。
J#でも良いかもしれないですね。
このスレの人は、出来るだけPureJavaでやりたいのだと思ってました。
0194デフォルトの名無しさんNGNG
参考リンクとか

JOGL
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デフォルトの名無しさんNGNG
Xith3Dで、ぐぐってみたら日本語リンクが皆無なのに驚いた。
Java3Dよりそっちの方がいいみたいだね。
Shaderも使えるみたいだし。使わないけど。
0196デフォルトの名無しさんNGNG
いつまでも脳内レンダリング。
永遠に脳内レンダリング。
0197デフォルトの名無しさんNGNG
しかし、普通のゲームに3Dを使うメリットってなんだろうな。
3Dシューティングならともかく、2Dキャラを3Dに置き換えただけのゲームは正直秋田。

まあ、1回モデリングすれば何十枚もドット絵書かなくていいから楽なんだろうけど。
0198デフォルトの名無しさんNGNG
>>197
うちらには関係ないっしょ。
0199デフォルトの名無しさんNGNG
コンソールで作るって決まったしね。
0200デフォルトの名無しさんNGNG
200
0201デフォルトの名無しさん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デフォルトの名無しさんNGNG
釣れた!
0206デフォルトの名無しさんNGNG
>>204
有り難うございます」」
>どうせならjavaらしく敵キャラやステージデータは完全にプラグインにしなされ
後スミマセン、これってどういう意味でしょうか?
0207デフォルトの名無しさんNGNG
javaはダイナミッククラスローダがうりなんだからという意味だ

ひとつのjarにまとめるのもいいけど、わけてそれを差し替え可能にしとくのがいいかなぁと
gamemain.jar
stagedata.jar
enemy.jar
って感じで差し替え可能にしておくとパッチ配布が楽になるかもしれん

「URLClassLoader」ってのをしらべてみそ

0208デフォルトの名無しさんNGNG
>>204
あとSTGツクール(←死後?)って何のことでしょうか?
www
0209デフォルトの名無しさんNGNG
ツクールは製品名だな
いろんなのがでている
しかし、マイナーだったのか

STG作るならプログラムもいいが
まずはこういったツクール系を先に手を出すものだと思ったが

ほかにはデザエモンとかシューティング68Kうんずとか
吉田工務店あたりも
0210デフォルトの名無しさんNGNG
>>209
ありがとうございます。
さっぱりわからないのですが?
www
0211デフォルトの名無しさんNGNG
つーか、ネットで検索すればいくらでもでてくるだろうに
0212デフォルトの名無しさんNGNG
シューティングツクールよりデザエモンの方が有名だな。
PC98時代にアスキーのツクールシリーズでSTG作るヤツも出てたけど。
0213デフォルトの名無しさんNGNG
ロードはできてもアンロードはできないjava
0214デフォルトの名無しさんNGNG
これは既出かね?
ttp://naramura.kdn.ne.jp/msx3/g3project/
0215デフォルトの名無しさんNGNG
スレ違ってないか?

たしかにjavaつかったSTGではあるけど、ここは既存のゲームを紹介するスレではない
参考にするならするでかまわんがなにを伝えたいのかがわからん

ちなみにPCでできるSTGなど他のスレ関係では激しく既出

そもそも、このスレが場所違うが
0216デフォルトの名無しさんNGNG
>>202
みたいなの作りたいなあ
0217デフォルトの名無しさんNGNG
>>216
そういうのは、夢・独り言板で・・・
0218デフォルトの名無しさんNGNG
>>201
みたいなの作りたいなあ
0219デフォルトの名無しさんNGNG
夢独り言板のスレは>>216が立てたのか?
0220216NGNG
んん?
夢独り言板とかいってマジ意味不明
0221デフォルトの名無しさんNGNG
つくりたい。
0222デフォルトの名無しさんNGNG
>>177
千本ノックの人ですか?
0223デフォルトの名無しさんNGNG
俺もJavaでゲーム作りたい。
誰かJBBS借りて、そこで話さない?

ここだと、いろんな情報が一箇所にぶち込まれて・・・
0224デフォルトの名無しさんNGNG
そもそもゲーム作成なら板が違うしな
ちゃんと計画とかをたてて説明して
あっちでまずは立ててみたら?
0225デフォルトの名無しさんNGNG
そろそろ完成したかな?
0226デフォルトの名無しさんNGNG
ヤター>>202デキタヨー
ttp://briefcase.yahoo.co.jp/test1748

[space][5]で弾を撃つ
[←][→][4][6]で左右移動

Test.lzhの中身:
build.xml
manifest.txt
Test.java
0227デフォルトの名無しさんNGNG
>>226を微妙に修正してみた
0228デフォルトの名無しさんNGNG
名古屋撃ちムズー
0229デフォルトの名無しさんNGNG
ここって初心者レベルのSTGでいいの?
なんかHDD整理してたら、俺が高校の時に作った
痛いSTGが出てきたんだけどアップしてみようかな。
ちなみに、ソースもあるけどJava2 1.4だとコンパイルできなかった。
0230デフォルトの名無しさんNGNG
修正してうpしる。
おれも痛いのがあるから。
0231デフォルトの名無しさんNGNG
>>227
JFrame使ってる理由が謎 Swingのクラスローディングの手間かからないFrame使っとけ
0232デフォルトの名無しさんNGNG
>>231
あほがいた
0233デフォルトの名無しさんNGNG
>>232
なんで? JPanelとかSwing系のクラス読み込みかかるはずだろ
0234デフォルトの名無しさんNGNG
FrameとJFrameの差がでる環境なんて今時あるのかよ
0235229NGNG
http://proxy.ymdb.yahoofs.jp/users/9670c183/bc/mf.zip?bc2n5DBBb2H71yo5
アップしてみた
0236デフォルトの名無しさんNGNG
こんなのみつけた
http://shin.cside.com/product/pw/index.htm
普通にさくさくうごいてるね
0237デフォルトの名無しさんNGNG
JavaWebStartもツールや業務アプリでは使い物にならんから
せめてゲームで盛り上げてくれ
0238230NGNG
>>229
乙。おれも晒してみる。

一昨年つくったシューティング。
ソースが汚すぎていまや修正不能。自作のドット絵が限りなく痛い。
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
0239229NGNG
>>238
カッコイイ画面だけどムズイな・・・・

ソース見てなくて悪いんだけど、ダブルバッファリングしてないの??
あのチラチラしてる画面はいい雰囲気だけど、意図的?
0240230NGNG
あーしまった。
Mac用に最適化したからダブルバファリングやめたんだった。
出直してきます。
0241デフォルトの名無しさんNGNG
漏れはマックなので無問題だった。
独特の操作系統に慣れると走ってるだけでも楽しいね。
ただ敵を壊す爽快感よりも作戦とか緻密な操作に重点があるかんじで
あんまシューティングっぽくないような。
あと難しすぎて1面クリアするだけで1時間かかった・・・。
0242デフォルトの名無しさんNGNG
ていうかもう完成の域に達してるんじゃ。
このスレでどうこう言ってもなあ。
0243デフォルトの名無しさんNGNG
保守しておこうか
0244デフォルトの名無しさんNGNG
ダブルバッファリング、って言葉自体がもう、懐かしい・・・。
社会人7年目。Javaメインにやってるが、Servlet/JSPオンリーで、
最近はとんとJavaのクライアントサイド、ってのに縁がないな・・・。

久しぶりになんか作ってみたくなった。ゲーム。

でも、ゲームは絵がなー。
いい素材探してくるか。
0245デフォルトの名無しさんNGNG
シューティングなら三角とか四角、丸だけでもそれなりにかっこよく作れる希ガス
ABAさんところとかみてみたら?
0246デフォルトの名無しさんNGNG
スレッドって何で使うんだろう…
0247デフォルトの名無しさんNGNG
(;´Д`)
0248デフォルトの名無しさんNGNG
ごめんなさい、先生。
いいボケが思いつきませんでした。
勘弁してください。受け止めきれませんよ。
0249デフォルトの名無しさんNGNG
スレッド使わずに作れるけどな
0250デフォルトの名無しさんNGNG
ウインドウ開いたらそれだけでスレッド作られるだろ
0251デフォルトの名無しさんNGNG
>>246 程度ならこれでいいだろ。
ttp://milkyway.merseine.nu/Java/Java089.html
0252デフォルトの名無しさんNGNG
ゲームでわざわざいぱーいスレッド使うのがなんでだろうなんだけどな
0253デフォルトの名無しさんNGNG
使ったほうが作者にとって楽(労力・管理)だから。
あるいは単に使いたいから。

といったところでいかがでしょう。
納得できるような一般解はなかなか得られそうにないかな、と。
特にゲームなんかだと。
0254デフォルトの名無しさんNGNG
綺麗な時間管理でスレッドは必須
というかJFrame作った時点でスレッド作られるし
JavaSoundでも自動的に作られる

そもそも負荷無しで厳密な時間管理にはスレッド必須
0255デフォルトの名無しさんNGNG
>>254
負荷ありでスレッド使わない方がいいよ
メソッドのスレッド.タイマーだけ使う
これが一番ゲーム的
0256デフォルトの名無しさんNGNG
いや、負荷がそれほどかかるゲームってJavaで作るか?
よほどの思考系じゃないかぎり10%もいくことはないんじゃない?
そもそもスレッドが問題になることはないし

逆にスレッドは厳密な時間管理で必須かと

メインスレッドでwaitとTimerTaskでfixedの組み合わせは
CPUパワー喰わずにフレームレートが安定動作する

時間のポーリングやる人いるけどあれはCPUパワー喰うくせに
実はsleep並に安定しない事も多い


そもそも音関連いれたらスレッド必須だろうに
0257デフォルトの名無しさんNGNG
>>256
Javaで60fps over実現しようとするとやっぱそれなりに
0258名無しさん@そうだ選挙に行こうNGNG
2D程度ならJavaでたいしたことないっつーの
3Dはjava3Dがオープンになった今後の動き次第だろうね


そもそもメインスレッドでポーリングしてると他の処理に負荷かかるので
結果としてなめらかに動かない
hotspotはバックグラウンドでガリガリコンパイルするし場合によっては
並列GCで動いている可能性もあるかもしれない
サウンド周りはLine使うので定期的に動くスレッドが必要

これらに負荷かけてまでポーリングしていたらJavaは重いって言われるの当たり前
0259名無しさん@そうだ選挙に行こうNGNG
>>258
ついつい従来通りに時間のポーリングをしてしまうが、
大半のVMでは最低でもメインスレッド、GCスレッド、ファイナライズスレッドの3スレッド構成になるからなぁ。
他のスレッドに影響を与えるとまでは考えつかなかった。
なかなか興味深いTips thanks
0260名無しさん@そうだ選挙に行こうNGNG
といってもsleep使うのは糞だけどな
ポーリングするならsleep(1)をいれたほうがまだましという状況は
あるかもしれんがその程度

メインスレッドをobject.wait()で止めてTimerTaskからobject.notify()
で起動させるようにするとかなりなめらかになるぞ
特にLinuxでのフレームレートの安定度が段違い

ポーリングはWinで一見問題なくても他の環境で問題が出ることもしばしばというわけだ
0261デフォルトの名無しさんNGNG
>>256-260
お前ら本気で言ってるのか??
まずJavaにおけるスレッドの動作を隅々まで調べたほうがいいぞ

>>260は分かってるかは知らんけど近いこと言ってるな
0262デフォルトの名無しさんNGNG
>>261
どこをどのように修正すると正解なのか言ってみてクレ。
0263デフォルトの名無しさんNGNG
俺は>>261が分かってないような希ガス
0264横レスNGNG
・sleepの粒度・精度は環境によって大きく変わる。
・TimerTaskは内部的にObject.wait(long)で調整⇒sleepと大差ない。
というわけで、問題は実装の手間だけだろうと言ってみる。

細かくやりたいなら、大まかにSleep(long)/wait(long)で調整したあと
残りをSystem.nanotime()やJava3DTimerでポーリングするとよさげ。
(60fpsで試したらほとんどポーリングしていたが)
0265デフォルトの名無しさんNGNG
Javaはいつからスレッドの状態遷移を自分達でコントロールできるようになったのですか?(w
0266デフォルトの名無しさんNGNG
Objectのwaitってsleep呼ぶより遙かに精度高い・・・というかfixedRateが
定期的に回ってくれるのでちょうど使いやすい

最終的にはどうせ垂直同期とるんだからコンフィグでタイマー&bltを使うか
垂直同期のみかで切り分けるのがよさそう

世の中液晶ディスプレイばかりになったので以前に比べたら
かなり状況はよくなってきた希ガス
0267デフォルトの名無しさんNGNG
漏れダイヤモンドトロン
0268デフォルトの名無しさんNGNG
>>265
気合で
すんばらしすぎる殿方達の脳みそのなかで
0269デフォルトの名無しさんNGNG
時間管理がどうこう言うのはJava使ってる時点でナンセンス
0270デフォルトの名無しさんNGNG
時間管理がどうこう言うのはWindows使ってる時点でナンセンス
0271デフォルトの名無しさんNGNG
System#nanoTime を使いませう。
0272デフォルトの名無しさんNGNG
自分のスケジュール管理もできないのに、時間管理なんて考えられないよウワーン つДT)
0273デフォルトの名無しさんNGNG
【JAVA】2Dアクションゲームを作る【初級】
http://pc5.2ch.net/test/read.cgi/gamedev/1094602659/
0274デフォルトの名無しさんNGNG
あげ
0275デフォルトの名無しさんNGNG
マルチスレッドで作ろうとしている時点でナンセンス
0276デフォルトの名無しさんNGNG
↑スレッド理解できないやつが一言
0277デフォルトの名無しさんNGNG
C++でもマルチスレッドで作成するのは良くあるそうだが。
入力処理スレッド、描画処理スレッドとか。
0278デフォルトの名無しさんNGNG
裏・茅ヶ崎ちゃんねる
http://jbbs.livedoor.jp/travel/3861/
0279デフォルトの名無しさんNGNG
D言語スレにいくつかSTG上がってますが、
ああいうゲームすぐ作れますか?
0280デフォルトの名無しさんNGNG
PureJavaだけだと3Dは厳しいと思ったほうがいい。
2Dだけなら大概問題ないが、アルファブレンドでは加算合成が標準で入ってないあたりが
少しは問題になるだろうか。

あと拡大縮小回転アルファブレンドはアクセラレーションがきかず、ソフトウェア描画になる。

基本的にすぐに作れる。
というかDはまだいいが、CとかC++にくらべればJavaははるかに2DSTGは作りやすい。
0281デフォルトの名無しさんNGNG
描画手法にネックがありそうなJavaよりはマシに思えるんだが>C/C++
0282デフォルトの名無しさんNGNG
描画が普通の場合ネックにならない&SDLつかえるとかあるし
描画以外のところがプログラム組む上で最重要だからな

多態ってのを意識し始めるとどんどん効率はよくなる
C++でもできるがある程度言語的に縛られる部分とかもあるのと
プログラマのレベルによる品質の差が大きすぎる
0283デフォルトの名無しさんNGNG
Javaはどこでも動くからいいんだよ
それにJITの最適化すげーよ?
Cみたいに最適化がコンパイラのバージョンに依存しない
どこそこのコンパイラが遅いとか、そういうこと気にする必要ない
新しいJITランタイムができれば再コンパイルする必要すらなく速くなるんだぜ?

あれ?でもバイトコードに落とされた時点で多少変わりそうだよな?
いくらJITでも最適化すんのはバイトコードレベルなわけだし
よくわかんねーや
0284デフォルトの名無しさんNGNG
ダイナミックコンパイルってのは環境に合わせた最適化ができる
だからJavaがすでにCより早いとかそういう現象が起きているわけだ

まぁ2年位前からだけどな
0285デフォルトの名無しさんNGNG
>まぁ2年位前からだけどな
バイトコードの実行時コンパイルなんて、70年代のPascalで既に実装されてたよ
0286デフォルトの名無しさんNGNG
最適化の仕方が違うだろ
HotSpot技術は昔から研究されていたが、実用的になったのはここ最近のことだ

たんなるJIT技術でいいのなら1.1のころからとっくに問題になってなかったさ
0287デフォルトの名無しさんNGNG
>JavaがすでにCより早い

まじっすか
0288デフォルトの名無しさんNGNG
静的コンパイラはコンパイル時点でのチューニングがすべて

同じ命令を解釈するCPUであってもPentiumM系列とNetburst系とで最適化がまったく違う
AMDになったり他のCPUになればさらにね
そういった対応ができないこともないのが動的コンパイラの利点

SSEやMMXなど対応していればそれを使うし、なければ使わないといったことは
すでにやってるはずだよ
これをCとかだと自分で書かないといけないわけだが

JavaはCよりも速いとかで検索してみそ
0289デフォルトの名無しさんNGNG
で、実際JAVAでプレステやサターンレベルの弾幕シューティングはベクターの
どこに置いてあるの。
0290デフォルトの名無しさんNGNG
実行速度と描画速度は別だよなあと思った秋の終わり
0291デフォルトの名無しさんNGNG
PSやサターンレベルなら余裕でつくれるだろ

おいてあるのじゃなくて自分で作れ
0292デフォルトの名無しさんNGNG
>>PSやサターンレベルなら余裕でつくれるだろ

余裕でつくれるなら、なぜベクターのゲームがJAVAだらけにならない?
0293デフォルトの名無しさんNGNG
ぼうやだからさ

まぁVBだろうがHSPだろうがインタプリタでも余裕で大量生産できるわけで
言語はもはや問題じゃないさ

そしてJavaは速度的には早いほうではある

無料で趣味から仕事までカバーできるIDEとかあるのはすげーけどな
0294デフォルトの名無しさんNGNG
新しいテンプレ誕生の予感!!

余裕でつくれるなら、なぜベクターのゲームが○○だらけにならない?
0295デフォルトの名無しさんNGNG
ぼうやだからさ
0296デフォルトの名無しさんNGNG
まともに作れるようになったの1.4だしまだ時間があまり立ってないから使ってる人いないんじゃない?
なんだかんだいっても初心者にはEclipseは敷居が高いしな。
0297デフォルトの名無しさんNGNG
1.4はもう2年たってるしEclipseよりは敷居が低いのはNetBeans

実際にJavaのスレみても画像関連の質問がほとんどこないことから
実際に作ってる人がいないだけっぽいな

一応ゲームとしてそれなりに作れるようになったのは1.3あたりからかな
1.4でフルスクリーンやフリップできるようになったのは確かに大きいけどね

むしろ最近はランタイムをセットアップさせなくてもJavaアプリが動かせることを
しったやつらが多いようなんで、通常のWin32アプリと同じ土俵にたった
というのが大きい希ガス
0298デフォルトの名無しさんNGNG
>>297
.exeが作れるってこと?
0299デフォルトの名無しさんNGNG
JREをディレクトリ構造そのままで同梱すればいいってこと
レジストリをいじられたくないとか展開するだけでゲームを遊びたい人にはこれでいいだろう
0300デフォルトの名無しさんNGNG
じゃあ、そろそろ俺が作りはじめます。
0301デフォルトの名無しさんNGNG
>>297
ナローは厳しいな。
作り手側はOSより回線を気にしなきゃいけない。
0302デフォルトの名無しさんNGNG
最近はフリーソフトでもでかいのがおおきいからなぁ
別に同人でCD配布ならサイズはきにせんでいいし
0303デフォルトの名無しさんNGNG
>でかいのがおおきい
0304デフォルトの名無しさんNGNG
とりあえずまずは環境から

javaスレなんで言語はjava1.4
IDEはeclipse
DBはMySQL
アプリケーションサーバーはJBoss
フレームワークStruts
でいこうと思います。
0305デフォルトの名無しさんNGNG
なんでSTGで鯖環境が必要なんだよ
0306デフォルトの名無しさんNGNG
ネタのつもりなのでは
0307デフォルトの名無しさんNGNG
つまらんネタだな
0308デフォルトの名無しさんNGNG
0309デフォルトの名無しさんNGNG
ねたっつーか、おちょくってんだろ・・・。
0310デフォルトの名無しさんNGNG
結局何一つまともなSTGが出来てない現状ではおちょくられて当然だな
0311デフォルトの名無しさんNGNG
処理落ちとか気にしないならチョチョイと作れるんだけどねえ
つーかJavaで正確なフレームレートなんて(ry
0312デフォルトの名無しさんNGNG
それ以前にWindowsとかLinuxである時点で正確なの無理
0313デフォルトの名無しさん05/02/27 14:40:08
保守
0314デフォルトの名無しさん 2005/05/13(金) 23:12:02
保守
0315デフォルトの名無しさん2005/05/13(金) 23:42:04
>>312
ハゲドー
専用ゲーム機で作るにかぎるだろ。変にPCOSで作る必要なし。
楽なのはワンダースワンカラーだとおもわれ
0316デフォルトの名無しさん2005/06/05(日) 20:27:34
保守
0317デフォルトの名無しさん2005/06/05(日) 21:44:28
Java5になったわけだがどうよ?
0318デフォルトの名無しさん2005/06/05(日) 21:54:36
genericsが便利
0319デフォルトの名無しさん2005/06/05(日) 22:52:16
このスレの名前どおりゲーム開発ということでいえば
GCの速度が上がったのは大きいと思う
JavaSoundも扱いやすいstaticメソッド増えてるし

移行しない意味はないね
0320デフォルトの名無しさん2005/06/06(月) 23:31:51
>>236のゲームがJava5.0になってパワーアップしたらしー
0321デフォルトの名無しさん2005/07/04(月) 03:30:23
Javaで垂直同期を取る方法があると聞いたんですが
本当であるか?
0322デフォルトの名無しさん2005/07/04(月) 12:54:33
もちろんあるよ
0323デフォルトの名無しさん2005/07/07(木) 02:39:14
どうやるあるか?
0324デフォルトの名無しさん2005/07/07(木) 12:09:55
フルスクリーンでBufferStrategyつかえばいいだけ
0325デフォルトの名無しさん2005/07/07(木) 22:49:50
あ、やっぱフルスクリーンなのね。謝々。
0326デフォルトの名無しさん2005/07/07(木) 22:56:17
Windowsネイティブでもさすがにページフリッピングは無理
0327デフォルトの名無しさん2005/10/04(火) 21:58:26
Javaで作られたゲームって配布に適してないのですか?
今年理系大学はいってから今までJavaと戯れてたんで
Javaでゲーム作ってふりー配布したいのですが。
0328デフォルトの名無しさん2005/10/04(火) 22:55:24
普通にJREは再配布可能だぞ
0329デフォルトの名無しさん2005/11/01(火) 17:47:01
座標をDimensionで管理しているのですが
当り判定一つにつき相対値絶対値を二つずつ
作らなければいけなく、管理が面倒なんです。
なにか代わりになるものはありませんか?
ver1_4_02です
0330デフォルトの名無しさん2005/11/01(火) 18:25:36
管理が面倒ってそれをラッピングして簡単に扱えるようにさせればいいだけなんじゃないか?
俺は相対座標にRectangleつかって当たり判定もRectangleのintersectsでだしてるが

if分で自前で管理するのと速度的に差が出るわけでもないし
0331デフォルトの名無しさん2005/11/01(火) 18:26:20
あと1.4と1.4.1以降でかなり速度違うので注意な
0332デフォルトの名無しさん2005/11/01(火) 21:29:18
Rectangleですか。使ってみます。
必要な機能を足せるから自前でまとめるのもよいかな?
ありがとうございます。
0333ハーピィ2005/11/01(火) 22:22:59
E・∇・ヨノシ <333ゲット♫
0334デフォルトの名無しさん2005/11/09(水) 17:47:14
フルスクリーンとバッファーストラテジー使えば
sleep使う必要ないということはないよね?
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:12
バヒューン
0338デフォルトの名無しさん2005/12/24(土) 17:28:56
敵の出て来させ方がやる気でない。
皆さんは一体なにを基に敵の出させ方を考えますか?
0339デフォルトの名無しさん2005/12/24(土) 20:37:45
バヒューンって感じで出て来させ方を考えた
0340デフォルトの名無しさん2005/12/24(土) 22:18:28
真空状態だからバビューンは鳴らなくていいよ
0341デフォルトの名無しさん2005/12/25(日) 20:53:18
自分で作れ

Kanawave, swave, PixTone
0342デフォルトの名無しさん2006/03/18(土) 14:48:51
>340
ワロタ
ガンダムもヤマトも全否定ですわ。
0343デフォルトの名無しさん2006/03/23(木) 11:30:40
↑ばーか
0344デフォルトの名無しさん2006/04/14(金) 22:27:35
ゲームで何が困るかっていうとキャラデザインと音楽
フリーでいいのない?
0345デフォルトの名無しさん2006/04/28(金) 08:44:01
Bulletmlをやっとビルドできた。

C:\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
bulletml.dtdをバッチファイルの有る場所に置いて
<!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:47
Javaでゲームなんてマゾな事して楽しい?
0348デフォルトの名無しさん2006/04/28(金) 12:41:00
ゲーム作成なんてマゾな事して楽しい?
0349デフォルトの名無しさん2006/04/28(金) 14:14:53
ゲーム作成それだけでもマゾなのに
出来上がったものは低速でちんたら動いて
でもライトワンスランエニウェアだからと慰めるものの
案外どこでも走ってはくれず徒労感ばかり残る

まさにマゾのきわみ
0350デフォルトの名無しさん2006/04/28(金) 22:35:50
マゾは感じる
0351デフォルトの名無しさん2006/04/30(日) 14:52:45
Java使いはマゾでファイナルアンサー?
0352デフォルトの名無しさん2006/04/30(日) 16:23:32
そもそもこのスレ板違いだし
0353デフォルトの名無しさん2006/05/09(火) 19:58:13
数十時間程度で作れる小規模ゲームをアプレットで公開してる分には楽しい
Macでもちゃんと動いてるみたいだしね
0354デフォルトの名無しさん2006/05/09(火) 20:02:08
大規模でもべつにちゃんとうごくだろ
0355デフォルトの名無しさん2006/05/09(火) 22:47:58
>354
「楽しい」に掛かってるんだろ
0356デフォルトの名無しさん2006/07/04(火) 21:23:38
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)

i−want−to−study−java@hotmail.co.jp
(アドレスは全角で書いてあるので半角に直してください)
よろしくおねがいします
0357デフォルトの名無しさん2006/07/11(火) 02:10:06
1日1時間とかで覚えれるものではないような
0358デフォルトの名無しさん2006/07/17(月) 21:12:07
教える対象は超初心者です。

専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
0359デフォルトの名無しさん2006/07/18(火) 15:48:03
2時間で日給4000円ならやるんだがなあ
0360デフォルトの名無しさん2006/07/26(水) 21:30:24
>>356
一般的な家庭教師の相場と比べても低すぎる。
非一般的なノウハウをその値段で教える奴がいたらバカか下心あるかどちらか。
お前なめてないか
■ このスレッドは過去ログ倉庫に格納されています