プラグイン複合利用

MVでランダムダンジョン具体的設定Ver3

更新日:

ランダムダンジョンVer3として、サンシロ様作「SAN_MapGenerator」プラグインをご紹介いたします。
プラグインは下記からダウンロードできます。
raw.githubusercontent.com/rev2nym/SAN_MapGenerator/master/js/plugins/SAN_MapGenerator.js

下記の作品もこちらのプラグインを使用して作成されているそうです。

AliasAche(エイリアスエイク)
plicy.net/GamePlay/19919

正直申し上げて、初期に「SAN_MapGenerator」を発見していたら、Ver1、Ver2の手法は考えなかったかも知れません。
ただ、両方の手法を使ってみてから「SAN_MapGenerator」の使い方を学んだので、かなりスムーズに理解することが出来ました。

「SAN_MapGenerator」は機能豊富なプラグインのため、簡単な説明は難しいです。
まず、サンプルプロジェクトをダウンロードして、テストプレイをしていただいた方が良いと思います。

こちらのサンプルプロジェクトはサンシロ様が公開されているサンプルプロジェクトにムノクラが少し手を加えたものになります。

変更点は下記です。
・上り階段を使えるようにした。
・階表示をするようにした。
・階段のトリガーを決定ボタンに変更した。

とりあえず、すぐにテストプレイだけでも出来るようにRPGアツマールに限定公開でアップいたしました。

ヘルプを読み解く

サンプルプロジェクトをツクールで開いた画面とヘルプの引用とで説明いたします。

■設定
ツクールMVのエディタ上でベースとなるマップの下記の座標に
タイルとイベントを配置して下さい。

・タイル
空白:{x:0, y:0}
部屋:{x:0, y:1}
通路:{x:0, y:2}
天井:{x:0, y:3}
壁 :{x:0, y:4}
瓦礫:{x:0, y:5}

・イベント
入口:{x:1, y:0}
出口:{x:1, y:1}
他 :上記以外の座標

まず、上記の中で「瓦礫」は必須ではないようです。
スクリプトコマンドで壁を生成するのに使用します。
このコマンドを使用しない場合には「瓦礫」は使われません。

「部屋」通行可タイル
「通路」通行可タイル
「天井」通行不可タイル
「壁」通行不可タイル
のタイルがどのように反映されているか見比べて下さい。

作りたいダンジョンの雰囲気に合わせてタイルを設定しましょう。
サンプルプロジェクトでは、すでに3パターン用意されているので、それを流用するのも良いかと思います。
なお、マップの「遠景」画像は必須ではありません。

指定しない場合は背景が真っ暗になります。
初期DQみたいですね。

プラグインの設定を見る

プラグインの設定とマップの大きさ、部屋の数を見ていきましょう。

  • 設定項目
    • WallHight:1 壁の高さ(1~3)
    • MinRoomSize:5 部屋の大きさの最小値(3~)
    • MxxRoomSize:10 部屋の大きさの最大値(3~)
    • ShowOuterWall:ON 部屋の外側の壁を表示(ONで有効)
  • プラグイン設定:デフォルト値
  • マップの大きさ:48x48

上記の場合での部屋数は3~5くらいになることが多いようです。
ランダムなので、行き止まりだったり輪になっていたり様々です。
ここで、気になるのは階段(出入口)の出現位置です。
階段は部屋の中に発生しますが、たまに通路との境目に現れます。
階段のトリガーを「プレイヤーから接触」にしていると、その先を探索できない場合が出てきます。
ですので、階段のトリガーを決定ボタンにしておいた方が無難です。

ここまで触れていないプラグイン設定の下記ですが、
WallHight:1 壁の高さ(1~3)
ShowOuterWall:ON 部屋の外側の壁を表示(ONで有効)
デフォルトのままで良いと思います。

壁の高さを変えると、絶壁の中にいる印象にはなります。
部屋の外側の壁を表示しなく変更すると、妙な違和感があります。
興味があったら変更してみてください。

他の配置イベントの設定

次に各イベントの出現率の設定です。

・イベント出現率
入口と出口以外のイベントには出現率を設定できます。
イベントのメモ欄に下記を記載して下さい。
出現率設定がないイベント生成されません。

マップ毎の出現率:
部屋毎の出現率:

用意するイベントで考えやすいものとして、宝箱やシンボル敵がありますが、それらを出現させるのに必要な設定です。
上記の部屋数が各イベントの出現率の参考になると思います。
全部の部屋に出すものは と記載します。
1マップ(フロア)で1つを 50% の確率で出すのであれば と記載します。
同じイベントを複数コピーして、出現数を変えることもできます。

このプラグインのキモは、
・マップの大きさ
・部屋の大きさ
・イベントの数と内容
これらのバランスの良いところを探すところになると思います。

ランダムマップへの入口を作る

ランダムマップへの入口イベントには下記の順でイベントを記述して下さい。

  • 画面のフェードアウト
  • 場所移動:(ランダムマップの位置の座標は0,0)
  • プラグインコマンド:MapGenerator RoomAndPass
    • MapGenerator FillRoom を入れるとマップ全体に及ぶ一つの部屋を生成します。
  • 画面のフェードイン

注意点

ランダムマップ中でセーブした場合、プラグイン設定等を変更した後にロードすると上記のようになります。

こちらのプラグインを使って公開した後に、バージョンアップをすると同じことが起こる可能性があると思います。
ですので、こちらのランダムダンジョンの中ではセーブを禁止しておく方が無難かと思います。

再設置されたイベントIDの調べ方

自分への備忘録として、上り階段を作る時の手がかりにした処理をまとめておきます。

まず、サンプルプロジェクトの上り階段にはイベント処理がありませんでした。
つまり、下への一方通行という設定です。
これは、戻れるようにしたいと思ったのですが、このプラグインの処理は下り階段を降りて、上り階段シンボルに主人公が出てくるところまでが一度に処理されます。
そして、事前に配置したイベントのIDはリセットされ、再配置する処理になっていると予想します。

上り階段を上がったら、下り階段シンボル上に主人公が出なくては不自然です。

まず、再配置されたイベントIDか座標が調べられないかを考え、プラグイン内部を読んだのですが、分かりません(未熟者)。
そこで、テストプレイ中にイベント自体が自分のイベント番号を発言するイベントを作成しました。

変数の代入#5:this.eventId();
文章:\V[5]
これでイベント番号を確認すると、
入口(上り階段)が1
出口(下り階段)が2
になることが分かりました。

全てのイベントを別途バックアップして削除し、再配置する最初に入口、出口、という順なのだと予想します。
ここからランダムマップVer2で使った処理を流用し、主人公の位置を移動してからフェードインさせました。

スポンサードリンク

スポンサードリンク

-プラグイン複合利用

Copyright© RPGツクールMV初心者的備忘録 , 2019 All Rights Reserved.