Динамическое создание подземелий Roguelike с помощью Haskell и Repa

Похожий вопрос найден здесь

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

У меня возникли проблемы с выяснением стратегии создания этих подземелий. Прогулка пьяного может сработать, но кажется, что это может быть слишком беспорядочно и не даст много комнат. Как лучше генерировать подземелья?

Кроме того, является ли Data.Array.Repa хорошим выбором структуры данных для использования здесь?


person cdk    schedule 20.11.2012    source источник
comment
Есть много способов сделать случайную карту. Вы должны быть более конкретными в том, что вы хотите. Вы предпочитаете тупики или циклы? Должны ли стены быть прямыми (здания) или случайными (пещера)? Хотите много веток? Очень случайные и очень регулярные карты легко сделать. Я предполагаю, что вы стремитесь к середине, хотя.   -  person Karolis Juodelė    schedule 20.11.2012


Ответы (1)


Быстрый google нашел несколько отличных ресурсов. Во-первых, диссертация на эту тему!

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.119.1445

Во-вторых, серия сообщений в блогах: http://dirkkok.wordpress.com/dungeon-generation-article-series/

Наконец, описание оригинального мошеннического алгоритма: http://kuoi.com/~kamikaze/GameDesign/art07_rogue_dungeon.php

Для ресурсов, специфичных для Haskell, вы можете посмотреть LambdaHack: https://github.com/kosmikus/LambdaHack

person sclv    schedule 03.02.2013