Как создать карту в battlefield 2
Обьясняю : Заходим в папку с нужной картой и извлекаем файл server.zip той карты, которая тебя интерисует. Потом находим папку Gamemodes в ней создаем папку gpm_coop - это будет раздел коопа. В папку gpm_coop копируем все из папки sp1 (это папка одиночной игры) потом все эти папки (не только sp1 и gpm_coop, А ВСЕ! все,что извлеклось из архива! ) обратно добавляем в ZIP архив с именем server.zip.
Что мы сделали ? Папка Gamemodes - хранит в себе режимы игры на данной карте. Мы создаем в ней папку с режимом кооп (т.е с ботами по сети). Игра с ботами по сети мало чем отличается от игры с ботами в одиночном режиме, поэтому мы копируем все из папки одиночного режима (sp1) в папку коопа (gpm_coop). Теперь обьясню, что хранит в себе каждая папка режима игры, например sp1. В ней находятся несколько или одна (!) папок например 16,32,64 - это разные модификации карты на 16,32 или 64 игрока. Выберите ту, на которой хотите поставить ботов. В каждой из этих подпапок (16,32. ) находится стратегия ботов-StrategicAreas.ai (файл с указанием как действовать ботам) и файл описания техники карты-файл GamePlayObjects.con (в этом файле можно заменять технику на карте)
Если ты все зделал, то кооп готов, осталось толко зделать так, чтобы игра BF2 об этом узнала.
Зайди в папку с картой и найди папку info.
Там будут картинки с логотипами карты и такой файл daqing_oilfields.desc (название файла зависит от карты!), но файл всеравно будет .desc
Открываем его в блокноте, видим примерно это -
Видишь, там указаны режимы игры ? Кооп и конгвест ? Я их выделил цветом.
У тебя в этом файле коопа не будет, ты его должен сам туда вписать. Думаю ума у тебя хватит, чтобы сравнить 2 файла, и найти различия. Может тебе программа сравнения файлов нужна AVC - скачай в файлах.
Создание уровней для Battlefield 2, часть 1
Battlefield 2 — несомненный хит, но есть в нем один недостаток: в одиночной игре маловато уровней для истинных джентльменов удачи. Карты очень быстро приедаются. Но этому горю легко помочь. С помощью редактора BF2Editor мы научимся создавать собственные уровни, где баталии разгорятся с новой силой.
Первое знакомство
Для начала выбираете Create New MOD . Вам предложат назвать свой мод. Правило здесь одно — в названии нельзя использовать пробелы между словами. Допустим, имя мода Xa Ba не подходит, а вот Xa_Ba (с нижним подчеркиванием вместо пробела) устроит редактор по всем статьям. Русские буквы лучше не применять. Назовите мод, к примеру, My_Level_01 .
Внешне редактор производит очень приятное впечатление. Панели, иконки — все сделано на самом высоком уровне. К тому же можно менять множество параметров интерфейса, в том числе подобрать собственную цветовую гамму. Зайдите в меню Tools/Options и откройте группу Environment . Вы получите доступ к цветовой схеме интерфейса редактора. Слева в таблице — название элемента, справа показан текущий цвет. Щелчок левой кнопкой мыши (далее ЛКМ) по любому образцу выведет на экран стандартное окно изменения цвета. Попробуйте, к примеру, поменять окраску элемента FaceColor . Внешний вид программы станет совсем другим.
Впрочем, внешний вид — дело десятое. Гораздо важнее функциональность, которую в BF2Editor обеспечивает сразу несколько мини-редакторов. Они используются в основной программе как встроенные плагины. К ним относятся: редактор уровней ( LevelEditor ), материалов ( MaterialEditor ), объектов ( ObjectEditor ), поверхности ( TerrainEditor ) и ряд других менее важных. Большинство из них выбираются из раскрываемого списка в левой части панели инструментов. По умолчанию загружается ObjectEditor . Этот порядок можно изменить в меню Tools/Add-in Manager . Для этого нужно напротив строчки Startup Editor (в самом низу) выбрать нужный редактор из списка. Поскольку мы сегодня будем работать в основном с поверхностью, поставьте на загрузку при старте TerrainEditor .
Земля была плоской
Рис. 1. BF2Editor сложен, но стоит потраченных на него усилий.
Разобравшись с интерфейсом, можно переходить к изготовлению новой карты. Но вот незадача — в BF2Editor заготовка для поверхности карты автоматически не загружается. Процесс требует непосредственного участия творца. Подключите, если еще этого не сделали, TerrainEditor (из списка в левой части панели инструментов). Щелкните ЛКМ на пиктограмме New (рядом со списком загружаемых плагинов) или используйте пункт меню File/New . В окне Create new terrain надо ввести имя новой карты (по тем же правилам, что и название мода), указать размер квадрата (Size: 256, 512, 1024), масштаб (Scale: один к одному, х2, х4), рабочую высоту и размер окружающих карту декоративных ландшафтных карт.
Для начала выставляем Size 256 , Scale 2 . Размер карты ( Size ) очень важен и потребуется в дальнейшем — запомните его! Я назвал карту mania_BF2_map_01 . Остальные параметры оставьте без изменений. Через некоторое время (зависит от мощности вашего процессора и количества оперативной памяти) в центральном окне появится залитое солнцем шахматное поле на фоне яркого голубого неба. Это и есть сгенерированная BF2Editor поверхность. В ней все хорошо, кроме одного — она совершенно плоская. TerrainEditor имеет стандартный набор для терраформинга. Но прежде чем вы займетесь горообразованием, желательно заменить базовую “шахматную” текстуру на ту, которая реально будет обозначать грунт на вашей карте. Сделать это сейчас имеет смысл по нескольким причинам. Во-первых, операция наложения текстур очень ресурсоемка. Даже на мощных машинах результат применения кисти появляется на отображаемой сцене с некоторой задержкой. Пока карта плоская, общий объем окрашиваемой поверхности (а значит, и потраченного на работу времени) будет меньше, а конечный эффект один и тот же. Во-вторых, вы ни за что не пропустите неокрашенного участка (среди гор и долин такая вероятность всегда существует).
Возьмите в руки карандаш
Рис. 2. Основную текстуру лучше накладывать на плоскую карту.
На панели инструментов включите режим Texture (щелкнув ЛКМ на одноименной иконке). При этом изменится содержание всех дополнительных панелей. В окне Resources откройте группу Ground Properties (двойной щелчок ЛКМ на названии). В ней находится папка Layers с шестью файлами. Выделите Layer_1 . Это вовсе не игровые уровни, а доступные типы фоновых текстур, которые можно применить на карте. В окне TweakerBar активизируйте вкладку Tweak . Раскройте список Default , найдите в нем строку ColorTexture . В окне два столбца: в первом — название параметра, во втором — его значение. Напротив ColorTexture — пустая строка, щелкните по ней ЛКМ, и на экране появится окно с образцами текстур. Выбирайте любую. Я остановился на waterbasin .
Точно так же определяете параметр DetailTexture (находится строчкой выше). Эта текстура будет смешиваться с предыдущей и проступать сквозь нее, придавая общей картинке тот законченный вид, который видит под ногами игрок. Выберите подходящую, на ваш взгляд, текстуру (к примеру, detail_grass09 ). На боковой панели Editor , в группе Texture под номером 1 будет показан образец отобранной текстуры и ее название. Выделите параметр Material , кликните в пустом поле справа от названия, установите из предложенного списка заданный тип поверхности. От вашего выбора зависят дополнительные эффекты, возникающие при прохождении по местности (звуки, скольжение техники). Пусть будет, к примеру, Grass_tall (покрытие с высокой травой). Откройте меню Render и установите режим Detail Texture Mode (необходим для прорисовки текстур). Там же сбросьте флажок напротив пункта Toggle Draw Fog (туман будет только мешать). В меню Camera отметьте Top-Down Mode (вид сверху). Камера двигается по сцене вперед, назад, влево, вправо, как в большинстве игр, клавиатурными клавишами W , A , S , D .
Рис.3. Результаты применения различных инструментов терраформинга.
Перейдите на панель Editor . В верхней части панели отображается название выбранного в данный момент инструмента ( Texture) . В группе General установите максимально возможный размер кисти (50), двигая мышкой ползунок Brush size до конца влево. Аналогично измените положение регулятора эффективности применяемой кисти, Brush strength , до максимума (100). Чуть ниже, в группе Texture , выделите заказанную текстуру. Она должна быть обозначена номером 1 . Еще ниже, в группе Paint Mode , нажмите кнопки Both и Texture (тем самым вы устанавливаете одновременное применение заказанных текстур обоих типов).
Кисть готова к применению. Наведите курсор в любую точку сцены, нажмите ЛКМ и, двигая мышкой, закрашивайте видимый участок карты. Если нажимать правую кнопку мыши (далее ПКМ), кисть стирает окрашенный участок. Вероятно, вы уже заметили, насколько неудобно использовать в этом режиме клавиатурную комбинацию WASD для перемещения по сцене. К счастью, в группе Minimap панели Editor есть две альтернативы:
— Если нажать кнопку Paint, на экран выводится небольшое окошко Navigator Tool . Щелкая по нему ЛКМ, можно быстро попасть в любую точку карты. Еще удобнее зажать ЛКМ и двигать курсор по окошку. Вслед за ним перемещается камера по сцене.
— Если нажать кнопку Show , на рабочем поле сцены появится мини-карта уровня, по которой тоже можно перемещаться, используя ЛКМ. После запуска мини-карты надпись на кнопке изменяется на Hide . Чтобы скрыть окошко, необходимо нажать на кнопку еще раз.
Преимущество окна навигации Navigator Tool в том, что его можно перетащить в любую точку экрана, где оно не заслоняет сцену. Зато мини-карта выводится в цвете, что при наложении текстур может быть важным. Правда, она автоматически не обновляется. Чтобы закрашенная область появилась на мини-карте, нужно нажать кнопку Reload (находится в той же группе Minimap ).
Идут вершины одна за одной
Рис. 4. Влияние уровня моря на количество воды на вашем уровне.
Займемся горообразованием. Переключите режим камеры в меню Camera на Normal Mode (или нажмите Ctrl+F5 ). Поскольку вид сцены при этом не меняется (все еще показан вид сверху), можно подумать, будто ничего не произошло. На самом деле камера теперь может перемещаться во всех плоскостях. Зажмите среднюю кнопку мыши (далее СКМ) и подвигайте манипулятор вперед-назад — карта будет вращаться. Общее направление движения задается комбинацией WASD, а корректируется мышкой с нажатой СКМ. Кроме того, камера двигается вверх клавишей Z , вниз — клавишей Ctrl .
Перемещая камеру, верните сцену к изометрическому виду. Переключите режим отображения сцены в меню Render на Grid Mode . Работать с полигональной сеткой будет значительно удобнее и быстрее. В окне TweakerBar активизируйте вкладку с названием вашего уровня. Дважды щелкнув по строчке LevelSettings , раскройте список параметров. Обратите внимание на значение, которое стоит напротив TerrainHeight . Это максимальная высота гор на вашей карте. Поставьте, к примеру, 200 .
Рис. 5. Конечный результат - двухсотметровые горы.
На панели инструментов выберите инструмент Modify , а на панели Editor нажмите кнопки Raise и Lower . Тем самым вы разрешите использовать при терраформинге кнопки мыши. Переместите курсор на карту. При нажатии ЛКМ участок под курсором вздувается, образуя холм. Чем дольше вы будете держать зажатой ЛКМ, тем выше получится гора. Достигнув предела, который вы установили в параметре TerrainHeight , вершина горы “расплющится”. Кстати, изменение этого параметра уже после формирования ландшафта оказывает глобальное изменение на всю поверхность (либо все уменьшится, если значение параметра стало меньше, либо увеличится). Если же нажимать ПКМ, на поверхности сформируется углубление.
Размер кисти и ее эффективность устанавливается точно так же, как при закрашивании карты в режиме Texture . Попробуйте и остальные инструменты формирования ландшафта ( Smooth , Level , Platform , Random Tool ). Их использование не должно вызывать затруднений. Когда ваша карта окончательно перестанет быть плоской, настанет время познакомиться с еще одним параметром. Вернитесь к окошку TweakerBar , активизируйте вкладку с названием своего уровня и раскройте группу WaterSettings . В строке SeaWaterLevel задано значение уровня моря (по умолчанию отрицательное -10000). Измените его на -10 и нажмите клавишу Enter . Отведите камеру подальше от карты — так, чтобы хорошо был виден ее край. Чуть ниже вы увидите черную плоскость. Это и есть уровень моря. Цвет “воды” изменяется в параметре WaterColor , достаточно щелкнуть ЛКМ на черном квадратике справа от него. Поднимите уровень так, чтобы вода “заливала” углубления карты (увеличивая значение параметра WaterSettings ), — появятся водоемы.
По завершению работы сохраните изменения, выбрав пункт меню File/Save All (или нажав одноименную пиктограмму на панели инструментов). У вас несколько раз попросят подтверждения. Соглашайтесь на все и закрывайте BF2Editor .
Чтобы снова вернуться к работе над уровнем, запустите BF2Editor/TerrainEditor и выберите свой мод. Нажмите пиктограмму Load на панели инструментов. В диалоговом окне найдите и активизируйте свою карту.
1. Запустите программу.
2. В окне Landscape установите размер карты кнопкой Size. Это важный момент! Как вы помните, в начальных установках уровня в BF2Editor мы задали размер, Size, равным 256. Карты высот должны быть на единицу больше этого размера. То есть в этом диалоге вы должны выбрать 257. После этого нажмите кнопку Generate Terrain. Вам предложат настроить свойства поверхности в диалоговом окне Terrain Genesis. Можете оставить установки по умолчанию. В этом же диалоге нажмите одноименную кнопку Generate Terrain. При этом в окнах Landscape и Rendering Control будет показана образованная поверхность (вид сверху в серых тонах). При желании можете посмотреть, как будет выглядеть эта карта: нажмите кнопку Render Preview в окне Rendering Control . Если результат не устраивает, сгенерируйте новый ландшафт.
3. Подходящую карту сохраните кнопкой Export в окне Landscape. Из списка Export Metod выберите RAW 8 bits. Сохраните файл, нажав Select File and Save.
Закройте Terragen и откройте сохраненный файл в Photoshop. Вам предложат изменить настройки — оставьте все как есть. Только обязательно проверьте, чтобы разрешение картинки соответствовало вашей карте (было 256, значит — картинка 257х257). Теперь откройте папку со своим уровнем. Она должна лежать по адресу . \BF2\mods\название_вашего_мода\Levels\название_вашего_уровня. Загрузите в Photoshop файл HeightmapPrimary.raw. Это карта высот вашего уровня.
Внимание: при открытии этого файла, помимо проверки ширины и высоты (257х257), необходимо поменять некоторые установки. Поставьте в поле Count — 1, Depth — 16 Bits, Byte Order — IBM PC.
Далее все просто.
— Cохраните картинку, созданную генератором, в формате JPG (меню File/Save for Web) и откройте ее в Photoshop. Может возникнуть вопрос, зачем мы использовали JPG, если генератор сразу способен сохранить карту в формате RAW? Дело в том, что при замене оригинальной карты высот полученной картинкой происходят странные вещи и чаще всего карта отказывается работать.
— Примените к ней фильтр Gaussian Blur (меню Filter/Blur). Достаточно размытия радиусом в 2 пикселя. Это нужно, чтобы “пригладить” поверхность на карте.
— Зайдите в меню Image/Mode и поставьте флажки напротив пунктов Grayscale и 16 Bits/Channel.
— В окне Layers подцепите мышкой уровень вашей картинки (поскольку других нет, он называется Background) и перетащите его на открытый рисунок вашей карты — HeightmapPrimary.raw. Поправьте его так, чтобы рисунок сгенерированной карты полностью занимал окно. Удалите старое изображение.
— Сохраните измененный файл HeightmapPrimary.raw. При этом в окне Save as в списке Format выберите Photoshop Raw (*.RAW) и не изменяйте название файла. На все последующие вопросы отвечайте OK.
После загрузки карты в BF2Editor вы увидите практически готовый к использованию ландшафт.
Поле брани, часть 1
Battlefield 2 стал очередной вехой в мире шутеров, заточенных под онлайновые баталии. Но. похоже, разработчики торопились выбросить продукт на рынок. То ли издатель подхлестывал мягким ремешком штрафов по упругим ягодицам, то ли создатели игры стремились выпустить BF2 в оптимальный срок. Но факт остается фактом — если в первой части игры был полноценный однопользовательский режим, то во второй простым смертным геймерам приходится довольствоваться безжалостно оскопленной версией мультиплеера.
Никакой кампании, никакого сюжета. Жалкие карты, умело обрезанные по краям коварными разработчиками, та кучка недалеких ботов, мельтешащих перед глазами, — даже на уровне “ветеран” играть с такими уникумами интересно не более двух-трех раз. А как объяснить отсутствие режима “кооператива” (совместной игры вместе с ботами)?! Просто нонсенс! Но если нехватку ботов народные умельцы устранили в модификации Coop Mod , то остальные проблемы остались неразрешенными. Поэтому нашему “оперативному отделу”, специализирующемуся на глубоком проникновении в чрево игры программным скальпелем и скриптовым корнцангом, пришлось засучить рукава, вызвать анестезиологов из отдела “Мастерская” и ударными темпами состряпать для вас полноценный сингл-режим для BF2.
Первые шаги
Познакомимся с содержимым игровой директории. Все основные файлы, необходимые нам при “вскрытии”, помещены в папку <Каталог игры>\mods\bf2 . В ней вы обнаружите следующие подкаталоги: \Ai (несет в себе файлы с общими характеристиками AI — искусственного интеллекта — компьютерных игроков), \Levels (игровые карты), \Localization (встречающийся в игре текст), \Movies (ролики в формате bik ), \Objects (значки для различных видов вооружения, сохраненные в формате png ), \python (файлы с атрибутами различных режимов игры), \Settings (общие параметры геймплея). Все имеющиеся в этих директориях графические файлы — те, что имеют формат dds (а таких большинство), — обрабатываются с помощью пакета утилит DXT Tools (наличествует на нашем диске ).
Несколько слов о том, как им пользоваться. Чтобы перевести рисунок из dds -формата в tga , скопируйте его в директорию с утилитами. Запустите там файл readdxt.exe с параметром: readdxt <имя dds-файла> (например, readdxt Jeep_FAAV_b.dds ). После этого в программной директории появится файл test.tga с нужной вам картинкой. Последнюю вы можете перерисовать в любимом графическом редакторе (рекомендую воспользоваться Photoshop ).
Обратное действие — перевод tga -рисунка в формат dds — осуществляется посредством запуска файла nvdxt.exe с параметром nvdxt <имя tga-файла> (в данном случае — nvdxt test.tga ). Теперь вам остается только вернуть полученному файлу то имя, которое он имел до конвертирования в формат tga, и положить на свое прежнее место.
Наряду с перечисленными выше папками в каталоге \bf2 вы найдете ряд архивов. Все они записаны в формате zip . Так что работать с ними может любой архиватор. Файл Fonts_client.zip заключает в себе графические отображения игровых шрифтов (английским соответствует папка \English ) в виде картинок формата dds . Архив Common_client.zip хранит в себе основные игровые текстуры (имеют формат dds ) и звуки. Последние лежат в подкаталогах \Sound (звуковые файлы общего характера, в том числе и речь солдат) и \ Material (звуки, раздающиеся при попадании пуль в объекты из различных материалов). Графическим же файлам отводятся четыре папки: \Sky (текстуры неба), \Terrain (ландшафт) и \Textures (“природные” текстуры). Эти же папки есть и в архиве Common_server.zip — только здесь в них находятся файлы (они носят расширения txt и con ) cо звуковыми и графическими параметрами.
Воевать с ботами на полноразмерных картах куда увлекательнее, чем на урезанных оригинальных уровнях.
Пару слов об упомянутых чуть выше форматах файлов. Те из них, что наделены расширением txt и con , могут быть отредактированы в любом текстовом редакторе, даже в стандартном “Блокноте”. Что касается использующихся в игре звуковых файлов, то они бывают двух типов: .wav и .ogg . Если с первым все понятно, то второй можно прослушать в Winamp ’е версий Full и Pro .
Файлы Menu_client.zip и Menu_server.zip соответствуют графическому оформлению меню. В первом из них лежат рисунки (они используют форматы tga и dds ), во втором — текстовые файлы с параметрами последних. Оба архива имеют в себе несколько директорий. Нам может пригодиться каталог \Hud , в котором вы найдете картинки для HUD’а — экрана героя. Вы можете легко его переоформить.
Самыми содержательными архивами являются Objects_server.zip и Objects_client.zip . Они несут в себе следующие каталоги (рассмотрим только те из них, что могут быть нам полезны): \DynamicObjects (соответствует движущимся объектам), \Effects (эффекты), \Kits (снаряжение, использующееся солдатами из различных родов войск), \Roads (дороги), \soldiers (солдаты), \staticobjects (неподвижные объекты), \Vehicles (транспортные средства), \water (вода), \Weapons (оружие). Разница между архивами заключается в том, что в первом из них располагаются файлы с характеристиками перечисленных объектов и субъектов, а во втором — относящиеся к ним звуки (находятся в подкаталоге \Sounds ), модели ( \meshes ) и текстуры ( \textures ).
Теперь, когда вы знаете, где что хранится и как работать с форматами, вы в состоянии свободно редактировать графические и звуковые файлы игры. В частности, вам не составит труда перезаписать (хотя бы частично) речь солдат, которая по преимуществу состоит из коротких команд, попутно переведя ее на русский. Ведь так приятно, когда персонажи говорят знакомым вам голосом (вашим или ваших друзей), да еще и на родном языке!
Обратите внимание, что все описанные в статье изменения делают невозможным играть в BF2 через интернет. Дело в том, что сервер при подключении проверяет контрольную сумму всех основных архивов игры, и если их значения отличаются от присутствующих в лицензии, то вас выкинет из игры. Поэтому прежде, чем вносить какие-либо изменения в оригинальные файлы игры, обязательно сделайте копию их, чтобы в дальнейшем в любой момент можно было восстановить мультиплеерный режим.
Расширение карт
Пора приступать к созданию модификаций. Первая из них сделает возможной игру на картах для 32 и 64 солдат в синглплеере. Разберем “расширение” уровней на примере первого — Dalian plant . Сначала откройте папку \mods\bf2\Levels . В ней вы увидите ряд подкаталогов, каждый из которых соответствует той или иной карте (какой — видно из названия папки). В нашем примере нас интересует директория \Dalian_plant . Если же вы хотите увеличить какой-то другой уровень, вам придется работать с файлами из другого, соответствующего интересующей вас карте каталога. Но какой бы уровень вы ни избрали, вы обязательно обнаружите в его папке каталог \Info (здесь хранятся файлы с общими характеристиками карты и ее загрузочные картинки), а также архивы client.zip и server.zip . Первый из них полон всевозможных картинок, предназначенных только для данного уровня (как-то его полная карта, уникальные текстуры и так далее).
Архив server.zip наполнен файлами с разнообразными параметрами карты. Именно к этому архиву мы в первую очередь и обратимся. Найдите в нем папку \GameModes — она посвящена различным режимам игры, доступным на данной карте. Эта директория, в свою очередь, несет в себе два подкаталога: \gpm_cq (соответствует мультиплееру) и \sp1 (одиночный режим игры). Поскольку многопользовательская карта имеет три вариации (в зависимости от количества игроков), папка \gpm_cq состоит из трех подкаталогов ( \16 , \32 и \64 ), в отличие от \sp1 , содержащей только один ( \16 ). В каждом из названных подкаталогов имеются директория \ai (в ней вы найдете файл StrategicAreas.ai , задающий поведение компьютерных игроков на данной карте), и файл GamePlayObjects.con .
В новом моде ботов может быть сколько угодно. В данном случае - по 32 с каждой стороны. Кроме того, некоторые из них, как видите, носят хорошо знакомые нам имена.
Следует отметить, что первая и третья части, в свою очередь, состоят из двух больших блоков. Второй начинается строкой if v_arg1 == host и содержит координаты объектов (будь то военная техника или контрольная точка), прописанных в данной части файла. Оба блока разбиты на подразделы (каждый из них посвящен отдельному объекту), имена которых взяты в квадратные скобки и закомментированы.
Приступим к редактированию файла GamePlayObjects.con , лежащего в папке \GameModes\sp1\16 . Он отведен под параметры сингловой карты на 16 игроков. Начнем его правку с конца — с четвертой части — и расширим зону боевых действий сингловой карты. При этом нам пригодятся одноименные файлы из упомянутых далее подкаталогов папки \GameModes\gpm_cq архива server.zip , относящегося к нужной вам карте (в нашем случае это, напомню, уровень Dalian plant , которому соответствует каталог \mods\bf2\Levels\Dalian_plant ). Загляните в подкаталог \32 , если вы хотите увеличить уровень до размеров многопользовательской карты для 32 игроков, и в \64 — если для 64. Мы изберем последний вариант, дабы сделать карту максимально полной.
Сингловые баталии с участием более полусотни солдат - теперь реальность.
Обратимся к третьей части подопытного файла GamePlayObjects.con, она называется Control Points . Посредством ее правки мы добавим на одиночную карту новые контрольные пункты, позаимствовав их из многопользовательского 64-игрокового уровня. В этом вам поможет файл GamePlayObjects.con из директории \GameModes\gpm_cq\64 . Сравните его третью часть с соответствующим фрагментом одноименного файла, относящегося к синглу. Вы обнаружите, что они имеют различия: в первом случае подразделов в обоих блоках намного больше, чем во втором. Но есть и одинаковые подразделы (точнее, отличия между ними есть, но они минимальны, тогда как сами подразделы посвящены одинаковым по расположению точкам) — на конце первых двух строк они имеют одно и то же сочетание.
Вы должны скопировать в буфер те подразделы третьей части файла, посвященного карте для 64 игроков (при этом нам нужны как те из них, что находятся в первом блоке, так и те, что во втором), которые отсутствуют в его сингловом собрате, и вставить их в файл сингловой миссии. В примере с уровнем Dalian plant это подразделы ControlPointTemplate: CPNAME_DP_64_uscarrier (далее для краткости будем называть их по заключительному — уникальному — фрагменту названия), northdocks , southdocks , airfield , warehouse , maintenancebuilding . Таким образом, всего нужно добавить в файл 12 подразделов — по 6 на каждый из блоков третьей части. При этом подразделы одного блока первого файла должны быть скопированы в тот же раздел второго. В итоге одиночная карта обретет шесть новых контрольных точек.
Следующий этап — это перенос военной техники и точек респавна с крупной многопользовательской карты на сингловый уровень. Осуществляется эта операция путем замены первых двух частей файла GamePlayObjects.con , лежащего в каталоге \GameModes\sp1\16 , соответствующими фрагментами одноименного файла из папки \GameModes\gpm_cq\64 . То есть вам нужно скопировать весь код, идущий до комментария Control Points .
Расширенная сингловая карта готова. Предложенная выше схема подходит для всех уровней. Поэтому эту операцию желательно проделать со всеми картами, ведь сражаться на масштабных уровнях куда интересней, чем на весьма ограниченной территории.
С увеличением карт будет логично повысить число ботов, участвующих в битве (см. следующую главу). Скажем, если вы расширили карту до максимальных размеров, количество компьютерных игроков желательно сделать соответствующим — 64 (или даже больше). Тогда играть на больших картах будет крайне увлекательно.
Боты в Battlefield 2 — это отдельная тема для разговора. Очевидно, что с ними связан целый ряд проблем, о которых уже говорилось. Мы же займемся их устранением. Первым делом мы научимся регулировать их количество и повысим уровень их боевых навыков в синглплеере.
Захватывающие массовые побоища с привлечением различной военной техники.
Параметры ботов вы найдете в каталоге \mods\bf2\Ai . Общие характеристики искусственного интеллекта ваших врагов прописаны в файле AIDefault.ai , совсем небольшом по размеру, но от этого не менее значимом. В файле находятся несколько важных параметров компьютерных игроков, в том числе aiSettings.setMaxNBots (определяет число ботов) и aiSettings.setBotSkill (уровень их AI). Значения каждого здешнего параметра отделяется от его названия пробелом и может быть легко изменено.
Пропишите в значение первого атрибута нужное вам количество ботов. Кроме того, замените ноль, соответствующий следующему параметру — aiSettings.maxBotsIncludeHumans, единицей. Ботов может быть как меньше, чем в оригинале, так и больше. Второй вариант выглядит предпочтительнее. Например, если вы поставите 32 или 64 бота, геймплей станет более хардкорным. А уж если вы остановите свой выбор, скажем, на 128 игроках — настоящая мясорубка обеспечена. Впрочем, в последнем случае вам не избежать периодических тормозов, если только у вас не суперсовременный компьютер.
Вторая настройка — aiSettings.setBotSkill — тоже будет нам полезна. Исправляя ее значение, вы влияете на сложность игры. Число 0.4 соответствует легкому уровню (Easy), 0.7 — среднему (Veteran), 1.0 — сложному (Expert). Однако ничто не мешает вам поставить в значение показателя какое-то другое число. Оно может быть промежуточным (например, разумно ставить значения 0.5—0.6, если вы уже освоили легкий уровень, но еще не доросли до среднего), а также превышать наибольшее из них. Значения до 0.4 могут использовать новички, еще только осваивающие азы ведения боевых действий. Числа же выше единицы будут очень кстати профессиональным игрокам, свободно расправляющимся с оригинальными ботами. Подберите оптимальный для себя уровень, при котором вы сможете на равных сражаться с компьютерными соперниками.
Чтобы все изменения вступили в силу и “перекрыли” собой значения менюшных настроек, перед параметром aiSettings.setMaxNBots необходимо вставить строку aiSettings.overrideMenuSettings 1 .
Продолжая тему ботов, предлагаю вам заглянуть в файл BotNames.ai из той же директории ( \mods\bf2\Ai ). В нем прописаны имена компьютерных игроков. Устроен же файл следующим образом. Каждая его строка — это отдельный параметр, имеющий вид aiSettings.addBotName X и соответствующий одному из возможных имен солдата (оно стоит на месте X). Правя текст, указанный вместо X, вы можете дать ботам новые имена. Как вариант можете дать всем им (или только некоторым из них) имена своих друзей и знакомых, а также ваших любимых героев из других игр или фильмов. Воевать бок о бок с хорошо знакомыми персонажами и против них весьма забавно.
Мы доработали сингл-составляющую игры. Ботов теперь больше, они стали умнее, а сражения с ними проходят на полноценных картах. Перед вами теперь совсем другая игра — с одинаково интересными сингловой и мультиплеерной частями. В ближайших номерах “Мании” мы продолжим создание разнообразных модификаций к Battlefield 2. Успехов вам на поле боя!
-->Battlefield 2 -->
Battlefield 2 — несомненный хит, но есть в нем один недостаток: в одиночной игре маловато уровней для истинных джентльменов удачи. Карты очень быстро приедаются. Но этому горю легко помочь. С помощью редактора BF2Editor мы научимся создавать собственные уровни, где баталии разгорятся с новой силой.
Он устанавливается в папку с игрой и запускается файлом BF2Editor.exe. В начале загрузки на экран выводится диалоговое окно Select Startup, где необходимо указать, что вы будете делать — собственный мод (строчка Create New MOD) или видоизменять оригинальные уровни (строчка bf2). На самом деле выбора пока нет. Чтобы работать с оригинальными игровыми картами, нужно проделать несколько дополнительных операций, о которых чуть позже.
Возьмите в руки карандаш
На панели инструментов включите режим Texture (щелкнув ЛКМ на одноименной иконке). При этом изменится содержание всех дополнительных панелей. В окне Resources откройте группу Ground Properties (двойной щелчок ЛКМ на названии). В ней находится папка Layers с шестью файлами. Выделите Layer_1. Это вовсе не игровые уровни, а доступные типы фоновых текстур, которые можно применить на карте. В окне TweakerBar активизируйте вкладку Tweak. Раскройте список Default, найдите в нем строку ColorTexture. В окне два столбца: в первом — название параметра, во втором — его значение. Напротив ColorTexture — пустая строка, щелкните по ней ЛКМ, и на экране появится окно с образцами текстур. Выбирайте любую. Я остановился на waterbasin.
Точно так же определяете параметр DetailTexture (находится строчкой выше). Эта текстура будет смешиваться с предыдущей и проступать сквозь нее, придавая общей картинке тот законченный вид, который видит под ногами игрок. Выберите подходящую, на ваш взгляд, текстуру (к примеру, detail_grass09). На боковой панели Editor, в группе Texture под номером 1 будет показан образец отобранной текстуры и ее название. Рис.3. Результаты применения
различных инструментов
терраформинга.Выделите параметр Material, кликните в пустом поле справа от названия, установите из предложенного списка заданный тип поверхности. От вашего выбора зависят дополнительные эффекты, возникающие при прохождении по местности (звуки, скольжение техники). Пусть будет, к примеру, Grass_tall (покрытие с высокой травой). Откройте меню Render и установите режим Detail Texture Mode (необходим для прорисовки текстур). Там же сбросьте флажок напротив пункта Toggle Draw Fog (туман будет только мешать). В меню Camera отметьте Top-Down Mode (вид сверху). Камера двигается по сцене вперед, назад, влево, вправо, как в большинстве игр, клавиатурными клавишами W, A, S, D.
Перейдите на панель Editor. В верхней части панели отображается название выбранного в данный момент инструмента (Texture). В группе General установите максимально возможный размер кисти (50), двигая мышкой ползунок Brush size до конца влево. Аналогично измените положение регулятора эффективности применяемой кисти, Brush strength, до максимума (100). Чуть ниже, в группе Texture, выделите заказанную текстуру. Она должна быть обозначена номером 1. Еще ниже, в группе Paint Mode, нажмите кнопки Both и Texture (тем самым вы устанавливаете одновременное применение заказанных текстур обоих типов).
Кисть готова к применению. Наведите курсор в любую точку сцены, нажмите ЛКМ и, двигая мышкой, закрашивайте видимый участок карты. Если нажимать правую кнопку мыши (далее ПКМ), кисть стирает окрашенный участок. Вероятно, вы уже заметили, насколько неудобно использовать в этом режиме клавиатурную комбинацию WASD для перемещения по сцене. К счастью, в группе Minimap панели Editor есть две альтернативы:
— Если нажать кнопку Paint, на экран выводится небольшое окошко Navigator Tool. Щелкая по нему ЛКМ, можно быстро попасть в любую точку карты. Еще удобнее зажать ЛКМ и двигать курсор по окошку. Вслед за ним перемещается камера по сцене.
— Если нажать кнопку Show, на рабочем поле сцены появится мини-карта уровня, по которой тоже можно перемещаться, используя ЛКМ. После запуска мини-карты надпись на кнопке изменяется на Hide. Чтобы скрыть окошко, необходимо нажать на кнопку еще раз.
Рис. 4. Влияние уровня
моря на количество воды
на вашем уровне. Преимущество окна навигации Navigator Tool в том, что его можно перетащить в любую точку экрана, где оно не заслоняет сцену. Зато мини-карта выводится в цвете, что при наложении текстур может быть важным. Правда, она автоматически не обновляется. Чтобы закрашенная область появилась на мини-карте, нужно нажать кнопку Reload (находится в той же группе Minimap).
Идут вершины одна за одной
Займемся горообразованием. Переключите режим камеры в меню Camera на Normal Mode (или нажмите Ctrl+F5). Поскольку вид сцены при этом не меняется (все еще показан вид сверху), можно подумать, будто ничего не произошло. На самом деле камера теперь может перемещаться во всех плоскостях. Зажмите среднюю кнопку мыши (далее СКМ) и подвигайте манипулятор вперед-назад — карта будет вращаться. Общее направление движения задается комбинацией WASD, а корректируется мышкой с нажатой СКМ. Кроме того, камера двигается вверх клавишей Z, вниз — клавишей Ctrl.
Перемещая камеру, верните сцену к изометрическому виду. Переключите режим отображения сцены в меню Render на Grid Mode. Работать с полигональной сеткой будет значительно удобнее и быстрее. В окне TweakerBar активизируйте вкладку с названием вашего уровня. Дважды щелкнув по строчке LevelSettings, раскройте список параметров. Обратите внимание на значение, которое стоит напротив TerrainHeight. Это максимальная высота гор на вашей карте. Поставьте, к примеру, 200.
Рис. 5. Конечный результат -
двухсотметровые горы. На панели инструментов выберите инструмент Modify, а на панели Editor нажмите кнопки Raise и Lower. Тем самым вы разрешите использовать при терраформинге кнопки мыши. Переместите курсор на карту. При нажатии ЛКМ участок под курсором вздувается, образуя холм. Чем дольше вы будете держать зажатой ЛКМ, тем выше получится гора. Достигнув предела, который вы установили в параметре TerrainHeight, вершина горы “расплющится”. Кстати, изменение этого параметра уже после формирования ландшафта оказывает глобальное изменение на всю поверхность (либо все уменьшится, если значение параметра стало меньше, либо увеличится). Если же нажимать ПКМ, на поверхности сформируется углубление.
Размер кисти и ее эффективность устанавливается точно так же, как при закрашивании карты в режиме Texture. Попробуйте и остальные инструменты формирования ландшафта (Smooth, Level, Platform, Random Tool). Их использование не должно вызывать затруднений. Когда ваша карта окончательно перестанет быть плоской, настанет время познакомиться с еще одним параметром. Вернитесь к окошку TweakerBar, активизируйте вкладку с названием своего уровня и раскройте группу WaterSettings. В строке SeaWaterLevel задано значение уровня моря (по умолчанию отрицательное -10000). Измените его на -10 и нажмите клавишу Enter. Отведите камеру подальше от карты — так, чтобы хорошо был виден ее край. Чуть ниже вы увидите черную плоскость. Это и есть уровень моря. Цвет “воды” изменяется в параметре WaterColor, достаточно щелкнуть ЛКМ на черном квадратике справа от него. Поднимите уровень так, чтобы вода “заливала” углубления карты (увеличивая значение параметра WaterSettings), — появятся водоемы.
По завершению работы сохраните изменения, выбрав пункт меню File/Save All (или нажав одноименную пиктограмму на панели инструментов). У вас несколько раз попросят подтверждения. Соглашайтесь на все и закрывайте BF2Editor.
Чтобы снова вернуться к работе над уровнем, запустите BF2Editor/TerrainEditor и выберите свой мод. Нажмите пиктограмму Load на панели инструментов. В диалоговом окне найдите и активизируйте свою карту.
Создание уровней для Battlefield 2
В прошлой статье, посвященной редактору уровней Battlefield 2, мы изготовили поверхность будущего уровня и закрасили его основной текстурой. Сегодня придадим карте более ухоженный вид, создадим базы противников, добавим разные предметы и запустим новый уровень.
Танки, карта, два столба
Теперь добавим пункты “приема пополнения” для каждой команды. Неподалеку от любой контрольной точки щелкаем правой кнопкой мыши (далее ПКМ) и в контекстном меню находим строчку Create SpawnPoint [название_ближайшей_базы]. Тут же в диалоговом окне Create New SpawnPoint нам предложат обозначить пункт пополнения уникальным именем. Причем предлагается связать его с названием базы (к примеру, SLONIKI_2_1) по порядку номеров, которые указываются в конце. Оставляем его без изменений (но — можете называть как угодно, только не оставляйте пробелов между словами).
Обратите внимание на маленькую зеленую черточку, которая выступает из стенки прямоугольника, условно обозначающего в редакторе точку “возрождения”. Она указывает направление, куда будет повернут лицом появившийся на поле боец (по умолчанию все будут смотреть на ближайшую базу). Чтобы поменять положение, нужно выделить зеленый кубик SpawnPoint, выбрать на панели инструментов иконку Rotate, подцепить мышкой одно из концентрических колец вокруг точки (они окрашены в цвета пространственных осей X, Y, Z) и, зажав ЛКМ, разворачивать объект в нужную сторону. Похожим образом устанавливаем “пункты приема техники”. Щелкаем ПКМ неподалеку от базы и выделяем в появившемся меню строчку Create ObjectSpawner Взгляд из игры.[название_ближайшей_базы]. В диалоговом окне Select Vehicle Type выбираем тип бронемашины (к примеру, CH_US_HeavyTank — [TNK_TYPE98/USTNK_M1A2]). Аналогично вооружаем и сторону условного противника.
Декорации выстраиваем, перетаскивая подходящие статические объекты из окна Resources. К примеру, китайские постройки проживают по адресу bf2/objects/staticobjects/_asia.
В завершение откроем свойства уровня (кнопкой Level Settings на панели Editor, справа). Окно свойств поделено на две части. В первой — все, что относится к первой команде. Другая часть содержит сведения о второй. Проверяем принадлежность армий. Они должны соответствовать установленным флагам. Закрываем окно кнопкой ОК.
Внимание: Если вы перед этим закрывали редактор, то поля Kit окажутся пустыми! При попытке закрыть окно свойств появится окно предупреждения о проблеме. Просто заново загрузите в окно ресурсов bf2, как было описано ранее, папки Soldiers и Kits. Вновь вызывайте окно свойств уровня. Теперь оно не должно содержать пустых строчек.
Сохраняем все изменения (пиктограммой Save Al l на панели инструментов). Выбираем в меню пункт Mod/Package MOD, жмем кнопку ОК, не меняя установок по умолчанию, и по окончании упаковки мода закрываем редактор BF2Editor. Запускаем игру. Выбираем Multiplayer/Create Local, находим свою карту в списке доступных. Выбираем уровень с минимальным числом игроков (к названию нашей карты добавлено _16). Все, можете оценить проделанную работу.
Читайте также: