Как я могу гарантировать, что процедурные уровни в РТС справедливы?


10

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

Как я могу обеспечить честное игровое поле при процедурном создании уровней для RTS?


4
Он постепенно исчезает с возрастом, но я бы порекомендовал поискать информацию о том, как работают сценарии генерации случайных карт в играх Age of Empires. Это были текстовые файлы, которые игроки могли редактировать, описывающие, как генерировать стычки разных типов. Я помню, что у них были методы, чтобы устанавливать патчи и кластеры определенной местности / реквизита, справедливо размещать такие вещи, как ресурсы, чтобы они были гарантированно доступны, и прорезать пути через местность, чтобы игроки могли достигать друг друга. Изучение того, как работали их рецепты, должно дать вам несколько собственных идей.
DMGregory

2
Вы не упоминаете, является ли ваш RTS одиночным человеком или мультиплеером. Если человек один, баланс может быть достигнут путем изменения поведения ИИ в соответствии с навыком игрока. Другими словами, ИИ может иметь доступ к большему количеству ресурсов, чем игрок, но игра настраивает, насколько агрессивно они используют эти ресурсы, в зависимости от того, насколько агрессивно игрок выполняет атаки или использует свои ресурсы.
Марк Рипли

1
Для того, чтобы добавить к тому , что сказал Марк, какой вид баланса вы ищете? Что вы используете карты для достижения?
Николь Болас

Ответы:


26

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

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

Это тот тип контекста дизайна, о котором я думаю, что формулирую фактический ответ на вопрос:


Если симметрия действительно имеет значение для вас, вы можете просто процедурно сгенерировать кусок уровня и затем отразить этот уровень по обеим осям. Блок, который вы генерируете, составляет в основном одну четверть уровня, и вы отражаете его так, чтобы каждый квадрант был одинаковым. Например, процедурная карта высот со случайно распределенными депозитами ресурсов:

введите описание изображения здесь

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

введите описание изображения здесь

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

Например, вы можете решить перекатить нижний левый квадрант, потому что в нем слишком много воды (красного цвета) или квадрантов, содержащих зеленый, потому что они слишком тактически выгодны (потенциальные узкие места каньона):

введите описание изображения здесь

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

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

введите описание изображения здесь


2
Спасибо, это будет хорошо работать с моей системой чанков. Люди кажутся смущенными моим "но ленивым" заявлением. Я не художник, и я нахожу шум и создание сетки более интересными.
Джеймс Па

2
@JamesPae: « Я не художник » Дизайн уровней - это не искусство . Это про геймплей. Итак, вопрос в том, нравится ли вам дизайн игр?
Николь Болас

8
@JamesPae, если вы не можете создать интересный уровень, вам будет очень трудно превратить ваш процедурно созданный уровень в удовольствие. Я предлагаю вам создать хотя бы один уровень, чтобы вы могли узнать, что будет весело, прежде чем писать свой генератор
Evorlor

2
@ Эворлор говорит, что ему это не нравится, не то чтобы он не мог этого сделать. Почему все игнорируют этот момент все время?
Давор

5
Почему все воспринимают все так буквально? Он явно шутил с этим утверждением. Я понимаю точку зрения ОП, да, они могут создать несколько уровней вручную, но тогда у вас останется столько уровней, сколько вы создали. Если вы потратите те же усилия на создание хорошего генератора уровней, у вас есть потенциально бесконечные уровни для использования. У людей разные взгляды и взгляды. Кому-то может понравиться создавать великие уровни вручную, кому-то действительно нравится делать большой генератор уровней.
JamEngulfer

7

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

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

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

На другом конце спектра манипулирования тайлами игроки могут манипулировать тайлами карты. В этом решении игра начинается с начальной карты. Исходная карта может быть симметричной или «достаточно честной» при использовании любого из других ответов.

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

  • вращать плитку
  • поменять плитки (смежные или иные)
  • зеркальная плитка
  • толкать ряд или столбец плиток (плитка, которая может упасть с края, оборачивается вокруг)

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

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

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

2

Пусть алгоритм генерации вашей карты генерирует симметричные уровни, генерируя уровень, отражая его и размещая каждого игрока на одной стороне. Карту для четырех игроков можно создать, отразив ее на осях X и Y.

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

Другой вариант - создать карту без этой уловки симметрии, но затем показать игрокам всю карту и дать каждому игроку возможность свободно выбирать свое начальное местоположение.


1

Один из подходов заключается в использовании других факторов, чтобы сбалансировать карту. Возможно, вы сможете автоматизировать это, используя некоторые алгоритмы анализа карт и предоставляя дополнительные стартовые ресурсы для мест, которые считаются ущемленными. Кроме того, вы можете использовать самих игроков для этого шага. Текущий пример этого - использование реверсивного аукциона в режиме показа в Offworld Trading Company (OTC) для обоснования вашей первоначальной заявки (то есть выбора местоположения стартовой базы):

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

Я не помню, было ли это интервью « 3 шага впереди» или « Круглый стол по дизайну игры» , но в одном из них Сорен Джонсон (разработчик) говорит, что этот механизм существенно меняет проблему с картой: «могу ли я сначала найти лучшее местоположение» в Насколько хорошо это 2-е лучшее место на карте. "

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.