Разработчик Seeing Eyes выпустил браузерный генератор подземелий из 286 деталей

Разработчик Seeing Eyes открыл доступ к веб-приложению, в котором работает тот же алгоритм генерации подземелий, что и в самой игре.

Демонстрация запускается прямо в браузере по адресу seeing-eyes-game.com/demo. Одновременно вышел разбор того, как устроена генерация.

В основе лежит коллапс волновой функции, метод с пугающим названием и довольно простой логикой. Каждый тайл предварительно отрендерен в Blender с четырех сторон, а его края размечены типами стыков вроде пола, стены или канала. Разметка сообщает алгоритму, какие тайлы могут соседствовать друг с другом, а какие нет.

https://www.youtube.com/watch?v=fIIdPk49wsY

Дальше работает перебор по возрастанию сложности. Без ограничений в любую клетку сетки помещается любой из 286 тайлов, но правила стен и углов сразу отсекают большую часть вариантов. Алгоритм начинает с клетки, где остаётся меньше всего допустимых тайлов, обычно с угла, ставит туда конкретный элемент и переходит к следующей самой ограниченной клетке.

К концу прохода свободы почти не остаётся. В разборе показана клетка, для которой существует единственное решение – стыковочный узел канала с одной стороны и стена с другой. Повернуть канал вправо нельзя, так как он упрётся в тупик без заглушки, поэтому остаётся только поворот влево с выходом через стену.

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

Освещение строится на картах нормалей, запечённых в Blender. Поверх готовой геометрии проходит отдельный этап, расставляющий мелкий реквизит. Размер и форма подземелья ограничений не имеют, метод масштабируется на произвольную сетку.

Веб-приложение позволяет влиять в работу генератора:

  • ставить собственные тайлы вручную

  • включать автоподбор, который подгоняет соседние элементы под ручную правку

  • отключать автоподбор, если нужно намеренно нарушить правила стыковки

  • генерировать подземелье вокруг уже расставленных элементов

  • менять размер, форму, освещение и плотность реквизита

  • менять цвета

Отдельная функция под названием perturb заменяет тайл на случайный и пересобирает соседние. Разработчик называет её самой полезной для случаев, когда подземелье устраивает целиком, кроме одного участка.

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

Результат генератора можно сохранить в виде картинки.

Сама Seeing Eyes описана как мрачный готический сурвайверс-лайк, где под управлением находится не одинокий герой, а целый отряд. Игрок набирает колоду из бойцов и способностей, расставляет их на сетке и держит оборону против растущей орды. Забег заканчивается либо уходом через портал с добычей, либо смертью без неё.

Играбельной демоверсии самой игры пока нет. Дата выхода тоже не объявлена, но страница в Steam открыта для добавления в список желаемого.

Больше статей на Shazoo
Тэги:

Об авторе

Эксперт по Fallout
Главный редактор
Более 16 лет в индустрии освещения видеоигр, кино, сериалов, науки и техники. Особенно разбираюсь в серии Fallout, ценитель The Elder Scrolls. Поклонник Arcanum и Fallout Tactics. Больше всего играю в Civilization, Old World и градостроители. Изучаю ИИ и загадки космоса.