ツクールのプラグインをいろいろ見てみた。
公式で配っているプラグインだけでも結構な数がある。
中にはVXとかaceの時に結構な拡張として作られていた個人製作のやつと同じような作りのもあってふむふむ。
二つ名付きアイテムのランダム生成とかパッシブスキルとか武器機能拡張とか入れてみると面白そうな仕組みもいくつかある。
管理とかスゲー大変になりそうだけど。
とりあえず今回は某制作支援動画でも紹介されていた追跡系プラグインを入れてみた。
マップ上で普段は棒立ちになっているイベントに自キャラがある一定の範囲内に近づいた時に自動で追っかけてくるという仕組み。
具体的にはVXaceの自作RPGでシンボルエンカウントに使われているあれ。
前々から作られているとおり、ゲーム内のイベントエディターでも力技で実現できなくもないが、公式で配っているプラグインを入れればエディターのほうでは一行で勝手に動いてくれるという手軽さが売り。
公式で配っているマップ上で移動するイベントに関するプラグインは『YEP_EventChasePlayer』と『SmartPath』の二種類。どちらも拡張する方向性が異なっていて割と個性的なのでそれぞれ軽く解説。
YEP_EventChasePlayer
ツクールMVの大規模改修でおなじみ?のYEPシリーズの一つ。
とはいえ特にコアになるような他のプラグインは必要でないらしく、これ単体で動きます。
細かい使い方についてはゲーム内ヘルプに詳しく書いてあるのでざっとできることを列挙。
一定の距離に近づいたプレイヤーを追尾(距離は可変)
追尾する速度を設定
追跡する時間を設定(フレーム単位)
プレイヤー認識を追尾開始に必要とするか否か
プレイヤー認識した際に吹き出しと音を再生
追跡終了後元の位置に戻るかその場にとどまるか
追跡終了時にその場にとどまる時間
(同条件でプレイヤーから逃走)
ヘルプを見ながらほぼコピペしたけどこのプラグインを導入しただけでこれだけのことが可能となる。
また追跡開始時にコモンイベントを発生させるという欄もあるので見つかった時にスイッチを入れてみたりとか別のイベントを起こしてみたりとか拡張性もある。
使い方もイベントの自律移動のタイプをカスタムにしてルート内に一行実行コードを打ち込めばOK。
先頭に入力しておけば常時待機状態になってくれるみたいで同じところにウェイト30+方向転換を加えて周囲をぐるぐる回るようにしてもちゃんと視界内に入った時に追尾を始めてくれる。
視界のほうはイベントからきっちり五マスの範囲を扇形にカバーする形式で直線以外の部分もカバーされている。
この設定は変えられないので直線上のみとかにはできない。
数少ない欠点は次に紹介するSmartPathと併用できないことって言おうと思ってたんだけど改めてテストしてみるとびっくりするほど引っかからない。
こないだやったバージョンアップでSmartPathがデフォルトに組み込まれたんだろうか。
VX からあった追跡時の変な挙動もなくなってるしどうなんだろう。
例の制作支援動画とか前に体験版で遊んだ時とかには確か荒ぶってた記憶があるんだけど。
アップデート内容を確認してみたけどそれらしい項目は見当たらなかったのでこの件は迷宮入り。
唯一見失って元の位置に戻る挙動の時に途中で引っかかって戻れなくなるというケースがあったので次に紹介する奴を追跡系に使う利点はそれくらいになってしまった感。
SmartPath
こちらは正確には追跡系プラグインとは趣旨が違うんだけど、利用方法的には同じような感じ(だとつい最近まで思っていた)ということで紹介。
内容的にはRPGツクールのルート探索性能を強化するというもの。
細かく言うとイベントをマップの左端から右端まで移動させたいという時に右移動右移動・・・と命令を繰り返さなくてもマップのここまで行けという命令を追加するプラグイン。
今作からはタッチ移動に対応していて移動先を選択するとプレイヤーが移動するという形式となっているのでそっちも強化されたりしているんだろうか。
初期のほうだとやたら斜め一マスの隙間に引っかかったりしてちゃんと移動してくれないということが目立ったのでそれなりに有用なプラグイン・・・だと思ったんだけど改めて試してみるとルート探索機能の強化の有用性というかどこがよくなったのか全然わからん。
初期、というよりかはVXあたりからだけどデフォルトの追尾はルート探索がいまいちで直線なのにちゃんと追いかけてくれないことすらあったので綺麗に追いかけてくれるというのがそれなりに有用だったんだけどそこについては本体が改善されたか、あるいは自分のテストが適当すぎて結果が出ていないのかのどちらか。
後者だったら申し訳ない。
というわけで書き始めに自分で書いといてこういうのもなんだが追跡系プラグインとしては今のところ前の『YEP_EventChasePlayer』を使うほうが簡単で多機能なのでこちらを使う理由はなさそう。
こっちはこっちでプレイヤーと追跡者の座標をとって、距離を計算してーとか自作でイベントを作る楽しみがあるといえばあるが。
かといってこのプラグインが不必要かというとそうではなくこちらのほうはある意味これが正しい利用法なのだがイベントを指定した位置まで移動させるという使い道がある。
自動イベントでは一マスずつ移動させるほうがいろいろ都合がいいと思うがこちらには一度命令を出せばあとは勝手に移動してくれるという利点があるので街中で一定の動きをするNPCとかを作る際に便利そう。
あと使ってみて便利だったのがスクリプトのコードで移動するイベントIDを決められるところ。
試しに作ってみた逃走ゲーでも追跡者側を発見、追跡、元に戻るのAIを並列処理のイベントとして実際に動くイベントとは別に作るという作り方をしてみたけど普通に動かせたりした。
移動系のイベントは一つにまとめておきたいという時に便利そう。
以上スクリプトで遊んでみようでした。
今までプレイヤーの座標取得から変数に代入して・・・を繰り返して追跡イベントを作っていた身としては一行で本格的なイベントが作れてしまうということに驚き。
プラグイン系のお約束として中身がよくわからんという点はあるものの、今回の二つは各種弄れる内容が充実していたり、シンプルで使いやすかったりするのでいい感じ。
このプラグインさえ使えばあとは移動速度とかマップを調節するだけで簡単に追いかけっこができる。
イベント側にはトリガーイベントから接触、実行内容ゲームオーバーとかにしとけばOK。
楽になったなー。
以下駄文改め分量がないので書き残し程度の樹海日記。
現在14階を探索中。
ダメージ量を考えて調節しながら倒すより大技ぶっぱして倒れた味方を回復したほうが早い気がしてきたゴーストとか複雑な敵が増えてきたものの前層ほどの衝撃は今のところなし。
マップもシンプルでサブイベントも数あり。
戦闘面はレベル上げすぎた弊害が出てるのか出てないのか気づくと41を超えるレベルで割とサクサク。
ストーリーのほうがなんだが割と今までにないような雰囲気になってきていてドキドキする。
これは、助からない流れなのか、ぎりぎりセーフという流れなのか判断に困るところ。
ううむ、書くことないかなと思ってたら本当にない。
とはいえこれはこれで・・・ということで続けていきたい所存であります。