Як вирішити використовувати той чи інший ігровий движок у розробці ігрового програмного забезпечення (ПЗ), а якщо використовувати, то який? Ми пропонуємо розглянути плюси й мінуси використання ігрових движків і дізнатися всі тонкощі цієї нелегкої справи.
Практично всі ігри розробляються за допомогою ігрових движків. Чому?
Що взагалі таке ігровий движок?
Ігровий движок — це базове програмне забезпечення для будь-якої комп'ютерної гри. Різниця між поняттями гри та ігрового движка дуже часто розпливчаста, і не завжди студії проводять чітку межу між ними. Але, загалом, термін «ігровий движок» застосовується для програмного забезпечення, яке придатне для повторного використання. Звернемо увагу на найголовнішу перевагу ігрового движка — можливість неодноразово його використовувати для безлічі ігрових проєктів.
Плюс: багатоплатформність
Раніше від розробників вимагалося робити по кілька копій ігор на кожну з платформ (Windows, Mac, PlayStation). Зараз же, багато ігрових движків надають можливість використовувати тільки одну копію на різних платформах, що дуже економить ресурси й час розробки.
Мінус: спеціалізованість
Недоліком багатьох ігрових движків є те, що вони дуже часто спеціалізовані в рамках жанру гри. Наприклад, рушій, спроєктований для простенької 2D-гри, суттєво відрізнятиметься від движка для стратегії в реальному часі. У якихось жанрах комп'ютерних ігор іноді потрібна підтримка своїх специфічних функцій, які в інших жанрах зовсім не застосовуються. Тому на ринку існує величезна кількість різних движків для найрізноманітніших завдань.
Багатофункціональні движки — Unity, Unreal Engine
Водночас існують деякі движки, які дають змогу розробляти ігри практично всіх жанрів. Вони складаються з величезної кількості компонентів і рішень, застосовних до різних типів ігор. Розробники ж, зі свого боку, обирають компоненти та механіки, які планують використовувати у своїй грі, з'єднують їх і отримують готовий проєкт. Так, движок Unreal Engine попри те, що був спочатку задуманий для ігор жанру шутер від першої особи, успішно використовувався для створення ігор у безлічі інших жанрів. Наприклад, як шутер від третьої особи GearsofWar, пригодницька рольова гра Grimm або футуристичні перегони SpeedStar.
Однак рішення, з використанням таких багатофункціональних движків, часто менш оптимізовані, оскільки деякі обрані розробниками компоненти надалі можуть конфліктувати. Наприклад, іноді використані у движку рішення занадто узагальнені або занадто вузькоспрямовані, а іноді там є занадто багато того, що згодом тільки створює зайве навантаження на комп'ютер. Тому в деяких випадках, набагато доцільніше буде або розробляти гру з нуля, або використовувати спеціалізовані движки, про які ми поговоримо далі. Але все ж у більшості випадків простіше виправити конфлікт деяких компонентів, ніж опрацьовувати все з нуля.
Основні жанри ігор
Тепер ми пропонуємо трохи детальніше розглянути основні жанри ігор і спеціалізовані ігрові движки для кожного з них.
- Шутери
Ігри від першої особи, які є найбільш технологічно складними, оскільки їм необхідно представляти гравцеві ілюзію тривимірного світу і робити це в реальному часі.
Движки повинні дуже добре оперувати такими технологіями:
- ефективне відображення тривимірних світів;
- зручна механіка контролю персонажа і прицілювання;
- висока деталізація;
- точність анімації зброї та рук, а також безліччю інших.
Серед усіх движків тут можна виділити UnrealEngine і 4A Engine.
- 2D-платформери
Дані ігри здебільшого поширені на мобільних пристроях, оскільки не вимагають високоякісної графіки та реалістичності. Движки для ігор цього жанру звертають більше уваги на анімацію персонажа і динаміку геймплея.
Тут застосовуються такі технології:
- елементи з головоломок,
- різні способи переміщення ігрових об'єктів (рухомі платформи, драбини, мотузки);
- використання камери, що стежить за персонажем;
- опрацьована система зіткнень та інші.
Загалом, для цього жанру ігор існує величезна кількість рушіїв, найвідоміші з них — це Unity, Construct 2 і Corona.
- Файтинги
Основою цих ігор є поєдинок — рукопашний бой на арені.
Ось чому вони орієнтовані на такі чинники движка :
- багату анімацію з високою деталізацією;
- точність ударів;
- завдання складних комбінацій за допомогою кнопок або джойстика тощо;
- зміни та додавання спецефектів (шрамів після ударів, виступ поту тощо;
- реалістичної симуляції зачіски, одягу та інших елементів.
Найбільш популярний движок у цьому жанрі — Frostbite.
- Стратегії
Запорукою досягнення перемоги у цих іграх — планування та стратегічне мислення.
Тому зрозумілі чинники для технології таких движків:
- немає високих вимог до графіки, і тому орієнтується на те, щоб відображати персонажів з низькою роздільною здатністю;
- змога працювати з великою кількістю персонажів одночасно;
- наявність в інтерфейсі гравця елементів управління та інструментів роботи з групами персонажів.
Під цей жанр, у принципі, може підійти будь-який движок із підтримкою 3D-графіки та високорівневої оптимізації. Найчастіше тут використовуються Unity, Wargus.
- Масові багатокористувацькі ігри
Так, одночасно в цю мережеву гру мають змогу грати до сотень тисяч гравців. Локальні завдання, які вирішує движок, схожі на ті, що є в іграх інших жанрів, але...
Особливі вимоги до технології таких движків:
- наявності великого ігрового світу;
- можливості одночасної присутності та взаємодії великої кількості гравців;
- орієнтація й опрацювання програмного забезпечення серверів, які повинні зберігати стан світу, управляти підключенням і відключенням гравців, надавати внутрішньоігрові чати, способи взаємодії голосом і так далі.
Для цього жанру теж існує велика кількість різних движків — Unreal Engine, CryEngine, Unity, Rage та інші.
Отже, за такого розмаїття наявних нині движків іноді складно вирішити — використовувати певний движок у своєму проєкті чи ні, а якщо використовувати, то який. Це, звісно, суто особисте питання, яке залежить від багатьох факторів. Але факт залишається фактом: ігрові движки дуже полегшують життя розробникам. З їхньою допомогою готовий продукт виходить набагато якіснішим і менш витратним за часом.
Олег Топорков