Я видел, что симметрия и согласованность важны в дизайне уровней RTS, но я ленив и хочу создавать процедурно генерируемые уровни.
Как я могу обеспечить честное игровое поле при процедурном создании уровней для RTS?
Я видел, что симметрия и согласованность важны в дизайне уровней RTS, но я ленив и хочу создавать процедурно генерируемые уровни.
Как я могу обеспечить честное игровое поле при процедурном создании уровней для RTS?
Ответы:
Лично я нахожу симметрию в дизайне уровней скучной, и я не думаю, что это обязательно тот случай, когда это необходимо для честных уровней; Симметрия - это способ обеспечить всем доступ к одним и тем же ресурсам и одним и тем же узким местам благодаря тому, что уровень буквально отражается для каждого игрока в некотором роде. Я думаю, что важной частью является доступ (примерно) к тем же преимуществам и недостаткам. Не столько сама симметрия.
Я также считаю, что игра, сбалансированная таким образом, что все стороны имеют одинаковую силу и равные возможности, скучна. Вы явно не хотите полного дисбаланса этих факторов, но я думаю, что это может создать интересную динамику игры, чтобы предложить каждой стороне слегка изменяющиеся возможности и контрольно-пропускные пункты.
Это тот тип контекста дизайна, о котором я думаю, что формулирую фактический ответ на вопрос:
Если симметрия действительно имеет значение для вас, вы можете просто процедурно сгенерировать кусок уровня и затем отразить этот уровень по обеим осям. Блок, который вы генерируете, составляет в основном одну четверть уровня, и вы отражаете его так, чтобы каждый квадрант был одинаковым. Например, процедурная карта высот со случайно распределенными депозитами ресурсов:
Но, как я сказал выше, это кажется скучным. Более интересный подход может состоять в том, чтобы генерировать весь рельеф процедурно, но при размещении ресурсов обязательно ограничивайте каждый квадрант одинаковым числом каждого (в пределах некоторого допуска, чтобы обеспечить некоторую изменчивость). Возможно, вы захотите сместить размещение различных типов ресурсов в разные области (случайным образом, вблизи начальных точек, вблизи границ) в зависимости от важности ресурсов. Например:
Вы можете выполнить анализ сгенерированного изображения, чтобы попытаться найти края объекта - например, узкие каньоны, которые можно считать узкими местами. Вы можете решить перекатить генерацию ландшафта для части карты, если, например, она имеет гораздо больше или намного меньше узких мест или обнаруживает сходные признаки местности, чем другие. Вы также можете выполнить аналогичный анализ местности, чтобы убедиться, что каждый размещенный ресурс в некотором роде доступен.
Например, вы можете решить перекатить нижний левый квадрант, потому что в нем слишком много воды (красного цвета) или квадрантов, содержащих зеленый, потому что они слишком тактически выгодны (потенциальные узкие места каньона):
Вы также можете выбрать ручное управление генерацией своих функций; Вы можете вручную разместить определенные элементы, такие как река, разделяющая секции уровня или депозиты ключевых ресурсов, и впоследствии запустить процедурное генерирование так, чтобы оно сохраняло функции балансировки клавиш, размещенные вручную, при этом оставляя интересное и органичное разнообразие, которое вы хотите получить. процессуального поколения.
Например, сгенерированная местность, в которой сохраняется река, размещенная вручную, разделяющая карту пополам и покрытая лесом укрытия, обеспечивала дополнительную защиту вокруг баз:
В некоторых случаях может оказаться возможным полагаться на самих игроков, которые строят сбалансированные асимметричные карты, используя механику манипулирования плиткой.
На одном конце спектра вы можете позволить игрокам создавать карту, частично или полностью, выбирая и размещая плитки карты. Есть несколько способов, которые могут быть изменены:
На другом конце спектра манипулирования тайлами игроки могут манипулировать тайлами карты. В этом решении игра начинается с начальной карты. Исходная карта может быть симметричной или «достаточно честной» при использовании любого из других ответов.
Затем наступает фаза манипуляции с картой, на которой игроки могут выполнять некоторые из следующих действий:
Эти манипуляции могут быть выполнены по одному, и в этом случае один игрок будет иметь возможность реагировать на манипуляции с другими игроками, или игрок может поставить в очередь список изменений, которые будут выполнены. Кроме того, вы можете позволить игрокам манипулировать всей картой или ограничить их начальными областями.
Недостаток этого подхода заключается в том, что конечный результат должен быть защищен от нежелательных результатов - то есть манипулирования непроходимой горной цепью, так что часть карты становится недоступной. Возможные решения этого недостатка:
Пусть алгоритм генерации вашей карты генерирует симметричные уровни, генерируя уровень, отражая его и размещая каждого игрока на одной стороне. Карту для четырех игроков можно создать, отразив ее на осях X и Y.
Таким образом, карта будет одинаково хорошей (или плохой) для всех игроков. Побочный эффект, о котором вам нужно знать, заключается в том, что игроки узнают о позициях других игроков и о расположении других частей карты после изучения их собственных.
Другой вариант - создать карту без этой уловки симметрии, но затем показать игрокам всю карту и дать каждому игроку возможность свободно выбирать свое начальное местоположение.
Один из подходов заключается в использовании других факторов, чтобы сбалансировать карту. Возможно, вы сможете автоматизировать это, используя некоторые алгоритмы анализа карт и предоставляя дополнительные стартовые ресурсы для мест, которые считаются ущемленными. Кроме того, вы можете использовать самих игроков для этого шага. Текущий пример этого - использование реверсивного аукциона в режиме показа в Offworld Trading Company (OTC) для обоснования вашей первоначальной заявки (то есть выбора местоположения стартовой базы):
С течением времени стартовая задолженность по раннему основанию уменьшается. Это в конечном итоге превратится в стартовые деньги, если для того, чтобы найти последних 2 игроков, потребуется достаточно много времени. После того, как остался только один игрок, который не основал свой штаб, значения перестают меняться, и этот игрок больше не выигрывает от ожидания поиска.
Я не помню, было ли это интервью « 3 шага впереди» или « Круглый стол по дизайну игры» , но в одном из них Сорен Джонсон (разработчик) говорит, что этот механизм существенно меняет проблему с картой: «могу ли я сначала найти лучшее местоположение» в Насколько хорошо это 2-е лучшее место на карте. "
Преимущество этого решения позволяет создавать очень асимметричные карты. Недостатком является то, что вся карта открывается всем игрокам, по крайней мере, в начале. Внебиржевой подход также показывает базовые местоположения игроков. Другие механики, такие как блайнды, могут избежать раскрытия базовых локаций.