Генератор миссий

Автор: Alex_P от 18 Декабрь 2011.

Представляем вашему вниманию онлайн версию руководства по генератору миссий DCS: A-10C и DCS: Чёрная Акула 2.

Данный документ поставляется в комплекте с игрой. Он расположен в папке ..\Doc\Tester reference\.

Генератор миссий

Возможности

Генератор позволяет создавать разнообразные миссии, где могут варьироваться все основные параметры. Количество и состав войск, место действия, погода, время начала миссии, направление движения войск и пр. На данный момент реализован только тип миссий «сражение», которого должно хватить, чтобы, можно было полетать для фана. Не утруждая себя поиском новых миссий, не вникая в хитросплетения их сюжета, отработать технику уничтожения различных целей, ну или спасения от них.

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

Пользовательский интерфейс

Существуют две части интерфейса генератора миссий. Первая – это диалог запуска генератора, то есть интерфейс игрока. Здесь можно настроить текущие параметры генератора (звено игрока, погода, место боя и время) и собственно создать миссию. Диалог доступен из главного меню и выглядит так. Также есть его упрощённая версия.

1

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

Вот, например, диалог настройки шаблонов:

2

Как это работает

Перед тем как настраивать генератор нужно рассказать, что именно будет настраиваться.

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

Для генерации сражений требуется:

  1. Список узлов. То есть список мест (точек на карте) где могут происходить сражения. Узел включает позицию красной и синей коалиции и список доступных для каждой коалиции шаблонов (о них строчкой ниже), которые могут быть применены в этом узле.
  2. Список шаблонов. Шаблон – это способ расстановки войск, он не привязан к конкретной точке на карте. Основное, что содержит шаблон – это список групп юнитов, с указанием поведения для каждой группы (атака, артиллерийская атака, атака с воздуха, следование по произвольному пути) и начальной расстановкой групп. Шаблоны были усложнены, чтобы на основе одного шаблона, можно было сгенерировать достаточно разнообразную расстановку войск, где может изменяться позиция и состав техники. Для этого вместо точной позиции указывается – зона расположения войск, а вместо конкретных групп – список возможных групп. Подробнее о шаблонах я расскажу позже. Пока достаточно знать, что они задают расстановку войск в локальной системе координат.
  3. Набор статических данных по симулятору, редактируемых вручную. Туда входят: список отрядов (наземной техники, самолётов, вертолётов), начальные позиции техники в наземных группах, подвески летательных аппаратов по умолчанию, расцветки летательных аппаратов по умолчанию, набор пресетов погоды, привязанных к сезону. Также в эти данные входит список всех стран и привязка стран к коалициям (во всех генерируемых миссиях коалиции заданы заранее). В общем, много всего.

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

Сама генерация происходит достаточно просто. Если опустить особенности построения пути, алгоритм генерации таков:

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

На картинке ниже показан, показан пример генерации миссии в выбранном узле, с заданными шаблонами.

3

Узлы, редактирование узлов

Как уже было сказано, узлы - это точки на карте, где предполагаются сражения. Список предопределённых узлов хранится в файле MissionEditor\data\MissionGenerator\GeneratorData\nodes{TOW}.lua.

Если пользователь будет менять узлы из редактора, они будут сохранятся в пользовательскую папку и подхватываться оттуда.

DocumentsAndSettings\{UserName}\SavedGames\DCS Warthog\MissionEditor\nodes{TOW}.lua

Для редактирования узлов можно воспользоваться утилитой в редакторе миссий. Так что можно устроить эпическую битву в любом месте по своему желанию. Утилита находится здесь:

4-1

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

4

Шаблоны, редактирование шаблонов

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

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

5

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

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

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

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

  • aAtackAir (для авиагрупп) – атака воздушных целей (CAP).
  • aAtackGround(для авиагрупп) – атака наземных целей (CAS).
  • aAWACS(для авиагрупп) – для самолёта ДРЛО (надо поставить E-3A).
  • gAtack – движение в сторону противника для наземных войск
  • gArtAtack – для артиллерии, двигаться в сторону противника, остановиться и открыть огонь на допустимом расстоянии
  • gStay – ничего не делать
  • gJtac – группа с юнитом JTAC (синяя коалиция)

Флаг "isTarget" показывает является ли группа целью для других юнитов. То есть, будут ли юниты с поведением gAtack и gArtAtack атаковать её. Атакуемая группа должна помимо того иметь поведение gStay, иначе, если она куда-то уедет, а атакующая её артиллерия даже на заметит что атакует пустоту. Атакующие же танки доехав до её начального расположения, с сожалением узнают, что зря ехали.

Возможный состав роты определяется в списке «possible companies» - это список возможных составов рот. Например: артиллерийская рота может состоять из 4 отрядов «Гвоздик» или трёх отрядов «Нон» или 3х отрядов «Нон» и отряда поддержки или вообще там ничего может не быть. Списки отрядов в роте редактируются в разделе «possible platoons».

В диалоге также есть 3 уровня состава войск. Минимальный, средний и максимальный. При генерации миссий один из этих уровней будет выбран в зависимости от заданного игроком уровня сложности и количества войск того или иного типа. Например, на уровне «Min» в ней 2 танковых отряда, а на «Hard» - 5 отрядов + отряд поддержки. Состав соответствующего уровня есть – выбирается он, если нет – выбирается состав роты с более низким уровнем сложности.

Также в диалоге шаблонов можно выбрать один или несколько вариантов начального расположения групп - «dispose». Тут задаётся то, в каком порядке встанут машинки в начале симуляции (колонной, шеренгой, просто разбросаны произвольно).

6

7

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

Шаблоны, также как и узлы хранятся в своём lua файле MissionEditor\data\MissionGenerator\GeneratorData\templates{TOW}.lua и могут редактироваться вручную.

Пользовательский файл шаблонов - DocumentsAndSettings\{UserName}\SavedGames\DCS Warthog\MissionEditor\templates{TOW}.lua

Прочие данные

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

Все эти данные лежат в следующих lua файлах, в папке MissionEditor\data\MissionGenerator\GeneratorData:

Файл

Таблица

Описание

others.lua

platoons

Все возможные отряды представленные в генераторе.

startPositions

Начальные позиции групп (шеренга, колонна, произвольные позиции). Например сюда можно добавить шаблон расстановки ПВО.

pylons

Подвески летательных аппаратов

coalitions

Страны по коалициям. Также для каждой страны указывается вероятность её появления на поле боя

scoreMessages

Фразы которые выдаются при достижении игроком определённого числа очков

localizedStrings

Строки из брифинга (описание целей миссии и т.п.)

environment.lua

sesons

Времена года с указанием температуры и светового дня.

weather

Пресеты погоды.

Добавить комментарий

Защитный код
Обновить

Крайние комментарии

Новое на форуме

  • Нет сообщений для показа