開発日誌

すべての記事

[ 天下御免!からくり屋敷 ] [ テクニック ] 賢い敵の行動

2017-11-05 11:13:58

自分の攻撃力や防御力を上げてくる敵がいます。

既に上がっているところに、重ねて上げようとしても無駄になります。初期の頃の敵ならともかく、後半の強敵はそういう無駄行動はなくして、苦戦させられるようにしたいと思っています。

そこで考えたのは、攻撃力上昇可とか防御力上昇可のステートを用意して、バトルイベントで毎ターンそれぞれの敵の状態を確認し、攻撃力上昇状態になっていなければ攻撃力上昇可のステートを付与、敵の行動パターンではステートが攻撃力上昇可の場合に限って攻撃力上昇をやってくる、という風にしています。

この、バトルイベントで毎ターン確認する、というのがなかなか曲者で、条件のターン数a+b*xというのは、各バトラーが行動を決定し終わった後に発動するため、その時点での状態を行動に反映できません。一方で、条件をターン終了後にすると、1ターン目は発動しないため、最初のターンにその手の行動をしてこなくなってしまいます。

ツクールのヘルプの書きぶりから、条件を0ターン目にしてスパンをターンにすれば、もしや毎ターンのコマンド入力前にイベントが発動するのかと思ったのですが、やはりそのようなことはなく、結局0ターン目とターン終了後の2ページに同じものを記述することで、希望の動作を実現しました。もう少しスマートなやり方はないものでしょうか……。無理に標準機能で実装しようとせず、スクリプトでやればよかった。

この、敵キャラの行動パターン設定は、今のツクールMVでも全く変わっていませんが、せめて条件を複数設定できるとか、もう少し柔軟な設定ができるようになるといいのですがね。メモとかもないので、自作の条件を設定しようとすると、このようにバトルイベントと組み合わせるしかないですよね。

コメント
お名前
コメント
※ 確認画面はありません。