Алгоритм Labyrinth: как в Unity генерировать связные 3D‑подземелья — Game Design Radar
← Все посты

Алгоритм Labyrinth: как в Unity генерировать связные 3D‑подземелья

20.08.2026
Алгоритм Labyrinth: как в Unity генерировать связные 3D‑подземелья

Статья описывает Labyrinth Procedural Generator — алгоритм процедурной генерации 3D‑данжей, созданный Райаном Карпентером в Unity для шутера от первого лица. Изначальный университетский проект был переработан и за два года доведён до рабочей веб‑демки.

Алгоритм вдохновлён планировкой уровней The Binding of Isaac (рогалик с комнатами‑аренами и ветвящейся структурой), Enter the Gungeon (bullet hell‑рогалик с комнатами и лутом), а также взаимосвязанными мирами игр серии Zelda и Dark Souls (эксплорейшен, нелинейные связи локаций). Цель — сочетать структурированность RPG (чёткая прогрессия, типы комнат, логика прохождения) с случайностью и реиграбельностью рогаликов.

Ключевая особенность — поддержка полностью связной карты при генерации тысяч комнат: обычные комнаты, боссы, магазины, комнаты с предметами и т.п. При этом разработчик получает контроль над общим лейаутом и стилем прогрессии (расположение ключевых комнат, путь игрока, распределение контента).

Блюпринты как основа алгоритма

Основой генерации служат блюпринты — разметка сетки одиночными ячейками‑маркерами, которые указывают, где потенциально может появиться комната. Это абстрактный план данжа без конкретной геометрии.

Процесс двухшаговый:

  • Сначала генерируется сетка блюпринтов с маркерами возможных комнат.
  • Затем второй проход парсит блюпринты и создаёт реальные комнаты по набору заранее заданных правил (тип комнаты, связи, ограничения по структуре и т.д.).

Алгоритм реализован в Unity 3D, но его можно переписать под любой игровой движок. Автор планирует развивать проект и выпустить его как скачиваемый Unity‑пакет, чтобы другие разработчики могли интегрировать генератор в свои игры.

Доступны подробный блог‑пост о Labyrinth Procedural Generator и веб‑демо, позволяющее опробовать систему на практике.

Выводы

  • Labyrinth Procedural Generator генерирует связные 3D‑данжи с тысячами комнат и разными типами помещений.
  • Цель алгоритма — совместить структурированную RPG‑прогрессию с рогалик‑рандомизацией и реиграбельностью.
  • Система опирается на блюпринты: сетку маркеров и второй проход с правилами для превращения их в реальные комнаты.
  • Решение реализовано в Unity, но концептуально переносимо на любые движки и планируется к выпуску как Unity‑пакет.
check_circle Факт-чекинг
Статья прошла проверку. Фактологических ошибок не выявили.
sports_esports Упомянутые игры