Чому розробники на Unreal Engine НЕ люблять Unity?

Вітаю панове!

Хотілося-б почути думку розробників на Анріалі, чому їм не подобається Юніті. Чи не могли б ви поділитися своїм досвідом роботи з цим рушієм, та який найбільший недолік є на вашу думку?

Дякую.

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини про геймдев

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Цікаво

Чому розробники

В гей дев спільноті помічено розробників

Чому С++ не люблять С# і навпаки ? BTW Чому не id Tech, Cube 2/Red Eclipse, Godot. libGDX та інші движки? Чому одразу з лінкорів починати, навіть коли треба захопити маленький острів, для чого вистачить і есмінця ? Крім того ще є і www.cryengine.com наприклад, серед топових теж доступно як і Unreal за роялті процент, багато що там зроблено краще і за Unity (який по суті багато в чому просто сумісний з край) і за Unreal, який стає швидше спец софтом для кіно індустрії з упором на якість картинки та інших спецефектів. Це не в тих випадках коли контора взагалі робить свій движок (рущій кому як більше подобається).

як люди на яка має профейсійний досвід із ти і тим можу сказати шо обидва мають серйозні недоліки, але з анрілом більш неприємно працювати ніж з юніті.
наприклад:
— анріл досі серіалізує всі асети в бінарні файли, навіть якісь очевидні штуки як таблиці. Все шо попадає в папку контент це чорний ящик. Шо ви там поміняли дуже тяжко сказати. Можете забути про гіт і адекватні мерджі. В 2к24 і те як себе анріл позиціонує це цирк
— безтолковий фреймворк який не можна відключити. Він вам дуже не підходить якшо ви не робите фортнайт(шо доволі очевидно) Але якшо ви його вже знаєте(всяваша команда) і ви робите фортнайт то переносьте це в плюси
— треба мощний пк для запуску едітора. Остання версія анрілу зі стору важить 40+ гб, зновуж таки це цирк в 2к24 році. Дуже багато якогось рандомного хламу який вам точно не потрібен. Більшість з якого дуже вашко відключити\вирізати
— в анрілі є вбудоване візуальне програмування яким всі користуються. Юніті девелопер це 100% c# програміст . Анріл девелопер не обовязково c++ дев
— ше раз про геймплей фреймворк. він дуже не оптимізований. Повсюди віртуальні виклики, класи мають мільйони полів, і реалізовані тисячами строк коду. Можете розраховувати шо ваш average клас буде важити від 400 байт+ Також анріл не має пулів. Бере і просто рандомно алокує вам класи без перебору. Так само і з загрузками рівнів. Ну таке собі. Всеодно прийдеця руками якось то оптимізувати
— створювати юайки дуже не зручно і повільно
— загалом(дуже субєктивно) повільніше йде розробка
— безтолкова підтримка 2d
— досі нема аналогів TextMeshPro, попробуйте представити собі роботу без нього в юніті
-немає аналогів Adressables

із дуже вликих плюсів
— наявнісь сурс коду. Прям мега плюс
-набагато зручніше аналізувати перформанс
із більш менш плюсів
— відносно гарна картінка із коробки, але тільки якшо вам потрібна реалістична графіка, якшо ні то удачі

В юніті це все так само але навпаки.
Моя субєктивна думка, я впевнений шо в ГД чи артістів зовсім інша точка зору на це все

-набагато зручніше аналізувати перформанс
із більш менш плюсів
— відносно гарна картінка із коробки, але тільки якшо вам потрібна реалістична графіка, якшо ні то удачі

Ну в юніті є декілька інструментів профайлингу, яких вистачає з головою та HDRP, який теж дає гарну картинку.

А навіщо вам Анріал без фреймворку? Чисто для рендера?
Зазвичай, такі коментарі виглядають як боротьбу проти рушія, замість його використання. Фреймворк дає можливість робити гру високорівнево, і як не дивно з непоганою для цього перфою. На практиці навіть і того що є в «стандарті» мало, тому питають про GAS, Lyra і інші «нефреймворкові речі».
Приклад: коли я розповідаю студентам-підлтікам про основи роботи в Юніті — ми користуємось «простим» інпутом. Такі знання дають новачкам можливість робити перші незамислуваті механіки. І це вже побудовано над рівнем де ОС считує конкретні клавіші і процесить. Але робити «справжні» ігри на такому інпуті незручно, бо безліч простих задач мають вирішуватись самописним кодом. В анріалі поверх «рівня клавіш» і «звичайного інпуту на екшенах» згори лежить система «Enhanced Input» що дозволяє НА РІВНІ ДАНИХ менеджити інсування інпутів і диначічне додавання контекстів ( умовно, сіли в машину -частину «екшенів» забрали, а нові дали). Це третій рівень абстракції, але не останній. Бо може захотітися відділити інпут повноцінно від коду, та ще в Анріала існує GAS — дуже вдала штука для створення геймплею. І в Project Lyra є приклад як «без новго коду» пов’язати між собою екшени з енхенсд інпута і абілки ГАС. І ось над цим будується 5ий рівень абстракції — власне ваші точкові ігрові рішення. І ні, це не «забагато» абстракції, бо це допомагає робити великі проекти і підтримувати їх в чистому вигляді, робити їх гнучкими і простими в підтримці. Заради цього і беруть Анріал для ігор, на мій погляд. Інакше це не матиме сенсу

Як на мене, це очевидні речі. Це як дві футбольні команди, кожна з яких має своїх фанатів — так само фанати UE з піною у роті будуть доводити, що рушій Unity поганий, а фанати Unity будуть стверджувати те ж саме . Істина десь посередині: обидва рушії чудові у своїй роботі (суттєвих відмінностей, які би ставили один рушій нижче іншого «НЕ МАЄ»). Як в UE, так і в Unity можна створити круту реалістичну графіку, будь-яку ігрову механіку та гру в цілому. Все залежить від поточних цілей і завдань, які ставить розробник. Якщо розробник неправильно оцінить свої можливості та інструменти рушіїв, процес розробки може буде довгим та болісним

Ці рушії трохи про різне. Unreal для ААА ігор, Unity для усіх можливих ігор і не тільки ігор + веб + телефони і тд.

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

Погоджуюсь. Але в Unity є й плюси. Прототипувати і «ліпити пасочки швиденько» в Unity на мою думку легше, а переписати «пасочку» в продакшн код швидше (може мені бракує досвіду з Unreal). Відсутність фреймворку це не те щоб щось дуже погане, як на мене. Погано тут те, що Unity прикидається типу там є фреймворк і тільки з досвідом розробник розуміє, що насправді його немає.

Якраз фреймворк і розширений і дає «з коробки» те що треба для швидкого старту.
Давайте поглянемо на темплейти таки як Lyra або Cropout. Ітерувати ідеї швидше коли є база
яка дає середовище на якому вже можеш робити те що треба Тобі.
+ існування GAS, який вчити 1.5-2 місяці, але потім дійсно майже не треба програмувати для швидкого прототипування механік. На Юніті для геймплею ДОВОДИТЬСЯ писати код, що трішки дикувато в 2К24)

Пхахах. Доводиться писати код для гри — це мінус. Мдеее, привіт 2024)).
У Юніті так само існує купа сабенджинів для всього чого хочеш- сурвайвал/рейсінг/файтинг/ тей же ГеймКреейтор — які вчиш 1-2 місяці і майже не кодиш потім.
ПС: ЧатЖПТ напиши мені ААААА гру =).

По поводу сабенджинів навіть не знаю. Так можна сказати про любий двіжок з плагінами шо вже є любі сабенджини. Тут суть заключається в тому шо геймплей система і візуальне програмування вже по дефолту включене в анрілі і позбавитись від цього майже не можливо. Дуже великий відсоток комюніті користується всим цим. ну але похоже людям заходе)

З «сабенджинами» в юніті обернена ситуація, їх використовує півтори людини, попасти на такий проект шанс дуже низький. Ніхто в комюніті їх не обговорює. Всі просто беруть і пишуть код під свій проект і це дуже круто

Еммм. Блюпрінти це також код. А мова йде про те, що інструментарій Анріалу дозволяє геймплей збирати на рівні даних, а не коду. Якщо є готовий інструмент — код на перому етапі непотрібний.

Привіт. Зараз я створюю ігри для ПК, використовуючи Unreal Engine.

Як левел-дизайнер, я мав змогу спробувати різні ігрові рушії. Це були як самодостатні ігрові рушії (Unreal Engine, Unity, CryEngine, Godot), так і редактори на рушіях вже готових ігор (Source та багато інших).

Наразі я:
1) Соло інді-розробник і створюю гру самотужки;
2) Надаю послуги левел-дизайнера на Unreal Engine 5 по фрілансу;
3) Надаю навчальні послуги репетитора по Unreal Engine;

Для мене важливо:
1) Зручність і комфорт в роботі;
2) Все тримати в порядку і під контролем;
3) Швидкість виконання завдань;
4) Можливість запросто розшируювати функціональність за такої потреби;

І для мене Unreal Engine є найкращим інструментом. На Анріалі ти відразу отримуєш все, що потрібно. Банально, але для мене Unreal Engine є інструментом, на якому я можу робити все швидше і комфортніше. До того ж система візуального програмування Blueprints дозволяє швидко прототипувати ігрові механіки. А це дуже важливо для ґейм-дизайнера.

Якщо бажаєте, то можете зіграти в прототипи моїх ігор.

Також буду радий спробувати зіграти у ваші ігри.

Підсумовуючи, можу сказати, що я, як розробник, певний час вивчав наявні ігрові рушії, а потім просто сфокусувався на одному і просто ігнорую інші (в тому числі і Unity). Не шукаю недоліки в інших інструментах, а просто ігнорую їх.

При цьому я із задоволенням дивлюся щоденники розробників інших творців, незалежно від того, на якому рушію створюється їх ігри. Наприклад, є чудова гра Night Stones від advancenine на Unity.

З любов’ю!

На Анріалі ти відразу отримуєш все, що потрібно.

А можете привести приклади якихось типових дій які вам часто доводиться робити, для яких у Анріала є інструменти (або вони кращі), а в Юніті нема (або гірші)?

Коли людина альттабається з гри — було б непогано на більшості проектів «відпускати» інпут. В Анріалі для цього є галочка, бо Анріал ігровий рушій і спрямований на вирішення актуальних задач. В Юніті Ти маєш писате це сам. І так приблизно з усім що стосується геймплею, все потрібно писати самому, або шукати плагіни в ассет сторі, якість яких доволі сумнівна часом

Вот якби гру можна було зробити натиснувши галочку — нічого б не потрібно було писати.

В юніті теж є така галочка — Run In Background. Якщо вона знята — в апці нічого не буде відбуватись, якщо юзер «альт-табнувся».

Ну, мова якраз про те що щось МАЄ відбуватись, а не нічого)

Підписатись на коментарі