«Смертна кара» — щоденник розробки #6

Пора поговорити про ігрового персонажа. Що ж таке “персонаж” з боку розробки?

Не складно здогадатися, що персонаж, за який ми граємо — це, напевно, найскладніший компонент гри. Тут постійно слід враховувати цілу купу речей, особливо тих, які неможливо просто заскриптувати. До прикладу, всі знають, що стріляти в своїх у GTA 5 не можна. А у Far Cry взагалі в деяких місцях зброя ховається. Це якраз те, що слід перевіряти постійно та бути готовим до всього, що захоче зробити гравець. Тому на головного героя накладається купа різних умов та обмежень. Втім, почнімо спочатку.

З чого складається головний герой?

11111Головний герой (а в нашому випадку героїня), складається з півота, меша та камери. Півот — це точка, яку ми рухаємо. Стрибок, крок уперед, назад тощо — це все рух саме півота. Меш — це моделька головної героїні. До цієї моделі прикручений окремий анімаційний скрипт (блупрінт). За допомогою анімації створюється ефект ходьби, бігу, присідання. Іншими словами, сама анімація нерухома, рухається півот. Він пересуває меш, а вже в моделі спрацьовує відповідна анімація. Ну і швидкість півота підібрана так, що виглядає, ніби героїня сама ходить. Аналогічно зроблені біг та присідання. Змінюється просто швидкість півота та анімація. Крім цього, потрібно зробити деякі маніпуляції зі зброєю. Скажімо, коли ти біжиш швидко, втримати зброю важче й ефект від віддачі більший, а коли присів, то віддачі майже немає.

Життя, спрага, голод

Грати за безсмертну героїню круто, але нецікаво. Життя створюється дуже просто. Беремо змінну величину. На початку гри вона дорівнює 1 (саме один, через необхідність подальшої роботи з інтерфейсом, який в багатьох випадках сприймає число від нуля до одиниці). При кожному отриманні шкоди від неї віднімається якесь число (до прикладу 0.01), залежно від типу пошкодження. Після кожного удару йде перевірка, чи змінна менша чи рівна нулю. Якщо так, ініціюються смерть. Крім цього, у нашій грі присутні також спрага та голод. Тут все простіше. Умовне число має відніматися кожного кадру, якщо FPS менше 60. Чому так? Все просто. Люди які будуть грати на GTX 980ti можуть мати перевагу в тому плані, що в них нічого не зависає, а в кого ще є 2 нирки той під час фрізів буде далі продовжувати хотіти жерти та пити. В результаті вийде, що потреба в їжі та воді буде залежати від реального гаманця геймера, що аж ніяк не добре.

До речі, я раніше вже писав про систему пострілів. Та замітка дуже гарно доповнює цю.

До наступних зустрічей! Також, будемо раді читати ваші пропозиції на дошці trello.

«Смертна кара» — щоденник розробки #5


Приєднуйтесь! Ще більше коротких, але цікавих новин в нашій групі VK: vk.com/playua


Вам це може сподобатись

Приєднуйся до обговорення →
  • NeverAlone

    а чому Ви не використовуєте Timelines? це ж дозволить незалежно від FPS налаштувати час за який буде зменшуватися спрага і голод

    • Vi Games ;)

      До речі, слушна думка. Я щось зовсім забув про цю корисну річ. Дякую!

      • NeverAlone

        Будь ласка)