起動するたびに自動で生成されるダンジョンにしたい。
つまり、迷路を自動生成させようと。
どんなアルゴリズムがあるのか、ググってみるとこんな記事を見つけた。
なるほど、面白いことを考え出す人がいるもんである。
いくつか方法があるようだけれども、実装が比較的簡単で結果のいいものにしたいので、この記事の中の『穴掘り法(道延ばし法)』を採用します。
現在、C#でアルゴリズムを実装中。
大急ぎというか、あくまで広告デモようのアプリに使うだけなので、処理速度やスマートなロジックにはこだわらない。
多少重くても、上で説明されている動作になってりゃいいのである。
一番悩まされたのは、マップが全部埋ったかどうかの判断をどうするか。
結局、ベタというか、たぶん最も処理の重いやり方にした。
つまり、通路を延ばすたびに、全ての通路を最初から調べなおして、他に伸ばせるところがないかチェックするという方法。
明日くらいにはダンジョンの生成までいけると思う。
Related Posts
カテゴリー: 制作実習