Генератор миссий
Представляем вашему вниманию онлайн версию руководства по генератору миссий DCS: A-10C и DCS: Чёрная Акула 2.
Данный документ поставляется в комплекте с игрой. Он расположен в папке ..\Doc\Tester reference\.
Генератор миссий
Возможности
Генератор позволяет создавать разнообразные миссии, где могут варьироваться все основные параметры. Количество и состав войск, место действия, погода, время начала миссии, направление движения войск и пр. На данный момент реализован только тип миссий «сражение», которого должно хватить, чтобы, можно было полетать для фана. Не утруждая себя поиском новых миссий, не вникая в хитросплетения их сюжета, отработать технику уничтожения различных целей, ну или спасения от них.
Для достижения такой идиллии, генератор самостоятельно располагает на карте наземные и воздушные группы юнитов, включая звено игрока, задаёт им пути в соответствии с задачами каждой группы и учётом рельефа местности. Поддерживаются следующие группы юнитов: штурмовики, вертолёты, наземная техника (атакующая, артиллерия, транспортные колонны). Для каждого типа войск реализован набор базовых задач (атака, следование по пути и т.п.). Также генератор задаёт настройки погоды, время суток и цели игрока. Больше пока ничего не делает.
Пользовательский интерфейс
Существуют две части интерфейса генератора миссий. Первая – это диалог запуска генератора, то есть интерфейс игрока. Здесь можно настроить текущие параметры генератора (звено игрока, погода, место боя и время) и собственно создать миссию. Диалог доступен из главного меню и выглядит так. Также есть его упрощённая версия.
Вторая часть интерфейса предназначена для создателей миссий. Это два диалога для редактирования узлов и шаблонов генератора (фактически основы для генерируемых миссий). Шаблоны предоставляют гибкий инструмент для настройки миссий, и не сводятся только к наземным сражениям. Расширив набор шаблонов, можно создавать миссии разных типов (преследование транспортной колонны, воздушный бой, геноцид беззащитного населения и т.п.).
Вот, например, диалог настройки шаблонов:
Как это работает
Перед тем как настраивать генератор нужно рассказать, что именно будет настраиваться.
Ввиду большого размера и разнородности территории, генератор не анализирует территорию самостоятельно, а использует для расстановки войск на карте заранее предопределённые данные.
Для генерации сражений требуется:
- Список узлов. То есть список мест (точек на карте) где могут происходить сражения. Узел включает позицию красной и синей коалиции и список доступных для каждой коалиции шаблонов (о них строчкой ниже), которые могут быть применены в этом узле.
- Список шаблонов. Шаблон – это способ расстановки войск, он не привязан к конкретной точке на карте. Основное, что содержит шаблон – это список групп юнитов, с указанием поведения для каждой группы (атака, артиллерийская атака, атака с воздуха, следование по произвольному пути) и начальной расстановкой групп. Шаблоны были усложнены, чтобы на основе одного шаблона, можно было сгенерировать достаточно разнообразную расстановку войск, где может изменяться позиция и состав техники. Для этого вместо точной позиции указывается – зона расположения войск, а вместо конкретных групп – список возможных групп. Подробнее о шаблонах я расскажу позже. Пока достаточно знать, что они задают расстановку войск в локальной системе координат.
- Набор статических данных по симулятору, редактируемых вручную. Туда входят: список отрядов (наземной техники, самолётов, вертолётов), начальные позиции техники в наземных группах, подвески летательных аппаратов по умолчанию, расцветки летательных аппаратов по умолчанию, набор пресетов погоды, привязанных к сезону. Также в эти данные входит список всех стран и привязка стран к коалициям (во всех генерируемых миссиях коалиции заданы заранее). В общем, много всего.
Соответственно разнообразие генерируемых миссий напрямую зависит от количества узлов и шаблонов. Для редактирования узлов и шаблонов есть специальные утилиты в редакторе миссий.
Сама генерация происходит достаточно просто. Если опустить особенности построения пути, алгоритм генерации таков:
- Произвольно выбирается узел на карте.
- Для каждой стороны произвольно выбирается шаблон расстановки войск, из допустимых для этого узла.
- В соответствии с шаблоном расставляются войска для каждой коалиции.
- Выставляется погода, цели игрока, время начала миссии.
На картинке ниже показан, показан пример генерации миссии в выбранном узле, с заданными шаблонами.
Узлы, редактирование узлов
Как уже было сказано, узлы - это точки на карте, где предполагаются сражения. Список предопределённых узлов хранится в файле MissionEditor\data\MissionGenerator\GeneratorData\nodes{TOW}.lua.
Если пользователь будет менять узлы из редактора, они будут сохранятся в пользовательскую папку и подхватываться оттуда.
DocumentsAndSettings\{UserName}\SavedGames\DCS Warthog\MissionEditor\nodes{TOW}.lua
Для редактирования узлов можно воспользоваться утилитой в редакторе миссий. Так что можно устроить эпическую битву в любом месте по своему желанию. Утилита находится здесь:
Она позволяет редактировать положение узлов, задавая позиции, отдельно для синей и красной коалиции и выбирать доступные в текущем узле шаблоны. Узлы можно перетаскивать по карте, менять имя узла, вводить позиции сторон вручную (при этом используется система координат симулятора), редактировать списки доступных шаблонов. Для узла и выбранных шаблонов можно сразу же сгенерировать миссию, чтобы посмотреть удачно ли подходит шаблон. Так выглядит утилита:
Шаблоны, редактирование шаблонов
Диалог редактирования шаблонов среднестатистического пользователя бросает в дрожь, поэтому я не буду приводить его сейчас, а опишу на словах. Итак, шаблон – это вариант расположения войск. Например, шаблон «масштабная атака красных», или «миротворцы под прикрытием» красных. При добавлении узлов, нужно следить чтобы в них попадали только совместимые шаблоны.
Шаблон задаёт расположение рот наземной техники, авиационных групп, а также начальное положение звена игрока. Под расположением роты понимается возможная позиция групп техники, входящей в роту, которая задаётся относительно переднего края войск в метрах. На рисунке показано возможное положение артиллерийской роты. Стоит сказать, что отряды в роте равномерно будут разбросаны по этой территории, а не сосредоточены в одном месте. Размер квадрата, также никак не связан с количество войск в нём, а только задаёт границы допустимой зоны рождения групп юнитов.
В шаблоне может быть произвольное количество рот наземной техники, самолётов и вертолётов. По такой же схеме задаётся расположение звена игрока.
Также стоит сказать, что шаблон приписан к коалиции, а не к стране. И может включать в себя любую технику, независимо от того к какой стране она приписана в базе данных.
Если сейчас посмотреть на диалог редактирования шаблонов, то можно увидеть, что всё описанное до этого (название, список участвующих рот и позиция игрока) задаются в левой части диалога. Правая часть нужна для редактирования каждой роты шаблона. Там задаётся имя роты, позиция, начальная расстановка юнитов в группах, поведение роты, является ли она целью для врага и возможный состав. На последних трёх пунктах стоит остановиться подробнее.
Поведение роты определяется, какой путь и какая задача будут выставлены группам юнитов, входящим в роту. Поддерживаются следующие виды поведения:
- 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». Тут задаётся то, в каком порядке встанут машинки в начале симуляции (колонной, шеренгой, просто разбросаны произвольно).
Расположение рот можно редактировать, перетаскивая и растягивая соответствующие им зоны (прямоугольники) на карте. Для этого должен быть выделен какой-либо узел, т.к. вне узла шаблоны рисоваться сейчас не умеют.
Шаблоны, также как и узлы хранятся в своём 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 |
Пресеты погоды. |
Комментарии
RSS лента комментариев этой записи