RPGツクール使いの備忘録

ムノクラといいます

RPGツクール2000

ランダムマップ

投稿日:2018-04-06 更新日:

少しずつ、自分がやってきて学んだことを書いていこうと思います。

まず、先日の投稿で触れた知人作品のデバッグです。
内容が多すぎるので、1投稿に1種類ずつ書くことにします。

この作品ではランダムダンジョン、ランダム宝箱を採用していました。
恐らく、下記の記事を参考にして作ったのだと思います。

宝箱をランダムに設置する – Newt Net(ひよっこプログラマー日記)
http://newtgecko.blog.fc2.com/blog-entry-114.html

ざっくり言うと、
1.宝箱を置いて良い地形か予めマップチップで決める。
2.ランダムに座標を決める。
3.その座標が問題ない地形か確認する。
4.NGなら2.に戻る。OKなら、そこに宝箱を置く。

というような処理で、宝箱、障害物、出口を置くことでランダムマップを作っていました。

しかし、問題がいくつかありました。
1つ目は、宝箱と障害物を適当に置くため、どうしても通行不可になってしまうケースが出てきました。
ベースになるマップで通路を広くしておけば、滅多に起こらないとは言え、確率の問題です。
そりゃ運が悪いで済ませるってのは、ユーザに酷なんじゃない?

自分が考えた解決策は
1.宝箱を通行可能にし、上から調べて開けるタイプにする。
2.障害物ではなく、ダメージ床にして、どうしても通らなくてはならない時はダメージを覚悟する。
ということで、とりあえず回避しました。

で解決かと思ったら、次の問題が出てきました。

2つ目の問題、出口も同じ処理をしているので、運が悪いと宝箱と重なってしまいます。
そうすると出られません。
そんなハマリって酷いだろ…。
ということで、ランダム配置の処理に追加をしました。
追加後の処理は下記になります。

1.宝箱を置いて良い地形か予めマップチップで決める。
2.ランダムに座標を決める。
3.その座標が問題ない地形か確認する。
4.NGなら2.に戻る。OKなら、5.に進む。
5.その座標に既に別のイベント(宝箱、障害物、出口)がないか確認する。
6.NGなら2.に戻る。OKなら配置する。

これで、全ての配置問題は解決しました。

今考えると、障害物には別の解決策がありますね。

空イベントをいくつか通路上に配置しておいて、絶対に一本道は通れるようにするとか。
出口をランダムにするので、それを候補地を10個位に絞って(例えば別地形番号を指定するとか)、そこに配置させるとか。

別の事を色々やってみてから振り返ると、違うことを思いついたりして面白いですね。

スポンサードリンク

スポンサードリンク

-RPGツクール2000

執筆者:

関連記事

2000で「とんずら」スキルを作る

RPGツクール2000で100%逃げられるシステムがデフォルト戦闘で可能かYADO様にご指導いただきました。 普通の「にげる」では実現できませんが、「とんずら」スキルを作ることはできるようです。 ht …

RPGツクール2000サンプルデータベースv2

以前作成した「RPGツクール2000サンプルデータベース」のリメイクです。 前作をv1、今作をv2と呼びます。 前作はMP及び被ダメージが厳しいとの声をいただき、再調整をしたものとなります。 どなたか …

RPGツクール2000サンプルデータベースv2.1

以前作成した「RPGツクール2000サンプルデータベースv2」の調整版です。 俊敏性の差が少なく、行動順がほぼランダムになってしまっているとの声をいただき、再調整をしたものとなります。 どなたかのお役 …

RPGツクール2000サンプルデータベースv1

デフォルトで設定されているデータのバランスが悪いと聞き、自分なりにバランス調整をしたデータです。 RTPにある敵モンスター画像を全て重複なく使い、割り当てる事を前提に作成しました。 中編のゲームのベー …

RPGデバッガー200X

今回はバグ修正で役に立ったツールを紹介します。 今更、2000向けの情報が期待されているとは思えませんが、自分が学んだことの備忘録みたいな日記なので、ニーズとか考えないで書きます(笑) 今回はバグとい …