ゲームのアルゴリズムを教えて管saiat GAMEDEV
ゲームのアルゴリズムを教えて管sai - 暇つぶし2ch133:名前は開発中のものです。
08/06/23 20:30:20 cIfICiuE.net
>>130

int COLUMN = 25;
int ROW = 300;
int EnemyMap[COLUMN][ROW] = { {0,0,.....
int rowNOW = 0;

while(1)
{
  /* 画面描画とか、敵機、自機の移動とか*/

  //ここから敵の配置
  for ( int x = 0; x < COLUMN; x++ ) {
    敵を出現させる関数( EnemyMap[x][rowNow], x, 0 );
  }

  rowNOW++;
}

void 敵を出現させる関数( int enemyType, int x, int y )
{
  switch ( enemyType ) {
    case 1: { 敵1登場(x,y); break; }
    case 2: { 敵2登場(x,y); break; }
    case 3: { 敵3登場(x,y); break; }
    case 4: { 敵4登場(x,y); break; }
    case 5: { 敵5登場(x,y); break; }
    ...
  }
}

うーん、我ながらほれぼれするなあ。

134:名前は開発中のものです。
08/06/23 20:34:44 cIfICiuE.net
>>133

    case 0: { break; /* 敵は登場しない */ }

を追加(汗)


135:名前は開発中のものです。
08/06/23 21:56:44 SqRC+pBQ.net
そのデータ構造の欠点は
  ・敵がいてもいなくても同じだけの容量が必要
  ・同じ時間に敵は1機しか出現できない

あ、ひょっとして勘違いでこの25っていうのは画面の幅のことなのか!?
25x300のマップを表現してるとか

136:名前は開発中のものです。
08/06/23 23:17:25 cIfICiuE.net
25って画面の幅だと信じてました。

137:名前は開発中のものです。
08/06/24 03:55:28 KKsizlIf.net
敵が画面横や画面中央から出現するような処理はできないな。

138:名前は開発中のものです。
08/06/24 09:03:16 dfjKfTQO.net
for(i=0;i<25;i++)
{
    if( ScrollY == (ScrollY / 32) * 32 )
    {
      Enemy_temp = StageMap2[i + ( ScrollY / 32 ) * 25 ];
      if( Enemy_temp > 0)
      {
        ShowEnemy( i * 32 , -32 , Enemy_temp , 3 );
      }
    }
}
でいいんでないの?

139:名前は開発中のものです。
08/06/24 09:57:42 r5s8lMOb.net
俺だったらテキストデータで
E:idx:xpos:ypos:flag
みたいなのを一行づつ読むのを作る、というか実際そうした。
E:1:32:-16
E:1:32:-24
W:30
E:2:64:-16
だったら種類1の敵をx=32 y = -16 と y = -24 に出現さして、30フレーム待って、x=64に敵出現
ゼビウスみたいに背景と連動するにはまた違ったやり方がいいだろうけど

140:名前は開発中のものです。
08/06/25 01:36:50 kmQquf20.net
俺も絶対的な配置より、>>139みたいな相対的な配置のほうが好きだな。
後々編隊の出現時刻を変えるときとか、相対時間を調整するだけですむ。
enemy命令、wait命令とか。
作り方はシューティングゲームプログラミングって本に載ってる。
あまりきれいなコードじゃないから余裕があるなら自分で組みなおした方がいいと思うが。





141:名前は開発中のものです。
08/07/06 07:44:15 wmyMOr1K.net
URLリンク(www.borndigital.co.jp)

GPGを購入しようと思ってるのですが 1~5まであって
最新の5を購入しようと思っています 無理して1~4まで全部買う必要はありませんか?

142:sai
08/11/02 12:31:11 nTsQz3KG.net
Xi[sai]DXの自動解答ツールでも作ってくれ。
総当り的に解答できるものなのか・・・

143:名前は開発中のものです。
08/11/02 18:03:02 4nEQs4Qs.net
>>141
バカカシネヨってぐらい高いよなこのシリーズ

144:名前は開発中のものです。
08/11/03 01:37:29 NKIveKH+.net
>>141
GPGは最新刊から買う物だよ。

145:名前は開発中のものです。
08/11/17 23:19:42 e6FlExMV.net
>>141
1,2以外はmmo用だよ

146:名前は開発中のものです。
08/11/21 02:41:33 EpPTVUTk.net
初期のGPGのほうがおもしろかったよな

147:名前は開発中のものです。
09/02/13 16:28:05 4Bf2H9la.net
まんまスペースハリアーみたいな疑似3Dシューティングゲームを作ってみようと思うのですが
あの手のゲームは絵や映像の技法で言うところの「一点透視法」な画面だと思うのですが
その考えで行くと自キャラが撃つ弾は全て画面中央の一点に向かってしまう事になってしまいます(リアルに考えるとそれで正しい)
スペハリや亜流はその辺をどうやってそれっぽくフェイクしているのでしょうか?

148:名前は開発中のものです。
09/02/13 20:36:46 sIJuqaxe.net
やっぱそんなもんか、俺もGEM2までしかもっていない

149:名前は開発中のものです。
09/02/14 13:48:41 YNh7Hq3A.net
よくわからないけど、画面表示の向きと、画面上の自機の向きをバラバラに考えて、上下左右移動時は時機の向きがそれぞれの方向に慣性付きで移動するようにして、その方向に弾がでるようにすればいいんじゃない?

150:名前は開発中のものです。
09/02/17 17:38:25 R5C7BuD2.net
>>147
まず、一点に集中しちゃうのは平行線だけだぜ

よしんば自機の弾が平行にしか撃てないとしても、集中するのは無限遠点だ
ゲーム時間中に到達するのかい

151:名前は開発中のものです。
09/02/17 23:44:47 DsZEWqSe.net
ゲーム画面中の10km先と無限の先は何ドットずれるんだい?

152:名前は開発中のものです。
09/02/21 00:00:04 T1jozkkK.net
crysisの四脚の敵とか
モンハンのシェンガオレンみたいのってどうやって作るんでしょう?
アニメーションさせれば平の地面を歩く程度はできると思うんですが
凹凸の地面を歩かせたりするにはプログラムからボーンを調整したりするんでしょうか?




153:名前は開発中のものです。
09/02/21 00:33:55 HdiuLFdj.net
モンハンってそもそも平面だけじゃね?


154:名前は開発中のものです。
09/02/21 10:29:20 ps9IGcWP.net
IK

155:名前は開発中のものです。
09/02/21 17:45:04 T1jozkkK.net
いや、モンハンは分かりやすいかな?程度で出しただけなんで。
IKでやるのは理解してるんですが、
ボーンと地面の判定→先端ボーンの位置を指定→IKで根元までって感じなのでしょうか?

・・・今思うとDirectXの話な気がしなくもない。

156:名前は開発中のものです。
09/02/21 18:03:55 o5qjQnQj.net
自分が理解できない事は全てDirectXが解決してくれる病ですね

157:名前は開発中のものです。
09/02/22 05:51:07 FuoG8Da9.net
知らないのが幸せって事ですね、わかります。

158:名前は開発中のものです。
09/02/22 12:50:23 OjD42APz.net
モンハン並みのものを作れないおまえら雑魚すぎるwww

159:名前は開発中のものです。
09/02/26 02:31:56 aQvkhPES.net
地面の高さに、モデル空間の座標を合わせるだけだと思うが

それとも、実行時にモデルアニメの計算をするのか
そんな事しないだろう




160:名前は開発中のものです。
10/03/22 01:51:39 6l2lJBs0.net
広大なマップを動き回るシミュレーションみたいなのを考えてて
とりあえずA*というアルゴリズムで2048x2048のマップで
1ドット単位で移動可能としてやってみたら遅くてとても実用的じゃないと判明した
もっと早い方法はあのかな?
マップを小さくしろってのは無しでお願いしますよ
考えてるゲームがマップの広さを利用したものなんで

161:名前は開発中のものです。
10/03/22 12:37:52 G/I6jmFX.net
なんで教えてもらうのに上から目線なんだ

162:名前は開発中のものです。
10/03/22 18:41:43 BThWkd2X.net
GameProgrammingGemsあたりにあったような気もする。
俺は買ってないけど。高くて。

163:160
10/03/22 21:39:10 6l2lJBs0.net
調べてたらいろいろやり方はあるみたいだ
ちょっといいアイデアを思いついたんで今実験中

164:160
10/03/26 06:17:01 +4Bq9SSB.net
あれからいろいろ実験して完全オリジナルのアルゴリズムを考えてやってみた
2048x2048の1ドット単位移動マップで端から端あたりまでの検索の1秒も掛からなくなった
A*を継承してるんで検索漏れはないはず
なにげにすごい発明をしたのかも

165:名前は開発中のものです。
10/04/01 13:36:00 WfqKvexS.net
>>160
オライリーのAIの本のページにサンプルコードがあったはず、探してみな

166:165
10/04/01 13:38:08 WfqKvexS.net
>>160
みつけてきたぞ
O'Reilly Japan - 実例で学ぶゲームAIプログラミング
URLリンク(www.oreilly.co.jp)

これの関連ファイルにソースコードとサンプルの実行ファイル入ってる

167:名前は開発中のものです。
11/01/26 00:07:21 +BkN1N82.net
ドカポンなどの双六式のゲームで、「おまかせ」というモードがありますよね?
でた目の数で丁度いけるマスを自動検索してくれるというものなんですが、
あれのアルゴリズム分かる方いますか?言語はなんでもかまいませんので
教えていただけないでしょうか。

168:名前は開発中のものです。
11/01/26 10:00:10 xvFFQPkH.net
マップが分岐なし一方通行なら一次元配列で出目を足せばいい。
分岐がたくさんあるなら、マップを二次元配列にするとして、
「ゲーム シミュレーション 移動範囲」を検索し応用。

169:名前は開発中のものです。
11/02/01 23:17:29 lxouVGdC.net
>>168
SRPGの移動範囲みたいなのはわかるんですが、双六だと途中の経路にループがあったり、
飛ばせるマスがあったりしてそこを含めて出目に丁度合うように移動可能か判定するには
どうすればいいか、そこが今ひとつわからないんです。

170:名前は開発中のものです。
11/02/03 11:10:31 fi6n2hpv.net
それは簡単。印をつけてループしなくさせればいい
たしか移動歩数的なものを記録すればよかったんじゃない

171:名前は開発中のものです。
11/02/03 12:33:35 B9uesdLi.net
いや、ループはさせないとダメでしょ。
桃太郎電鉄でもリニアカードや新幹線カードを使うとサイコロをたくさん振れて
ループも含めて目的の駅に入りやすくなる。

単純に隣接マスを走査していけばいいと思う。
再帰でやれば楽だろう。

172:名前は開発中のものです。
11/02/08 21:49:20 cbwItMD0.net
とりあえずマップを二次元スクエアとして、シティブロック距離を測定、移動可能距離が足りなかった場合はそこで打切り、
これを基本にして虱潰しにやるというのが一番いいですかね?
あとは直前のマスには戻れない、飛ばせるマスや通過点は移動距離に足して計測、とか細かい点が多いものの
当時のスーファミでも出来るくらいだからどのみち計算量は大したことないんですが

173:名前は開発中のものです。
11/02/14 00:38:02 uC7Rwf/v.net
リブルラブルやギャルパニ3みたいに「プレイヤーが引いて囲んだ線の内側」って
どうやって判定すればいいんでそ?

174:名前は開発中のものです。
11/02/20 00:02:26.60 +32StJ0O.net
「線のどちらが内側か」という問題なら符号付き面積を求める方法があります。

もしくは、「確実に外側である適当な点から最初に線を横切った先は内側」
という判定方法もあります。


175:名前は開発中のものです。
11/03/15 13:41:09.98 tsoNTB10.net
2Dアクションゲーム何ですけども、
キャラに引っ張られる様にスクロールさせるにはどうすれば良いでしょう。
常にキャラが中央に来るのではなく、中央から一定距離離れた所からキャラを追う といった感じです。

176:名前は開発中のものです。
11/03/16 20:23:24.82 BD5bmsrl.net
スクロール境界線を越えた分だけスクロールさせればよいでしょう。

177:名前は開発中のものです。
11/04/24 21:44:08.42 hq7omF31.net
>>176
有難うございます。正にその通りでした。

178:名前は開発中のものです。
11/06/19 15:45:00.60 bk5db9DH.net
スーパーマリオブラザーズの様なゲームの場合、
ブロック等を全てスプライトで処理するのは やはり無理がありますよね

179:名前は開発中のものです。
11/06/20 00:09:15.70 c6jbBPQT.net
あまり今のPCのマシンパワーを舐めないほうがいい

表示範囲外のところは勝手に無視してくれたりするんで
最適化とか効率はモノが動いてからでも十分間に合う

まずは思いついた方法、いちばん簡単にコーディングできそうな方法でやってみるが吉

180:名前は開発中のものです。
11/06/30 18:39:23.75 1i7cT9Ap.net
>>179
有難うございます。
とりあえず組んでみる事にしました。

181:名前は開発中のものです。
11/07/13 21:44:59.63 71MLorzn.net
スクロールゲームでの、オフセット方式で座標を更新するとして、
画面のオフセット位置の更新ってどのタイミングでやるべきなのでしょう。
位置はプレイヤーに追従させるとして、プレイヤーの処理後だと プレイヤーの処理中にオフセット位置を用いる処理があればズレてしまうし、
結局どのタイミングでも、完全な同期は無理なのでしょうか。

182:名前は開発中のものです。
13/01/02 23:39:58.04 2Lu9emtw.net
NHK教育を見て40886倍賢くマターリ
スレリンク(liveetv板)

183:名前は開発中のものです。
13/12/28 23:29:15.34 7VQI5SoT.net
グーグルの検索エンジンのアルゴリズム
URLリンク(webblogsakusei.main.jp)

184:名前は開発中のものです。
17/02/03 02:21:27.57 lSw/ej4u.net
age

185:名前は開発中のものです。
17/12/31 22:24:26.27 /rN76OKL.net
簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
FNI7DS9IDU

186:名前は開発中のものです。
18/06/04 19:43:36.48 VMODjZSK.net
>>184
基本的には動的に生成(プロシージャル)
乱数はパーリンノイズ
変化があったとこだけ差分を記録
見てないところでマジレスする快感
なお正しい方法かは知らん(俺だったらそうするってだけ)

187:名前は開発中のものです。
18/07/13 20:31:25.63 qlBuPuiL.net
せっかくなので補足。
パーリンノイズは、「改良パーリンノイズ」のほう。
改良は、各頂点座標をシードにしたハッシュ値を乱数替わりにするので、
時間的にもメモリ的にもほぼノーコストで、各頂点のベクトルを再現できる。
(各頂点のベクトルを、メモリ等に保存しておく必要がない)
なので、無限マップの任意の座標の地形を、いつでも同じ形に再現できる。

188:名前は開発中のものです。
18/07/26 22:53:35.87 DlWlB+js.net
昔のドラクエなどにあるメッセージ表示ってどうやるのでしょうか?
一文字づつ文字が表示されるみたいな。

189:名前は開発中のものです。
18/07/27 00:41:49.38 PByOa6sW.net
>>188
一文字ずつ表示すればいいんじゃね?

190:名前は開発中のものです。
18/07/27 09:58:54.71 iH71ilKM.net
バカレス乙

191:名前は開発中のものです。
18/07/29 10:20:50.75 9PwGUzLA.net
>>188
文字を一個づつ表示する

192:名前は開発中のものです。
21/04/12 19:31:38.14 M9M+4c7u.net
2Dシューティングのホーミング弾が作れません
外積計算して正負で軸があってるか判断、
それを弾の個数分やるって事であってるんでしょうか

193:名前は開発中のものです。
21/06/17 16:49:26.83 Yiidicu+.net
もう見てないだろうが、
ホーミング弾の進行方向から見て、目標物が右側にあるのか左側にあるのか調べる。
(弾の移動ベクトルのatan2と、弾から物への方向ベクトルのatan2との比較)
右側にあるなら、ホーミング弾の移動ベクトルを右回転、左なら左回転。
ただし、回転角度には上限を設けないと、カクッと動くことになるw
最近のコンピュータって速いから、こんなもんで十分じゃないかな。。。と妄想w

194:名前は開発中のものです。
21/06/17 20:18:18.12 PcUJNFVD.net
みてます!ありがとうございます
今はホーミング弾の目標が軸の左にあるか右にあるかを外積の正負で判断し、
弾一つ一つをループさせてみています
衝突判定に使う4分木の様な、効率的なアルゴリズムがあったりするのでしょうか

195:名前は開発中のものです。
21/06/18 17:26:24.06 yzvTwA4D.net
見られてたw
ホーミング弾って、距離離れてても追尾するイメージあるから、
四分木みたいな領域分轄はできないんじゃないかなぁ
処理速度の最適化は、一番重い処理を見極めて、
そこを高速化するのが効果的と思うけど、
ホーミング弾って、回転行列を使うから、
ホーミング角度θに応じたsinθとcosθを、あらかじめ計算しておくって手はあるかも。
(ホーミング角度θは、固定値なはずなので)

196:名前は開発中のものです。
21/08/19 22:31:46.49 YTJh6kAo.net
わざと0.5秒とか一定間隔をあけてホーミングしたほうが
動きがカクカクしないしゲーム難易度的にもいいと思うぞ
(右回転なら右回転を0.5秒続ける)

197:名前は開発中のものです。
22/10/13 10:11:23.40 M2yg+gTIA
憲法ガン無視で‐方的な現状変更によって私権侵害するた゛けのテ口政府からの税金と称する金銭要求を断固拒否しよう!
と゛うして日本が世界最悪の腐敗国家になったのか
それはお前らが民主主義國のような税金不払い運動すらしない北朝鮮人民の遺伝子を濃縮したような氣持ち惡い奴隷体質た゛からだぞ
岸田は地球に國土にと破壞して国民を殺害して私腹を肥やすテ口リス├であってお殿様し゛ゃねえんだそ゛ポンコツNΡCども

創価学會員は.何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最悪の殺人腐敗組織公明党を
池田センセ一か゛□をきけて容認するとか本氣て゛思ってるとしたら侮辱にもほと゛があるぞ!
URLリンク(i.imgur.com)

198:名前は開発中のものです。
23/08/04 15:32:45.30 wTfx4Kk+.net
問題がありません

199:名前は開発中のものです。
23/09/25 01:59:21.44 Itcq5bDg.net
public int Sayu(Pos arg)
{
var buf = arg.posF - posF;
return Lib.GetSeiFu((vecF.X * buf.Y) - (vecF.Y * buf.X));
}
これを貼れと言われた気が。

200:名前は開発中のものです。
23/12/30 20:44:00.28 1Lu62hWbg
例えば、登録記号「JA??MP」は「税金泥棒災害惹起捏造逮捕殺人集団警視庁」だが
クソ航空機に生活や仕事を妨害されたら…アプリ「ADS-B UnfilTered...」で登録記号を確認
tTρs://jasеarch.info/ ←ここで検索して使用者特定
ADS-B出してない日の丸口ゴ機体は自閉隊か税金泥棒系業者だか゛,スクショも晒しつつ、ググって電話番號なども晒そう!
へリタンク2000Lで10000KWh火力発電した際に発生するのと同等のCO2を排出するが、この気候変動させて世界中の人々を死に追いやってる
正義の鉄槌によって処刑されるべきテロリストどもを徹底的に非難しよう! スマホのパケづまりが酷いのもWifiか゛遅いのもクソ航空無線の
広大な帯域汚染による電波不足が原因だし、国民の財産電波をタダで使ってカンコ━た゛のと殺人を推進する有害放送で儲けて「一方的」
「自称』「思い込んで」だのプロパガンダ丸出しのテレヒ゛放送廃止、さらに今と゛き深夜に騒音まき散らして近隣に多大な損害を与えながら
新聞配達させてる情弱知障も非難して人の住居上空を飛ぶ害虫を皆殺しにする気で報復しよう!
(ref.) URLリンク(www.call4.j)<)Уoudan.amebaownd.com/

201:名前は開発中のものです。
24/10/04 09:56:07.37 C9ZQ/8xuQ
曰銀か゛株買って資本家階級に金配ってる影響で物価暴騰して収入が増えない中小零細個人をよそに給料爆上げ税金泥棒クソ公務員だが
能登半島やらの被災者は国会議員を含めた任意のクソ公務員自宅への無料ホームステヰを義務化する制度を実現すへ゛きた゛よな
マッチポンプ丸出して゛利権のためにJALだのANAた゛のクソアヰ又ドゥた゛のテ□リス├と天下り賄賂癒着してIPCCガン無視て゛テ□國家認定の
化石賞4連続受賞して世界中から非難されなか゛らいまた゛に滑走路にクソ航空機にと倍増させて都心まて゛数珠つなき゛て゛クソ航空機飛ばして
海に囲まれた曰本で迂回してて゛もわざわさ゛私有地侵犯して騷音に莫大な温室効果ガスにとまき散らして気侯変動させて海水温上昇させて
かつてない量の水蒸気を日本列島に供給させて地球挑發して日本中て゛土砂崩れに洪水.暴風.熱中症、森林火災.大雪.地震.津波と
災害連発させて住民の生命と財産を破壞しまくってる人類に湧いたカ゛ン.諸惡の根源クソ公務員が負うべき最低限の責任だわな
URLリンク(i.imgur.com)
(ref.) URLリンク(www.call4.jp)
URLリンク(haneda-project.jimdofree.com) , URLリンク(flight-route.com)
URLリンク(n-souonhigaisosyoudan.amebaownd.com)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch