穴掘り法や壁伸ばし法に似たアルゴリズムで迷路を作ってみる

昔から自動で迷路を作るシステムを作ってみたかったので、HSP言語で作ってみました。
今回紹介するものはバージョン2のものです。

過去バージョンは紹介していませんが、変更点を紹介します。
以前はダンジョン→迷路の作成のみでしたが、今回は、境界線→ダンジョン→迷路の手順で作成します。
さらに、同時に通路を伸ばす機能も追加したため、より複雑な迷路ができるはずです。

アルゴリズムについて

今回、迷路を作る際に用いたアルゴリズムは、壁伸ばし法です。
一部の方からは、穴掘り法と言う方もいるかもしれません。

具体的な迷路の作成手順

この迷路では三工程において処理しています。
まずは、適当に境界線を作ります。
この時に、迷路の難易度が大きく左右されます。
境界線とは、この後に迷路構造を作るときに、絶対に通り越さない線のことです。
次にダンジョンを作ります。
ここら辺は、前回の動画と同じですが、作り方が変わっています。
最後に、本命の通路作りです。
ここも前回の動画と同じです。ダンジョンに合わせながら、通路を進路変更させます。

動画紹介

続いて、迷路を作っている様子を動画にして紹介します。

本動画は、一フレームで一マス迷路を生成しています。丁度一秒間で60回迷路を生成しているので、60FPSで見ることをお勧めします。

※動画の27秒辺りから、実際に作られている様を確認できます。

error

関連記事