Игра в материале
Quake 4
?Рейтинг
Игромании
8.5Рейтинг
игроков
PC   X360
Жанр: Боевик, Боевик от первого лица
Серия: Quake
Мультиплеер:  Интернет, локальная сеть (до 16 игроков)
Разработчик: Raven Software
Издатель: Activision
Издатель в России: СофтКлаб
Локализатор: СофтКлаб
Дата выхода: 18 октября 2005
Дата выхода в России: 22 сентября 2006
Нашествие строггов

Нашествие строггов

Вскрытие — Нашествие строггов
Примерно так будут вести себя враги в новой модификации для Quake 4, которую мы с вами сегодня создадим. Ведь один из главных недостатков Q4 — это крайне слабый AI. Туповатые и трусоватые монстры не способны составить серьезной конкуренции хорошему игроку
Игроманияhttps://www.igromania.ru/
Вскрытие
Нашествие строггов

Десантник Мэттью Кейн медленно идет по длинному темному коридору. Вдали мерцает слабая лампочка. Кейн замечает чью-то тень, бежит вперед — там строгг. Огромный монстр вскидывает оружие, делает несколько выстрелов и прячется за угол. Солдат следует за ним и оказывается в опасной близости от противника. Строгг со всего маху бьет человека своей когтистой лапой, но Кейн уже готов к такому повороту событий. В невероятном прыжке он уворачивается от удара и точным выстрелом из дробовика разносит на куски голову монстра. Тем временем помещение заполняют все новые и новые строгги...

Примерно так будут вести себя враги в новой модификации для Quake 4, которую мы с вами сегодня создадим. Ведь один из главных недостатков Q4 — это крайне слабый AI. Туповатые и трусоватые монстры не способны составить серьезной конкуренции хорошему игроку. Разве что на высоких уровнях сложности — но в этом случае они берут не умением, а числом. В нашем моде сила и интеллект врагов будут весьма близки к F.E.A.R.. Кроме того, боевые навыки главного героя будут прокачаны так, чтобы он мог на равных драться с поумневшими тварями.

Матчасть

Отправной пункт — архив pak001.pk4, находящийся по адресу <каталог игры>\q4base. Это самый обычный ZIP-файл с множеством подкаталогов. Больше всего нас интересует директория \def\ai. Здесь лежат файлы с алгоритмами поведения NPC и монстров (см. файлы с приставками char и monster).

Тут же размещено несколько файлов общего характера с описанием поведения тех или иных групп персонажей. Файл actor.def содержит общие правила поведения NPC, monster_default.def — характеристики монстров, а attack_base.def — параметры атаки и монстров, и NPC.

Обратите внимание на то, что многие характеристики из actor.def, monster_default.def и attack_base.def вы найдете также в других файлах этой папки, там они заменяют исходные показатели отдельно взятых врагов.

Внимательный осмотр

Для начала изучим характеристики файлов actor.def и monster_default.def. Многие из них дублируются в файлах, посвященных тому или иному монстру. Если вы захотите изменить значение одного из этих параметров для определенного оппонента, сразу обращайтесь к файлу, который соответствует данному монстру. Переходим к разбору основных параметров:

fov — поле зрения противника.

remove_on_death — этот параметр определяет, исчезает ли тело героя сразу после его смерти (1 — да, 0 — нет).

burnaway — продолжительность «жизни» трупа (в секундах). Этой характеристикой наделены только те NPC и монстры, в файле которых предыдущего параметра нет вообще (в этом случае игра обращается к исходному значению атрибута в файле actor.def) или его значение равно нулю. Рекомендуется увеличить значение этой характеристики до 3050. Эту операцию можно (и нужно) проделать с файлами actor.def, monster_harvester_combat.def, monster_makron.def, monster_network_guardian.def, monster_strogg_hover.def и monster_strogg_marine.def. Тогда тела монстров перестанут исчезать непонятно куда. Но учтите, если у вас не очень мощный компьютер, то при значении, близком к 50, игра может подтормаживать.

attackRange — радиус атаки.

actionTimer_rangedAttack_rate — скорость проведения персонажем дальнобойной атаки.

action_jumpBack_maxRange — максимальное расстояние, которое герой может преодолеть с помощью прыжка назад.

action_meleeAttack_minRange — минимальная дальность атаки при использовании оружия ближнего боя.

action_meleeAttack_maxRange — максимальная дальность атаки оружием ближнего боя.

action_rangedAttack_minRange — минимальная дистанция, которую может покрыть дальнобойная атака.

action_rangedAttack_maxRange — максимальная дистанция, которую может покрыть дальнобойная атака.

action_leapAttack_rate — быстрота нанесения монстром удара в прыжке.

action_crouch_rate — скорость передвижения героя при передвижении на карачках.

fly_offset — максимальная высота полета. Эта и следующая настройки воздействуют только на летающих тварей.

fly_speed — скорость полета.

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

Промывка мозгов

После редактирования указанных значений враги станут заметно умнее. Проделать описанные далее операции желательно со всеми файлами каталога \def\ai, относящимися к монстрам (напомню, что в имени таких файлов присутствует приставка monster), в том числе и с базовыми файлами (actor.def и monster_default.def). Всего в игре 33 файла с описанием монстров (но нужные атрибуты есть не во всех).

Давайте внесем следующие изменения. Повысьте в полтора раза значения характеристик attackRange и action_rangedAttack_maxRange. Враги уподобятся снайперам и смогут отстреливать вас с дальней дистанции. Помимо того, многие из них во время атаки больше не будут бездумно бежать на игрока. Увеличьте в 1,2 раза значения показателя action_meleeAttack_maxRange. Противники начнут стрелять эффективнее не только на дальних дистанциях, но и в ближнем бою.

В полтора раза повысьте значения параметров fly_speed, action_jumpBack_maxRange, action_crouch_rate и action_leapAttack_rate. Монстры будут носиться как угорелые (а некоторые даже летать) и благодаря корректировке последней настройки станут наносить удары с молниеносной быстротой. Внезапность нападения — вот главный козырь строггов нового поколения.

Пересадка органов

Теперь обратимся к другому, не менее важному файлу — attack_base.def. В нем задаются атрибуты оружия. Если персонаж или монстр наделен каким-то уникальным видом атаки, ее свойства прописываются в файле, который относится непосредственно к этому субъекту. Каждому оружию соответствует определенный раздел (напомню, что содержимое разделов заключается в фигурные скобки). Например, второй блок (entityDef damage_railgun_base) задает урон от рэйлгана, третий (entityDef damage_bullet_base) — от стрелкового оружия, четвертый (entityDef melee_monster_base) — от ударов конечностями. Начальный раздел файла (entityDef damage_monster_base) содержит общие параметры атаки.

В отдельную группу блоков вынесены характеристики снарядов, которыми стреляет оружие ваших врагов. Это разделы entityDef projectile_base (несет в себе общие параметры всех снарядов), entityDef projectile_bullet_base (пуля), entityDef projectile_nail_base (гвоздь), entityDef projectile_blaster_base (бластер), entityDef projectile_grenade_base (граната), entityDef projectile_rocket_base (ракета). По составу эти блоки во многом напоминают перечисленные выше разделы, но есть и уникальные характеристики.

Атака

Вернемся к первой группе разделов файла, которые определяют повреждения от различных видов атаки. Во всех этих блоках вы обнаружите следующие показатели:

damage — ущерб от данного вида атаки.

deathPushMin — минимальное расстояние, на которое может отлететь убитый из этого оружия герой.

deathPushMax — максимальное расстояние.

Что касается второй категории блоков (содержащих, напомню, параметры снарядов), то здесь имеются следующие атрибуты:

velocity (иногда настройка именуется как speed) — скорость полета снаряда (задается по трем осям координат: X, Y, Z).

angular_velocity — угловая скорость. Данная характеристика есть только у гранат и идентичных им снарядов.

gravity — гравитация полета снаряда.

Повысьте значения показателя damage и velocity, соответственно, в 1,2 и 1,5 раза. В результате огнестрельные атаки врагов станут куда более опасными, чем в оригинале.

В файлах, посвященным конкретным врагам, есть показатели, которых нет в базовом файле. А именно:

health — здоровье персонажа.

minshots — минимальное количество выстрелов, которое противник производит в течение одной атаки. Потом наступает небольшая передышка, чтобы игрок смог убить его.

maxshots — максимальное количество выстрелов.

maxLostVisTime — максимальное время, на которое теряющий бдительность враг может потерять из вида игрока, даже если тот особо не прячется.

look_max — максимальное расстояние, на котором персонаж может разглядеть свою жертву. Или попросту зоркость персонажа (определяется в системе координат X, Y и Z).

shieldDelay — время, которое уходит у монстра на то, чтобы активизировать щит.

Щит монстра-гладиатора способен теперь функционировать порядка десяти секунд, благодаря изменению настройки shieldDelay.

В нашем моде эту тварь лучше не подпускать к себе: один ее точный удар способен отнять у игрока половину жизни.

В увертливости монстрам тоже не откажешь.

Тактические изыски

Четыре приведенных далее атрибута определяют тактику боя разных монстров. Каждая из настроек принимает только два значения: 0 и 1. При нуле монстры этой тактикой не пользуются, при единичке, наоборот, пользуются.

tactical_ranged — тактика обстрела жертвы издали.

tactical_rush — постоянная погоня за обнаруженной целью. При этом монстр старается атаковать в ближнем бою.

tactical_cover — при этой тактике монстр всячески старается прикрывать своих товарищей, если они находятся поблизости.

tactical_hide — монстр прячется.

awareRange — дистанция между вами и монстром, при которой тот начинает чувствовать ваше приближение и готовится к отражению атак или нападению (зависит от того, каким тактическим действиям вы его обучили). Стоит отметить, что это важное качество есть только у нескольких ваших неприятелей.

Уникальные движения

Каждый монстр в Quake 4 имеет несколько параметров атаки. Некоторые из них есть в файле monster_default.def (например, action_meleeAttack_minRange или action_meleeAttack_maxRange). У многих монстров есть также какие-то свои уникальные движения (в том числе и атакующего характера). Каждое из этих движений описывается несколькими параметрами:

action_X — наличие движения X (в файлах вместо X указывается название движения) в арсенале персонажа.

action_X_minRange — минимальная дистанция, которую «покрывает» движение. Если это какой-то вид атаки (как в большинстве случаев), то здесь определяется ее дальность.

action_X_maxRange — максимальная дистанция.

action_X_rate — быстрота движения.

X_accuracy — меткость данного типа атаки.

Усиление строггов

Приступим к изменению значений — как в файле attack_base.def, так и в тех, что соответствуют определенным монстрам. Во-первых, сделайте врагов более живучими, умножив на 1,2 значения атрибута health у всех строггов. Во-вторых, крайне желательно увеличить на столько же характеристики maxshots, дабы монстры могли атаковать вас более интенсивно. В-третьих, понизьте на единицу значение параметра maxLostVisTime (тварей с этим параметром всего четыре), дабы противники стали более бдительными. В-четвертых, не помешает сделать супостатов более «тактичными». Большинство врагов желательно обучить минимум трем тактическим установкам. Для этого тройке параметров с названиями, начинающимися со слова tactical, поставьте в значение единицу. Пусть это будут различные вариации для разных тварей: у одних задействуйте первые три тактики, у других — последние три (можно использовать и другие комбинации). Тогда у ваших соперников появится свобода выбора поведения. Понятно, что какие-то из них будут преобладать в тот или иной момент игры. Возможно, даже монстры не всегда будут выбирать наиболее правильную и подходящую в тот или иной момент тактику. Но чего у новых врагов не отнять — так это непредсказуемости. Вы не будете знать наверняка, что они выкинут в следующий раз.

Кроме того, игрокам высокого класса рекомендуется сделать коронные атаки различных строггов более эффективными, редактируя значения атрибутов с именами, начинающимися со слова action. Многие враги не наделены подобными движениями, соответствующие характеристики у них отсутствуют. У тех монстров, у которых данный параметр присутствует, атрибуты action_X и X_accuracy лучше повысить в 1,2 раза. Данная операция не является обязательной, так как ранее мы уже увеличили радиус стандартных атак монстров.

Настоящие профи могут обратиться и к другим настройкам AI, которые остались без внимания, и подкорректировать их значения, дабы еще усложнить себе жизнь.

С таким здоровьем и броней игроку по силам справиться практически с любыми соперниками. Даже с такими грозными, как в нашем моде.

После правки параметра pm_jumpheight наш герой способен совершать акробатические прыжки.

Герой-супермен

После правки файлов из папки \def\ai ваши враги стали сильнее. Если вы не относите себя к геймерам экстра-класса, вам понадобится также улучшить боевые навыки главного героя. В этом вам поможет файл player.def (он хранит в себе игровые параметры, касающиеся непосредственно Мэттью Кейна) из каталога \def архива pak001.pk4. Все интересующие нас параметры собраны в блоке entityDef player_marine.

Немного увеличьте высоту прыжка игрока, присвоив показателю pm_jumpheight значение 55. Отныне вам будет значительно легче уворачиваться от атак снизу и спасаться от взрывов, отпрыгивая в сторону. Величину шага (pm_stepsize) тоже чуть-чуть поднимем — до отметки 20. Это поможет умелым игрокам избегать выстрелов противников, ведь стрейфиться теперь можно на более далекое расстояние. Развивая тему скорости передвижения игрока, подправим значения характеристик pm_speed (определяет скорость, которую герой развивает на бегу), pm_walkspeed (скорость ходьбы), pm_crouchspeed (быстрота передвижения в приседе) и pm_noclipspeed (скорость бега при отсутствии в руках пушки). В оригинальной игре скорости обычной ходьбы и ходьбы в приседе почему-то равны. Исправим это недоразумение, заодно сделав главгероя более быстрым. Для этого первому атрибуту пропишите значение 180, второму — 100, третьему — 90, четвертому — 275. Корректировка этих параметров, как и в предыдущих двух случаях, придаст главному герою увертливости.

Следующие две наши жертвы — настройки pm_minviewpitch и pm_maxviewpitch, определяющие, соответственно, как высоко Кейн может поднять голову и как низко ее опустить. И здесь мы опять видим странную недоработку со стороны разработчиков. В реальной жизни человек, нагнувшись, может худо-бедно разглядеть, что делается у него за спиной. В игре такой возможности нет... до тех пор, пока вы не замените значения этих параметров на -120 и 120.

Сделаем нашего героя более выносливым, повысив значения характеристик pm_stamina (время, в течение которого игрок может бегать без остановки) и pm_staminarate (скорость восстановления сил), соответственно, до 15 и 0,85.

Наконец, добавим Кейну живучести. В этом вам поможет правка показателей health (стартовое здоровье игрока), maxhealth (максимальное количество жизней) и maxarmor (максимальное количество брони). Первому и второму из них пропишите числа 150, последнему — 120.

Новому главному герою по плечу даже самые сильные и разумные монстры.

* * *

Что же мы имеем в итоге? Сильные, живучие, ловкие, быстрые, увертливые монстры на фоне более динамичного геймплея. Враги теперь практически ни в чем не уступают игроку. Ко всему прочему у них появилась свобода выбора. Вы никогда не знаете заранее, как атакует вас тот или иной противник в следующий раз. Да, сражаться с такими монстрами очень непросто. Но как, черт возьми, приятно воевать с почти равными себе соперниками!

Комментарии
Загрузка комментариев