Stoneshard Wiki

Генерация столкновений

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

Содержание

Что описывает эта статья о генерации

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

«Запросить 3» — это цель, которой пытается достичь генератор. Она не гарантирует три места в каждом сохранении и фиксированное число врагов при входе. Сведения о существах, ресурсах и возрождении ищите в статье соответствующего события.

Целевые запросы и фактический результат

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

Целевые запросы и фактический результат
КатегорияЦель генератораКак это понимать
Лагеря35 запрошенных позицийPoint of Interest; шаблон и вариант выбираются отдельно
Места монстров3 запроса для каждой из 6 концепцийЦель не равна гарантированному числу созданных мест: кандидатов может не хватить
Охотничьи угодья3 запроса для каждой из 7 концепцийКонцепции событий карты используют тот же процесс размещения, что и места монстров

Как отбираются клетки-кандидаты

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

Как отбираются клетки-кандидаты
ЭтапПоведение источникаКак это понимать
Исходные кандидатыОтбор по биому, лесному коэффициенту, Wilderness, безопасной зоне столкновений и занятостиКлетка попадает в пул только после этих проверок
Этап смягчения 1Wilderness > 40, остальные основные ограничения сохраняютсяБолее низкий порог не отменяет требования к рельефу
Этап смягчения 2Wilderness > 30Это по-прежнему отбор кандидатов, а не принудительная координата
Этап смягчения 3Wilderness больше не сравнивается, но безопасная зона столкновений сохраняетсяПул расширяется, но всё ещё может оказаться пустым
Этап смягчения 4Биом сохраняется, повторение того же класса в зоне разрешается, лесное ограничение корректируетсяДаже последний запасной вариант может не достичь цели

Как используются пулы кандидатов

Генератор берёт позицию из клеток-кандидатов и переходит к следующему запросу. Если позицию выбрать нельзя, оставшиеся запросы прекращаются; если для вида источника ничего не создано, комната перезапускается. Даже после создания хотя бы одного места цель может остаться невыполненной.

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

Как используются пулы кандидатов
Вариант лагеряПул шаблоновПовторное использование
Обычный лагерь бандитов15 шаблоновВыборка без возвращения, затем пополнение пустого пула
Речной и степной лагерь бандитов4 шаблонаПовторение по речному кадру или выборка без возвращения
Лагерь, занятый ползунами3 шаблонаВыборка без возвращения
Лагерь, занятый смертожалами3 шаблонаВыборка без возвращения

Охват шаблонов мест монстров

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

Охват шаблонов мест монстров
Концепция местаЦель размещенияПул шаблонов
Нора ползунов3 запроса на концепцию3 шаблона сцены
Улей смертожалов3 запроса на концепцию6 шаблонов сцены
Логово упырей3 запроса на концепцию3 шаблона сцены
Логовище гулонов3 запроса на концепцию1 шаблон сцены
Гнездо гарпий3 запроса на концепцию3 шаблона сцены
Троллиное урочище3 запроса на концепцию3 шаблона сцены

Когда игрок видит маркер

Обновление тумана на карте мира запускает процесс маркировки точек интереса. В соседстве радиусом в одну клетку вокруг текущей позиции проверяются ещё не обнаруженные клетки Point of Interest, Dungeon и Random Encounter, после чего записывается доступный для обнаружения слух о точке интереса. Это радиус обнаружения, а не фиксированная координата появления.

Чего эти правила не устанавливают

Координаты на карте-примере, показанное число маркеров и размеры пулов шаблонов не являются фиксированным результатом для каждого сохранения. Сбой создания, нехватка кандидатов и этапы смягчения могут изменить результат; одни правила размещения не позволяют предсказать следующий ход врага, добычу или награду за задание после входа через маркер.

Источники

Версия игры 0.9.4.25

  1. 0.9.4.25: инициализация мира и исходный код размещения столкновений
  2. 0.9.4.25: исходный код отбора клеток-кандидатов и смягчения
  3. 0.9.4.25: исходный код обнаружения на карте и пулов шаблонов
Наверх