{"id":3824,"url":"\/distributions\/3824\/click?bit=1&hash=a0d33ab5520cacbcd921c07a49fc8ac5b78623b57936b992ce15c804b99210d4","title":"\u041a\u0430\u043a\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u043d\u0430 DTF \u0438 \u043a\u0442\u043e \u0435\u0451 \u0443\u0432\u0438\u0434\u0438\u0442","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"75ec9ef4-cad0-549d-bbed-1482dc44e8ee","isPaidAndBannersEnabled":false}

Петли против ветвей: как работает генерация цикличных локаций в Unexplored Статьи редакции

Обычно у сгенерированных уровней ветвящаяся структура, но студия Ludomotion решила пойти иным путём.

Блогер и исследователь игр Томми Томпсон опубликовал в своём блоге текст, в котором рассказал о принципах генерации игрового мира в роуглайк данжен-кроулере Unexplored. Он объяснил, как система самостоятельно собирает окружение и делает локации интересными и удобными для прохождения. Мы выбрали из текста главное.

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

Для локаций, сгенерированных системами, свойственно ветвление, а не зацикленность — начиная в стартовой точке, игрок натыкается на разветвления, каждое из которых может привести к выходу, боссу, награде или тупику. Конечно, такая тенденция заметна исключительно на крупных картах с множеством развилок. Тем не менее разработчики научились делать так, чтобы подобная структура ничуть не раздражала пользователей. К примеру, в Dead Cells в тупиках чаще встречаются порталы, возвращающие героя к последней развилке.

Локации Unexplored отличаются тем, что они сравнительно небольшие, но сложные по структуре. Как правило, алгоритм генерации уровней фокусируется на поиске пути от старта к финишу — если такая дорога есть, то система добавляет разные функции к локации. Однако в генерации циклов существует не только путь от начала к концу, но и другой путь, который возвращается к началу. И эта особенность лежит в основе всего левелдизайна Unexplored.

В этот цикл может быть встроен определённый игровой паттерн. К примеру, один путь может быть коротким, а другой — длинным. Или же пути могут различаться степенью риска и размером награды. Есть множество способов добавить разнообразия в такие подземелья, так что всё зависит от целей геймдизайнера.

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

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

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

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

Конечно, на локации не должна быть только одна петля — разработчики могут встраивать новые циклы в уже существующие. Паттерны задаются при помощи системы под названием Ludoscope — специального инструмента, который позволяет создавать миссии, используя определённый набор правил и шаблонов. Сам Ludoscope представляет собой абстрактную среду, которая никак не привязана к Unexplored — в инструмента задаётся определённая грамматика, а игра интерпретирует её в виде конкретного уровня.

Важно понимать, что изначально в структуре уровня прописана только логика, но никак не пространственное расположение комнат и узлов. Это значит, что в оригинальном плане присутствует описание примерно такого вида: комната В находится между А и С. Чтобы превратить эти данные о структуре уровня в полноценную локацию, используется генератор, который умеет анализировать изначальные условия и превращать их в связанные тайлы.

В основе всех уровней в Unexplored лежит сетка, состоящая из взаимосвязанных пустых узлов. Затем генератор запускает процесс создания петли на уровне. После этого начинается итеративный процесс превращения этой структуры в тайловую карту — сперва карта низкого разрешения, но постепенно оно возврастает.

После этого на уровне размещаются остальные элементы — враги, сундуки, ловушки, двери, ключи.

0
Комментарии
Читать все 0 комментариев
null