30 декабря 2007
Обновлено 17.05.2023

Тибериумные войны. Редактор карт для C&C 3: Tiberium Wars. Часть 2

Тибериумные войны. Редактор карт для C&C 3: Tiberium Wars. Часть 2 - изображение обложка

В предыдущей статье по модифицированию Command & Conquer 3: Tiberium Wars мы изучили основы создания уровней — познакомились с особенностями ландшафтного дизайна и текстурированием, научились добавлять на карту объекты и производить над ними различные манипуляции.

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

Продвинутый картострой

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

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

Чтобы закончить формирование плоскогорья, кликните по кнопке Place Ramp в окне Ramp Options. При необходимости вы можете установить произвольную ширину наклонной плоскости. Для этого достаточно задать цифровое значение в поле Ramp Width окна Ramp Options.

Зачастую при формировании ландшафта опытные картостроители используют инструмент Terrain Copy Tool. Данный терраформер служит для скоростного копирования определенных участков местности. Рассмотрим принцип работы данного инструмента более подробно. Для выбора модификатора щелкните по кнопке Terrain Copy Tool с изображением двух темных листков на панели инструментов (16-я кнопка от конца списка). Далее при помощи мыши с зажатой левой кнопкой выделите на карте тот фрагмент ландшафта, копию которого хотите получить. После этого в окне Copy Terrain Options поставьте флажок напротив пункта Copy Mode и щелкните левой кнопкой мышки по той области на уровне, где хотите поместить клон.

При необходимости вы можете поэкспериментировать с настройкой атрибутов копирования из поля Copy Options : например, повернуть матрицу (это форма для создания будущего дубликата, полученная на основе выделенного фрагмента) на произвольный угол (характеристика Angle ), перевернуть (зеркально отразить) участок по горизонтали или вертикали (атрибуты Horizontally и Vertically поля Flip ).

Флора

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

Попрактикуемся в озеленении. Щелкните по кнопке со схематичным изображением дерева на панели инструментов. В окне Grove Options настройте параметры выбранного инструмента следующим образом. В полях из области % установите произвольную частоту расстановки деревьев на уровне в процентах, оптимальный вариант — 30%. Затем в каждом из пяти раскрывающихся списков поля Tree Type выберите определенный тип насаждений. Все пять полей лучше наполнить отличными друг от друга элементами. Когда закончите, впишите в поле Total Tree Count общее число объектов, которые вы планируете поместить на карту.

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

Начинающим картостроителям

Несколько советов начинающим картостроителям:

  • Старайтесь размещать крупногабаритные объекты либо по центру карты, либо в ее фронтальной части. При повороте камеры во время игры геймеры будут видеть лишь эти самые массивные конструкции. В то же время все мелкие объекты, расположенные вблизи данных сооружений, будут скрыты от глаз игроков.
  • Тестируйте уровни как можно чаще в самой игре. Только при таком подходе вы сможете выловить серьезные технические баги (объекты висят в воздухе, ограничено движение по основным областям уровня, персонажи сбиваются с пути, следуя по заданному вами маршруту), а также недочеты в балансе (соперник слишком быстро расправляется с вами, ресурсов не хватает).
  • Не забывайте добавлять на уровни различные звуковые эффекты. Все игровые звуки расположены в директории Neutral\Audio библиотеки объектов.
  • Используйте команду Validation/Fix Teams для устранения ошибок, связанных c настройкой параметров команд.

Пути-дороги

Все юниты в C&C 3: Tiberium Wars, как и в большинстве других игр (например, Titan Quest , Far Cry или GTA: SA ), перемещаются по контрольным отметкам (вейпойнтам). От заданной траектории они ни на шаг не отступают, кроме исключительных ситуаций, вызываемых игроком. Нет путевых отметок — нет движения.

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

Научимся добавлять одиночные вейпойнты на карту местности. На панели инструментов в верхней части редактора выберите инструмент Waypoint Tool (33-й от начала, альтернативный вариант — горячая клавиша W ). Щелкните левой клавишей мышки по произвольному месту на карте, чтобы создать базовый вейпойнт. Чтобы продолжить построение цепочки с обозначенного звена, кликните левой кнопкой мыши по первому чекпойнту и, не отпуская ее, переместите мышь в произвольную область на уровне. Когда закончите, отпустите левую клавишу мыши. Вы увидите, что первый и последующий за ним вейпойнт будут соединены тонкой линией красно-черного цвета. Это и есть траектория движения для игровых юнитов.

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

Теперь давайте разберем основные параметры вейпойнтов из окна Waypoint Options. В первой, безымянной строке задается имя путевого узла. В данное поле вы можете ввести произвольное название контрольной отметки на английском (без пробелов), например Igromania. Атрибуты X , Y и Z поля Waypoint Location определяют местоположение вейпойнта на карте. Раскрывающийся список List of Current Waypoints содержит перечень контрольных отметок, которые вы поместили на карту. В любом из полей области Waypoint Path Labels вы можете вбить дополнительные имена для одного и того же вейпойнта. Характеристика Waypoint поля Options определяет тип вейпойнта. Как правило, при создании одиночных и мультиплеерных карт применяют вейпойнты типа Normal (обычные).

Нередко при создании путевых отметок прибегают к использованию инструмента Polygon Tool (следует за Waypoint Tool, порядковый номер 34 на панели инструментов). Работать с ним несколько проще, чем с Waypoint Tool. Активировали инструмент, обозначили щелчками левой кнопки мышки маршрут следования, задали необходимые атрибуты в окошке Waypoint Options — и все. Удаление вейпойнтов, созданных с помощью инструментов Waypoint Tool и Polygon Tool, производится исключительно в режиме работы с объектами.

Командная игра

Изначально в редакторе C&C 3: Tiberium Wars существует три фракции — GDI , Civilian и Neutrals. Внутри каждой из перечисленных групп действует несколько команд, выполняющих разные цели: рядовые, строители, атакующие и так далее.

Обозначим в редакторе новый класс — игрока с именем Igromaniak , после чего создадим для него несколько подгрупп. Для вызова редактора игроков выберите пункт меню Edit/Edit Player list или воспользуйтесь комбинацией клавиш Ctrl+Alt+P. Перед вами появится окно, в котором будет отображен текущий список игроков и их параметры (напоминаем, что игрок в Tiberium Wars — не более чем объект, условное название).

Чтобы создать нового игрока, первым делом щелкните по кнопке New Player. В открывшемся окне выберите из раскрывающегося списка фракцию, к которой будет принадлежать игрок, — скажем, FactionAlien. Сделали? Отлично, переходим к настройке свойств игрока. Для задания внутреннего имени (используется игровым движком) игроку щелкните по кнопке Change Name поля Properties и в появившемся окне вбейте произвольное буквосочетание на английском.

Атрибут Display Name определяет имя игрока, которое будет использоваться для вывода на экран во время игры. Параметры Color и Radar Color отвечают за цвет команды на мини-карте и цветовую гамму радара. Характеристика Faction определяет принадлежность игрока к одной из фракций. Интересных результатов можно добиться изменив значение данного атрибута на FactionRandom : в этом случае игра сама определит — к какой группировке отнести игрока.

Следующий по списку атрибут — AI Type — задает тип искусственного интеллекта игрока. Характеристика Faction Icon указывает на иконку определенной группировки. В поле Allies содержится список союзников, а в Enemies — перечень соперников. В полях How Player Regards Other и How Others Regard Player собрана информация о том, как конкретный игрок относится к другим игрокам и как они относятся к нему. Наконец, в нижней области формы, в поле Initial AI State , устанавливается модель поведения юнитов в зависимости от определенного уровня сложности (вкладки Easy , Normal , Hard , Brutal ). Когда завершите редактирование параметров, щелкните по кнопке Ok , сохранив тем самым изменения.

Давайте поговорим о создании новых команд (отрядов) для только что созданного игрока. Для вызова редактора команд воспользуйтесь комбинацией Ctrl+Alt+T или щелкните по кнопке Edit Teams на панели инструментов (5-й инструмент от конца списка). Откроется окошко Team Builder. Создание новой команды проходит в несколько этапов. Сначала нужно вызвать окно редактирования шаблона команды. Для этого щелкните по кнопке Add New Team в нижней части окна Team Builder. В открывшемся блоке Edit Team Template необходимо определить базовые характеристики команды (вкладка Identity ), задать определенную модель поведения участникам команды ( Behaviour ), определить для юнитов скрипт ( Generic ).

Фракционное редактирование

Приступим. Загляните во вкладку Identity. В безымянное поле, расположенное непосредственно под закладкой Identity , напечатайте название будущей команды — например, Igromania. Затем из раскрывающегося списка Owner выберите одну из сторон, к которой будет принадлежать группировка. После этого установите стартовую позицию (вейпойнт) для команды в поле Home Position.

Значение параметра Destination (назначение) оставим нетронутым — на начальной стадии разработки сценария оно нам не понадобится. Чтобы наделить компьютерных соперников интеллектом (естественно, искусственным, и никаким другим), выберите из списка AI Type один из следующих атрибутов: ATTACK_TEAM (атакующая команда), DEFFANCE_TEAM (обороняющаяся группировка) или EXPLORE_TEAM (исследовательский отряд).

Разберем предназначение основных характеристик поля Production. Атрибут Priority определяет строительные приоритеты команды. Чем больше его значение, тем больше внимания юниты будут уделять строительству сооружений. Значение данного параметра не может быть дробным или отрицательным. Следующая характеристика — Build for — задает время строительства/ремонта строений данной командой. Разработчики рекомендуют присвоить данному атрибуту значение 30. Успех строительной бригады напрямую зависит от значения атрибута Success Priority , а провал, соответственно, от параметра Failure Priority Decrease.

В каждой строке, расположенной под комментариями Min. , Max. и Unit Type , выберите из раскрывающегося списка произвольный юнит, который будет включен в состав команды, установите для него любые значения минимума и максимума, после чего настройте свойства объектов по своему разумению (кнопка Properties ).

Следующий интересующий нас блок параметров — Recruitment Options. Если вы поставите флажок напротив пункта Automatically reinforce whenever possible , то этим организуете поддержку данного подразделения другими дружескими группировками. Поставите галочку напротив комментария Team members are AI recruitable — члены команды смогут быть завербованы компьютером во время игры. Наконец, последняя группа характеристик в данной вкладке ( Team Description ) содержит всего лишь один-единственный параметр — краткое описание команды.

С редактированием параметров категории Identity мы закончили. Перемещаемся на закладку Behaviour и приступаем к редактированию атрибутов, отвечающих за модель поведения юнитов. Фактически нас интересует лишь три параметра из данной категории — Initial Team Behaviour , Attack и Team Events List. Первая характеристика задает уровень агрессивности AI (можно выбрать из шести возможных вариантов — Peaceful , Sleep , Passive , Normal , Alert и Aggressive ). Значение в поле Attack определяет, будет ли команда преследовать одну-единственную цель в режимах Hard и Brutal. Третий атрибут — Team Events List — задает действия, которые должны выполнить участники команды.

Вкладку Generic мы обойдем стороной, поскольку пока еще не изучили основы скриптописания под C&C 3: Tiberium Wars. Чтобы сохранить изменения и покинуть подпрограмму, нажмите Ok.

Оптимизация

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

Проверьте, сколько объектов размещено на карте. Лучше не превышать установленный лимит в 1 800 моделей для одиночных сценариев и 100 элементов для мультиплеерных карт. В противном случае это может негативно сказаться на скорости загрузки карты и вызвать тормоза во время самой игры. Число добавленных на уровень юнитов отображается в строке состояния в левом нижнем углу экрана (параметр Objs ).

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

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

* * *

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

Не стесняйтесь присылать свои работы на электронный ящик «Игровой зоны» — gamezone@igromania.ru: лучшие из ваших творений будут опубликованы на нашем диске.

Все вопросы, которые у вас возникнут в ходе освоения редактора WorldBuilder, присылайте по адресу gamedev@igromania.ru. На самые интересные из них мы непременно ответим в рамках игростроевской «Горячей линии».

Комментарии
Чтобы оставить комментарий,Войдите или Зарегистрируйтесь