JAVAでゲーム作成
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001JAVA初心者・・・
04/01/17 22:47ID:eiE+Mw3o今年に入ってからJAVAでゲームを作ってみようと勉強しています。
どなたか宝さがしゲームを作るうえで参考になるゲームとツール知りませんか??
知っていたら教えてください。<(_ _)>ぺこり
0853名前は開発中のものです。
2005/09/18(日) 16:38:27ID:M7CaaFPl0854名前は開発中のものです。
2005/09/18(日) 16:41:00ID:MCJHGFRIさすがに想像してなかったな
どういうところで使うんだろう
キーリピートが邪魔というのなら分かるが
0855名前は開発中のものです。
2005/09/18(日) 16:41:42ID:FkxpuXPOそれはやっています。
のんびりとしたキーループではタイミングにずれが出るんです。
0856名前は開発中のものです。
2005/09/18(日) 16:43:35ID:NetIQL6+予想してみるに、Timer使って、一定期間ごとの処理のときに
KeyStateのチェックでもしているんだと予想してみるが
(まぁ、自分がこれをやって、押すタイミングによって、
ムダ連打になったり、ならなかったりで、どうにかしたいと思った経験アリな訳だが
どうやって解決したかは忘れた。)
まぁ、複雑になってくると、あんまりTimerは向かないってのが一つ。
0857名前は開発中のものです。
2005/09/18(日) 16:43:51ID:FkxpuXPORPGのでいうコマンド位置の移動や
アクションで武器毎の連射速度の調整などです。
0858名前は開発中のものです。
2005/09/18(日) 16:49:18ID:MCJHGFRIそういうのは入力側をいじるのではなくて
ゲームのシステムなりがやるものだとおもわれ
0859名前は開発中のものです。
2005/09/18(日) 16:51:27ID:NetIQL6+■←TimerTaskの処理
P←Press
R←Release
つまり
□□■□□□□■□□□□■□□・・・て風に定期処理するプログラムのときに
□□■P □□R ■□□□□■□□←だと4□時間、押してるのに1回
□□■□□□P ■R □□□■□□←だと3□しか押してない(チョイとしか押してないつもり)なのに連打になってしまう
・・・って、ことだと思う。
0860名前は開発中のものです。
2005/09/18(日) 17:00:34ID:NetIQL6+前の時刻から、一定時間たったらリピートが、良さそうかな。
0861名前は開発中のものです。
2005/09/18(日) 17:04:08ID:MCJHGFRIデザインパターンとか多少目を通したほうが楽かもね
0862名前は開発中のものです。
2005/09/18(日) 17:27:01ID:FkxpuXPOこれでキーリピートができると再利用性が向上して作りやすいんです。
・入力処理による行動キューへの書き込み
・メインループによる行動判定処理及びメモリスクリーンの更新
・FPSループによるディスプレイへの描画
>>860
キー判定ループを1つにするかキー分用意するかの違いなんですけどね。
キー判定ループを押される度に生成ではなく、押されるまで寝かせるとかだと改善するのかな
>>861
デザパタですか。なんちゃらファクトリーとシングルトンならよく使います。
なんちゃらって答えてる時点で分かってないって事なんですがw
0863名前は開発中のものです。
2005/09/18(日) 17:58:14ID:MCJHGFRIリアルタイム系ではなくいわゆるウインドウシステムみたいなものを作りたいようだから
ディスプレイへの描画はループさせる必要はないよ
0864名前は開発中のものです。
2005/09/18(日) 18:07:20ID:FkxpuXPOいや移動処理とかあるので描画ループは必要です。
もちろんトリガ式の描画モードも実装する必要はありますが。
0865名前は開発中のものです。
2005/09/18(日) 19:23:42ID:MCJHGFRIたとえば現在のモードが戦闘モードなのか移動モードなのか判断してまわすだけ
たとえばマス単位で動くなら動いた後にはキーイベントキューをクリアするとかの処理が入ればいいだけ
たぶんゲーム作りなれてないのならループ処理よりこっちのほうがやりやすいかもね
0866名前は開発中のものです。
2005/09/19(月) 16:53:42ID:jM2IG00Zからそのへん学んだ。変数にフレームごとの状態を記録しておく。
0867名前は開発中のものです。
2005/10/02(日) 23:11:49ID:ZLCcRisp↑これってShapeとかImageもOpenGLで高速に描画できるって事ですかね
0868名前は開発中のものです。
2005/10/02(日) 23:24:24ID:Tb1DEFOC5.0から一応OpenGLレンダリングできることになってるけど、イマイチだし
Windows環境ならDirectDrawやDirect3D使ってレンダリングできる。
オプションとか描画の種類とか多少知識が必要だけれども。
Imageの通常転送に関してはDirectDrawで安定して高フレームレートでてるよ。
SDL並みといっていいのでは?
0869名前は開発中のものです。
2005/10/02(日) 23:53:51ID:/Mx50MbJその後アプリを最小化するとそのメモリリークしたメモリが一気に回復するのですが
このリソースの回収を表示モードの切り替え直後に行う方法はないでしょうか?
0870名前は開発中のものです。
2005/10/03(月) 00:20:05ID:+tMRcs2pSystem.gc()じゃだめ?
現在通常ウィンドウとフルスクリーンを交互に表示するプログラムのコード断片希望
0871名前は開発中のものです。
2005/10/03(月) 00:39:53ID:66QjCFIvif (b == isVisible()) return;
if (b) {
if (isFullScreen) {
if (alreadyFullScreen) return;
final DisplayMode mode = new DisplayMode(
screenWidth, screenHeight, 16,
DisplayMode.REFRESH_RATE_UNKNOWN);
if (isDisplayable()) dispose();
setUndecorated(true);
super.setVisible(true);
createBufferStrategy(numBuffers);
device.setFullScreenWindow(this);
device.setDisplayMode(mode);
alreadyFullScreen = true;
} else {
if (!alreadyFullScreen) return;
if (isDisplayable()) {
device.setFullScreenWindow(null);
dispose();
}
setUndecorated(false);
super.setVisible(true);
createBufferStrategy(numBuffers);
alreadyFullScreen = false;
}
}
super.setVisible(b);
}
0872名前は開発中のものです。
2005/10/03(月) 00:42:00ID:66QjCFIv>>870
gcではびくともしませんでした。
ソースですが、isFullScreenを切り替えた後で
setVisible(false);setVisible(true);とすれば切り替わるようになっています。
createBufferStrategy(numBuffers); が一見無駄に見えますが
これはコメントアウトしても何の影響もありませんでした。
よろしくおねがいします。
0873名前は開発中のものです。
2005/10/03(月) 01:12:05ID:vx+N+SLCたぶん仕様っぽいけど表示のON/OFFでdispose後再構築とかやらんとだめっぽいな
一見問題ないようでもネイティブのリソースであるVRAMを扱うのは
ヒープのように単純にいかんよな
いまじゃJava2DもDirectDrawでガンガンアクセラレーションされてるから
0874名前は開発中のものです。
2005/10/03(月) 02:01:20ID:66QjCFIv最小化してから通常化に戻すというのをコードから書けるならですけど。
0875名前は開発中のものです。
2005/10/03(月) 06:09:25ID:vx+N+SLC0876名前は開発中のものです。
2005/10/03(月) 22:26:39ID:66QjCFIvdispatchEventっての使ってみても何も起きなかった
0877名前は開発中のものです。
2005/10/03(月) 23:06:06ID:vx+N+SLC0878名前は開発中のものです。
2005/10/03(月) 23:26:41ID:66QjCFIv2日ぐぐったのに見付からなかったorz
リソースの開放も確認できて無事解決しました。
ありがと。
0879名前は開発中のものです。
2005/10/09(日) 17:11:50ID:fwcbNJiA1.4より前のバージョンを使ってるユーザのためにやっといたほうがいいんでしょうか?
0880名前は開発中のものです。
2005/10/09(日) 18:07:35ID:4gGFYlg9自分で処理かかないとダメだよ
それにページフリッピングできるのは1.4以降だし
0881名前は開発中のものです。
2005/10/09(日) 18:23:24ID:fwcbNJiA0882名前は開発中のものです。
2005/10/09(日) 18:34:11ID:4gGFYlg9まぁRPGとかAVGならありだけど
あとかならずVolatileImage使われるともかぎらないから
速度とか考えたら自前でやったほうが管理は楽かもよ
フルスクリーンや垂直同期フリップが使えるし
0883名前は開発中のものです。
2005/10/09(日) 19:04:43ID:fwcbNJiASwingのJPanelをキャンバスにしてpaintComponent()を使わずに自分でダブルバッファリング書く+アクティブレンダリングというのが一般的ですか?
0884名前は開発中のものです。
2005/10/09(日) 21:18:18ID:6yAhCZU00885名前は開発中のものです。
2005/10/09(日) 21:25:22ID:4gGFYlg90886名前は開発中のものです。
2005/10/09(日) 23:43:37ID:h4Io2UVMみんな親切だよね
0887名前は開発中のものです。
2005/10/10(月) 20:58:06ID:AeWSx6q10888名前は開発中のものです。
NGNG0889名前は開発中のものです。
NGNG0890名前は開発中のものです。
2005/10/11(火) 19:12:50ID:/G/d0EXvあとはその言語の思想とか癖をおぼえるだけ
ただ、最低限の基礎はほしい
2の補数とか通じないのが最近多いんよ
0891名前は開発中のものです。
2005/10/11(火) 20:10:51ID:RlHG5uwm俺の場合はN88Basic→C→C++(挫折)→Perl→Java→C++
と勉強した。
0892名前は開発中のものです。
2005/10/11(火) 20:11:11ID:xz1uAK9j2年後には、携帯JavaもCLDCからCDC(Java SEのサブセット)が標準になる
と言う話しだし。Javaは絶対に今後ブレークwする。
その次はコンパイラの勉強とか。
0893名前は開発中のものです。
2005/10/11(火) 20:15:09ID:xz1uAK9j私は最初の言語がC++で就職してからやって、難しすぎてびびりました。
基礎は研修中(2ヶ月程)に何とか身に付けたけど。
0894名前は開発中のものです。
2005/10/11(火) 22:07:55ID:q+6COAGoちなみに、コンパイルは方法このスレにうp、多分たまに成功。
0895名前は開発中のものです。
2005/10/11(火) 23:48:33ID:7JCIKF14ハッカーおすすめの言語習得コースが確かこんなだった
0896名前は開発中のものです。
2005/10/12(水) 00:32:35ID:Quf6hxtTゲーム系の場合 Lisp はやっといても損ないけど
Perl と Python は飛ばしてもいいと思われ。
0897名前は開発中のものです。
2005/10/12(水) 01:07:32ID:hYkIIT7D0898名前は開発中のものです。
NGNGもう1つ質問ですHSP(多分あってる??)ってゲームのプログラミングに必要なんでしょうか?
ゲームのプログラミングに特化(言葉あってるかな?)してるらしいけど…
0899名前は開発中のものです。
2005/10/12(水) 18:50:44ID:x4tgIjOtホット・スープ・プロセッサ"HSP"でぐぐるべし。
0900名前は開発中のものです。
2005/10/12(水) 19:17:55ID:LZvwtrrw「Javaでゲーム作りますが何か?」を読むのが一番早い。
0901名前は開発中のものです。
2005/10/12(水) 19:19:45ID:LZvwtrrwhttp://web.archive.org/web/20041010095625/http://www.cs.pitt.edu/~alandale/dmjava/
ソースは分かりにくい&多分バグもある。
今は暇が無いので1・2ヶ月したら見てみる予定。
0902名前は開発中のものです。
2005/10/12(水) 21:16:43ID:CTLj17U4↑楽、ショボいプログラム向け
高級言語 C パスカル
↓複雑、大規模プログラム剥け
至高言語 C++ JAVA
0903名前は開発中のものです。
2005/10/12(水) 21:37:39ID:tq5rc6Dp0904名前は開発中のものです。
2005/10/12(水) 22:15:33ID:+pi2ltxj作品見ると結構すごいのあるな
0905名前は開発中のものです。
NGNGありがとうございました
0906名前は開発中のものです。
2005/10/13(木) 00:10:54ID:YlI0WJBy待ってくれ。
真面目に書き込んでる様だけど、
ゲーム作るのなら、JAVAは完全に場違いだよ・・・
0907名前は開発中のものです。
2005/10/13(木) 00:24:21ID:W8tL621Rばちがいというよりバカチンだな
0908名前は開発中のものです。
2005/10/13(木) 00:30:28ID:wGF8Lzjx俺も>>906に同意。
みたところ>>905はプログラム初心者だと思うんだが
ゲーム作るのにいきなりJAVA勉強しだすってのは
なんか違う気がする。
とりあえずここではなくてスレ立てる前に質問スレを読むべきかと。
0909名前は開発中のものです。
2005/10/13(木) 00:34:48ID:M3ScEagT0910名前は開発中のものです。
2005/10/13(木) 00:37:10ID:5vxaNiGa>>905は、まずはHSPぐらいからはじめた方がいいかもね
0911名前は開発中のものです。
2005/10/13(木) 00:47:23ID:yA298Qwd問題はこの方面の日本語ドキュメントがすごく少ない事で。
0912名前は開発中のものです。
2005/10/13(木) 00:48:26ID:wGF8LzjxJAVAでゲーム作成。
え、でもJAVAがゲームつくるには最適だぜVBなんて糞!って
そんなスレじゃないよね?JAVAでゲーム作ろうぜスレだよね?
え、漏れスレ違いだったのかずっと(´・ω・`)
0913名前は開発中のものです。
2005/10/13(木) 00:57:12ID:x7e6Nety6.0からは3Dにも力を入れるらしいから、Javaを捨てる機はないけどね
0914名前は開発中のものです。
2005/10/13(木) 01:38:35ID:YlI0WJByJAVAは、現在ではサーバーサイドのソフトウェア開発の為の言語ですので
ゲームには不向きです。
0915名前は開発中のものです。
2005/10/13(木) 01:48:21ID:M3ScEagTJavaは初心者には敷居は低いと思うけどな
無料だし
>>914
フルスクリーン可能とかDirectXやOpenGL使って描画されるとかしらんのだろうか
0916名前は開発中のものです。
2005/10/13(木) 02:52:18ID:wGF8Lzjx0917名前は開発中のものです。
2005/10/13(木) 21:08:27ID:7fkZuJzgJavaを使ってすばらしいゲームが作れる、
Javaはゲームを作るのに十分なパフォーマンスがある
ってことと、
Javaは初心者がゲームを作るのにお薦めできる言語
Javaは習得しやすい言語
を、
ごちゃ混ぜにして話しているやつがいるなぁ。
Javaを知っている人間がゲームを作るのにはいいのだろうけど、
初心者がゲームを作るためにJavaを覚えるのは効率悪いと思うがなぁ。
将来プログラマ(ゲームではない)になりたいのなら話は別だが。
ゲームを作るってことが主目的ならもっといい言語は別にあると思うが。
0918名前は開発中のものです。
2005/10/13(木) 21:32:24ID:sZ94hCLxワラタ
見事なつっこみだ
0919名前は開発中のものです。
2005/10/13(木) 21:57:35ID:5JImUKNAどんな言語が習得しやすいんだろう
0920名前は開発中のものです。
2005/10/13(木) 22:13:35ID:M3ScEagT0921名前は開発中のものです。
2005/10/13(木) 22:17:34ID:T+KG7Ted他言語で作成したいヤシはその言語専用のスレへ池ということで。
0922名前は開発中のものです。
2005/10/13(木) 22:46:23ID:sZ94hCLx0923名前は開発中のものです。
2005/10/13(木) 23:11:45ID:SSZFTLJUゲ業界は java でもダメよw
0924名前は開発中のものです。
2005/10/13(木) 23:24:30ID:M3ScEagT0925名前は開発中のものです。
2005/10/14(金) 01:03:37ID:y/Uzr0dbスポーツする人がみんなプロを目指すわけじゃないのと同じなんだから。
0926名前は開発中のものです。
2005/10/14(金) 01:23:02ID:64Q3kCz/プログラミングしたことがないのに、C++をやろうとすると多分挫折する。
0927名前は開発中のものです。
2005/10/14(金) 02:07:12ID:F7eh9aJlゲームやある程度規模の大きなプログラムの場合
まず先にJavaでプロトタイプを作る事が多々ある
速度なんか度外視でバグを出さずに動く事を実証したり
クラス設計やデータ構造を練る事がことが主眼
で、この完成したプロトタイプをC++へ移植する段取りだと開発効率が凄く良い
で、このプロトタイプの動作性能で全く問題ないって事が判明して
面倒になって移植を中止する場合も多いよ
だからとりあえずJavaを極めて、それで満足できなかったら他に移ったらいいかも
0928名前は開発中のものです。
2005/10/14(金) 06:37:39ID:5TseUKhy挫折はせんがWinAPIでGUI作るとノイローゼになる。
JavaはRADにも対応し始めてきたからアプリも行けるようになったね。
0929名前は開発中のものです。
2005/10/14(金) 06:46:12ID:RNsnGTSdへー。参考になるな。
>>928
俺はC#やってJava勉強し始めたけど、色々似てるから楽かも。
RAD対応が遅れててなんかなーて感じだが、、。
C#のwebサービスやサーバーサイドJavaをゲーム開発環境構築に役立てたいナーと
漠然と思ってるんだが、トライしてる人いる?
ゲームアプリそのものはC++でいいじゃんと思ってる。
0930名前は開発中のものです。
2005/10/14(金) 11:05:25ID:7/HW/bmD0931名前は開発中のものです。
2005/10/14(金) 17:58:22ID:IcMNZCJVNetBeansとか試してみたらいいよ。
0932名前は開発中のものです。
2005/10/14(金) 18:07:25ID:7/HW/bmD0933名前は開発中のものです。
2005/10/14(金) 19:36:28ID:avp4LEUs漏れのところではPythonでプロト作って、
Javaで実装というパターンが多いかな。
あ、ゲームじゃないけどね。
0934名前は開発中のものです。
2005/10/14(金) 19:48:14ID:I+40oghkきっとEclipseしか知らないんだろう、>>929は
0935名前は開発中のものです。
2005/10/14(金) 20:17:56ID:SlJ7Kv4yhttp://d.hatena.ne.jp/shibacho/20050911/p2
JavaとCがほぼ同等だってさ
0936名前は開発中のものです。
2005/10/14(金) 20:20:39ID:qC/usI4o0937名前は開発中のものです。
2005/10/14(金) 21:49:47ID:ydWCAyTFVisual C++も書いたその場でエラー見つけて表示させられないし。
0938名前は開発中のものです。
2005/10/14(金) 22:21:52ID:7/HW/bmDNetBeansも昔から書いたその場でエラー表示してくれてたよ
Eclipseだけの特権ではあるまい
しかしスレ違いが続くな
0939名前は開発中のものです。
2005/10/14(金) 22:59:46ID:RNsnGTSdその通りw
で、結局どれが良いのかな?
NetBeansは初心者向けと書いてあったので、やってみるか。
上級者はRAD使わないて事かね?そういうもんか?
まあ、開発環境の話題はゲーム製作と全く無関係ではないと思うよ
0940名前は開発中のものです。
2005/10/14(金) 23:11:19ID:7/HW/bmDGUI生成ツールとしてNetBeansは昔から現在でもJavaの中では最高品
Eclipse+VEとか話にならん
そして肝心のTomcatとかWEBアプリやDB接続等はEclipseいれても
いつもおなじプラグインしかまずつかわんよね
なら最初からGUIエディタとWEBアプリ開発環境が整っていても問題はない
しかもほとんどのEclipse本はそれらのプラグインをセットアップしたところで終わりだ
ゲーム製作においてはなんのIDE使ってもいいとは思うけど、Windows95初期のRPG
とかOSのコンポーネント使ってるのが多かったからそういうのをやろうとしたときは
Swingが強力なNetBeansでいいだろうね
強みとしてはNetBeansのほうが最新のJava環境に対応しやすいということかな
コンパイラにJDKのを使うようにしてるからね
Eclipseの3はかなり遅かったでしょ?
Javaでのゲームは最新のVMに対応してるかどうかはわりと重要
あとはプロファイラが簡単導入できるのでどこが速度のネックなのかをすぐに特定が可能なのも強みかな
0941名前は開発中のものです。
2005/10/14(金) 23:59:27ID:64Q3kCz/初心者が入門用に勉強する言語に一番向いてると思うよ。
0942名前は開発中のものです。
2005/10/15(土) 00:04:05ID:p4FsszruただしHSPは入門言語としてはとても薦められない。
くそプログラマ育成ツールだと思う。
0943名前は開発中のものです。
2005/10/15(土) 08:21:14ID:wTE7Ugacあれはあれでそれなりにいい言語だよ。
ただ、今は他の言語でも充分に環境が良くなっているのでアドバンテージは低下してる。
目的に応じて道具を変えられない人にはすすめたくないってのは確か。
ところで、Javaでゲーム作るときってどんな環境使ってる?
0944名前は開発中のものです。
2005/10/15(土) 11:26:31ID:RjGSFxGd0945名前は開発中のものです。
2005/10/15(土) 17:33:25ID:Ha6BQmfC0946名前は開発中のものです。
2005/10/15(土) 17:56:11ID:YntQAxvk0947名前は開発中のものです。
2005/10/15(土) 19:51:18ID:ouFug0X6ttp://gamdev.org/up/img/3544.zp
MainPanelのpaintComponent()が描画処理です。
0948名前は開発中のものです。
2005/10/15(土) 19:52:06ID:ouFug0X6ttp://gamdev.org/up/img/3544.zip
0949名前は開発中のものです。
2005/10/15(土) 20:03:47ID:YntQAxvkんで、ちらつきあるか?
たんにキャラが小さいのと垂直同期とってないからだけじゃないかな?
ためしに640*480にきえりかえて2倍拡大したキャラを表示してみるとか
あと作業用VolatileImageは最初に作るだけにしておけ
描画のたびに作っていたらもったいない
0950名前は開発中のものです。
2005/10/15(土) 20:14:04ID:ouFug0X6d
実行してもらって本当にちらついてるか確かめてほしかったので丸ごとあげました。自分でもちらつきあるかないか微妙だったんで。画像大きくして試してみます。
0951名前は開発中のものです。
2005/10/15(土) 21:09:09ID:ouFug0X6拡大してみましたがやっぱりちらつきはないようです。画像の模様のせいでちらついているように見えるだけのようでした。画像を別のにかえたら直りましたorz
ありがとございます。
0952名前は開発中のものです。
2005/10/15(土) 21:21:17ID:RjGSFxGdティアリングは垂直同期取らない限り必ず出るよ
ウインドウモードとフルスクリーン両対応のゲームやってみればわかる
レス数が950を超えています。1000を超えると書き込みができなくなります。