初心者専用スレ「シミュレーションゲーム」を作らない?
レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。
04/03/20 10:18ID:HjCApWI8各レベルの課題に沿って作ってみてあぷしてみましょう。
まとめ:
SLGを作らない?
http://gamdev.org/w/?%5B%5BSLG%A4%F2%BA%EE%A4%E9%A4%CA%A4%A4%A1%A9%5D%5D
あぷろだ:
http://gamdev.org/up/
話題元:
初心者のためのゲームプログラミング
http://pc2.2ch.net/test/read.cgi/gamedev/1023119134/852-
関連スレは>>2
各レベルの課題は>>3
0953名前は開発中のものです。
2007/02/07(水) 01:28:28ID:hiPzJEZtつーか、デバッグを人に頼むやつはスキル上がらない。
0954名前は開発中のものです。
2007/02/07(水) 01:29:00ID:hiPzJEZtあ、お前…。
0955名前は開発中のものです。
2007/02/07(水) 01:29:44ID:ALqVWg08あと、ソースを見ている中で気になったのが
・cx(キャラID), cy(キャラID) にX軸とY軸の座標を格納する
・マップと同サイズの2次元配列 charc を作って、キャラがいる座標にキャラIDを格納する
という2種類の方法でキャラクターの位置管理をしている事。
片方で統一した方がいいような気もしますが…
0956名前は開発中のものです。
2007/02/07(水) 01:31:39ID:hiPzJEZt0957名前は開発中のものです。
2007/02/07(水) 01:46:50ID:ALqVWg08す、すまねぇ…ベジータ
つい調子に乗っちまって…
0958951
2007/02/07(水) 04:13:15ID:0o0vmDxN>>952
そ・・・そんな一文字変えるだけだったんて・・・結局あれから原因がわからなくて
全体的に書き直してやっと正常に動くようになりました。
ttp://gamdev.org/up/img/8854.lzh
ありがとうございました
ところで教えてもらったのに
-'0'と+'0'の違いがニンともカンとも全くさっぱりわからないのですが・・・
どう違うのでしょうか?
>>953
全くその通りです、すいませn
ヒントありがとうございます
自分の好きなキャラクターを動かせたらいいなぁとか思って
初めてゲーム制作ってのをやってみたんですが
めっちゃ面白いですね!ゼルダの伝説とか好きだからかハマるなぁ。。。
0959名前は開発中のものです。
2007/02/07(水) 09:39:11ID:hiPzJEZt2 と '2' は違う。
0960951
2007/02/07(水) 21:53:50ID:flBw1LVKふむ・・・
文字データに-'0'としたら
数値データに変わるものと思っていました・・・どう違うんですか?
移動範囲むずい・・・
ttp://gamdev.org/up/img/8860.lzh
0961名前は開発中のものです。
2007/02/07(水) 22:16:52ID:hiPzJEZt0962名前は開発中のものです。
2007/02/07(水) 22:17:35ID:hiPzJEZt0963名前は開発中のものです。
2007/02/07(水) 22:21:53ID:5CLYr9a5ASCIIコードでぐぐれ。
0964名前は開発中のものです。
2007/02/07(水) 22:55:25ID:flBw1LVK理解しました!ありがとうございます
0965951
2007/02/09(金) 17:55:52ID:cJebzufJlevel4くらいまで・・・たぶんできた?
ひし形に移動範囲が表示された瞬間は嬉しくてたまらなかった;;
0966名前は開発中のものです。
2007/02/09(金) 18:09:23ID:Uo/kSmzQ乙
適当に動かした感じバグも見当たらないね
先は大変だろうが頑張ってくれ
にしてもあのキャラはなんだw
スーパーフジコフジオ大戦でもつくるつもりかw
0967名前は開発中のものです。
2007/02/09(金) 18:30:48ID:cJebzufJずっと前に2chでそういうスレを見てから、そんなんがあったらいいなぁなんて思っていて、
ペイントで絵だけ描いてあったんでw<スーパー藤子不二雄大戦
そのまんま使ってみました。
0968名前は開発中のものです。
2007/02/09(金) 22:48:10ID:466X9rh2GJ。移動関連は問題なさそう。
ただ別の部分で1個バグがあるので報告を。
マウスカーソルをX座標640の位置(ウィンドウの右端)に移動させると、エラーが発生します。
0969名前は開発中のものです。
2007/02/10(土) 00:37:12ID:/F07fJXK報告どうもありがとうございます。
自分の方ではちょっとエラーは確認できなかったんですが、
ちょっと変えてみました。まだエラー出ますかね?
ttp://gamdev.org/up/img/8884.lzh
レベル5くらい?
0970951
2007/02/11(日) 13:09:16ID:Wt+73Vfkttp://gamdev.org/up/img/8899.lzh
どうもだんだんごっちゃになってきた・・・・
0971名前は開発中のものです。
2007/02/11(日) 13:13:18ID:Wt+73Vfkttp://gamdev.org/up/img/8900.lzh
0972名前は開発中のものです。
2007/02/11(日) 13:55:20ID:X9ZBd4xshttp://gamdev.org/up/img/8901.png
ターン終了?の文字が文字化けする。
環境はwin98。
ちなみにウキベデアでも文字化けする。
0973名前は開発中のものです。
2007/02/11(日) 14:01:45ID:Wt+73Vfkうぉマジすか。報告ありがとうございます
クリックしたときに出る「OK?」以下の文字は大丈夫ですか?
0974名前は開発中のものです。
2007/02/11(日) 16:21:13ID:X9ZBd4xsそっちも文字化けする。
http://gamdev.org/up/img/8903.png
0975名前は開発中のものです。
2007/02/12(月) 06:12:33ID:0Mxjt6Diわざわざスクリーンショットまで取ってくださってありがとうございます。
フォントを変えてみたんですがどうでしょうか?
レベル8〜9くらいです
ttp://gamdev.org/up/img/8912.lzh
0976名前は開発中のものです。
2007/02/12(月) 14:03:43ID:YvDlmQGu文字化けされずちゃんと表示されるようになった。
0977名前は開発中のものです。
2007/02/13(火) 10:58:37ID:BB4mZt4Fおつかれー
順調にすすんでますな
コロ助ぬっころした後無敵になって再登場するのは仕様?
0978名前は開発中のものです。
2007/02/14(水) 05:55:14ID:ynv9xeAn仕様です。何度もテストしているうちに可哀相になってきたので…
こんな扱いだけどコロ助は大好きですw
やっと前にだれかに指摘していただいたキャラクター管理の変数を統一できました。
今までやり方が見つからなかったのでごっちゃになってましたw。
0979名前は開発中のものです。
2007/02/14(水) 20:26:39ID:sHkOF+QZカーソルをウィンドウの右端に持っていくとエラーが出て終了する。
0980名前は開発中のものです。
2007/02/19(月) 22:10:39ID:G+TSHHmYあまり変わってないかもしれませんが一応レベル12くらい?です。
>>979
うーん以前にもご指摘いただいたんですが、自分の環境だとエラーにはならないんですよね・・・。
↑でmxの値が638のときに出ますか?
できれば環境なども教えていただけると嬉しいです。
0981名前は開発中のものです。
2007/02/20(火) 00:12:32ID:nQEJE7+oそのエラーを最初に指摘した者だけど、俺の環境だと>969以降は発生してません。
エラー発生の原因は
mousexの値が400以上になるとmousex/32が20以上になって、mapc等の配列の要素数を超える為。
【以下対処方法】
1)カーソル位置取得の処理を1箇所にまとめる。
ソースを見ると、「mx=mousex/32 :my=mousey/32」が複数箇所に記述されてるけど、
この処理をメインループの最初の方でやれば1箇所の記述で済む。
2)カーソル位置がマップの外に出ないように(配列の要素数を超えないように)する。
カーソル位置取得の処理を下みたいな感じに
mx = mousex/32 : if mx >= mmaxx : mx = mmaxx-1
my = mousey/32 : if my >= mmaxy : my = mmaxy-1
3)以降のmousex/32とmousey/32を、全てmxとmyに置き換える。
0982名前は開発中のものです。
2007/02/20(火) 21:29:33ID:8gXApLCKHEXセルのMAP上で、二点間の距離を求めたいのですが、どなたか計算式をご存じないでしょうか。
距離は直線距離ではなく、1セルずつ移動する場合の最短歩数です。
具体的には、二次元配列
cell[x][y] (0=<x<cols, 0=<y<rows)
において、奇数列のセルが半セル分上にずれる形で表示されるHEX表現を行うとき、
このマップ上の任意の2セル間の移動距離(=歩数)を返す関数を作成したいのです。
参考:
・奇数列のセルとは、x%2=1となるx座標を持つセルである。
具体的には、x=1,3,5...のセルである。
・隣接するセル間の距離は1である。
・例:cell[0][0]に隣接するセルは、
cell[1][0](右上)、cell[1][1](右下)、cell[0][1](下) である。
もし教えていただけるなら、「段階的学習」のレベルのうち、
「戦闘描画」以外のほぼ全てを実装したサンプルをアップできます。
というか上記の部分以外はほぼ全部できているわけなのですが・・・。
0983名前は開発中のものです。
2007/02/20(火) 23:47:16ID:5TPql8m6とりあえず、スクショ。
ttp://gamdev.org/up/img/8981.png
見て分かるようにWinXPのスタイルを変更してます。
なぜか、これをデフォに戻すとエラーが出なくなりました。
0984983
2007/02/20(火) 23:56:42ID:5TPql8m6ttp://72.14.253.104/search?q=cache:J4s8x9xl4W4J:dream.freespace.jp/perl-bin/puma/lng/joyful.cgi%3Fprint%2Blog3/04120004.txt+hsp+mousex&hl=ja&ct=clnk&cd=3&gl=jp&lr=lang_ja&client=firefox
0985名前は開発中のものです。
2007/02/20(火) 23:59:30ID:EXLCFI7m味方に個性があって面白いな。
飛べるキャラは移動コストが低く、素早そうなキャラは移動力が高く、
女の子は間接専用とか、攻撃法が多いキャラは直間両用とか。
気になった所は、移動する時、一歩毎のウェイトが短いのと、
コースが遠回りで移動力が足りなくコースを通る場合がある。
>>982
ヘックスのは作ったこと無いから良く分からんが、
スクエアの場合は、回り4方向チェックをマップ全体にやるのを
何回か繰り返してチェックする感じだから、
ヘックスは6方向に同じようにやる感じなんかな。
0986名前は開発中のものです。
2007/02/21(水) 00:29:41ID:k8mWChj0>>985の通り、基本はスクエアの方法と同じだね。
移動方法の設定の仕方は色々なやり方があるから、調べたりするといい。
周り6方向のセルだけど、cell[x,y]を中心とすると、
真上=cell[x,y-1]
真下=cell[x,y+1]
左上=cell[x-1,y-x%2]
左下=cell[x-1,y-x%2+1]
右上=cell[x+1,y-x%2]
右下=cell[x+1,y-x%2+1]
になる。X軸が奇数か偶数かで要素が変わってくるのが厄介だけど頑張れ。
0987名前は開発中のものです。
2007/02/21(水) 01:52:18ID:vYb6bbT/最短経路探索の話じゃないよね?
少し解答からズレるけど、
奇数と偶数に分けるのはデータ形式としてはいいが
ずれた配列をそのまま使うとコードが複雑になる。
なので 配列<->仮想座標 の座標変換メソッドを作り、
仮想座標で色々計算した方がよいと思う。
この辺のノウハウは↓のサイトの Hexagonal Grids の項目に沢山ある。
http://www-cs-students.stanford.edu/~amitp/gameprog.html
0988名前は開発中のものです。
2007/02/21(水) 07:04:24ID:dBNuLTUtスタートの地点からさっきのメソッドを使って外周上をぐるりと回す(X)
Xの外周上にXまでの必要コストとXからのコストを足したものを代入(それより小さい値が入っていればそのまま)
ゴールの周に来て終わったら、逆に数字が小さいますを辿ってスタートへ戻り、経路を記憶する
こんな感じで僕はやってました
0989名前は開発中のものです。
2007/02/21(水) 10:31:11ID:tXUNnTZVHSP 3.xでは実行ファイル内にデフォルトでWindows XP以降向けの「Luna」スタイル
データを持っているのが原因だったり?
HSPIC!ていうソフトで除去できるみたいだから試してみては?
UPX圧縮、icon変更、バージョン情報付与、でウマー
0990982
2007/02/21(水) 12:02:48ID:Mxu0R3ynありがとうございます。とりあえず読んでみます。
ご指摘のとおり、最短経路探索ではなく、最短「距離」の話です。
ぶっちゃけますが、A*アルゴリズムで最短経路を探索する際に、
この最短距離の計算が必要になるので調べていました。
矩形セルを使用する場合については最短経路まで問題なく計算できています。
どうせならHEXにも対応しておきたいなーと思いまして質問しました。
0991名前は開発中のものです。
2007/02/21(水) 12:12:11ID:juyyBLL1984のが当たりだろう
どうせwait/awit時しかマウス座標は変化しないんだから
最初に
#undef mousex
#undef mousey
#undef wait
#undef await
#define wait(%1) wait@hsp %1 :mousex=limit(mousex@hsp,0,640):mousey=limit(mousey@hsp,0,480)
#define await(%1) await@hsp %1 :mousex=limit(mousex@hsp,0,640):mousey=limit(mousey@hsp,0,480)
って、定義しちゃえば他は変更しないで、そのまま動く
0992名前は開発中のものです。
2007/02/21(水) 12:31:24ID:Az2RuQ79最短距離を求めるのに最短経路探索を使うのではないの?
0993名前は開発中のものです。
2007/02/21(水) 12:53:39ID:Pu4x1zp+X = Abs(X1-X2)
Y = Abs(Y1-Y2)
if (X1 % 2 = 0) {
if (X2 % 2 = 1) { if (Y1 > Y2) Y++; }
}else {
if (X2 % 2 = 0) { if (Y1 < Y2) Y++; }
}
Y = Y-(X+1)\2;
if (Y < 0) Y = 0;
Value = X+Y;
0994982
2007/02/21(水) 14:53:21ID:Mxu0R3ynhttp://www.drking.plus.com/hexagons/misc/grid.html
に欲しい式がありました。ありがとうございました。
HEXをこう並べるのは気づきませんでした。
http://gamdev.org/up/img/8986.lzh
に、作成したサンプルをアップしました。
.NetFramework2.0が必要になりますので、すみませんが
Windowsupdateなどからインストールをお願いします。
その他の注意点はreadme.txtを参照してください。
>>992 さん
A*法で最短経路を求めるとき、残り距離の見積もりとして、最短距離を使用します。
ルートAとルートBのどちらが短かそうか、などという判断です。
詳しくは
http://ja.wikipedia.org/wiki/A%2A
をどうぞ。
0995名前は開発中のものです。
2007/02/21(水) 16:58:44ID:Az2RuQ79どうもです
教えていただいたのですが
どうプログラムに反映するのかさっぱりわかりません orz
独自で作って後でこれは〜法だったのか!ってのが多いので
数式見てもピンと来ないです
0996名前は開発中のものです。
2007/02/22(木) 01:04:54ID:tSJbMxqg0997名前は開発中のものです。
2007/02/22(木) 19:05:52ID:Qy+LhnRX----------------------------------
ここはシミュレーションゲームをみんなで作るスレです。
各レベルの課題に沿って作ってみてあぷしてみましょう。
まとめ:
SLGを作らない?
http://gamdev.org/w/?%5B%5BSLG%A4%F2%BA%EE%A4%E9%A4%CA%A4%A4%A1%A9%5D%5D
あぷろだ:
http://gamdev.org/up/
前スレ:
http://pc10.2ch.net/test/read.cgi/gamedev/1079745509/
関連ページ:
段階的学習!
http://gamdev.org/w/?%5B%5B%C3%CA%B3%AC%C5%AA%B3%D8%BD%AC%A1%AA%5D%5D
各レベルの課題はまとめ参照
0998名前は開発中のものです。
2007/02/22(木) 19:47:27ID:LXiAekOY初心者専用スレ「シミュレーションゲーム」を作らない?2
http://pc10.2ch.net/test/read.cgi/gamedev/1172141181/
0999名前は開発中のものです。
2007/02/22(木) 21:45:54ID:Qy+LhnRX初心者専用スレ「シミュレーションゲーム」を作らない?2
http://pc10.2ch.net/test/read.cgi/gamedev/1172141181/
1000名前は開発中のものです。
2007/02/22(木) 21:46:46ID:Qy+LhnRX初心者専用スレ「シミュレーションゲーム」を作らない?2
http://pc10.2ch.net/test/read.cgi/gamedev/1172141181/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。