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デフォルトDBバランス確認用テストゲーム

当作品はデフォルトのデータベースを使用し、一応のゲーム形式にしたものです。 オープニングもエンディングもありません。 ダンジョンをひたすら潜り、最下層のボスまで戦いバランスを確認するための作品です。 …

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

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

2000戦闘処理でハマった事

RPGツクール2000で、固定敵やシンボルエンカウントにする場合、戦闘の処理を行います。 実はバグとしか思えない仕様があり、それに気付かないとハマります。 問題点と対策をまとめておきます。 1.負けた …

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

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

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

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