Unity проти Unreal Engine — який рушій обрати для гри та чому. Зважуємо всі за та проти з розробниками
Упродовж останніх років серед великих ігрових студій помітна тенденція до відмови від рушіїв власного виробництва. По приклади далеко йти не доведеться. CD Projekt RED відправила в архіви REDengine, а Cyberpunk 2077: Phantom Liberty стала останнім проєктом із застосуванням цієї технології. Respawn Entertainment вирішила не використовувати Frostbite під час створення Apex Legends та дилогії Star Wars Jedi. Водночас S.T.A.L.K.E.R. 2 будується без умовного послідовника
Кожен з цих прикладів об’єднує перехід на Unreal Engine. І насправді список можна продовжувати: BioWare наймала фахівців, знайомих з цим рушієм, Konami заснувала студію для роботи над Silent Hill з використанням UE, і навіть вихідці з Blizzard Entertainment, які об’єдналися у Frost Giant Studios, вирішили створювати духовного наступника StarCraft на технології Epic Games.
Здається, ніби індустрія поступово рухається до спільного знаменника в цій категорії. Проте по інший бік барикад перебуває Unity. І хоча осінній скандал з монетизацією зіпсував репутацію компанії-розробника, не можна заперечувати, що кожного року виходять десятки прекрасних ігор, побудованих на цьому рушії.
І Unreal Egine, і Unity дуже популярні, тому ми вирішили їх порівняти. У цьому матеріалі наша редакція з допомогою 13 українських розробників визначить переваги й недоліки рушіїв, у яких випадках варто обрати той чи інший та напрями для подальшого розвитку технологій.
Переваги Unreal Engine
Почнемо з рушія Epic Games та найвідомішої тези на його користь — наявність Blueprints Visual Scripting, або просто блупринтів. Якщо коротко, то це візуальна мова написання скриптів, яка дозволяє сформувати логіку гри без застосування програмування. Для розробників це важливо з декількох причин:
- Можливість швидкого створення прототипів та тестування механік.
- Зручність під час проведення експериментів, коли виникає необхідність перевірити певну ідею, проте не хочеться витрачати час на її написання з використанням С++.
- Ефективність за потреби швидко реалізувати та оцінити задум у парі з геймдизайнером.
«Якщо все добре організувати, то можна і цілу гру на Blueprints написати. Хоча, звісно, у них є багато обмежень. Загалом їх бажаніше використовувати для анімацій і скриптів, ніж для написання базового коду та архітектури».
На рівні з Blueprints фахівці відзначають готові рішення «з коробки» для різноманітних проєктів — як сюжетних, так і багатокористувацьких. До багатьох з цих інструментів є відповідна документація. А за потреби розробники можуть покращити та масштабувати їх. Завдяки цій перевазі пришвидшується і спрощується створення великих проєктів. У підсумку на виробництво йде менше коштів.
«UE5 уже має певний концепт перевіреного на практиках фреймворку, тобто базових об’єктів, які створені для певних завдань. Це дає змогу розробнику не придумувати велосипед, а працювати в загальному шаблоні, і швидко інтегруватися іншим розробникам у проєкт, адже вони відразу розуміють, де й що шукати. Щоправда, для початківців або тих, хто перейшов з інших рушіїв, це може бути незвичним».
Unreal Engine входить у технологічний авангард. Розробники виділяють великий спектр графічних та системних можливостей, які створюють перевагу над іншими рушіями. Epic Games постійно впроваджує нові інструменти в UE та розширює свою технологічну інфраструктуру. Особливо розробники відзначають два рішення:
- Lumen — динамічну систему глобального освітлення та відображень.
- Nanite — технологію автоматичного масштабування геометричної деталізації оточення в режимі реального часу залежно від відстані до об’єкта.
«Nanite і Lumen — нові системи, запроваджені в Unreal Engine 5, дозволяють створювати високодеталізовані сцени з динамічним освітленням без значного впливу на перформанс. Поки що в процесі розробки, але вже дуже перспективні».
Розробники навели приклади й інших імплементованих у рушій технологій, які надають переваги: Chaos, MetaSounds, оновлена система Animation Blueprints, Control Rig, Niagara. А ще Epic Games додає в інструментарій Unreal Engine цікаві рішення з маркетплейсу.
«Epic Games — технологічні монополісти. Тобто нині в них найкраще розвинута інфраструктура передових технологій. Згадати той же серіал „Мандалорець“, який знімали з використанням Unreal Engine: рушій дозволяв працювати з віртуальним світом на гігантському екрані в реальному часі».
Unreal Engine готовий для роботи з консолями дев’ятого покоління — PlayStation 5 та Xbox Series X/S. Підтримка реалізована на базовому рівні, тому для розробників, які хочуть випускати ігри на всіх актуальних платформах, це важливий фактор.
«Він працює з новими консолями/ПК (PS5/Xbox Series) без потреби додаткових налаштувань і довантажень. Якщо мета проєкту — вийти на нових платформах з мінімальними потребами, то потрібен новий рушій, в цьому випадку — UE5».
Unreal Engine — це рушій з відкритим вихідним кодом. Тобто розробники можуть будь-якої миті вносити в нього правки відповідно до потреб гри. А ще це значно спрощує локалізацію та виправлення помилок, бо фахівцям доступний моніторинг виконання процесів на боці рушія. До того ж відкритий код у парі з готовими рішеннями дозволяє зекономити на кількості спеціалістів у команді.
«Якщо постають якісь запитання щодо власне рушія, завжди можна самому побачити, як воно працює під капотом. Можна в останній момент модифікувати код рушія, хоча краще цього не робити взагалі. На вихідному коді навіть можна вивчати програмування, дивитися, як реалізовані ті чи інші особливості».
Epic Games пропонує вигідну модель монетизації Unreal Engine для розробників. Студії платять 5% відрахувань з кожної проданої копії. Проте комісії починають діяти, лише коли дохід від проєкту перевищує $1 мільйон. Це особливо вигідно незалежним командам і дозволяє виділитися на фоні конкурентів. Хоча розробники зазначають, що для ААА-проєктів така цінова політика підходить не завжди.
Фахівці, які вибрали Unreal Engine, мають змогу напряму контактувати з Epic Games. Для цього створено спеціалізований форум Unreal Developer Network, який доступний ліцензованим розробникам. Якщо виникнуть специфічні проблеми, можна звернутися по рішення та пораду до творців рушія.
Unreal Engine має широку індустріальну підтримку. Тобто рушій сумісний зі сторонніми рішеннями, підтримку яких реалізувала Epic Games. Наприклад, розробники можуть додавати асети з Blender просто під час сеансу в UE. Для цього необхідно скористатися двома додатковими надбудовами.
Популярність Unreal Engine мотивує фахівців вивчати рушій. Завдяки цьому на ринку з’являється багато розробників, знайомих з технологією. І в підсумку студіям легше знайти фахівців для створення гри на UE.
Виходить таке собі замкнуте коло, у якому переплелися відомі проєкти на Unreal Engine та кваліфіковані спеціалісти, що знаються на рушієві. Кількість перших і других взаємопов’язана, бо зростає пропорційно. Саме тому зараз немає проблем з пошуком розробників для проєкту на UE. Для багатьох студій це стає додатковим позитивним фактором.
«Компаніям простіше знайти людей, які вже вміють працювати з мейнстримним рушієм, ніж витрачати місяці часу на онбординг нових спеціалістів».
Недоліки Unreal Engine
На дев’ять переваг Unreal Engine знайшлося майже стільки ж проблем. Деякі з них стосуються локальних аспектів, проте є й вагомі недоліки, які можуть вплинути на рішення щодо вибору рушія. З останніх і почнемо, поступово переходячи до менш значущих мінусів.
Велику кількість рішень «з коробки» та передових технологій розробники записали до переваг. Проте в цьому ж аспекті приховані й одні з найвідчутніших проблем.
- Epic Games намагається створити універсальний рушій, який зможе задовольнити будь-які потреби. В окремих випадках це стає проблемою, бо фахівцям доводиться миритися з безліччю непотрібних конкретно для їхніх завдань інструментів. Вони здатні впливати на рендер або займати зайвий обсяг. Якщо ж спробувати цього позбутися, можна створити собі додатковий і доволі сильний головний біль.
- Готові рішення «з коробки» завжди мають недоліки. Їх потрібно самостійно виправляти та налаштовувати під себе. Можливість зробити це — однозначний плюс. А от необхідність витрачати додатковий час — помітна проблема.
- Чимало інструментів Unreal Engine потрібно вміти правильно використовувати. Особливо це стосується нових технологій, як-от Lumen та Nanite. У 2023 році вийшло багато проєктів на UE5 з рівнем графіки, якого можна було досягнути й на UE4, проте з напрочуд поганою оптимізацією. Серед них, наприклад, Immortals of Aveum та Remnant II. А в RoboCop: Rogue City технічний стан хоч і непоганий, проте візуальна складова відчувається застарілою.
- Такі проблеми виникають саме через нові інструменти, які розробники не встигли достатньо вивчити й проаналізувати, щоб доцільно використовувати. Технічної документації для цих рішень поки що бракує, а тому переважно доводиться на практиці шукати правильний підхід для кожного випадку. І на поточному етапі це призводить до проблем з оптимізацією навіть за відсутності передової графіки.
«Дуже часто є бажання модифікувати рушій, принципово оптимізувавши рендер чи якийсь інструмент. Але якщо піти цим шляхом, то майбутнє оновлення рушія може стати дуже болісним процесом».
Epic Games намагається регулярно покращувати Unreal Engine, однак нові версії зазвичай нестабільні й мають різноманітні баги. Більшість помилок розробники швидко виправляють, проте деякі лишаються надовго.
«На жаль, відкритий код може бути недопрацьованим або містити нетривіальні баги. Особливо в підтримці SDK для консолей».
Unreal Engine 5 сильно зав’язаний на використанні одного потоку процесора для ігрової логіки. Рушій має інтерфейс для виконання завдань і в багатопотоковому та асинхронному режимі. Проте велика кількість обчислень відбувається саме на одному потоці. Через це зростає складність для розробників, які планують працювати з UE5.
«Не проблема технології, але все ж варто сказати, що поріг входу доволі високий. Це ускладнює можливість швидко зробити свою гру без підготовки. Потрібні хороші знання C++ та розуміння принципу роботи UE5».
Усі переваги Unreal Engine стосуються 3D-проєктів. Якщо ж необхідно створити 2D-гру, то рушій здасться просто незручним. Потрібні для цього інструменті є, проте Epic Games не фокусувалася на двомірній графіці. Одним з варіантів може бути об’єднання 3D та 2D, однак створення простих 2D-проєктів на Unreal Engine ризикує виявитися складнішим та дорожчим, ніж з використанням інших рушіїв.
На нашому форумі про це вдало висловилася розробниця під псевдонімом Mary R. Вона поділилася досвідом переходу на Unreal Engine після Unity й швидко помітила описану проблему.
«Рушій не розрахований для розробки 2D-ігор. Тому якщо для розробки 2D-гри хтось обирає UE, то це, мабуть, ще той збоченець. Коли вже Dark Soul не вставляє і зовсім не складна, тоді можна спробувати зробити 2D на Unreal. Навіть HUD можна впровадити тільки через Blueprints. Здебільшого всі елементи UI розташовані в розділі Blueprints. У цьому випадку, працюючи з Unity, мабуть, одразу відчутно різницю в зручності використання інтерфейсу. Одне натискання, є Canvas, усе видно».
На мобільних платформах гра на Unreal Engine матиме розмір приблизно на
Для Unreal Engine 5 потрібно мати потужний персональний комп’ютер. Системні вимоги рушія — це чотириядерний процесор з тактовою частотою від 2,5 ГГц, 8 Гб оперативної пам’яті та відеокарта NVIDIA GeForce RTX
Компіляція C++ та розгортання проєкту на Unreal Engine займають певний час. Розробники не вважають це проблемою технології, але зазначають, що доведеться звикнути.
Плюси Unreal Engine
- Блупринти дозволяють швидко створювати прототипи та експериментувати з ідеями.
- Багато готових рішень «з коробки», які можна налаштувати під потреби проєкту.
- Відкритий вихідний код.
- Підтримка актуальних платформ.
- Вигідна модель монетизації.
- Прямий контакт з Epic Games через спеціалізований форум.
- Сумісність зі сторонніми рішеннями.
- Велика кількість фахівців на ринку через популярність рушія.
Мінуси Unreal Engine
- Багато інструментів, які часто непотрібні для розробки проєкту, а лише заважають.
- Готові рішення потрібно переважно допрацьовувати, витрачаючи на це час.
- Нові технології все ще на етапі допрацювання. Документації мало, і тому розробники не завжди правильно та ефективно їх використовують.
- Unreal Engine дуже зав’язаний на використанні одного потоку процесора.
- Оновлення рушія часто містять баги.
- Незручний інструментарій для 2D-проєктів.
- Мобільні ігри на Unreal Engine мають великий розмір.
- Для роботи з рушієм потрібен потужний ПК.
Цікаві думки про розробку ігор на Unreal Engine
Що розробники хотіли б покращити в Unreal Engine
Переваги Unity
Переходимо до плюсів, які може запропонувати другий рушій з нашого списку. У нього також є чимало власних сильних сторін. Почнемо з основної — простоти в опануванні. На противагу Unreal Engine, де для досягнення високого рівня майстерності потрібно розібратися з багатьма нюансами, в Unity низький поріг входу.
- Розробники подбали про велику кількість документації для інструментів, реалізованих у рушієві.
- Навколо Unity сформувалася велика та сильна спільнота. Творці завжди можуть знайти матеріали для навчання, посібники, присвяченні окремим можливостям, покрокові гайди тощо.
- Мова програмування C# легша у вивченні, ніж С++. Це відіграє важливу роль на початковому етапі, а от щодо подальшого впливу думки розробників розділилися. Дехто вважає, що на позиціях Middle та Senior фахівцям у будь-якому напрямі IT байдуже, на чому писати. А на думку інших, Senior-розробник на Unity має глибше розбиратися в тонкощах C#, ніж його колега, який спеціалізується на Unreal Engine, у C++.
Unity створювали як продукт для широкої аудиторії. Розробники рушія подбали не лише про простоту його використання, а й про універсальність. Кожен з опитаних нами фахівців згадав, що рушій дозволяє випускати ігри та додатки різних форматів і жанрів для більшості доступних платформ. На Unity можна успішно реалізувати як простий 2D-проєкт, так і масштабний реліз. І водночас затрати коштів будуть меншими, якщо порівнювати з конкурентами.
«Завдяки простоті використання рушія треба мінімум вузькопрофільних спеціалістів для розробки якісного продукту, що дозволяє досягнути кращого результату за малого бюджету».
Unity продовжують дуже активно розвивати. Розробники рушія регулярно впроваджують різноманітні новації, прислухаючись до потреб користувачів. Хоча комунікація не завжди відбувається швидко й компанія може відреагувати з запізненням, розвиток — це все-таки плюс.
У редактор рушія можна додавати новий функціонал, і це легший процес у порівнянні з конкурентами. Наявних інструментів також удосталь для розробки складних модифікацій чи власних рішень для Unity. Це важливо, коли виникають специфічні завдання.
На Unity легко ітерувати проєкт. Можна швидко реалізувати ідею та подивитися, чи працює вона. Це спрощує процес формування фінальної концепції гри.
«Press and Play. Немає танців з бубном, і завжди можна швиденько розібратися з проблемами, які виникають під час розробки. Тут, звісно, не йдеться про кейси, коли проблема на боці рушія».
З активної спільноти, сформованої навколо Unity, витікає ще одна перевага — дуже багатий маркетплейс. Розробники створюють безліч асетів, плагінів та рішень, які можуть спростити створення проєкту. Частина матеріалів розповсюджується безплатно, хоча більшість виставлена на продаж. Наявність такої кількості пропозицій на маркетплейсі допомагає заощадити час і просто придбати потрібні ресурси. На цьому наголосили декілька розробників, з якими ми поспілкувалися.
Unity має зручний користувацький інтерфейс. Усі потрібні інструменти та функції — на своєму місці. А ситуації, коли необхідно шукати, де і що вимкнути, не виникають. За словами одного з розробників, це доказ орієнтації рушія на широку аудиторію.
Як і у випадку з Unreal Engine, Unity підтримує інтеграцію за сторонніми рішеннями партнерів. Найпростіші приклади — Blender та Maya, які активно застосовують для реалізації моделей, анімацій, візуальних ефектів тощо. Імпорт файлів з двох згаданих програм утілено на рівні функціоналу, і для цього треба вибрати лише декілька пунктів у меню.
Монетизацію Unity, попри на вересневий скандал, частина розробників все ще зараховує як перевагу. До змін у фінансовій політиці рушій був найвигіднішим для розробників. Фахівці віддавали перевагу купівлі ліцензії за фіксовану вартість на противагу відрахуванням, як у випадку з Unreal Engine. Проте й зараз монетизація Unity — це перевага, особливо для невеликих інді-команд.
Тим паче, що спільноті вдалося своєю критикою домогтися позитивних рішень. Наприклад, тариф Unity Personal лишається безплатним, і платити за Unity Runtime на ньому непотрібно. Ігри з доходом менше як $1 мільйон за 12 місяців, починаючи з вересня 2022 року, не будуть обкладати комісіями. А після введення нових правил розробники зможуть вибирати між фіксованою платою та динамічною на основі кількості завантажень проєкту.
На Unity є безліч можливостей для роботи з 2D. Помітно, що під час розробки технології цьому напряму приділяли окрему увагу. Це підтверджують і двомірні ігри на рушієві, які стали справжніми хітами: дилогія Ori, Cuphead, Hollow Knight, Dave the Diver та інші.
Unity працює на будь-якій сучасній системі. Основні вимоги рушія — це операційна система не нижче як Windows 7, процесор з підтримкою архітектури х64 та DirectX
Недоліки Unity
Як і у випадку з Unreal Engine, розробники навели значний перелік недоліків Unity. Головні з них пов’язані з глобальною стратегією розвитку рушія. Причому невдоволення фахівці виражають активніше, ніж у випадку з UE.
За словами розробників, Unity часто випускає нові інструменти в наполовину готовому стані. А потім вони можуть довгий час залишатися в умовному ранньому доступі. Багато рішень досі відчуваються сирими. Як висловився один з опитаних фахівців, розробники рушія створили справжній бардак з новими можливостями.
В Unity надто багато багів. За останні п’ять років кількість помилок значно зросла. Наприклад, редактор може закритися з критичною помилкою, коли видаляєш об’єкти зі сцени комбінацією Ctrl+Z. А ще спостерігаються проблеми з використанням пам’яті на ПК. Нові важливі плагіни теж виходять з багами, що створює додаткові труднощі для розробників. А самостійно вичистити інструменти від помилок дуже складно.
«Баги — це нормально, але не в такій кількості, як зараз. Іноді з’являється відчуття, що розробники не користуються інструментами, які самі ж створюють».
Оновлення Unity можуть поламати роботу важливих функцій. Після цього доводиться довго виправляти проблеми й витрачати на це додатковий час. А найгірше, що у свіжих патчах може не бути нічого корисного для конкретних фахівців. І тоді наявність поламок нічим не компенсується.
Команда Unity намагається постійно збільшити кількість доступних інструментів. Проте частина рішень, які інтегруються в рушій, виявляються нікому непотрібними. Як приклад розробники навели систему контролю версій.
Створення багатокористувацьких ігор на Unity складніше, якщо порівнювати з Unreal Engine. Рушій апріорі немає інструментарію для розробки онлайн-проєктів. Через це поріг входу вищий, хоча реалізація мультиплеєра цілком можлива.
В Unity є одночасно три системи рендерингу. Це дозволяє дібрати ту, яка найкраще підходить під запланований продукт у питаннях графіки та продуктивності. Проблема в тому, що ці системи максимально різні, тобто не уніфіковані.
Unity — це рушій із закритим вихідним кодом. Через це позбутися проблем, які виникають на боці рушія, буває складно, а процес займає більше часу, ніж у випадку з Unreal.
Репутаційний удар через зміну політики монетизації Unity турбує розробників. Нагадаємо, що у вересні компанія вирішила переглянути фінансову політику свого рушія. Вона хотіла ввести комісії за використання Runtime на основі кількості встановлень гри. Спільнота виступила з активною критикою, і Unity прислухалася до користувачів. Проте серед розробників усе ще відчувається осад.
«Головна проблема зараз — це історія з runtime fee, поганий контроль збитків з боку Unity та втрачена довіра до компанії. Частково це вже виправили, але довіру можна буде повернути тільки з часом».
Розробники загалом підкреслюють, що накопичилося дуже багато запитань до Unity та керівництва компанії. Через це вони не впевнені в подальшому позитивному розвитку рушія.
Плюси Unity
- Велика кількість документації та посібників разом з мовою програмування C# забезпечують низький поріг входу.
- Рушій універсальний і підходить для створення проєктів будь-яких форматів.
- Активний розвиток Unity, реакція на запити спільноти, хоч і запізніла.
- Легке додавання нового функціоналу, можливість реалізовувати складні модифікації під власні потреби.
- Багатий маркетплейс з безліччю пропозицій.
- Легке ітерування ігор.
- Зручний користувацький інтерфейс.
- Інтеграція сторонніх рішень.
- Широкий інструментарій для роботи з 2D.
- Рушій запускається на будь-якій сучасній системі.
- Незважаючи на скандал, монетизація лишається вигідною для незалежних розробників.
Мінуси Unity
- Нові інструменти виходять у наполовину готовому стані й довго допрацьовуються.
- Величезна кількість багів, які дійсно заважають роботі.
- Оновлення ламають важливі функції.
- Свіжі рішення часто виявляються непотрібними.
- Створення багатокористувацьких ігор не підтримується «з коробки»
- Системи рендерингу не уніфіковані.
- Закритий вихідний код.
- Зіпсована репутація компанії Unity через спробу змінити монетизацію.
- Багато запитань до глобальної стратегії розвитку рушія.
Цікаві думки про розробку на Unity
Unity чи Unreal Engine?
Правильної відповіді на запитання, який з цих рушіїв кращий, немає. За словами опитаних фахівців, завжди потрібно обирати відповідно до завдань на проєкті. Як Unity, так і Unreal Engine будуть по своєму вигіднішими в конкретних випадках.
«І UE, і Unity — це гарні інструменти для розробки графічних додатків. Однак, як і будь-який інструмент, їх треба вміти використовувати та розуміти, для яких завдань вони були створені. А не ліпити все ізоляційною стрічкою, тому що це єдине, що є в інструментарії».
Та якщо конкретизувати, то вивчення Unity — це простіший шлях у геймдев. Низький поріг входу й велика спільнота дають змогу відносно швидко здобути необхідні вміння та почати працювати над проєктами. Велика кількість готових матеріалів на маркетплейсі дозволяє заощаджувати час. А для створення 2D-проєктів це найкращий вибір завдяки широкому інструментарію.
Тобто Unity люблять за простоту, універсальність і легкість в опануванні. Проте в рушія є проблеми з репутацією та подальшим розвитком. У розробників складається враження, ніби команда хапається за все одразу: намагається розширити функціонал та вводить непотрібні рішення, ламаючи справді важливі. А нещодавній скандал з фінансовою політикою тільки погіршив ситуацію. Та й для ААА-проєктів рушій не дуже підходить, і розробники це окремо підкреслюють.
Натомість Unreal Engine намагається стати галузевим стандартом. Epic Games хоче створити потужний рушій з дуже багатим функціоналом та високою зручністю завдяки Blueprints і відкритому коду. Компанія постійно реалізовує технологічні рішення, які мають спростити та здешевити розробку. А ще — підтримує зв’язок зі своїми клієнтами.
«Криза, яку створила війна, дійшла і до ігрової індустрії. Тепер гравці рідше купують ігри, а це автоматично збільшує вимоги до проєктів, їхньої якості. Інвестори стали обережнішими з інвестиціями, вкладаються в менш ризиковані проєкти. На мою думку, проєкт із середнім або великим масштабом, новітніми технологіями та меншою вартістю розробки, використовуючи готові потужні рушії на кшталт Unreal Engine, зменшує ризики та збільшує увагу аудиторії. Тому зараз помітна тенденція в бік масштабування проєктів, а не їхньої кількості».
Водночас в Unreal Engine вистачає своїх проблем. Мала кількість документації для нових технологій породжує їх неправильне застосування, через що кульгає оптимізація. Готові рішення потрібно налаштовувати під себе й дописувати, а свіжі інструменти не те щоб завжди є корисними для розробників. Та й для реалізації певних ігрових концепцій Unreal Engine просто не підходить.
9 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів