ゲームのアルゴリズムを教えて管sai (199レス)
1-

124: 2008/06/15(日)23:47 ID:L9WqTsHd(2/2) AAS
外部リンク[htm]:www.tkb-soft.hmcbest.com
具体的にはこのへんで。
125
(2): 119 2008/06/16(月)00:19 ID:VJeuSd2d(1/2) AAS
う〜ん、ちょっと違って
人工知能で解決できるのではないかと思うのですが、
人工知能に関する知識がないので、作れないのですが、
オススメの入門書などないでしょうか?
126: 2008/06/16(月)00:31 ID:4SfMqdzY(1) AAS
>>125
現在位置ベクトル
現在速度ベクトル
目標位置ベクトル
目標位置での速度ベクトル
この条件を満たす加速度ベクトルの時系列を求めればいいんだよね。
でもゲームだから時系列を事前に求める必要はなくて
毎フレームごとに計算するから状態マシンでいけるよ。
2Dシューティングなら普通そうだと思う。

本格的にやるなら確率過程勉強するとおもしろいよ。
実際の迎撃ミサイルがどのように制御されてるか理解できる。
127: 2008/06/16(月)00:51 ID:Mj4LPxSD(1) AAS
敵の動きが実際にはどういうふうに実装されてるのかを知りたいなら、
>>120みたいな作り方の本が一番実践的だと思うけどなぁ。敵の動きのサンプルもあるだろうし。
STGは本格的に作ったことはないが、普通敵の動きに人工知能なんて使わないんじゃない?
俺だったら毎フレーム状態遷移を計算して、行動を決定するような実装にすると思う。

リアル迎撃ミサイルの精度で敵が弾を撃ってくるSTGとか、やってみたいがストレスがたまりそうだなw
128: 2008/06/16(月)01:04 ID:VJeuSd2d(2/2) AAS
Cマガが廃刊になって以来、こういった系統の本で当たりだった試しがない
浅く、レベルも低く、よくこんな本だせたな という本だらけ
立ち読みできないから なおさらタチが悪い

まぁ、状態遷移図で検討します
129: 2008/06/16(月)01:41 ID:BvIxc5ty(1) AAS
>>125
この手のアルゴリズムは、たぶん正解みたいなものはなくて、
プログラマーのセンスによるんだと思う。
ゲームプログラマーが技術力だけじゃなく、センスを活かせる局面なので、
いろいろ試して自分なりのノウハウを蓄積するのがいいと思う。

ちなみに、この手の処理は、パラメータによる差別化だけじゃなくて、
ちゃんとそれぞれの動きに対して別のコードを書いたほうがいいよ。
130
(2): 2008/06/23(月)18:42 ID:gkCzmYeJ(1/2) AAS
シューティングゲームを作っています。
2次元配列に初期化された敵のデータがあります。
int EnemyMap[25][300]=
{
{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0},
{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0},
{0,0,0,0,0, 0,1,0,1,0, 0,0,0,・・・
}}
0が無しで、0以上が敵在りで、敵の番号です。
このような場合の敵の出現方法を教えて下さい。
ちなみに縦スクロールSTGです。お願いします。
131: 130 2008/06/23(月)19:48 ID:gkCzmYeJ(2/2) AAS
0が無しで、0より上が敵在りで、敵の番号です
の間違いでした。
132: 2008/06/23(月)20:25 ID:leAIdu27(1) AAS
テキトーに推測しながら……

時間経過をターンとする、
25マス(?)のデータが300ターンぶんあるのを表すのなら
int EnemyMap[300][25]
ではないか

gameturn を例えば10フレームごとに +1 し、

{
int i;
for(i=0;i<25;i++)
{
int enemyidx;
enemyidx = EnemyMap[gameturn][i];
if(enemyidx != 0) {addenemy(enemyidx, i);}
}
}
133
(1): 2008/06/23(月)20:30 ID:cIfICiuE(1/3) AA×
>>130

134: 2008/06/23(月)20:34 ID:cIfICiuE(2/3) AAS
>>133

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

を追加(汗)
135: 2008/06/23(月)21:56 ID:SqRC+pBQ(1) AAS
そのデータ構造の欠点は
  ・敵がいてもいなくても同じだけの容量が必要
  ・同じ時間に敵は1機しか出現できない

あ、ひょっとして勘違いでこの25っていうのは画面の幅のことなのか!?
25x300のマップを表現してるとか
136: 2008/06/23(月)23:17 ID:cIfICiuE(3/3) AAS
25って画面の幅だと信じてました。
137: 2008/06/24(火)03:55 ID:KKsizlIf(1) AAS
敵が画面横や画面中央から出現するような処理はできないな。
138: 2008/06/24(火)09:03 ID:dfjKfTQO(1) AAS
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
(1): 2008/06/24(火)09:57 ID:r5s8lMOb(1) AAS
俺だったらテキストデータで
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: 2008/06/25(水)01:36 ID:kmQquf20(1) AAS
俺も絶対的な配置より、>>139みたいな相対的な配置のほうが好きだな。
後々編隊の出現時刻を変えるときとか、相対時間を調整するだけですむ。
enemy命令、wait命令とか。
作り方はシューティングゲームプログラミングって本に載ってる。
あまりきれいなコードじゃないから余裕があるなら自分で組みなおした方がいいと思うが。
141
(3): 2008/07/06(日)07:44 ID:wmyMOr1K(1) AAS
外部リンク[html]:www.borndigital.co.jp

GPGを購入しようと思ってるのですが 1〜5まであって
最新の5を購入しようと思っています 無理して1〜4まで全部買う必要はありませんか?
142: sai 2008/11/02(日)12:31 ID:nTsQz3KG(1) AAS
Xi[sai]DXの自動解答ツールでも作ってくれ。
総当り的に解答できるものなのか・・・
143: 2008/11/02(日)18:03 ID:4nEQs4Qs(1) AAS
>>141
バカカシネヨってぐらい高いよなこのシリーズ
144: 2008/11/03(月)01:37 ID:NKIveKH+(1) AAS
>>141
GPGは最新刊から買う物だよ。
145: 2008/11/17(月)23:19 ID:e6FlExMV(1) AAS
>>141
1,2以外はmmo用だよ
146: 2008/11/21(金)02:41 ID:EpPTVUTk(1) AAS
初期のGPGのほうがおもしろかったよな
147
(1): 2009/02/13(金)16:28 ID:4Bf2H9la(1) AAS
まんまスペースハリアーみたいな疑似3Dシューティングゲームを作ってみようと思うのですが
あの手のゲームは絵や映像の技法で言うところの「一点透視法」な画面だと思うのですが
その考えで行くと自キャラが撃つ弾は全て画面中央の一点に向かってしまう事になってしまいます(リアルに考えるとそれで正しい)
スペハリや亜流はその辺をどうやってそれっぽくフェイクしているのでしょうか?
148: 2009/02/13(金)20:36 ID:sIJuqaxe(1) AAS
やっぱそんなもんか、俺もGEM2までしかもっていない
149: 2009/02/14(土)13:48 ID:YNh7Hq3A(1) AAS
よくわからないけど、画面表示の向きと、画面上の自機の向きをバラバラに考えて、上下左右移動時は時機の向きがそれぞれの方向に慣性付きで移動するようにして、その方向に弾がでるようにすればいいんじゃない?
150: 2009/02/17(火)17:38 ID:R5C7BuD2(1) AAS
>>147
まず、一点に集中しちゃうのは平行線だけだぜ

よしんば自機の弾が平行にしか撃てないとしても、集中するのは無限遠点だ
ゲーム時間中に到達するのかい
151: 2009/02/17(火)23:44 ID:DsZEWqSe(1) AAS
ゲーム画面中の10km先と無限の先は何ドットずれるんだい?
152: 2009/02/21(土)00:00 ID:T1jozkkK(1/2) AAS
crysisの四脚の敵とか
モンハンのシェンガオレンみたいのってどうやって作るんでしょう?
アニメーションさせれば平の地面を歩く程度はできると思うんですが
凹凸の地面を歩かせたりするにはプログラムからボーンを調整したりするんでしょうか?
153: 2009/02/21(土)00:33 ID:HdiuLFdj(1) AAS
モンハンってそもそも平面だけじゃね?
1-
あと 46 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.026s