アイストマトバズーカのゲーム制作日記

いろいろ超初心者がゲーム制作に挑戦。現在RPGツクールMZでフリーゲーム制作中。フリー素材も作って置いてます。

毎回違うアイテムがランダムで出る宝箱を作る【RPGツクールMZ】

こんにちは。ITBです。

 

前回までの記事で書いているとおり、現在アイテムを消費して戦闘スキルを発動するゲームをRPGツクールMZで制作している途中なのですが、アイテム収集用のダンジョンを1つ用意しようと思いました。

ダンジョン内にあるアイテムはダンジョンに出入りするたびに元に戻り、「何度でも収集できるが、入手できるアイテムは都度確率で変わる」みたいな。

 

これを作るには変数の操作(乱数)とスイッチを使うことになります。

 

先にコマンドのサンプル↓

f:id:icedtomatobazooka:20201112015738j:plain

乱数を使ったイベントサンプル

f:id:icedtomatobazooka:20201112015809j:plain

変数の操作(乱数)

記事タイトルでは”宝箱”としたのですが、サンプルは光っている場所を調べてアイテムを拾うような感じにしてます。

決定ボタンを押すと、”森アイテム”と名づけた変数に乱数で1~3を代入。

次に条件分岐で変数が1のとき、2のとき、3のときの場合にそれぞれ違ったアイテムを入手するコマンドを入れます。

こうするとそれぞれ3分の1の確率で入手できるようになりますね。

変数の桁数を増やして条件分岐に不等号を使えばそれぞれ違う確率にすることもできます。

そしてこのイベント用のスイッチを作りONにし、アイテムを取った跡のイベントページを出現条件:スイッチで作成。

※"セルフスイッチ"ではなく、イベントごとに違う"スイッチ"にします。

ダンジョンを出る移動イベントにダンジョン内で入手するアイテムイベントのスイッチを全てOFFにするコマンドを追加してやれば出入りするたびに入手可能になります。

 

一応、問題点として、サンプルだとそのイベントが実行される瞬間に入手アイテムが決まるため、例えば入手直前でセーブしたら欲しいアイテムが出るまで入手⇔ロードを繰り返せてしまいます。

 

これを防ごうと思ったらダンジョン内でのセーブを不可にするか、ダンジョンに入った時点で変数を決めてしまうかだと思うのですが、後者はイベント別のランダムではなく、ダンジョン全体のアイテム出現(組み合わせ)にパターンが出来てしまいますし、バランス考えながらそのパターンを組むのは骨です。前者だとたぶんですがデータベースのシステムでメニュー画面からセーブの項目を消し、ゲーム全体で特定の場所(イベント)でしかセーブできないようにしなければいけません。そうするとゲームの難易度がぐっと上がる気がするんですよね。あるいはセーブイベントをそこらじゅうに配置?それもちょっとねw

もちろんそれらを解消するようなプラグインがあれば話は別ですが。

 

制作中ゲームでは幸い(?)レアアイテムとかそういうのは無いのでアイテム入手⇔ロードが繰り返せてもいいと思っており、この問題はスルーします。

(追記:その後上記問題は解決しました。コメント欄ご参照。)

 

変数に代入できる桁数は十分あるので(限界は知りません)コモンアイテムとレアアイテムがあるようなゲームも作れますね(1万分の1の超絶激レアアイテムとかw)。つまりガチャとか作れるわけで、次回以降のゲームでそういうのをやってみてもいいかもと思ったりしてます(超絶は置いといて)。

その場合は前述した問題を解決しないといけませんが( ̄∀ ̄;)

まぁ、探せば割と解決策あるんじゃないでしょうか(根拠ナシ)。

 

アイテム消費スキル、アイテム合成、アイテム収集ダンジョンと少々複雑になりつつありますので追加的要素はこのくらいにしておこうと思います。

 

f:id:icedtomatobazooka:20201112082059j:plain

ランダム宝箱

↓クリックで応援お願いします(´ ∀`)ノ

  にほんブログ村 ゲームブログ ゲーム制作へ