Хто такий Unreal Engine Developer в ігровій індустрії. Кар’єра в геймдеві

Ми продовжуємо серію статей «Кар’єра в геймдеві», де розповідаємо про основні професії з індустрії. У цьому випуску поговоримо про Unreal Engine Developers: як опанувати цей фах, скільки можна заробляти та які плюси та мінуси цієї галузі. Для написання матеріалу ми поспілкувалися з українськими UE-спеціалістами, які працюють в ігровій індустрії. Наведені цитати взяті з їхніх розповідей.

Основні задачі й обов’язки: що робить і за що відповідає Unreal Engine Developer

Unreal Engine Developer — розробник, який працює з кодом, послуговується можливостями рушія Unreal Engine та створює потрібну функціональність для проєкту. В українських компаніях розробник здебільшого робить усе пов’язане з рушієм, крім арт-частини та анімації. Зокрема у списку задач можуть бути:

  • Планування технічних завдань
  • Розробка проєкту
  • Прототипування
  • Gameplay і також Gameplay Ability System
  • Розробка багатокористувацького режиму
  • Доєднання до ігрових платформ (Steam, EGS тощо)
  • AI-система (Behavior tree, EQS)
  • Оптимізація (CPU, GPU)
  • Виправлення багів та крашів.

Також треба враховувати, що гра може створюватися для різних платформ: ПК, консолей, мобільних пристроїв, VR-гарнітур тощо.

Основна відмінність від звичайної роботи програміста в тому, що Unreal Engine Developer відповідає не просто за код проєкту, а й за роботу з рушієм. Наприклад, він може переносити проєкт на нову версію UE, відповідати за модифікації в рушії. Зазвичай що більш досвідчений програміст, то більш вузькоспеціалізовані задачі у нього з’являються. Природно, що їх перелік відрізняється залежно від компанії та масштабу проєкту.

Blueprints vs C++

Unreal Engine Developer може розробляти проєкт мовою програмування C++ або користуватися системою візуального ООП-програмування Blueprints. Вона більш доступна, швидка та вважається легшою для опанування, однак підходить не для всього.

Існує думка, що Blueprints не дає всіх навичок, потрібних висококваліфікованому і самостійному Unreal Engine Developer, який все ж мусить володіти C++, щоб писати, наприклад, ігрові модулі, під’єднувати певні API або Steam SDK, модифікувати сам рушій. До того ж на проєктах класу АА чи ААА в Unreal Engine Developer часто вимагають знання C++.

Водночас на С++ гра розробляється довше, мова вважається складною для новачків, вона не пробачає помилок і може «крашити» весь проєкт.

При цьому фахівець, який добре знається на Blueprints, цілком може втілити всю гру або її частину лише на цій технології. Один з наших респондентів зазначив, що «все базове в UE зроблено на C++ і розширено у Blueprints, а розробка у Blueprints у 8+ разів швидша, ніж розробка такої ж функціональності на C++».

Переваги Blueprints

  • Розробка і компіляція в рази швидша, ніж на С++.
  • Просте використання готових функцій, які можна легко під’єднати у правильному порядку.
  • Менше крашів, є багато автоматичних перевірок.
  • Працює динамічно.
  • Дуже багато уроків і відповідей розраховані саме у Blueprints, тут зручно працювати й з системами анімації, матеріалами, звуком, системами Niagara, AI, UMG, GAS тощо.

Мінуси Blueprints

  • Це неоптимізована система, яка вимагає більше пам’яті.
  • Менш досвідчені розробники можуть не замислюватися, скільки пам’яті проєкт з’їдає і наскільки він оптимізований.
  • Цикли повільніше працюють, ніж у C++ (це можна трошки покращити через Nativize).
  • Робота у репозиторії, це бінарні файли і їх не можна мерджити.
  • Не всі методи доступні й не все можливо зробити у Blueprints, деякі таски можливі лише у С++.

Переваги С++

  • Швидкодія.
  • Менші витрати пам’яті.
  • Краще працювати у репозиторії, можна мерджити код і робити код ревю.
  • Доступно більше методів.
  • Краща робота з математикою.

Мінуси С++

  • Довго розробляти, вносити зміни у С++ і компілювати.
  • Складна мова, особливо для новачків, також потрібно розуміти специфіку мови С++ в Unreal.
  • В документації розписано не все і не завжди вдається знайти потрібні приклади.
  • Важче працювати з посиланнями, наприклад, на 3D-модель чи матеріали.
  • С++ важче дебажити і вона більш схильна до крашів.

«Найкраще мати баланс С++ і Blueprints. Буває по-різному, на теперішньому проєкті всі стараються працювати з С++ навіть забагато, що дуже сповільнює розробку, особливо зміни й дебаги. А на моєму попередньому ААА-проєкті підхід був новий: 70% Blueprints і 30% С++. Розробляти через Blueprints швидко і легко додавати зміни. Коли вже логіка стабільна і точна, можна один раз перенести частини або все у С++, так роблять у Fortnite та інших AAA-проєктах».

Скільки заробляють Unreal Engine розробники різних рівнів

Як і у всіх програмістів, рівень UE Developer залежить від досвіду, складнощі задач та сфери відповідальності. Джуніор може мінімально виконувати технічні задачі, найпростіші геймплейні елементи, шукати краші й виправляти нескладні помилки, працювати з елементами UI. Однак людина не може перейти на рівень мідла, якщо не пішла далі самого лише баг-фіксингу.

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

Якщо говорити про середні зарплати UE-розробників в Україні, спеціалісти називають:

  • До $700 для трейні та джуніорів.
  • $700-2200 — для мідл-рівня.
  • $2200-6000 для сеньйорів.

Якщо співпрацювати із західними компаніями, то на позицію джуніора знайти проблематично, а ось мідли можуть розраховувати приблизно на $1500-3000, сеньйори — на 3000-8000$.

Загалом середній рівень зарплат Unreal Engine Developers рівня джуніор та мідл зіставний з рівнем зарплат для С++ розробників, який можна перевіряти у віджеті DOU. На момент написання цього матеріалу медіана для джуніорів складає $1100, а для мідлів — $2700.

Водночас рівень зарплати Senior Unreal Engine Developer може бути значно вищим, тому що на ринку їх обмаль.

«Ставка сеньйора може доходити до десяти тисяч доларів, і загалом вона може бути на 30% вищою за рівень сеньйор-розробників С++. Тому що сеньйор-фахівець з Unreal — це рідкість».

Переваги й недоліки роботи UE-спеціалістів в геймдеві

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

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

«Об’єктивно дуже великі перспективи у проєктах для ПК і консолей. Після створення революційного Unreal Engine 5 багато відомих і великих компаній (CD Project Red, Flying Wild Hog, GSC Game World, Microsoft тощо) переходять повністю на Unreal Engine».

«Головна перевага Unreal Engine — це можливості працювати з великими проєктами».

«Плюси — UE дуже хороший рушій, який максимально швидко сапортиться видавцем, легкий в управлінні і може модернізуватися розробниками».

«Це дуже хороший вибір для розробки у PC, Console, VR. Багато великих компаній переходять на UE5, тому що він гнучкий, має дуже хорошу графіку, оптимізацію. Лише перехід з UE4 на UE5 одразу додає 20-40% FPS у проєкті. С++ має дуже хорошу швидкодію і контроль за пам’яттю.

В Unreal Engine 5 багато революційних оновлень, яких інші рушії просто не мають. Наприклад, з Nanite можна на сцену додавати мільярди полігонів і з новим динамічним освітленням Lumen — і це матиме нереально добрий вигляд. Додавання реалістичних фотограмметричних моделей і з оновленням персонажів через Quixel абсолютно безплатне для Unreal-проєктів. Є нова реалістична Water, як у Fortnite і це значно прискорить розробку там навіть фізика є.

До того ж розробляти ігри є весело. Класно бачити, як все працює, деколи бувають кумедні моменти. Особливо приємно створювати ігри для багатомільйонних аудиторій і ще більше бути у списку розробників у кінці гри :)»

Ще один плюс — невелика конкуренція на ринку праці та попит на фахівців з Unreal Engine.

«Зараз достатньо великий попит на розробку на UE. Я чесно не знаю, не моніторю стільки ринок Unity, але там конкуренція досить велика, більша, ніж на ринку Unreal. У мене в профілі вказано, щоб мене не чіпали рекрутери і я працюю лише з корпоративними контрактами — і все одно до мене звертаються по 2-3 рекрутери щодня. Попит величезний і рекрутери ломляться до всіх, до моїх колег з великим досвідом зокрема».

«Раніше знайти роботу було майже неможливо, на одну UE-вакансію було 30 вакансій на Unity. Зараз проблем з пошуком роботи навіть не виникає, кожен день приходить купа нових пропозицій (я вас не ігнорю, просто рідко відповідаю)».

«Ще один, напевно, плюс — ставлення до анріалівських розробників. Чомусь це вважається не те щоб елітним фахом, але його досі виділяють і він завжди справляє неабияке враження».

До мінусів зараховують складність С++, масштабність рушія (щоб стати фаховим UE-розробником, доведеться багато чого вчити). До того ж UE-спеціалістам не завжди вдається знайти правильну відповідь в інтернеті чи у підтримці.

«Дуже багато різноманітної роботи та необхідно багато знань:) Якщо звичайний С++ програміст володіє мовою дуже майстерно і вже може працювати десь сеньйором, то для анріальщіка цього буде не достатньо. У UE великий стек, його ще потрібно вивчити, і це інколи відлякує людей».

«Мінус — треба вчити Unreal. Якщо ми переходимо з Unity, треба вчити «плюси», вчити сам Unreal, а він величезний, просто гігантський.

«Unreal дико забагований і з коробки його використовувати досить складно, якщо ви робите великий проєкт А-класу, і особливо якщо робите мультиплеєр. Здається, що одна з небагатьох допиляних там речей — це UMG. Все решта наче робиться з розрахунком, що користувачі самі все собі дороблять, коли їм буде треба. Ясно, що баги вони поступово фіксять, але покладатися на Epic Games не можна. Колись давно релізи були ледь не кожен місяць, то потім вони стали йти повільніше й повільніше, й зараз релізи відбуваються чи не раз на пів року. Тож потрібно орієнтуватися на себе».

«До мінусів можна зарахувати те, що не завжди є можливість розв’язати актуальні проблеми, пов’язані з такими консолями, як PS4, PS5, XboxOne (XDK), XboxOne (GDK)»

Які навички потрібні Unreal Engine Developer

Якщо говорити про софт-скіли, UE-розробники та роботодавці часто виділяють:

  • Вміння працювати в команді й знаходити спільну мову з іншими учасниками розробки.
  • Достатнє знання англійської, щоб читати документацію та гайди з Unreal (тобто Intermediate або вище + розуміння термінології).
  • Здатність навчатися та вміння розв’язувати технічні проблеми.
  • Любов до ігор.

«Якщо людина не знає ігор, не може аналізувати продукти конкурентів, вона випадає і втрачає розуміння того, що вона робить. Люди далекі від геймдеву та ігор не можуть, як на мене, їх створювати»

З хард-скілів потрібні:

  • Знання С++ або Blueprints (залежить від компанії та проєкту).
  • Досвід профілювання та оптимізації.
  • Програмування ігрової логіки.
  • Вміння інтегрувати сторонні SDK.
  • Розуміння того, як працює Unreal Engine.
  • Знання математики (зокрема лінійної алгебри).

Також будуть корисними — досвід кросплатформної розробки, програмування взаємодії клієнт-сервер, робота з AI та системами контролю версій.

«Часто на співбесідах Middle+ в українських компаніях ставлять питання, які не мають стосунку до вакансії — щоб збити частину зарплати. Краще на таке не погоджуватись. Бувало, що на співбесіді на вакансію Gameplay Programmer не ставлять жодного питання про геймплей взагалі, або спеціально не питають те, що ти добре знаєш: наприклад, добре розбираєшся у С++, а в тебе питають все про Blueprints, і навпаки. Пропонують не ринкові зарплати (і це топ-50 компанії у геймдеві в Україні). У західних компаніях такого немає і ставляться краще, але потрібна практика».

Де можна навчитися цієї професії й з чого починати

Оскільки UE Developer-ів не навчають в українських університетах (хоча планують), розробники радять опанувати рушій через самоосвіту, як робили вони самі. Також радять вести свій проєкт і вчитися на ньому та добирати курси з різних платформ на кшталт ютубу, Udemy чи Unreal Learning. Деякі компанії організовують курси з UE для того, щоб підготувати фахівців для себе, або організовують стажування.

«Неважливо який у тебе рівень (від трейні до сеньйора), свій проєкт завжди буде тебе прокачувати, а щойно ти зробиш свою першу гру, вже можна подавати резюме у компанії. Людей, які проявляють активність і показують свої проєкти, значно частіше беруть на роботу».

«Як на мене, найкращим тренуванням буде розробити свою гру, тоді ти навчишся основних ключових речей в Unreal, вмітимеш робити меню, білдити гру під необхідну платформу тощо».

«Якщо йдеться про програмування, в першу чергу ми вивчаємо C++, щоб зрозуміти як все працює (для частини людей вказівники — це якийсь жах, де не до кінця зрозуміло, що як працює). Університетських програм в нас таких не існує. Є курси росіян, які я відсікаю і не рекомендую (бачив, що це таке, і ці курси здебільшого погані).

На українському ринку поки що є варіант лише йти в контори, що пропонують стажування. Можна заводити пет-проєкти, власноруч у всьому розбиратися вечорами після роботи. Для цього, звісно, потрібна англійська мова, щоб вивчати все через форуми й курси в Epic Games на сайті. Вони не дадуть великого скіла, але дадуть базове розуміння рушія. Тоді можна йти працювати, фрилансити, спочатку на невеликих проєктах тоді більших. Тільки так можна зараз справді отримати скіли Unreal-розробника».

«Сам вчився з уроків на YouTube пізніше проходив різні курси на Udemy, записував відео і додавав у портфоліо. Рекомендую курси саме на Udemy вони коштують дешево $8-13, є дуже велика кількість різних і хороших уроків. Можна вдома проходити курси і збільшувати портфоліо, що дуже важливо на початку. Новий Unreal Learning дуже хороший, там все безплатно (навіть курси, які всюди платні). У Unreal launcher є також багато Simple projects, що дає скілові приклади виконання. Менторинг також дуже допомагає».

Перспективи розвитку в галузі

Насамперед можна розвиватися вертикально у своїй галузі та вирости з джуна до мідла, сеньйор-спеціаліста й стати лідом команди або тех-лідом. Окрім того, можна відійти від кодування та менторити й організовувати роботу інших.

«Перехід від джуна до cеньйора/ліда може тривати від 3 до 5 років, дуже рідко, коли розробник може це зробити трохи раніше. На практиці позицію ліда може зайняти й мідл, якщо на проєкті не більше за 3-4 розробників. Мої колеги робили й перехід на іншу спеціальність в межах однієї компанії: наприклад, з позицій 3D Artist чи Developer на посаду ПМ».

Також спеціаліст з Unreal Engine може обрати для себе окрему спеціалізацію і розвиватися в ній. Скажімо, з рушієм можуть працювати і Audio Programmer, Tools Programmer, Engine Programmer, Render Programmer, Lightning Programmer, Animation Programmer тощо.

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

Ще один варіант — обрати для себе напрям, в якому треба менше займатися кодуванням. Наприклад, ті ж геймдизайнери додають ігрову логіку, але можуть це робити за допомогою Blueprint. Або можна перейти з програмування в Tech Art, де корисно вміти кодити, але це не обов’язково.

Які ще спеціалісти працюють з Unreal Engine

Якщо говорити не лише про UE Developer, з Unreal Engine можуть працювати багато інших спеціалістів геймдеву або суміжних сфер, як от NFT чи Virtual Production. Ось деякі з основних ролей, які пов’язані з Unreal Engine більшою чи меншою мірою:

  • Геймплей-програмісти, які відповідають за взаємодію гравця та гри і втілюють різні механіки (стрибання, стрілянину тощо).
  • AI-розробники, які створюють штучний інтелект для мобів і NPC, відповідають за їхню поведінку, завдання, шлях, пріоритетність тощо.
  • Net Programmers, які відповідають за взаємодію даних між клієнтами і сервером.
  • Tool Programmers, які створюють інструменти, доповнюють редактор для інших співробітників, розробляють плагіни.
  • Engine Programmers, працюють над рушієм, створюючи потрібні модифікації.
  • Rendering/Graphics Programmer працюють з GPU і графічними API.
  • UI Programmers, які створюють меню та інтерфейси.
  • Console Programer працюють над налаштуваннями і портуванням проєкту на консолі.
  • Аніматори, важливу роль серед яких відіграють технічні аніматори, які мають добре знатися на технічній частині проєкту.
  • Tech Artists, які оптимізують візуальну частину, налаштовують матеріали і текстури, стежать за кількістю полігонів у графіці гри.
  • Concept Artists, які малюють начерки персонажів чи середовища у 2D.
  • Environment Artists, які створюють довкілля у грі (зазвичай у 3D).
  • Character Artist, які створюють персонажів, аби потім спеціалісти з ригінгу та аніматори їх «оживили»).
  • VFX Artists працюють над спецефектами у грі, використовують нову систему ефектів Niagara та часто працюють через Blueprints.
  • Foliage Artists, які створюють рослинність у грі.
  • Graphic/Video Designers, які працюють над трейлерами ігор.
  • Game Designers продумують дизайн гри та її функціональність.
  • Tech Game Designers, які працюють здебільшого у Blueprints для прототипування нових механік (вони перевіряють, як щось буде працювати, чи цікаво гравцю, а вже потім ці зміни впроваджують розробники).
  • Level Designers працюють над змінами у рівнях, додаючи нові ігрові механіки, налаштовують сцену, колізії, атмосферність рівнів, архітектуру.
  • Quest Designer створює дизайн квестів, аби історія та геймплей захоплювали гравця.
  • Саунд-дизайнери і композитори, які створюють звуковий супровід, що імплементується в рушій.

Дякуємо за допомогу у написанні статті українським UE-спеціалістам з ігрової індустрії, які поділилися власним досвідом. Серед них: Дмитро Більський (Gameplay UE4 Programmer), Костянтин Лісецький (CTO Farom Studio), Олесь Барановський (UE Developer Program-Ace), Олександр Страздін (Team Lead UE4 Programmer у Pingle Game Studio), Андрій Крупський (Middle UE Developer у Pingle Game Studio).

Корисні посилання:

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

👍ПодобаєтьсяСподобалось7
До обраногоВ обраному4
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

Дякую, дуже гарна стаття і вибірка думок анріальщиків. Тепер є на що кидати посилання, коли хтось питає чи хоче попасти в УЕ :)

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