Гайд: як срежисувати погоні з перестрілками як у сюжеті GTA: San Andreas

28 серпня 2023
Missiya




Авторський матеріал від користувача LibertyCity AlexLeslie про те, з чого складається будь-яка погоня з перестрілкою гравця (drive-by) і як виглядає алгоритм створення озброєної погоні.


Від автора



Мене звуть Борис Волохов (Chelews), і я починаючий гейм-дизайнер. Займаюсь програмуванням, трохи — сценарним мистецтвом. Працював над своєю невеликою сюжетною модифікацією Manhunt: Past Remembers Me, раніше — над віральною глобальною зомбі-модифікацією на мобільні версії GTA "Left to San Andreas". А це моя перша навчальна стаття.

Чому я написав цю статтю?
В одній з місій мода Manhunt: Past Remembers Me я хотів зробити погоні з перестрілками, які були в сюжетній лінії GTA: San Andreas: головний герой стріляє з вікна автомобіля в переслідувачів його машини ворогів. Від імені гравця я вважаю, що всі погоні в оригінальній грі були грамотно і, частково, захоплююче срежисовані.

Я зіткнувся з проблемою того, як мені було зробити так, як зробили в свій час Rockstar North. Навчальних статей, відеороликів і прикладів я не знайшов. В доступних модифікаціях я знаходив погоні, засновані на примітивних і ненадійних, з технічної точки зору, інструментах.

В результаті, я провів аналітичну, методологічну і практичну роботу, щоб систематизувати створення погонь в грі і спростити це завдання для себе і інших модмейкерів.

Для кого ця стаття?
Я написав цю статтю для людей, які вміють вручну встановлювати модифікації, розбираються в файловій структурі GTA: San Andreas, трохи програмують, вміють користуватися Sanny Builder і знають, що таке RRR-шляхи. Простими словами, стаття для модмейкерів.


З чого складається погоня з перестрілками?



Закономірність: Ворожа ціль підсвічена червоним маркером: у просторі, на радарі і міні-карті.
Причина рішення: Показати гравцеві, кого атакувати і де знаходиться ціль.

Закономірність: Персонажі (включаючи гравця) в авто, з якого гравець стріляє, мають безкінечне здоров'я.
Причина рішення: Ворожі NPC з більшою ймовірністю влучать у транспорт гравця, ніж у водія або самого гравця. Це питання ігрового балансу.

Закономірність: Ворожі юніти з'являються, коли транспорт гравця поруч.
Причина рішення: Економія пам'яті гри для майбутніх сценаріїв і благополучної роботи гри.

Закономірність: Рух ворогів на транспорті срежисовано так, що їх транспорт не стикається між собою і транспортом гравця під час погоні.
Причина рішення: Причина криється в прагненні робити достатньо хороші сценарії.

Закономірність: З часом транспорт (авто, байк і пр.) ворогів припиняє свій рух, якщо гравець його не встиг знищити. Ворожий транспорт або зупиняється, або потрапляє в аварію.
Причина рішення: На запланованому шляху, в середньому, припадає 2-4 ворожих транспортних засобів кожні 1-2 хвилини. Якщо протягом всієї погоні за гравцем слідує десяток і більше транспорту, то місцевості не вистачить, і важко контролювати рух кожного транспорту, щоб він не стикнувся. За особистими відчуттями, така погоня виглядатиме абсурдно.

Закономірність: Невинищені ворожі NPC та їх транспорт зникають, якщо транспорт гравця далеко від них.
Причина рішення: Економія пам'яті гри для майбутніх сценаріїв і благополучної роботи гри. Також якщо ворожі цілі позначаються маркерами, то при їх видаленні з гри маркери також зникають. Це регулює увагу гравця і усуває непривабливу купу маркерів у далині карти.


Елементи погоні з перестрілкою



Розберемо, з яких елементів складається будь-яка погоня, де гравець стріляє у ворожі цілі і стежить за здоров'ям свого транспортного засобу.

Рух транспорту — точки початку і кінця поїздки транспорту гравця та ворожих цілей, траєкторія цієї поїздки.

Перешкоди — сутність, що заважає транспорту гравця доїхати до кінцевої точки шляху. Перешкоди бувають різними: NPC з зброєю; об'єкт (в тому числі транспорт); особливий сценарій.

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

У рамках режисури погоні в грі потрібно визначити:

  • Рух транспорту;
  • Перешкоди на шляху ТС гравця;
  • Точки інтересу протягом усієї поїздки;
  • Також використання інструментів розробки для режисури.


Рух авто, мотоциклів, вертольотів і човнів у погонях з перестрілками в “GTA: San Andreas” реалізовано за допомогою RRR-шляхів. Вони дозволяють створити шлях руху транспорту, який ви захочете. Він не обмежений штучним інтелектом, який обчислює, де можна їхати, а де – ні. З допомогою RRR-шляхів ми контролюємо рух всього транспорту в погоні і отримуємо певну свободу. RRR-шляхи можна записувати за допомогою CLEO-скрипта від Seemann.


Алгоритм створення погоні з перестрілкою



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

1. Рух транспорту

  • Визначити точки початку і кінця поїздки транспорту (гравця, ворожого і нейтрального)
  • Зобразити траєкторію руху ТС від точки початку до кінця поїздки (на карті)
  • Рухатися на транспорті по цій траєкторії в грі, щоб запам'ятати шлях руху і легко його відтворити при запису RRR-шляху


2. Перешкода

  • Визначити сутність перешкоди: NPC з зброєю, об'єкт, особливий сценарій. NPC з зброєю обстрілює транспорт гравця, об'єкт може пошкодити транспорт, а особливий сценарій передбачає задумки сценариста сюжету.
  • Конкретизувати перешкоду. Якщо це NPC з зброєю, то буде він у машині чи пішки. Якщо це об'єкт, то де конкретно він буде і якими властивостями володіє. І так далі. Якщо ворожий NPC керує авто, то виконати всі пункти з 1 (рух ТС).
  • Відмітити координати (можна точку на карті) у грі даної перешкоди. Можна розділяти точки перешкод за кольорами в залежності від типу перешкоди для зручності. Наприклад, червоний – NPC, зелений – об'єкт.
  • Повторити все, що стосується пункту 2, якщо перешкод для вас поки недостатньо.


3. Точка інтересу

  • Визначити сценарій точки інтересу. Наприклад, поліцейська машина потрапляє в аварію, перевертається і вибухає (остання місія з ориг. GTA:SA). Або поліцейський мотоцикліст застряг на лобовому склі, а його покромсали на частини лопаті вертольота (місія "Відновлення сімей" з ориг. GTA:SA)
  • Повторити, якщо точок інтересу для вас поки недостатньо


4. Режисура погоні в грі

  • Розставити всі перешкоди на траєкторії руху ТС гравця;
  • Записати RRR-шлях руху транспорту гравця з урахуванням всіх перешкод;
  • Запустити RRR-шлях транспорту гравця і записати RRR-шлях для перешкод гравця (як правило, це транспорт з озброєними NPC, які женуться за ГГ);
  • Налаштувати таймери запуску тих чи інших перешкод і точок інтересу.



Підсумки



Ми розглянули, з чого складається будь-яка погоня з перестрілкою гравця (drive-by), пройшлися по алгоритму створення озброєної погоні. У наступній частині статті я зроблю майстер-клас, де ми будемо створювати свою невелику погоню в грі, якщо цього забажають читачі.

Спробуйте застосувати алгоритм і дайте зворотний зв'язок у коментарях щодо ефективності цієї методики.

Автор: AlexLeslie