gifts2017

Процедурный генератор подземелий, лабиринтов, пещер и островов (для игр)

Опубликовал Максим Сердюков (Caliban) в раздел Сообщество - Игры

Внешняя обработка для процедурной генерации подземелий, лабиринтов, пещер и островов (управляемые и обычные формы)

Данная обработка позволяет генерировать подземелья, лабиринты, пещеры и даже острова, которые затем можно распечатать и использовать... ну, например, в настольных играх.

Настройки генерации:

  1. Зерно: возможность указывать определенное "зерно" для генератора случайных чисел.
  2. Вид генерируемой карты: подземелье (лабиринт), пещера или остров.
  3. Заполнять карту: заполнять оставшееся пространство карты стенами или водой (для острова).

Подземелье:

  1. Неправильные комнаты: если этот флаг не установлен все комнаты будут прямоугольными.
  2. Максимум комнат: лимитируется количество создаваемых комнат. При установке количества в "0" будет создан только лабиринт.
  3. Расстояние: минимальное расстояние между создаваемыми комнатами.
  4. Дополнительные двери: по умолчанию создается "идеальное" подземелье, т.е., каждая область (комната) имеет одно и только одно соединение (дверь) с другой областью. Таким образом, из любой комнаты в любую другую можно попасть одним единственным путем. Добавление дополнительных дверей может облегчить прохождение лабиринта.
  5. Извилистость: чем меньше это значение, тем более длинными будут рукава коридоров.
  6. Тупики: процент тупиков, которые останутся после генерации уровня. Может использоваться для создания тупиковых коридоров в подземельях.
  7. Сквозные проходы: то же самое, что и п.4, только для стенок лабиринта.

Пещера:

  1. Минимальный размер: будут удалены участки пещеры площадью меньше, чем указанное значение.
  2. Разреженность: чем выше это значение, тем более просторной будет пещера.

Остров:

  1. Детализация: чем выше значение, тем более детальней получается остров, но и тем дольшебудет длиться генерация.
  2. Шероховатость: влияние эррозии.
  3. Деформация: влияет на форму острова.
  4. Вода: уровень моря. Чем выше значение, тем больше участков острова будет скрыто под водой.

 Новое в версии 1.1:

  1. Добавлено "зерно" для генератора случайных чисел.
  2. Возможность генерировать комнаты неправильной формы для подземелий.
  3. Возможность указывать минимальное расстояние между комнатами.
  4. Добавлена генерация пещер.
  5. Добавлена генерация островов.
  6. Изменено масштабирование.

Скачать файлы

Наименование Файл Версия Размер
Генератор подземелий 5
.epf 40,21Kb
29.11.16
5
.epf 1.1 40,21Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Sanya2049 Sanya2049 (Sanya2049) 25.12.15 15:53
Хотя бы двери входа и выхода нарисовал, что была цель какаета
2. Маским Константинович (MherArsh) 26.12.15 19:36
(1) Sanya2049, Согласен, не хватает входа-выхода, когда то решал задачу поиска пути в таком лабирине ))
3. Максим Сердюков (Caliban) 28.12.15 09:24
(1) Sanya2049, (2) MherArsh, не вижу смысла. Входы и выходы каждый определяет самостоятельно - кому то они нужны в комнатах, другим - в стенках или тупиках лабиринта.
4. Алексей Трофименко (Lok`Tar) 28.12.15 14:24
5. Максим Сердюков (Caliban) 29.12.15 07:14
(4) Lok`Tar, извините, но я закрываю свой код, если планирую использовать обработку в дальнейшем. Подробное описание этого алгоритма с картинками можете посмотреть здесь. Там же есть ссылки и на исходники. Правда, они на языке dart, но разобраться можно.
6. Юрий Тимофеев (Tatitutu) 29.12.15 11:16
(4) открытый код )
Игра: Лабиринт для 1С (теперь и для 8.0-8.2) 24.09.10 16:53
http://infostart.ru/public/75987/
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа