Игра в материале
Doom 3
?Рейтинг
Игромании
8.5Рейтинг
игроков
PC   Xbox   Mac
Жанр: Боевик, Боевик от первого лица
Серия: Doom
Мультиплеер:  Интернет, локальная сеть (4)
Разработчик: id Software
Издатель: Activision
Издатель в России: СофтКлаб
Локализатор: СофтКлаб
Дата выхода: 3 августа 2004
Марсианские хроники. Шесть модификаций Doom 3

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

Вскрытие — Марсианские хроники. Шесть модификаций Doom 3
Мы, пока писали эту статью, пробовали моды в самых разных сочетаниях. И получилось у нас, что далеко не все они хорошо сочетаются друг с другом. То есть если просто взять и, что называется, нахрапом в одной игре провести все описанные в статье модифициров
Игроманияhttps://www.igromania.ru/
Вскрытие
Марсианские хроники. Шесть модификаций Doom 3
    Просторная темная комната. Единственный источник света в ней — раскачивающаяся на потолке полуразбитая лампа. В комнате прячутся монстры. Вид у них просто ужасный: у одного нет ноги, другой весь забрызган кровью, у каждого в лапах суперпушка. Один сжимает в лапах автомат, стреляющий сразу тремя очередями. Второй стреляет сгустками энергии из плазмагана, да к тому же способен двумя быстрыми прыжками покрыть огромное пространство. Третий неприятель в состоянии убить игрока парой точных ударов костлявой лапы... Вы настоящий геймер и готовы сразиться с такими врагами? Если да, то эта статья — для вас. Сегодня мы создадим две модификации для Doom 3: с новыми врагами и с измененными NPC.

    Основы модифицирования

   
В сегодняшнем “вскрытии” мы обратимся к архиву pak000.pk4 — самому большому файлу игры. Первый каталог архива, который нам понадобится, носит имя
37 Kb
Враги в модификации «Быстрые
монстры» атакуют с удвоенной
скоростью.
\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.
22 Kb 29 Kb
В моде «Стремительная атака» моментально накапливают заряд
оружия и
уходят из-под выстрелов.

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

    Модификация “Быстрые монстры”
   
Приступим к созданию абсолютно новых врагов. Первым делом сделаем модификацию, в которой монстры будут передвигаться самым неожиданным образом и значительно быстрее, чем в оригинальной игре. Отыщите характеристику WALKTURN в файле каждого из врагов, отвечающую за скорость ходьбы супостата, и
31 Kb
Кровь застилает глаза —
следствие увеличение
атрибута 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 (максимальная высота, на которую поднимается монстр во время прыжка) в полтора раза (самые экстремальные игроки могут повысить их в два раза).
32 Kb 34 Kb
Усиленный параметрами параметр 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), и вы здорово измените поведение монстра этого типа. Такой супостат будет вести себя крайне пассивно и практически перестанет передвигаться, зато будет настороженно смотреть по сторонам, высматривая игрока. А стоит подойти к нему поближе... Один-два удара, и вы труп.
29 Kb 38 Kb

    Модификация “Враги вокруг”
   
Еще одной жертвой нашего сегодняшнего “вскрытия” станет каталог \def (напомню, что искать его нужно в архиве pak000.pk4), в котором хранятся файлы с
29 Kb
После существенного
увеличения значения параметра
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).
    Для стреляющих врагов также стоит увеличить
30 Kb
Чтобы уйти от нескольких
очередей одновременно,
нужна хорошая реакция.
дальнобойность — установив значение параметра 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.
30 Kb 24 Kb
Каждый враг после смерти
роняет на пол аптечку.
Выстрел в голову способен
разнести на кусочки любого
врага.

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

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