MZ用プラグイン

ランダムダンジョン自動生成 - RandomDungeon.js

シェア用テキスト:
▼ランダムダンジョン自動生成(nz_prism様作) - RandomDungeon.js
https://plugin-mz.fungamemake.com/archives/2791
ランダムダンジョンを自動生成します。

ふりがな:らんだむだんじょんじどうせいせい

機能概要: ランダムダンジョンを自動生成します。

利用規約(ライセンス): MITライセンス

作者:nz_prism

作者サイト:https://note.com/nz_prism

解説ページ:https://github.com/nz-prism/RPG-Maker-MZ/tree/master/Ra…

ダウンロードページ:https://raw.githubusercontent.com/nz-prism/RPG-Maker-MZ…

ファイル名:RandomDungeon.js

プラグインのヘルプ:

/*:ja
 * @target MZ
 * @plugindesc ランダムダンジョンを自動生成します。
 * @author nz_prism
 * @url https://twitter.com/nz_prism
 *
 * @help RandomDungeon.js
 * ver. 1.0.0
 * 
 * [バージョン履歴]
 * 2021/05/01 1.0.0 リリース
 * 
 * このプラグインを導入すると、ランダム属性を持つマップに移動した際に
 * ダンジョンが自動生成されるようになります。
 * イベントのランダム出現機能があり、宝箱などに利用できます。
 * イベントの排他出現機能もあり、階段などに利用できます。
 * 
 * プラグインコマンドはありません。
 * 
 * ■ 使用方法
 *   ● マップ設定
 *     1. ランダムマップにしたいマップのメモに<random>と入力。
 *     2. 同メモに<size:n>と入力。nは縦と横にピースを配置する数です(最低3)。
 *        例えば<size:5>と入力すると縦5ピース、横5ピースの計25ピースが配置されます。
 *     3. ランダムマップの下位に「ボイド」マップを一つ、「ピース」マップを任意の数作成してください。
 *        マップはドラッグ&ドロップすることで別のマップの下位に配置できるので、それを利用してください。
 *        「ボイド」とはランダムマップの空白部を表し、移動不可区域です。
 *        ピースを配置できなかった部分を埋めるために使用されます。
 *        「ピース」とはランダムマップの部品であり、最低1方向の通路を持ちます。
 *        上下左右の全ての通路の組み合わせは15通りであり、それぞれ最低一つ用意します。
 *        なおランダムマップ本体は「ベース」と呼称します。
 *        ベースは必ず一つ配置されます。
 *        あるマップからイベントでランダムマップに移動させる場合、ベースを指定してください。
 *        ランダムマップの背景やBGM、敵出現歩数などあらゆる設定はベースのものが参照されます。
 *        そのためボイドやピースには設定不要です。
 *     4. ベースと全てのピースのメモに<routes:>と入力。
 *        これはそのマップの持つ通路の方向を表します。
 *        そのマップの実際の形状に合わせて入力してください。
 *        例えば右と下に通路を持つマップの場合、<routes:右,下>と入力します。
 *        方向はカンマ(,)で区切ってください。
 *        方向はさまざまな記述が可能です。下記「書式」を参照してください。
 *     5. 下記「イベント設定」を参考にイベントを配置してください。
 *        ランダムマップにはベース、ピース、ボイドのいずれにも通常どおりイベントを設置できます。
 *        一つのランダムマップには、使用されている全てのマップのイベントが配置されます。
 *        つまりベースのイベントは全て配置されますし、選ばれなかったピースのイベントは配置されません。
 *        ランダムマップでは、random属性とunique属性という専用の設定が用意されており、出現に関わります。
 *        これらの属性は非ランダムマップでは使用されません。
 *        random属性が設定されているイベントは確率で出現します。
 *        unique属性が設定されているイベントは、ランダムマップのベース・ボイド・ピースに配置されている
 *        同じunique IDを持つイベントのうちいずれか一つだけがランダムに選択されて出現します。
 *        つまりそのうちの一つは必ず出現します。
 *        random属性とunique属性は併用が可能であり、同じunique IDのイベントのうちいずれか一つが
 *        確率で出現する、という挙動にもできます。
 *        なおrandom属性やunique属性が設定されているかに関わらず、ランダムマップから別のマップに移動すると
 *        ランダムマップに配置されていた全てのイベントの全てのセルフスイッチが自動的にオフになります。
 *        この挙動により、同じマップにひたすら移動し続けても何度でも宝箱が開けられます。
 *        反対に、一回しか開けられない宝箱にしたい場合はゲームスイッチを使用してください。
 *        ゲームスイッチはランダムマップによって自動的にリセットされることはありません。
 * 
 *   ● イベント設定
 *     ・random属性
 *       ランダムに出現させたいイベントのメモに<random:n>と入力。
 *       nは出現確率を表します。
 *       例えば70%の確率で出現させたいイベントには<random:70>と入力してください。
 *     ・unique属性
 *       排他的に出現させたいイベントのメモに<unique:n>と入力。
 *       nはunique IDを表します。
 *       例えばランダムマップのどこかに階段をランダムで一つだけ出現させたい場合、
 *       全ての階段に<unique:1>と設定してください。
 *       階段とは別グループの排他出現イベントを設置したい場合、
 *       <unique:2>, <unique:3>...と設定してください。
 * 
 * ■ マップの制限
 *   ランダムダンジョンとして使用するマップには、以下のような設定の制限があります。
 *   なお名前には制限がありませんので、自由につけることができます。
 *     ● ベース
 *       ・通路を最低一つ配置すること。数や組み合わせに制限はありません。
 *     ● ピース
 *       ・タイルセットがベースと同一であること。
 *       ・上下左右の通路のあらゆる組み合わせ(15通り。サンプル参照)を最低一つずつ用意すること。
 *        同じ通路パターンのマップを複数用意することもできます。
 *        例えば下と右に通路を持つマップを2つ用意した場合、1つしかない通路パターンと比べて
 *        抽選確率が2倍になります。
 *       ・全てのピースのマップ幅がベースのマップ幅と一致していること。
 *       ・全てのピースのマップ高さがベースのマップ高さと一致していること。
 *       ・上と下の通路のX座標が全て一致していること(ベースとも合わせる)。
 *       ・右と左の通路のY座標が全て一致していること(ベースとも合わせる)。
 *     ● ボイド
 *       ・タイルセットがベースと同一であること。
 *       ・一つのランダムマップにつき必ず一つのボイドを用意すること。
 *       ・マップ幅がベースのマップ幅と一致していること。
 *       ・マップ高さがベースのマップ高さと一致していること。
 *       ・タイルの配置に制限はありませんが、サンプルのようにタイルA3上部タイルで塗りつぶすと
 *        自然な印象になります。
 * 
 * ■ 書式(メタタグ)
 *   ● マップ
 *     ・<random>
 *     ・<size:n>
 *     ・<routes:(方向カンマ区切り)>
 *      方向は以下のいずれでも記述可能です(大文字と小文字区別なし)。
 *      半角スペースは無視されます。
 *         上:8,8,上,北,u,up,n,north
 *         下:2,2,下,南,d,down,s,south
 *         左:4,4,左,西,l,left,w,west
 *         右:6,6,右,東,r,right,e,east
 * 
 *   ● イベント
 *     ・<random:n>
 *     ・<unique:n>
 * 
 * 
 * このプラグインはMITライセンスにてリリースされています。
 * https://opensource.org/licenses/mit-license.php
 *
 * 
 */

スポンサードリンク

スポンサードリンク

-MZ用プラグイン

Copyright© #ツクプラMZ , 2025 All Rights Reserved.