Я работаю над игрой в жанре roguelike, написанной на Haskell. Я решил представить мир в виде 2D-сетки, используя Data.Array.Repa
, теперь я хочу динамически генерировать случайные подземелья, которые могут содержать коридоры, прямые или с поворотом на 90 градусов, и комнаты, которые могут быть (почти) любого размера и формы.
У меня возникли проблемы с выяснением стратегии создания этих подземелий. Прогулка пьяного может сработать, но кажется, что это может быть слишком беспорядочно и не даст много комнат. Как лучше генерировать подземелья?
Кроме того, является ли Data.Array.Repa
хорошим выбором структуры данных для использования здесь?