+38 (093)  990-30-70

Новости

Королевский бал у Вас дома

нашестя строггів

Десантник Меттью Кейн повільно йде по довгому темному коридору. Вдалині мерехтить слабка лампочка. Кейн зауважує чиюсь тінь, біжить вперед - там строггів. Величезний монстр підкидає зброю, робить кілька пострілів і ховається за кут. Солдат слід за ним і виявляється в небезпечній близькості від противника. Строггів з усього маху б'є людину своєю пазуристою лапою, але Кейн вже готовий до такого повороту подій. У неймовірному стрибку він ухиляється від удару і точним пострілом з дробовика розносить на шматки голову монстра. Тим часом приміщення заповнюють все нові і нові строггів ...

Приблизно так поводитимуться вороги в новій модифікації для Quake 4, яку ми з вами сьогодні створимо. Адже один з головних недоліків Q4 - це вкрай слабкий AI. Тупуваті і боягуз монстри не здатні скласти серйозної конкуренції хорошому гравцеві. Хіба що на високих рівнях складності - але в цьому випадку вони беруть не вмінням, а числом. У нашому моді сила і інтелект ворогів будуть дуже близькі до FEAR. Крім того, бойові навички головного героя будуть прокачані так, щоб він міг на рівних битися з порозумнішали тварюками.

Відправною пункт - архів 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) або його значення дорівнює нулю. Рекомендується збільшити значення цієї характеристики до 30 - 50. Цю операцію можна (і потрібно) зробити з файлами 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.

Новому головному герою по плечу навіть найсильніші і розумні монстри.

Що ж ми маємо в підсумку? Сильні, живучі, спритні, швидкі, верткий монстри на тлі більш динамічного геймплея. Вороги тепер практично ні в чому не поступаються гравцеві. До всього іншого у них з'явилася свобода вибору. Ви ніколи не знаєте заздалегідь, як атакує вас той чи інший противник в наступний раз. Так, боротися з такими монстрами дуже непросто. Але як, чорт візьми, приємно воювати з майже рівними собі суперниками!

Що ж ми маємо в підсумку?