ども。これまでウディタARPG講座を書いた。
今回は「敵の攻撃」の応用を見ていきたい。
応用といっても私が「こういうのどうだろう」」というアイディアであり、
実際に使うかどうかは自分の中で会議し、決めてほしい。
基本攻撃の作り方:距離差による接近攻撃
敵の攻撃基本は上記コモンを見てほしい。
- 主人公と敵の画面XY座標を作る。
- 敵の攻撃向きを全方位に決める。
- 攻撃アニメーションを指定する
- 主人公と敵の距離差が近くなったら、敵は攻撃する
- 攻撃力によって可変DB書込かコモンイベント呼び出すからダメージを減らす
接近による攻撃が全ての基本であり、以下少し考え方を広げて応用を出していく。
基本攻撃の作り方2:乱数(確率)による攻撃設定
続いては乱数設定によって適当な数字を出し、ある数以上なら実行するプログラムを作る。
乱数は二つのやり方(調べるとほかにもある)があり、
- 変数設定で「~」を選び、前後に適当な数字を挟む。前後の数値を一致させない
- 800000X(Xは適当な数値)で0からX番の乱数を作る。
続いて変数設定で「この数以上なら次の攻撃を実行する」指定すると、
乱数に沿った攻撃が出来上がる。
ただし乱数指定による攻撃を終えた後はウェイトを挟んで間隔をあけねば、
一方的にぼこぼこにされてすぐゲームオーバーになるので注意。
基本攻撃の作り方3:マップ上に罠を置く
後できる敵攻撃は敵のコモンでなくマップ上に罠をおく。
例えばあるマップを踏んだら敵が瞬時に飛んできて攻撃を行う。
別のマップを踏んだら自動的に罠を発動させる。
マップ上に罠を置く場合は「プレイヤー接触」にし、
確率(乱数)設定をして罠を設ける方法をとっているよ。
現時点での敵攻撃は3つだけだ。
後は近距離攻撃を遠距離指定にしたり、乱数を減らしたり、
全体攻撃を作ったりとバリエーションを変えれば……
ちょっと頭を使わねば攻略できないゲームへとなるだろう。
応用:敵HP残り数によって分岐
乱数よりも簡単な方法として敵HP残り具合によって攻撃手法を変える方法がある。
敵HPがある一定ラインに達したら攻撃力を変える。
攻撃力を変える場合、はじめの攻撃に+=で足してあげるか、
座標距離差の計算をし直せばいいだけ。
敵HPが少なくなったら本気を出す意味で、
キャラエフェクトなどをフラッシュなどに変えていくと、
より緊張感の生まれるゲームができると思っている。
コモンイベントを作るか直接マップイベントに書き込むか?
最後にコモンイベントに敵の動き方をすべて入れるか、
マップイベントにそれぞれ敵の攻撃を入れるかで、敵の動き方が少し変わっていくよ。
コモンイベントだと一括管理できる分、個別の対応がしにくい。
マップイベントだと一括でないから面倒だけど、独立設定しやすい。
自分の場合は
- 敵の基本行動パターンと特殊パターンはコモンイベント
- 敵の動きと罠の設置はマップイベント
切り分けている。