バトルのすゝめ(3) 面白い敵を作ろう
このコーナーでは、主に初心者さんに向けた戦闘関連のテクニックを紹介していきます。
RPGツクールVXAceで説明していきますが、多くはVXや他のツクールでも可能です。
合言葉は「いやならやめてもいいんじゃぞ。」
3回に別けた講座もいよいよ最後、エネミーの戦闘行動について解説します。
それでも、デフォルトのAIはマヌケだと思っていませんか?
どうしても敵の行動条件が使いにくいと困っていませんか?
そんな人生にも似たお悩みを解決していきましょう!
面白い人は空気が読める、今回は「簡単に状況判断してくれるAI」です。
つづきはこちら、からどうぞ。
千里の道もツールから
データベースよりエネミータブ、戦闘行動を開いて下さい。
各項目にマウスカーソルを置くと説明文がポップします。
さてこの条件、魅力的な割に些か残念な仕様が2つあります。
1つはHP、MP、ステートは「自分」のものしか参照できないこと。
もう1つは、諸条件は択一で組み合わせることができないこと。
おかげで「味方が瀕死だからHPを回復しよう」とか
「毒と麻痺が掛かってるから万能薬を使おう」とか
RPGのセオリー行動をAIに取らすことができません。
おっとところで最後の行動条件はスイッチです。
その名の通り特定のスイッチがONの場合に行動します。
……勘の良い人は気が付きましたね!
そうこれがAIの限界突破の「鍵」となります。
そしてスイッチと来たらイベント、これテストに出ますよ。
条件のアウトソージング
まず最初に、バトルイベントを作成しましょう。
バトルイベントについてはこちらも参照して下さい。
条件は毎ターン開始時(0+1*X)です。
ターン制以外のスクリプトを導入している場合は
説明を良く読んで、誰かの行動前に毎回起動するようにしましょう。
それから、忘れずにスパンをバトルからターンに変更すること。
内容は条件分岐を使って敵の状態を確認し、対応させるスイッチをONに。
(2ターン目以降のために、最初に全てOFFにするのを忘れないように)
そのスイッチを条件として指定することで
行動を制御してやろうというのが大まかな仕組みになります。
条件分岐だけだと扱える情報が少ないですが
変数の操作でゲームデータを代入する、その変数を条件分岐
という手順を踏めばHPやMP、その他の情報も対象にできます。
最大HP /= HPでHPのパーセントなんかも割り出せますし
スクリプトを利用すればやりたい放題ですよ。
具体的な作例は次回に紹介します。
パターンを更に増やしたい
これまで紹介したパターンの基本構造は
「条件=上の階層を作って行動を上書きする」というもの。
しかし優先度の関係上、建て増しに制限があることは前回述べました。
ボスなどの一部の敵に限って言えば、余裕がない感は否めません。
そこでバトルイベントによる「変身」を使います。
一番簡単かつ自然に演出できるのは、やはりHPでしょうね。
なので条件:HPが何%以下、スパン:バトルでバトルイベントを作り
対象のエネミーを別のエネミーに変身させます。
演出などを挟んで、文字通り変身させても良いと思います。
或いは同じグラフィックの行動だけ違うエネミーに変身させれば
あたかも追い詰められて行動が変化したように見えます。
簡単ながら有効な手段ですが、やはりここぞという敵に使いましょう。
RPGツクールのAIとは?
どうでしょう、ここまで色々と紹介してきましたが
特別なスクリプトを入れないでもかなりのことが出来るでしょう。
それを感じてもらうことが今回の講座の目的です。
確かに、デフォルトのAIはバカでアホでマヌケかもしれません。
というのも敵のAIなんて用意されていないからです。
用意された行動リストの中から消去法と確率で動くだけ。
だから、な~にも考えずに行動を突っ込んだところで
やっぱりな~にも考えずにランダムで行動するだけです。
しかし、多くの人が勘違いしているようですが
AIとは「どういう状況でどう行動するか」という論理のことで
AIなる特殊なプログラムが存在するわけではありません。
データベースで戦闘行動が条件付きで設定できるということは
AIも自分でツクれる、いやツクれ!ということなんですね。
面白い敵AIを作るには、とにかく楽しんで作ること。頑張って下さい!
RPGツクールVXAceで説明していきますが、多くはVXや他のツクールでも可能です。
合言葉は「いやならやめてもいいんじゃぞ。」
3回に別けた講座もいよいよ最後、エネミーの戦闘行動について解説します。
それでも、デフォルトのAIはマヌケだと思っていませんか?
どうしても敵の行動条件が使いにくいと困っていませんか?
そんな人生にも似たお悩みを解決していきましょう!
面白い人は空気が読める、今回は「簡単に状況判断してくれるAI」です。
つづきはこちら、からどうぞ。
千里の道もツールから
データベースよりエネミータブ、戦闘行動を開いて下さい。
各項目にマウスカーソルを置くと説明文がポップします。
さてこの条件、魅力的な割に些か残念な仕様が2つあります。
1つはHP、MP、ステートは「自分」のものしか参照できないこと。
もう1つは、諸条件は択一で組み合わせることができないこと。
おかげで「味方が瀕死だからHPを回復しよう」とか
「毒と麻痺が掛かってるから万能薬を使おう」とか
RPGのセオリー行動をAIに取らすことができません。
おっとところで最後の行動条件はスイッチです。
その名の通り特定のスイッチがONの場合に行動します。
……勘の良い人は気が付きましたね!
そうこれがAIの限界突破の「鍵」となります。
そしてスイッチと来たらイベント、これテストに出ますよ。
条件のアウトソージング
まず最初に、バトルイベントを作成しましょう。
バトルイベントについてはこちらも参照して下さい。
条件は毎ターン開始時(0+1*X)です。
ターン制以外のスクリプトを導入している場合は
説明を良く読んで、誰かの行動前に毎回起動するようにしましょう。
それから、忘れずにスパンをバトルからターンに変更すること。
内容は条件分岐を使って敵の状態を確認し、対応させるスイッチをONに。
(2ターン目以降のために、最初に全てOFFにするのを忘れないように)
そのスイッチを条件として指定することで
行動を制御してやろうというのが大まかな仕組みになります。
条件分岐だけだと扱える情報が少ないですが
変数の操作でゲームデータを代入する、その変数を条件分岐
という手順を踏めばHPやMP、その他の情報も対象にできます。
最大HP /= HPでHPのパーセントなんかも割り出せますし
スクリプトを利用すればやりたい放題ですよ。
具体的な作例は次回に紹介します。
パターンを更に増やしたい
これまで紹介したパターンの基本構造は
「条件=上の階層を作って行動を上書きする」というもの。
しかし優先度の関係上、建て増しに制限があることは前回述べました。
ボスなどの一部の敵に限って言えば、余裕がない感は否めません。
そこでバトルイベントによる「変身」を使います。
一番簡単かつ自然に演出できるのは、やはりHPでしょうね。
なので条件:HPが何%以下、スパン:バトルでバトルイベントを作り
対象のエネミーを別のエネミーに変身させます。
演出などを挟んで、文字通り変身させても良いと思います。
或いは同じグラフィックの行動だけ違うエネミーに変身させれば
あたかも追い詰められて行動が変化したように見えます。
簡単ながら有効な手段ですが、やはりここぞという敵に使いましょう。
RPGツクールのAIとは?
どうでしょう、ここまで色々と紹介してきましたが
特別なスクリプトを入れないでもかなりのことが出来るでしょう。
それを感じてもらうことが今回の講座の目的です。
確かに、デフォルトのAIはバカでアホでマヌケかもしれません。
というのも敵のAIなんて用意されていないからです。
用意された行動リストの中から消去法と確率で動くだけ。
だから、な~にも考えずに行動を突っ込んだところで
やっぱりな~にも考えずにランダムで行動するだけです。
しかし、多くの人が勘違いしているようですが
AIとは「どういう状況でどう行動するか」という論理のことで
AIなる特殊なプログラムが存在するわけではありません。
データベースで戦闘行動が条件付きで設定できるということは
AIも自分でツクれる、いやツクれ!ということなんですね。
面白い敵AIを作るには、とにかく楽しんで作ること。頑張って下さい!
PR
-->