NinaLabo

個人ゲーム開発者の技術メモ

ローグライクゲームのダンジョン自動生成アルゴリズムまとめ

ローグライクゲームのダンジョンマップを自動生成するにあたり、参考にさせていただいたページをまとめておきます。

《マップを2分割していく方法》

大きいマップをどんどん2分割していくことで、不思議のダンジョンのようなマップを自動生成できます。開発中のローグライクゲームも、ここにある方法を採用しました。

◼Racanhackコード解説

ローグライクゲームRacanhackのソースコードを解説した記事。特にダンジョンマップの自動生成に関するアルゴリズムの解説記事が詳しくてわかりやすいのですが、何故かページのテキストエンコーディングEUC

◼アルゴリズム - 不思議なダンジョンの作り方 (Unity2Dサンプルコードつき) - Qiita

Unity (C#) のサンプルコード付き!自前で実装した後にこの記事を見つけたのが悔やまれます...

◼ゲームプログラマーを目指すひと ランダムダンジョン生成プログラム

Racanhackと同様のマップを2分割していくアルゴリズムを解説していて、Racanhackの記事と合わせて読むと理解が進みます。

◼javascriptで不思議のダンジョン自動生成 - Gemmaの日記

こちらはJavaScriptサンプルソースコードがのっています。

◼ダンジョンの自動生成(基礎工事編)

こちらはC++のサンプルコードがダウンロードできます。

◼ActionScript入門Wiki - 不思議のダンジョンを作る - 0.制作の流れ

こちらはActionScriptのサンプルコードがのっていて、丁寧に解説してあります。

《マップを格子状に区切って通路をつなぐ方法》 

今回は実装しませんでしたが、マップを縦横に格子状に分割して通路をつなぐ方法もありそうです。

◼不思議なダンジョンを作る

図付きの解説がわかりやすいです。

◼wise9 › ダンジョンマップを生成するアルゴリズムの解説[投稿記事]

洞窟もぐりというゲームも格子状に部屋を分割する方法を採用しているようです。