25 января 2006
Обновлено 17.05.2023

Горячая линия: игрострой

Горячая линия: игрострой - изображение обложка

24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адрес gamedev@igromania.ru

Я несколько раз наталкивался в интернете на информацию, что в BF2 можно как-то играть в дефматч, но сколько ни искал по менюшкам, не нашел в игре этого режима. Так он есть или нет?

Да, в Battlefield 2 можно играть не только в стандартный режим игры Double Assault, но и в более традиционный для 3D action’а вариант Deathmatch. Вот только в саму игру эта возможность не встроена. Для создания мода придется немного потрудиться. Для начала скопируйте куда-нибудь директорию < Каталог игры>\mods\bf2\Levels. Теперь вы всегда сможете быстро вернуться к старому варианту, поместив папку на свое законное место.

Чтобы сыграть в Deathmatch на интересующей вас карте, откройте папку < Каталог игры>\mods\bf2\Levels<Каталог уровня>. В ней вы найдете архив server.zip , который, в свою очередь, содержит директорию \GameModes\sp1\16. Здесь вы обнаружите файл GamePlayObjects.con , соответствующий 16-игровому сингловому виду данной карты. Именно этот ее вариант будет оптимальным для игры на уничтожение. Спрятаться или затеряться на такой карте гораздо сложнее, чем, например, на той, что рассчитана на 64 игрока. А в таком виде игры, как Deathmatch, динамичность, согласитесь, — важнейший компонент геймплея.

Откройте файл GamePlayObjects.con. В нем нам пригодится часть, имеющая заглавие Control Points (оно выделено рядом звездочек и закомментировано). Она посвящена контрольным точкам. В каждом ее подразделе (их имена заключены в квадратные скобки и закомментированы) в значения параметров ObjectTemplate.timeToGetControl и ObjectTemplate.timeToLoseControl (определяют время, уходящее на захват контрольной точки, которой соответствует данный подраздел) поставьте 0.

К примеру, если брать первую карту — Dalian plant, то речь идет о четырех подразделах: ControlPointTemplate: CPNAME_DP_SP16_powerplant (далее часть названия, идущая до двоеточия, будет опускаться), CPNAME_DP_SP16_constructionsite , CPNAME_DP_SP16_reactors и CPNAME_DP_SP16_mainentrance. В результате контрольные пункты попросту перестанут функционировать. Отныне владение ими одной командой не будет отнимать очки у другой. А значит, единственный путь к победе — уничтожить всех солдат соперника.

После этого внесите эти же изменения в многопользовательскую разновидность данного уровня. Ей отводится файл GamePlayObjects.con , лежащий в каталоге \GameModes\gpm_cq\16 того же архива, что и в случае с только что отредактированным файлом. Обратите внимание на то, что в файле, соответствующем мультиплееру, искомые подразделы называются немного по-другому: в их именах отсутствует сокращение SP. Но сути дела это не меняет.

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

gameLogic.setDefaultNumberOfTicketsEx 16 1 100

gameLogic.setDefaultNumberOfTicketsEx 16 2 100

Замените в них число 100 на подходящее вам значение. Только учтите, что вписывать сюда надо число, вдвое меньшее задуманного, так как оно потом умножается на два. Оптимальным вариантом является значение, находящееся в интервале от 10 до 20. При этом противоборствующие стороны будут иметь в начале игры соответственно от 20 до 40 очков. Перечисленные преобразования можно внести во все карты. Настоящая мясорубка гарантирована!

Можно ли в Сан-Андреасе каким-либо методом изменить пути движения поездов? Я испробовал множество вариантов, но игра вылетала при каждом запуске…

Отредактировать пути движения “стальных коней” не так сложно, как может показаться на первый взгляд. Ваши действия: заходите в папку data\Paths установленной игры и отыскиваете файл tracks.dat. Он поддается редактированию посредством обычного “Блокнота”.

Открываете файл. Остается лишь разобраться в структуре данного файла-скрипта. Первая строка указывает на количество координат, а все последующие содержат координаты по X, Y и Z и цифру 0 (должна присутствовать в конце каждой строки, исключая строку, указывающую на количество координат), по которым следует поезд. Для того чтобы заменить стандартные координаты своими, воспользуйтесь услугами программы San Andreas Place Manager , которую вы можете взять с нашего компакта. Ниже приведен пример измененных путей поездов с комментариями:

9

1926.242 -2289.625 13.9927 0

1973.566 -2483.229 14.00721 0

1455.8 -2491.199 14.01102 0

1535.371 -2593.98 14.04541 0

1786.527 -2591.254 14.08167 0

2199.639 -2595.807 82.99351 0

2559.243 -2338.424 99.52771 0

2896.719 -2264.211 19.65845 0

3621.787 -2137.175 4.771869 0

Цифра 9 указывает на количество координат, по которым пройдет поезд, а все нижерасположенные цифры — на координаты движения поезда и цифру 0, идущую после координат в конце каждой строки. Что означает этот таинственный нуль, никто, кроме разработчиков, не знает.

Вопрос месяца

Можно ли как-нибудь добиться точного соответствия уровней в Battlefield 2 реально существующей местности?

Конечно, можно. Для этого потребуется только снимок этого участка земли, сделанный с самолета или из космоса (аэрофотоснимок). Порядок действий таков:

1. Находим в интернете аэрофотоснимок интересующей местности.

2. При помощи инструмента Rectangular Marquee Tool выделяем на рисунке карты квадратный участок. Контролируем в окне Info (вызывается кнопкой F8 в Photoshop CS ; в предыдущих версиях открывается в одноименной вкладке окна Navigator ), предварительно настроив Photoshop на отображение размера в пикселях (пункт меню Preferences/Units &Rulers).

3. Копируем выделенный участок ( CTRL+C , при английской раскладке клавиатуры).

4. Создаем новый файл (пункт меню File/New ). Предлагаемые размеры нового рисунка будут такими же, как у скопированного участка.

5. Вставляем в новый файл сохраненное изображение ( CTRL+V ).

6. Меняем размеры картинки следующим образом: если вы при создании уровня задавали размер карты в 256 ед., значит, рисунок должен быть разрешением 257х257 (на единицу больше). Соответственно — если задавали 512, значит, выставляйте стороны рисунка (через меню Image/Image Size ) 513х513. А если было 1024, то стороны вашей картинки должны быть 1025х1025. Если же вы еще не запускали редактор BF2, то ориентируйтесь на одно из трех приведенных выше значений, которое будет ближе всего к исходному размеру снимка.

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

— Определяем на глаз основной цвет грунта, на котором установлено здание.

— Пипеткой (инструмент Eyedropper Tool) кликаем в характерное место поверхности, чтобы “подцепить” ее цвет.

— Выбираем кисть ( Brush Tool ) и на панели инструментов устанавливаем ее прозрачность (Opacity) в 50%. Это потребуется для закрашивания нескольких проходов, зато переходы на стыках обрабатываемой поверхности и той, которая остается без изменений, будут более мягкими.

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

8. Когда с раскраской аэрокарты будет покончено, изменяем свойства рисунка в меню Image/Mode , отметив пункты Grayskale (черно-белый) и 16 Bits/Channel.

9. Сохраняем рисунок в формате RAW (как описано в статье по созданию уровней к BF2) и закрываем Photoshop.

10. Запускаем редактор BF2Editor и создаем новый уровень (как описано в статье). При этом не забываем выбрать размер карты под полученный рисунок (на единицу меньше).

11. Заходим в папку …\BF2\mods\название_вашего_мода\Levels\название_вашего_уровня и заменяем файл HeightmapPrimary.raw на изготовленную нами картинку аэроместности. Причем название файла необходимо оставить без изменений!

12. Загружаем уровень с новой картой в редактор BF2Editor. Если все сделано без ошибок, в окне просмотра увидим моделируемую местность.

13. Вам бросится в глаза явный дефект — многочисленные хаотичные “пики” и высокие горные цепи… Это легко поправить. В окне TweakerBar активизируем вкладку с названием нашего уровня. Раскрываем установки LevelSettings и выставим значение параметра TerrainHeight равное 5—10. Горы резко сойдут на нет, и карта в окне просмотра станет похожа на свой реальный прототип.

14. Дорабатываем поверхность с помощью стандартных инструментов для терраформинга, которые имеются в BF2Editor (как описано в статье).

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

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