Солдаты будущего, часть 2. Новая игра на движке Call of Duty
В первой части статьи мы полностью перерисовали текстуры и узнали, как заменять модели игровых персонажей, научились изменять характеристики основных средств передвижения в Call of Duty (в частности, делать летающие танки), а также полностью заменили арсенал главного героя. Сегодня мы
Едва завидев нас, враг убегает со всех ног. Такое тоже возможно — при изменении параметра self.bravery.
двинемся дальше по пути создания совершенно новой игры на основе движка CoD и разберем, как видоизменить врагов в игре, как перенастроить их AI. Плюс к этому — мы поработаем над системой повреждений и полностью переведем игру на русский язык. Воины Перенесемся в архив pak5.pk3 , упомянутый еще первой части статьи. В нем нам интересен каталог \aitype. В последнем вы найдете множество файлов с расширением gsc , каждый из которых содержит характеристики того или иного персонажа или типа персонажей. Файлы с именем, начинающимся с сочетания ally_ , относятся к вашим напарникам. Те же, что имеют в своем названии приставку axis_ , соответствуют врагам. Кроме того, наименования почти всех местных файлов оканчиваются сочетанием _X , где X — краткое название оружия, которым вооружен солдат. Все эти файлы наполнены кучей параметров, которые раскиданы по разделам main , spawner и precache (в начале файла имеется небольшой блок
За счет существенного увеличения меткости противник способен попасть в голову практически с любой дистанции.
комментариев, которые игрой не учитываются). Содержание каждого из них выделено фигурными скобками. Нам в первую очередь понадобится блок main , в котором располагаются следующие характеристики персонажа. self.team — армия, на службе которой состоит солдат: “allies” — союзники, “axis” — фашисты. self.accuracy — меткость персонажа. self.health — здоровье. self.weapon — основное оружие (значение должно быть взято в кавычки). Здесь и в значении двух следующих атрибутов следует ссылаться на файл, соответствующий этому средству уничтожения (о такого рода файлах писалось чуть выше), находящийся в директории \weapons\sp архива pak0.pk3. Например, если вы пропишите здесь слово “thompson”, субъект будет вооружен автоматом Томпсона. self.secondaryweapon — второе орудие убийства (пистолетное). Если оно отсутствует, здесь стоят пустые кавычки. self.grenadeWeapon — гранатное оружие (если есть).
Даже очереди в упор иногда не хватает, чтобы завалить врага с укрепленным здоровьем.
self.grenadeAmmo — число гранат у субъекта. Изменяя значения этого и трех предыдущих показателей, вы можете полностью перевооружить своих врагов и союзников. Лично я навесил на каждого неприятеля побольше гранат и выдал по два мощных ствола, причем один из них — какое-нибудь тяжелое оружие вроде противотанковой пушки. Сражаться с такими соперниками куда сложнее, чем с оригинальными, но, вместе с тем, и намного увлекательнее. self.scariness — страх, который испытывают солдаты из оппозиции, когда видят данного героя. Чем выше, тем более угрожающе выглядит персонаж. self.bravery — храбрость. Ставьте 100, и персонаж обретет полное бесстрашие. Авторы игры используют здесь только два значения: 6 — для ваших сослуживцев и 50 — для врагов. Советую поэкспериментировать с редактированием этого атрибута. Это может привести к самым различным и неожиданным результатам. Например, прописав сюда своим союзникам число повыше (от 50 до 100), вы существенно увеличите их активность, а
Эта слабенькая граната в скором времени превратится в мощнейшую взрывчатку.
значит — и роль в боевых действиях. В этом случае вам будет намного проще играть. Хорошие же игроки могут, наоборот, снизить степень участия в войне солдат из вашей армии, повысив тем самым сложность игры. Поставив же врагам значение близкое к нулю, вы сделаете их полными трусами, и они всякий раз будут убегать от вас, как зайцы от волка. Обратите внимание на то, что при изменении оружейного арсенала героя, вы должны подправить содержимое раздела precache следующим образом. Если вы заменили одно оружие другим, укажите название последнего в строке precacheItem(“X”); вместо X (то же, что вы указали в одном из “оружейных” параметров персонажа). Если же вы вооружили субъекта новым стволом, добавьте в этот блок строчку того же вида, указав вместо X название добавляемого орудия убийства. Смею предположить, что разработчики создавали всех врагов (и, кстати, напарников тоже) по единому шаблону, отчего все они получились до боли похожими друг на друга. Так внесите же хоть какое-то разнообразие! Для этого придайте игровым персонажам индивидуальность, подбирая одноименным параметрам разных героев хоть немного отличные друг от друга значения. Кроме того, занимаясь правкой атрибутов игровых персонажей, вы можете ощутимым образом влиять на сложность игры. Идеальным вариантом для опытных игроков будут вооруженные до зубов неприятели: храбрые как настоящие бойцы, меткие как снайперы и здоровые как быки — в общем, по-настоящему
Первая стадия модификации гранаты — замена модели.
достойные соперники, с которыми действительно интересно воевать. Если при этом вы испытываете большие проблемы при прохождении игры, будет нелишним также усилить должным образом своих сослуживцев. В этом случае сложность не особо увеличится по сравнению с тем уровнем, что был до улучшения бойцовских способностей врагов. Система повреждений Раскроем теперь папку \info. В ней вы обнаружите всего два файла (у обоих отсутствует расширение): ai_lochit_dmgtable и mp_lochit_dmgtable. Первый из них определяет уязвимость различных частей тела (и в некоторых случаях — деталей снаряжения) ваших противников и сослуживцев, второй — то же самое для игроков в мультиплеере. Оба файла по структуре напоминают “оружейные” и “транспортные” файлы, разобранные выше, и построены следующим образом. Вначале идет сочетание *LOCDMGTABLE\none* , за которым следует цифра 1 , обозначающая общую крепость здоровья персонажей. Далее начинается перечень параметров с названиями частей тела, каждый из которых определяет болезненность повреждения указанной области (чем выше число, следующее за именем параметра, тем уязвимее часть тела). Перед вами обозначения всех частей тела: helmet — верхняя часть головы (область для головных уборов: касок,
Стадия вторая — увеличение радиуса взрыва и урона.
беретов и т.д.), head — нижняя часть головы, neck — шея, torso_upper — верхняя часть туловища (большую часть этой области занимает грудь), torso_lower — нижняя часть туловища (живот), right_arm_upper — правое плечо, right_arm_lower — правое предплечье, right_hand — кисть правой руки, left_arm_upper — левое плечо, left_arm_lower — левое предплечье, left_hand — кисть левой руки, right_leg_upper — правое бедро, right_leg_lower — правая голень, right_foot — правая стопа, left_leg_upper — левое бедро, left_leg_lower — левая голень, left_foot — левая стопа, gun — оружие, которое персонаж держит в руках. Файлы из папки \info помогут вам полностью перекроить игровую систему повреждений. Корректируя значения имеющихся в этих файлах характеристик, вы можете изменять живучесть действующих лиц игры (при увеличении значений параметров вы укрепляете здоровье персонажей, при уменьшении — соответственно, ослабляете), тем самым существенно влияя на геймплей. Обратите также внимание на различие в значениях одноименных параметров в файлах ai_lochit_dmgtable и mp_lochit_dmgtable. Если в одиночном режиме персонажи обладают повышенной чувствительностью к хедшотам, то в мультиплеере большей, по сравнению с синглом, уязвимостью обладают ноги. Сложно сказать, чем это объяснимо, но в любом случае вы можете попробовать каждый вариант в действии в обоих режимах игры. В частности, рекомендую “примерить” для многопользовательской игры сингловый тип уязвимости частей тела, который лично мне видится более логичным. __ Великий и могучий В директории с игрой, помимо разобранных в статье архивов pak0.pk3, pak1.pk3, pak2.pk3, pak3.pk3, pak4.pk3 и pak5.pk3, имется еще два весьма ценных архивных файла — localized_english_pak0.pk3 и localized_english_pak1.pk3. Первый из них подразделяется на следующие директории: \textures — текстуры, содержащие различные надписи, \ui — картинки и скриптовые файлы, предназначенные для оформления меню одиночной игры, \ui_mp — многопользовательской игры, \sound — звуковые файлы формата wav с речью игровых персонажей (все диалоги распределены по трем подкаталогам: \Us — диалоги из эпизода в Англии, \Uk — из эпизода в США, \Stalingrad — в России). Папка \sound имеется и в архиве localized_english_pak1.pk3 (здесь в ней вы также найдете ряд речей). Помимо этой директории архив несет в себе следующие каталоги: \gfx — рисунки с надписями для экрана героя, \levelshots — загрузочные картинки уровней, \localizedstrings — str -файлы с игровыми текстами (сами тексты в этих файлах заключены в кавычки), \skins (скины героев игры и разнообразных объектов, содержащие какие-либо надписи). Редактируя и подменяя файлы из обоих архивов, вы можете полностью русифицировать игру, переводя на родной язык все надписи, перерисовывая текстуры с текстом и занимаясь переозвучкой персонажей.
*** * *** Итак, мы разобрали важнейшие игровые параметры, научились править и подменять графические и звуковые файлы. Этого вполне достаточно, чтобы сделать добротный мод. Он может вводить в игру небольшие новшества, а может изменять ее до неузнаваемости. Второй вариант, конечно, предпочтительней, но в этом случае работы у вас будет куда больше. Если это не пугает, попробуйте разработать какую-нибудь глобальную модификацию — например, футуристическую. Для этого вам понадобится ввести в игру орудия убийства и транспортные средства будущего, подкорректировать на “футуристический” лад графическую (причем как текстуры, так и игровой интерфейс) и звуковую составляющие игры (о каждом из этих преобразований мы уже говорили при изучении соответствующих файлов, осталось только собрать все вместе). Если же у вас нет желания досконально модифицировать игру, можете просто добавить в нее несколько новых видов вооружения, снаряжения и транспорта. Таким образом вы создадите небольшое игровое дополнение. Можно также придать игре реалистичности, сделав игровых персонажей более уязвимыми, систему повреждений — более правдоподобной, а “поведение” всех видов оружия — более похожим на их реальные аналоги (о том, как все это сделать, уже сообщалось). Надеюсь, ваш мод получится играбельным и интересным.