Гаряче Shtf

Отже, минуло літо, і закривши приблизно сотню тяг на Trello (і відкривши ще сотні чотири нових там же), ми повільно, але вірно наближаємося до перших тестових ковзанок. Як хостинг виділених серверів під ігрові сесії обрано Amazon Game Lift - але тут уже треба дивитися, як піде тестування.


При цьому ми так само страждаємо від відсутності хорошого, придатного піарника в нашій команді, і пішовши в розробку якось забули постити взагалі.

А сьогодні я хотів написати про реалістичні механіки в іграх – на рівні міркування та знаходження компромісів. Ще на початку розробки я заявив, що ми будемо прагнути реалізму в нашій грі, щоб SHTF відрізнявся від цих ваших RUST-ів суворістю механік і правдоподібністю ігрового процесу. Але одна справа заявити, а інша - як це все виражатиметься у конкретних геймдизайнерських рішеннях.
Отже, для прикладу візьмемо автомат, на ньому – планка Пікатінні, що наводить гравця на думку: "Я можу поставити туди оптичний приціл чи коліматор".

Але не тут було. Хто встановлював оптику хоча б на страйкбольну зброю – той знає, що прикрутивши приціл до планки відразу користуватись зброєю сенсу немає – треба спочатку зробити пристрілку. У грі можна було зробити щось подібне - начепи приціл, але кулі летітимуть не туди, куди ти цілишся. Ось тільки гравця це швидше за все розсердить і занурення в ігровий процес не сприятиме. Геймплейним рішенням може стати створення, наприклад, навички "Пристрілка", що набуває, володіючи яким гравець отримує можливість встановлювати/замінювати збройову оптику, а всім іншим гравцям залишається задовольнятися вже встановленими аксесуарами.

Далі гравець починає цілитися, і черезоптичний приціл бачить мету в 400 метрах від себе. Вистріливши мішені в голову, гравець добре якщо потрапить по ногах - куля 7,62 х39 через 400 метрів ляже метра на півтора нижче за мету. Гравітація – вона та ще сука.
Щоб потрапити в ціль, ігри (наприклад PUBG) практикують виставлення "нуля" прицілу на різні дистанції, наприклад на 100-200-300-400-500 метрів, але це теж не зовсім чесно, тому що падіння кулі з відстанню залежить не від прицілу, а від патрона та довжини стовбура. Прокликування прицільного пристрою підвищує прицільну мітку на 2,5 см для мішені на відстані 100 м від стрілка, і стріляючи на 400м для різних набоїв приціл доведеться прокрутити на 8 кліків для патрона 5.56 NATO або на 15 кліків для 7,62х39. Причому щоб це знати - гравцеві треба знати балістичні таблиці цих куль.

Само собою я не настільки сволочний, щоб застовлювати гравця вчити ці таблиці, але ж я обіцяю реалізм. Давати чесний оптичний приціл і хай розбираються самі? Робити "розумний" приціл, який підлаштовуватиметься під гвинтівку і переводитиме вимірювання в метри?
Сама собою балістика як механіка не складна для реалізації. Головне переконатися, що твій снаряд не пролетить крізь мішень (всі фізичні розрахунки проводяться разів 10 за секунду, і куля за цей час пройде до 80 метрів), не зжере багато обчислювального часу, і що на всіх клієнтах ігри всі кулі летять однаково з точністю до сантиметрів. Далі вже можна додавати "за смаком". Наприклад, щоб куля летіла відповідно до балістичних таблиць, треба врахувати опір повітря, і знижувати швидкість кулі кожен тик, а також врахувати аеродинамічну стійкість тієї чи іншої кулі - по суті знижуючи прискорення вільного падіння на деякий коефіцієнт для різних куль.

Але ж єще й бічний вітер. На дистанціях до 100 метрів він не важливий, а от при снайперській стрільбі може неабияк засмутити. Гра SCUM наприклад пропонує оцінювати швидкість вітру з коливання дерев або кутом падіння дощових крапель (я серйозно - https://youtu.be/VeCXV2Klt1g?t=503 ), і це схоже на знущання над гравцем, але в той же час і круто . І тут розробник повинен поставити собі питання – чи хочу я щоб гравці страждали, і якщо хочу – то наскільки. Зрештою, ігри, які дарують гравцеві хороші, якісні та дозовані страждання - часом досить затребувані.

Далі звук. Точніше три звуки. Один від пострілу, другий від прольоту кулі повз спостерігача, третій від влучення. На наш погляд, звуки дуже важливі, і на них ні в якому разі не можна забивати. Озвучка хороша, якщо ніхто з гравців не зверне на неї уваги і все сприймуть щось природне. Отже мало просто програвати звук. По-перше, треба врахувати швидкість поширення звуку. По-друге, падіння гучності з відстанню - воно нелінійне. По-третє - спотворення звуку з відстанню - високі частоти спотворюються більше, ніж низькі, і звук з відстанню змінює тембр. Дзвінкий постріл "ходищ" з відстанню перетвориться на гучний "птух". У четвертих спотворення звуку акустикою оточення. У приміщенні все звучить інакше. У п'ятих наявність перешкод між джерелом звуку та слухачем розсіює джерело. І саме собою звучання має бути бинауральным, щоб відразу визначити, звідки був звук.
На щастя Unreal Engine дозволяє це зробити досить зручними інструментами, але і тут доведеться шукати компроміс, якщо ви, звичайно, не розробляєте Hellblade і не намагаєтеся вичавити звук на максимум можливостей.

Коротше кажучи, постійно доводиться шукати компроміс.що хочеш (і обіцяв) зробити, що можеш, і що треба. Заздалегідь передчуваю, що в будь-якому випадку знайдеться хтось, хто буде пред'являти за підсумком - зробив не так, це не реалістично, ось так у житті не буває і тп. А що я? Я хочу зробити реально, але на практиці це нереально.
SHTF. Щоденник розробки 4 - Архітектури пост
Незважаючи на мої плани постити раз на 2 тижні - виходить поки тільки постити раз на 3. Така смуток.

Також застовпили присутність на DevGAMM у Москві 18-19 травня, кому цікаво - давайте зустрінемося, побалакаємо, столик U6 19 травня. А ще моя дочка зробила мені апгрейд ноутбука, позбавивши мене від зайвих клавіш (такою була призначена клавіша Б), так що якщо десь по тексту далі трапиться незрозуміле слово - швидше за все це я пальцем не потрапив за тим місцем, де була клавіша, не закликайте грамарнаці.
Ок, а тепер про прототипування архітектури.
Одна з концепцій гри - використання власного будинку як вихідної бази для апокаліптичного сценарію. Тобто в багатоквартирному будинку є сходові прольоти, іноді ліфт, іноді пожежні сходи. Які сценарії проходу чи відходу це дозволяє реалізувати? Які слід вжити заходів? чи варто обороняти під'їзд чи квартиру? А якщо це будинок? І т.п.
Ще складніше з більшими будинками. Сценарій оборони супермаркету від зомбі обігрався в різних фільмах та іграх, так що повз таке пройти ніяк не можна. По суті, у гру треба внести правдоподібні архітектурні об'єкти, які будуть служити або метою для захоплення та утримання, або об'єктом оборони. З одного боку логіка будови має бути адекватною, з іншого боку - це ігровий міні-рівень, з усіма витікаючими геймплейними.
Мало того, що він фактично створений дляПрототипування будівель, так ще й експортований звідти fbx, незважаючи на убогу сітку, все ж таки був спритний движком. Треба тільки не забути на експорті вибрати двосторонні полігони, а при імпорті використовувати сам міш як колайдер.
Вийшло приблизно так:


Ось, наприклад, собор Святого Франциска з прилеглими будинками. При проектуванні (яке робиться за 1 день), можна вже прокласти всі проходи, всі входи та виходи. З геймплейної точки зору - це база найлегшого рівня. По-перше, територія собору обгороджена і добре прикрита з флангів, по-друге стіни будівлі кам'яні і не прострілюються, а готична архітектура не рясніє вікнами. По-третє, такого роду собори історично несли подвійне призначення, друге з яких було - локальна фортеця, і території як правило розташовувалася необхідна автономна інфраструктура. По-четверте - всередині собору можна розмістити досить велику кількість тих, хто вижив.
Обороняючи собор від рейдерів, зомбі чи будь-кого, гравцеві треба по суті дбати про оборону головного входу, що значною мірою спрощує гру. Чи треба мені говорити, що в разі скажімо вірусної атаки краще триматися від місць масового скупчення подалі? І так, з оповідачів обороною управляє Марсі.

При цьому у разі подолання противником головних воріт, обороняти собор стає важко, через велику кількість входів і зв'язаності будівель. Однак і тут можна буде перезакріпитись у якомусь із окремих приміщень. Наприклад у бібліотеці, у залі зборів чи катакомбах під собором (якщо попередньо ці самі катакомби виявити).
Прототип моделі зі скечапу вже можна використовувати в двигуні для приміряння, перевірки масштабу і т.п.