Данжоны — это процедурно генерируемые структуры, состоящие из шаблонов.
Быстрый старт
Чтобы сгенерировать данжон:
- Подготовьте карту, космическую или планетарную (через команду
planet)
- Выберите preset, затем выполните команду данжона. У неё есть автодополнение для помощи.
dungen <MapId> <preset> <position X> <position Y> [Опционально seed]. Это запустит задачу генерации данжона.
Следует учитывать, что в данный момент планеты удерживают загруженными все посещённые области, поэтому если вы загрузите данжон в уже посещённой области, он смешается с сущностями биома. Чтобы этого избежать, загрузите его в другом месте (проще всего определить, отдалив камеру и посмотрев на загруженные тайлы).
Как это работает
DungeonPresetPrototype
V
DungeonRoomPackPrototype
V
DungeonRoomPrototype
Шаблоны данжонов
Комнаты данжонов определяют, какую карту использовать и смещение тайлов на этой карте. Это уменьшает количество карт, ускоряет загрузку и позволяет одновременно видеть все комнаты.
При создании нового шаблона убедитесь, что сохранили его как карту и что карта имеет gridcomponent.
Preset данжона
Preset данжона содержит список областей, которые могут быть заняты через наборы комнат. Также в нём есть белый список используемых комнат.
Preset данжона фиксирован и не включает RNG.
Набор комнат данжона
Они состоят из списка комнат в фиксированных границах. Эти границы сопоставляются с областями набора комнат, указанными в preset.
Они случайным образом выбираются для использования в preset, если области совпадают.
Обратите внимание, что комнаты внутри набора не должны касаться друг друга; генератор создаст между ними соединения.
Комнаты данжона
Они определяют границы для области, которую они занимают внутри набора комнат.
Как указано выше, они также определяют карту и то, какая часть карты содержит их содержимое.
Дополнительные примечания
Preset, наборы комнат и комнаты можно использовать в любой валидной ротации.
Генерация детерминирована только в той степени, в которой одна и та же конфигурация на одном и том же коммите даст одинаковый данжон между запусками. Если добавляются новые прототипы, это изменит выбор комнат.
Создание нового контента
Настройка прототипов требует простых изменений в yaml. Создайте карту в игре и проверьте правильность координат и то, как будет выглядеть ваша планировка.
Создание новых комнат требует сохранённого файла карты и прототипов, указывающих смещение на карте для использования. Посмотрите на существующие DungeonRoomPrototypes, чтобы увидеть, как выглядит yaml.
Ниже приведён шаблон, который можно использовать. Обратите внимание, что нет ограничений на размер или количество комнат.
dungeon_template.yml
Советы по картографии
- На момент написания нет автоматической прокладки кабелей, поэтому если вы хотите, чтобы данжон питался, рекомендуется прикрепить провода в средних точках на каждом краю комнат (всё ещё в пределах границ).
Последнее изменение 21 июня 2026 г.