31 марта 2005
Обновлено 17.05.2023

Марсианские хроники. Шесть модификаций Doom 3

Марсианские хроники. Шесть модификаций Doom 3 - изображение обложка

Просторная темная комната. Единственный источник света в ней — раскачивающаяся на потолке полуразбитая лампа. В комнате прячутся монстры. Вид у них просто ужасный: у одного нет ноги, другой весь забрызган кровью, у каждого в лапах суперпушка. Один сжимает в лапах автомат, стреляющий сразу тремя очередями. Второй стреляет сгустками энергии из плазмагана, да к тому же способен двумя быстрыми прыжками покрыть огромное пространство. Третий неприятель в состоянии убить игрока парой точных ударов костлявой лапы… Вы настоящий геймер и готовы сразиться с такими врагами? Если да, то эта статья — для вас. Сегодня мы создадим две модификации для Doom 3: с новыми врагами и с измененными NPC. Основы модифицирования В сегодняшнем “вскрытии” мы обратимся к архиву pak000.pk4 — самому большому файлу игры. Первый каталог архива, который нам понадобится, носит имя **

Марсианские хроники. Шесть модификаций Doom 3 - фото 1

Враги в модификации «Быстрые монстры» атакуют с удвоенной скоростью.\script**. Папка несет в себе файлы скриптов. В настоящей статье мы затронем только файлы, имена которых наделены приставкойai_. Эти файлы посвящены AI игровых персонажей: те из них, что содержат в начале названия сочетаниеai_monster_, соответствуют определенным монстрам. Они подразделяются на три вида: файлы со словомbossпосле указанного префикса в имени отводятся под параметры боссов, со словомdemon— под атрибуты различных видов демонов,flying— летающих тварей,zombie— зомби иturret— пушки. Последнее слово в названии перечисленных файлов являет собой наименование непосредственно самого врага. Структура всех этих файлов такова. В начале идет блок с кратким описанием содержимого файла, выделенный сверху и снизу рядом звездочек и заключенный между двумя слэшами. Здесь следует сказать, что все строки, ограниченные этими символами, являются комментариями, то есть игрой никак не учитываются, а служат лишь для удобства просмотра и редактирования файлов. Комментарии же, помеченные звездочками (как начальный описательный блок), несут также функции условных границ между тематическими разделами файла. Находящиеся в файлах параметры имеют следующий вид:#define X_Y Z, где X — обозначение монстра (совпадает с последним словом в имени файла, соответствующего этому противнику), Y — имя атрибута, а Z — значение последнего. Обратите внимание на то, что на месте числового значения параметра может стоять формула (или просто отсылка к другому параметру). Например, в файлеai_monster_boss_guardian_seeker.scriptзначение показателяSEEKER_MAXIMUM_RETREAT_RANGEзадано формулой:(SEEKER_TOOFAR_RANGE+200). Это означает что значение атрибута получается посредством прибавки 200 единиц к числу, соответствующему параметру SEEKER_TOOFAR_RANGE.

Марсианские хроники. Шесть модификаций Doom 3 - фото 2
Марсианские хроники. Шесть модификаций Doom 3 - фото 3

В моде «Стремительная атака» моментально накапливают заряд оружия и уходят из-под выстрелов.
Мод за 10 минут __ Любую из описанных в статье модификаций можно сделать за 10 минут. А “ Стремительную атаку ” даже за 5. Также обратите внимание, что статью можно читать с любого раздела. Чтобы разобраться с основами вскрытия, достаточно прочитать главу “ Основы модифицирования ”, а дальше делать абсолютно любую модификацию, описанную в статье.

Марсианские хроники. Шесть модификаций Doom 3 - фото 4

Модификация “Быстрые монстры” Приступим к созданию абсолютно новых врагов. Первым делом сделаем модификацию, в которой монстры будут передвигаться самым неожиданным образом и значительно быстрее, чем в оригинальной игре. Отыщите характеристику WALKTURN в файле каждого из врагов, отвечающую за скорость ходьбы супостата, и

Марсианские хроники. Шесть модификаций Doom 3 - фото 5

Кровь застилает глаза — следствие увеличение атрибута blob_width.
поднимите ее значение до 100. Параметру RUNDISTANCE , определяющему расстояние, которое монстр способен пробежать, прежде чем ему потребуется ненадолго перейти на ходьбу, дабы восстановить силы, выставьте значение 250. Также не забудьте про параметр DODGE_RATE. Увеличение в полтора раза соответствующего ему числа приведет к существенному повышению увертливости врагов. Еще один показатель, который хоть и с натяжкой, но все же можно отнести к разряду скоростных, — это NOFOVTIME. Характеристика соответствует времени (измеряется в секундах, как, впрочем, и все остальные игровые параметры, связанные со временем), отсчитываемого с того момента, как вы попадаете в поле зрения противника и в течение которого он по-прежнему не в состоянии увидеть вас. Для повышения сообразительности врагов рекомендуется поставить сюда ноль. Обратите внимание на то, что у ряда противников имеются такие важнейшие параметры, как время бездействия: WAIT_MIN_LENGTH (минимальное), WAIT_MAX_LENGTH (максимальное). Ставьте сюда нули, и враги отныне перестанут зевать и будут все время находиться в движении. После всего этого от игрока потребуется недюжинная реакция, чтобы справиться со столь быстрыми и подвижными оппонентами. У демоноподобных врагов (напомню, что в названиях соответствующих им файлов присутствует слово demon ) стоит развить умение совершать наскок на игрока — резкий прыжок с последующей молниеносной атакой. Чтобы добиться этого, нужно повысить значения атрибутов LEAP_RATE (определяет частоту совершения наскоков), LEAP_RANGE_MIN (минимальная дальность наскока), LEAP_RANGE_MAX (максимальная дальность), LEAP_SPEED (скорость) и LEAP_MAXHEIGHT (максимальная высота, на которую поднимается монстр во время прыжка) в полтора раза (самые экстремальные игроки могут повысить их в два раза).

Марсианские хроники. Шесть модификаций Doom 3 - фото 6
Марсианские хроники. Шесть модификаций Doom 3 - фото 7

Усиленный параметрами параметр damage и melee_range зомби прет напролом, выстрелом из шотгана его не остановить!
Модификация “Стремительная атака” Займемся созданием мода, в котором монстры атакуют нестандартными для игры атаками. Теоретически, можно совместить этот мод с предыдущим, то есть сделать так, чтобы враги и бегали быстро, и атаковали иначе, но… В этом случае играть становится очень уж сложно. Основной показатель — это ATTACK_RATE. У стреляющих врагов он называется FIRE_RATE. Параметр задает минимальный временной промежуток между двумя ударами или выстрелами противника. Повысьте значение этого атрибута, и ваши соперники станут атаковать куда быстрее. У врагов-стрелков имеется также набор дополнительных параметров атаки. Значения первых двух таких атрибутов — ATTACK_DELAY_MIN и ATTACK_DELAY_MAX — минимальная и максимальная задержка перед совершением атаки. Первый ставим на “ 0 ”, второму присваиваем значение “1”. В два раза снизьте максимальную ( ATTACK_MAX_LENGTH ) и минимальную ( ATTACK_MIN_LENGTH ) продолжительность атаки стреляющих тварей. То же самое сделайте с длительностью атаки в приседе: CROUCH_ATTACK_MAX_LENGTH (максимальная длительность) и CROUCH_ATTACK_MIN_LENGTH (минимальная). Для стреляющих врагов, наделенных способностью атаковать мощными снарядами, требующими накопления заряда, очень важны атрибуты CHARGE_SPEED (скорость накопления заряда), CHARGE_RANGE_MAX (максимальная дистанция, на которой действует это оружие) и CHARGE_RANGE_MIN (минимальная). Значение первого параметра увеличьте в два раза, двух последних — в полтора. Все, мод готов. Модификация “Новые противники” __ Самое время сделать самую зрелищную модификацию, видоизменив не столько характеристики, сколько самих врагов, их внешний вид. Создадим противников, которых в оригинальной игре нет вообще — из NPС, — и добавим в мод немного юмора. Отрубим зомби ногу, выставив на единицу значение характеристики ik_numLegs в файлах с именем, начинающимся с сочетания monster_zombie_. Есть и более мягкий вариант мутации тех же зомби — увеличение в 3-4 раза их ступней (параметр ik_footSize ). Выглядит одновременно и страшно, и забавно. Переходим к характеристике team. Исправьте значение этой характеристики в разделах entityDef character_default , entityDef npc_base и entityDef char_campbell_bfg файла npcs.def на 1. После этого даже самые мирные NPC превратятся в ваших заклятых врагов. При желании можно проделать и обратную операцию, то есть преобразовать некоторых монстров в нейтральных персонажей, подставив 0 в значение атрибута team. В результате эти твари перестанут на вас нападать. Новых монстров можно выдрессировать так, что они будут вести себя, как никакая другая бестия из игры. Для этого существует параметр scriptobject. Присвойте атрибуту в файле зомби значение monster_turret (из файла monster_turret.def ), и вы здорово измените поведение монстра этого типа. Такой супостат будет вести себя крайне пассивно и практически перестанет передвигаться, зато будет настороженно смотреть по сторонам, высматривая игрока. А стоит подойти к нему поближе… Один-два удара, и вы труп.

Марсианские хроники. Шесть модификаций Doom 3 - фото 8
Марсианские хроники. Шесть модификаций Doom 3 - фото 9

Модификация “Враги вокруг” Еще одной жертвой нашего сегодняшнего “вскрытия” станет каталог \def (напомню, что искать его нужно в архиве pak000.pk4 ), в котором хранятся файлы с

Марсианские хроники. Шесть модификаций Doom 3 - фото 10

После существенного увеличения значения параметра velocity монстры начинают стрелять так, что увернуться от их выстрелов практически нереально.
одноименным расширением. Нас будут интересовать только файлы с приставкой monster_ (структура названий таких файлов очень схожа со строением имен файлов монстров из папки \script , только в данном случае префикс ai_ не используется). Эти файлы наполнены основными характеристиками монстров. Немного о структуре .def -файлов. Они разбиты на разделы, содержимое которых заключается в фигурные скобки (сразу перед открывающейся скобкой указывается название раздела). Начальные блоки файла, как правило, задают внешний вид персонажа (их имена начинаются со слова model ). Раздел, обозначенный как entityDef X , где X — название неприятеля (соответствует названию файла без расширения), является главным и наиболее содержательным. В нем вы найдете параметры общего характера. От указанного блока следует отличать разделы с очень похожим именем, единственное отличие которого от предыдущего варианта кроется в финальном элементе (X). Такие блоки носят более частный характер и описывают какую-то определенную сторону (или как вариант — умение) персонажа. Например, в файле monster_demon_trite.def имеется блок melee_triteLeapAttack , характеризующий удар конечностью указанного монстра-демона во время наскока. Каким бы ни был раздел, основным или вспомогательным, он всегда несет в себе какие-либо параметры. Имена параметров, так же как и значения, выделяются кавычками (название параметра всегда располагается левее значения). Перейдем к редактированию атрибутов, составляющих содержимое основного раздела .def-файла любого монстра, — сделаем модификацию, в которой вооруженные противники обладают уникальными способами атаки, более широким кругозором, умеют использовать аптечки. У летающих врагов (им соответствуют файлы monster_flying_cacodemon.def и monster_flying_lostsoul.def ) увеличим в полтора раза значение показателя fly_speed — супостаты будут планировать на вас с повышенной скоростью. Повысим меткость врагов, умножив на 2 значение параметра attack_accuracy (он есть не у всех неприятелей). Поднимем на новый уровень живучесть всех до единого монстров, увеличив в полтора раза значение атрибута health. Во столько же повысим дальность атаки оружием ближнего боя (настройка melee_range ). Для стреляющих врагов также стоит увеличить

Марсианские хроники. Шесть модификаций Doom 3 - фото 11

Чтобы уйти от нескольких очередей одновременно, нужна хорошая реакция.
дальнобойность — установив значение параметра projectile_spread в полтора раза больше. Игроки-профессионалы могут также поэкспериментировать с атрибутом num_projectiles , повышая его значение (только у оружия, у которого по умолчанию оно равно 1) до 2-3. Попробуйте-ка увернитесь сразу от трех автоматных очередей! Когда монстряки под вашим чутким руководством научатся стрелять, самое время обучить их еще и видеть. Зрение улучшается следующим образом: параметр look_max поднимаем до отметки 50 180 0 , а также изменяем значения показателей eye_turn_min и eye_turn_max соответственно на -30 -40 0 и 30 40 0. Теперь марсиане — серьезные соперники: меткие, живучие, всевидящие. Модификация “Монстр с шотганом” Ближайшие 10 минут мы посвятим созданию оружейного мода. Новое оружие для главного героя мы уже создали в прошлом номере журнала, а сейчас сделаем новые пушки для врагов. У каждого из врагов, согласно скрипту, имеется то или иное вооружение. Описывается оно блоками entityDef damage_X (содержит общие характеристики оружия стреляющих врагов) и entityDef melee_X (общие параметры оружия дерущихся противников, то есть их рук и ног), где X — название оружия. Помимо двух вышеназванных блоков, твари, вооруженные стволами, имеют раздел с заголовком вида entityDef projectile_X (X — название оружия), где размещаются параметры снаряда, которым стреляет указанное орудие убийства. Займемся изменением настроек, находящихся в этих трех разделах. Первым делом поднимите в полтора раза урон от оружия, изменяя атрибут damage из блока entityDef damage_X (или как вариант — entityDef melee_X ). Для врагов-стрелков сделайте более ощутимую отдачу, увеличив значения характеристик kick_time и kick_amplitude до 3 и 500 соответственно (для стволов помощнее, типа шотгана, поставьте числа повыше: 4 и 600 ). Теперь что касается снарядов. Главный параметр, определяющий, чем стреляет та или иная пушка, — velocity. Первую его составляющую повысьте в два раза. Кроме того, сдвиньте с нуля числа в последних двух компонентах — пули будут лететь по весьма замысловатым траекториям. Модификация “Аптечка на посошок” Модификацию “Аптечка на посошок” логично накладывать на мод “Враги вокруг”. Мы все усиливали и усиливали противников. Это, конечно, здорово, но надо и о главном герое позаботиться — компенсировать мощь оппонентов. Обратимся к характеристике def_dropDeathItem и сделаем так, чтобы враги, умирая, делились с игроком аптечками. Атрибутов для этого (равно как и атрибутов вида dropGibItemXJoint ) у одной и той же твари может быть несколько (если враг роняет сразу несколько вещичек) — в этом случае на конце названия каждого из них стоит его номер. Добавьте большинству врагов (особенно это будет уместно для человекоподобных супостатов) новый параметр (или даже несколько) с именем вида def_dropDeathItemX , где X — число, на единицу превышающее номер последнего такого атрибута. В значение показателя пропишите, например, аптечку — moveable_item_medkit. Кроме того, вставьте строкой ниже настройку dropGibItemXJoint , где X — номер роняемого предмета (должен быть равен числу, стоящему на конце имени только что созданного вами атрибута вида def_dropDeathItemX ). В качестве значения этой характеристики вы можете использовать значения предыдущих параметров того же вида. Оптимальным вариантом для человекоподобных монстров будет слово Chest — в этом случае аптечка будет располагаться рядом с грудью убитого. К аптечке можно добавить легкую броню — moveable_item_armor_security.

Марсианские хроники. Шесть модификаций Doom 3 - фото 12
Марсианские хроники. Шесть модификаций Doom 3 - фото 13

Каждый враг после смерти роняет на пол аптечку. Выстрел в голову способен разнести на кусочки любого врага.
DOOMострой __ В прошлом номере (№1 за 2005 год) “Игромании” в рубрике “Мастерская” мы закончили публикацию цикла статей “ DOOMострой ”, в котором подробно рассказывалось о том, как создать новые уровни для игры. Рекомендуем обратиться к этим материалам, чтобы перенести действие новых модификаций на новые территории, созданные в редакторе Doom 3.

Марсианские хроники. Шесть модификаций Doom 3 - фото 14

*** * *** Мы изучили, как сделать шесть новых модов для Doom 3. Можно создать только одну модификацию, но уж если решите делать больше, то поделимся с вами маленькой профессиональной тайной. Мы, пока писали эту статью, пробовали моды в самых разных сочетаниях. И получилось у нас, что далеко не все они хорошо сочетаются друг с другом. То есть если просто взять и, что называется, нахрапом в одной игре провести все описанные в статье модифицирования, то получится полная ерунда. А вот чтобы получилась не ерунда, то модифицировать надо с умом. “Быстрые монстры” удачно сочетаются с “Аптечкой на посошок” и “Новыми противниками”. “Стремительная атака” удачно ложится только на “Новых противников”, а “Монстр с шотганом” лучше объединять с “Аптечкой”, но никак не с “Новыми противниками” — иначе игра получается излишне сложной даже для профи.

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