ランダムに宝箱とかエネミー生成をしたい時のやつ.part1
今回の内容になりますが
一覧で載せてたランダムに生成してちょーのやつになります。
今回のやつは色々やったので数回に分けると思います。
一気に説明するほど自分でも整理できていないと思うので
データを見返しながらやっていきます。
あとわかりずらかったらごめんなさい。
最初に
ci-en立ち上げて早一日。
自分の想像より多くの方がフォローしてくださってました。
ありがとうございます。精進します。
中には明らかにベテランの方々も...
(もしよろしければアドバイス等お待ちしております。)
以下本文!!
今回やろうとしていることになりますが
「特定のイベントをランダムに配置したい」というのを
実現するためにやってみました。
最近遊んだローグライク系の同人ゲームで
ダンジョン内に入るたびに位置が変わる宝箱がありまして
どうやってやってるのかと試したものになります。
ひとまず行き着いたのが以下のプラグイン
・イベント動的生成プラグイン(EventReSpawn)
・テンプレートイベントプラグイン (TemplateEvent)
の二つを使いました。
実際のイメージ
このプロジェクトでは
ランダムな位置に
・宝箱
・エネミー
・次の階層への移動オブジェクト
を生成するように作りました。
※捕捉
少し自分の状況を説明させていただくと
RPGツクールMZでチュートリアル完了
youtubeのツクール初心者講座を一通り履修
しかし、ゲームは作ったことないという状態です。
結論から言うと動画では元々一つのイベントをランダム複製し配置する仕様です。
仕組みは
テンプレートMAPに「複製したいイベント」を用意
ダンジョンMAPに「テンプレートを読み取りランダム生成を実行するイベント(プラグインコマンド)」
+コモンイベントと変数、スイッチを使用してます。
※コモンイベント、変数、スイッチが何のこと?となった方はyoutubeなどのチュートリアル動画で確認できますよ。自分もチュートリアル動画で勉強しました!
では段階分けして説明していきます。
自分はこうしてます。みたいな説明になっているので
1~10全部説明できていないと思います。
あと自分も勉強中でしておそらくプラグインとかも
100%機能を使い切ってないと思います。ご了承ください。
もし補足が欲しいなどありましたらコメントしていただけると幸いです。
対応させていただこうと思います。
(※今回で説明が完了しておりません。
試そうと思われている方は次回がUPされるまで
お待ちいただいたほうが良いと思われます。)
・まず、テンプレート用MAPについて
ここには複製するBASEのイベントを格納します。
今回でいうと
宝箱/エネミー/次の階層への移動オブジェクト
です。
ここに格納したイベントがテンプレートイベントプラグイン (TemplateEvent)で読み取れるようになります。
このプラグインはこの後のランダムに生成を行う
イベント動的生成プラグイン(EventReSpawn)
と連携させるための仕込みです。
・プラグインの導入/設定をしていきます。
※注意:画像の一番上の「Plugin Common Base」は今回導入予定のプラグインには必須のものになります。忘れずに導入してください。
プラグインの場所は導入予定プラグインのヘルプ欄の下あたりに記載されています。
※プラグインの導入方法がわからない方はぜひ検索してみてください。
わかりやすい解説たくさんありますよ。
■テンプレートプラグイン設定
プラグイン管理>TemplateEvent>
重要なのはテンプレートマップID(一番上の項目)
ここで参照したいマップのIDを指定します。
今回はID:002のMAPを使いました。
これでプラグイン側はOK
テンプレート用MAPにイベント配置
■宝箱
※中に別のプラグインが入っていますが、これは宝箱の中身をランダムにできるプラグインです。これは難しくないので興味があれば調べてみてください。
■エネミー
戦闘処理が入っています。
■移動(階段)
※ここも今回のお題とは直接関係ない記述がしてあります。
これは「フロア移動した主人公をランダムなMAPのランダムな位置に移動」をさせたくてやってみたものです。
ルートが決まっているダンジョンとかの場合は場所の移動で直接指定で良いと思います。
※全部コモンイベントでやってるのは本来イベントの編集や管理が楽になるので使うのですが、よく考えるとテンプレート用MAPのイベントに直接記述しても大丈夫なはずです。
(参照の参照になっている気がする・・・・)
※コモンイベントってなに!?となった方は~以下略
そして次にこれらを実際にMAPに生成するイベントを作るのですが
part2に持ち越そうとおもいます。ごめんなさい!!
ざっくり説明すると
実際のMAPに自動実行イベントを配置し
ループ、条件分岐、変数、乱数を使って
イベント動的生成プラグイン(EventReSpawn)
を実行させてランダム生成しています。
詳しくは明日以降(出来れば明日)更新したいと思います!
本日は一旦ここまでということでお疲れ様でした!
※2021/11/09に公開範囲を修正しました。