ゲームのアルゴリズムを教えて管sai (199レス)
ゲームのアルゴリズムを教えて管sai http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
84: 名前は開発中のものです。 [sage] 2007/09/08(土) 13:11:56 ID:ZvPWIcCC まぁいろいろトライするのが思い出になるんだよな。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/84
85: 名前は開発中のものです。 [sage] 2007/09/08(土) 13:34:41 ID:x0k7gG8Z Deg と Rad を知らなかったあの頃 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/85
86: 名前は開発中のものです。 [sage] 2007/09/12(水) 20:10:03 ID:u002ijju >>79 #define RAD 3.14159/180 って定義しておいて、 x+=cos(45*RAD)*speed; y-=sin(45*RAD)*speed; でいけると思うよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/86
87: 名前は開発中のものです。 [] 2007/11/18(日) 11:26:33 ID:kpbdlgGK 質問させて下さい。 ユーザーに手書きで図形を書かせ、 それが丸なのか四角形なのか三角形なのかを判別したいのですが どのようなアルゴリズムが考えられますでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/87
88: 名前は開発中のものです。 [sage] 2007/11/18(日) 11:37:26 ID:RmDGoqPy ふたつかんがえた。もちろん使ったことはない。 ・描画速度の変化をみる (角を描くときに速度が落ちるので、2回落ち込むと三角形とか) ・描かれた線の接線のむきの分布みる (三方向にピークが出ると三角形、とか) http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/88
89: 名前は開発中のものです。 [sage] 2007/11/18(日) 21:55:34 ID:VoyUbEfi ・グリッドを作って通過するポイントで判定(文字認識?) ・マウスの移動方向をxyの変化量で8つに分ける(マウスジェスチャ?) 俺も作ろっと http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/89
90: 名前は開発中のものです。 [sage] 2007/11/25(日) 15:24:43 ID:DZ368X4a NN http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/90
91: 名前は開発中のものです。 [sage] 2008/02/11(月) 21:08:51 ID:3BJFJrZO 縦スクロールシューティングゲームを作ってるんですが、 敵の出現のやり方がいまいち分かりません。 今までは、マップを描画したときに、 敵の情報があったら、同時に表示して、その敵の情報を削除 してました。 何か、いいアルゴリズムがありましたら、教えてください。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/91
92: 名前は開発中のものです。 [sage] 2008/02/12(火) 07:56:35 ID:qFBBafcB #define MAX_X 20 typedef struct _Map{ int ShowX; int ShowY; int Type; int Hp; int X; int Y; }_Map; _Map Map[MAX_X][500]; void ShowEnemy(int ScY,MapChip Map) { for(i=0;i<MAX_X;i++) { if(ScrollY==Map[i][ScrollY/16].ShowY) { switch(Map[i][Scroll/16].EnemyNuber) { case 1: CreateEnemy(i*16-ScrollX,0,1,3); break; case 2: CreateEnemy(i*16-ScrollX,0,2,5); break; … default: break; } } } } http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/92
93: 名前は開発中のものです。 [sage] 2008/02/12(火) 08:03:29 ID:qFBBafcB ちなみに、CreateEnemyの引数は、X座標、Y座標、敵番号、耐久力だ。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/93
94: 名前は開発中のものです。 [] 2008/02/12(火) 11:55:40 ID:5WyTfMV5 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/94
95: 名前は開発中のものです。 [sage] 2008/02/18(月) 23:07:10 ID:YtDwWNhg >91 発生する時刻と座標のテーブル持ってればいいんじゃないの? http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/95
96: 名前は開発中のものです。 [sage] 2008/03/12(水) 21:02:38 ID:K0/YrLVn 今、C言語でシューティングゲーム作ってるんですが、 連続した弾の出し方が分かりません。教えてください。 専門学校の先生には、配列を使えと言われたのですが、 よく分かりません。 今、作成している途中のソースコードを書きます。 void Shot(void) { for(i=0;i<100;i++) { if(Bullet[i].flag == 0 && Bullet[i].type == 0) { Bullet[i].flag = 1 ; Bullet[i].x = (Jiki.x+Jiki.x+Jiki.width) / 2 ; Bullet[i].y = Jiki.y ; } } } void KeyCheck(void) { if(GetAsyncKeyState(VK_SPACE)<0){ Shot(); } } http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/96
97: 名前は開発中のものです。 [sage] 2008/03/13(木) 08:25:57 ID:3HHTp0zC それだと一回ボタン押したら毎回100発の弾が重なって発射されるけど、それでいいの? どうしたいの? http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/97
98: 96 [sage] 2008/03/13(木) 16:41:36 ID:xt6KljbL >>97 さん ある程度、間隔を置いて、発射させたいんですぅ。 毎回、100発の弾が重なるのは、耐え難い事実なんです。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/98
99: 名前は開発中のものです。 [sage] 2008/03/13(木) 22:54:45 ID:Bu/r75Um 大金を払い専門的な職業訓練を受けているはずの学生がこんなことすら自力で出来ない 「耐え難い事実」というならむしろこれw http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/99
100: 名前は開発中のものです。 [sage] 2008/03/13(木) 23:13:35 ID:3HHTp0zC >>98 60フレーム/秒でKeyCheckは毎フレーム呼ばれるの? http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/100
101: 名前は開発中のものです。 [] 2008/03/14(金) 17:31:51 ID:46wpxx7U >>96 if文の中の最後にbreak;入れると幸せになれるぞ http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/101
102: 名前は開発中のものです。 [] 2008/03/19(水) 01:43:05 ID:bv/3obIk 適切なスレが見つからないのでここで質問させてください。 携帯電話アプリのシューティングを作っているのですが、 2D描画の処理を軽くする方法がわかりません。 個々のgifファイルを軽量化してみたりもしましたが、効果があるのかどうか分からないくらいです。 クリッピング領域を指定する方法もあるようですが、いまいちよく分かりません。 他に効果的な方法は無いものでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/102
103: 名前は開発中のものです。 [sage] 2008/03/19(水) 09:04:08 ID:a6WC8gIo >>102 画像の数を減らして、同じ画像を使いまわすとか、 1秒間あたりの描画回数(FPS)を減らすとか。 あとは、一画面に同時に出現するオブジェクトの数を減らすとか、 背景のスクロールをあきらめるとか、 あと、ベンチマークツールがあればそれを使って、 ボトルネックとなっている処理(メソッド/関数)を分析してみるとか。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/103
104: 名前は開発中のものです。 [sage] 2008/03/19(水) 11:15:27 ID:MFS90Jv9 >>102 プログラム実行中は結局ビットマップでメモリに保持させてるから効果がないと思うんだが… 予め画像のパレットを全て一緒の256色にしといてパレットを読み込ませないと。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/104
105: 102 [sage] 2008/03/19(水) 14:33:54 ID:bv/3obIk >>103 ありがとうございます。 >同じ画像を使いまわす 試してみようと思います。 これは一箇所に画像を読み込んでおいて、 その画像を使うオブジェクトが描画のたびにそこを参照するようにする、 ということで良いんでしょうか? 他のは、ゲームのバランス調整と平行して考えてみます。 >>102 すいません。そういうことに理解が無いもので・・・。 >予め画像のパレットを全て一緒の256色にしといてパレットを読み込ませないと。 これは良く使われる手法なのでしょうか? それともgifファイルの軽量化に意味を持たせるための方法なのでしょうか? どういう風に実装すれば良いのかさっぱり分からないので、後者なら諦めます・・・。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/105
106: 名前は開発中のものです。 [] 2008/05/16(金) 17:34:25 ID:ciTJLGhI 大きな矩形の布地から、サイズの違う小さな矩形の布地を切り取る時、 余りの布面積が一番少なくなるよう、切り取る(小さな矩形を並べる) アルゴリズムについて書かれた書籍、HP等をご存知でしたら、 教えて下さい。 よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/106
107: 106 [] 2008/05/19(月) 13:08:26 ID:rhmqn4vd ↑この質問取り下げます。失礼しました。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/107
108: 名前は開発中のものです。 [sage] 2008/05/19(月) 14:26:06 ID:jyR28ttC >>107 移動するなら移動先を書いてくれ。 実は調べたり考えたりしてたんだが最小公倍数の矩形で バックトラックするという馬鹿な方法しか思いつかなかったんだ。 http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/108
109: 名前は開発中のものです。 [sage] 2008/05/30(金) 14:21:38 ID:Vu7kcDak >>96 100個程度ならいいですけど配列でもいいかもしれないけど 双方向リストとかを使うようにしたほうがいいかも。c言語だし。 まあこの辺は後ほど。 でも配列を使えとかいう講師に双方向リストを実装して提出したら うらまれそうw unsigned int KeyShotFrmCnt = 0; //ショットキーのウェイト用カウンター ↑これはソースの頭のほうに書いてね。 void KeyCheck(void) { ??if (KeyShotFrmCnt == 0) ??{ ???if(GetAsyncKeyState(VK_SPACE)<0) ???{ ????Shot(); ????(KeyShotFrmCnt = 10; ???} ??} else { ???--KeyShotFrmCnt; ??} } http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/109
110: 名前は開発中のものです。 [sage] 2008/05/30(金) 14:23:33 ID:Vu7kcDak うは、コピーしたらなんか辺になったorz void KeyCheck(void) { if (KeyShotFrmCnt == 0) { if(GetAsyncKeyState(VK_SPACE)<0) { Shot(); KeyShotFrmCnt = 10; } } else { --KeyShotFrmCnt; } } http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/110
111: 名前は開発中のものです。 [sage] 2008/05/30(金) 14:28:56 ID:Vu7kcDak 2chってスペース空けるの面倒だなw AAエディタとかで整形してるのか? http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/111
112: 名前は開発中のものです。 [sage] 2008/05/30(金) 14:48:17 ID:tqfQ+S3S つーか3月の質問にいまさら・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/112
113: 名前は開発中のものです。 [sage] 2008/06/10(火) 21:19:46 ID:8sGd3hVL ↓ポーカーで、誰が有利かを調べるプログラム作りたいんたけど http://www.pokernews.com/swf/odd_calc_full-v1.1.3.swf いったいこれ、なにをどうやってこんなに高速に確率計算できるのか、まったくわからない このプログラムは、近似値じゃなくて↓みたいなドローイングデッドもきっちり表示するし http://shanbara.jp/gamble/data/zero.png あらかじめ計算した結果をデータベースにでも叩き込んだのかと思ってるんだけど それにしたって膨大すぎる http://mevius.5ch.net/test/read.cgi/gamedev/1053853069/113
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 86 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s