×

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

Ми продовжуємо серію статей «Кар’єра в геймдеві», в якій розповідаємо про основні професії індустрії. Минулого разу ми писали про QA-інженерів та тестувальників ігор, а в цьому випуску йдеться про нюанси роботи Unity-розробників: як опанувати цей фах, що потрібно робити, які плюси та мінуси цього напряму.

Для написання матеріалу ми поспілкувалися з українськими Unity-розробниками. Наведені у тексті цитати взяті з їхніх розповідей. За допомогу дякуємо Євгенію Бойку, Віктору Антоненко та Євгенію Ратушному.

Основні завдання: що робить і за що відповідає Unity-розробник

Unity — це багатоплатформовий інструмент для розробки відеоігор і застосунків, а також рушій, на якому вони працюють. Unity Developer — широкий термін для спеціалістів, яких об’єднує робота з цим рушієм. Найчастіше йдеться про програміста, який вміє працювати з Unity та створювати ігрову логіку (ігролад). Працюють такі розробники здебільшого на C#. Варто зазначити, що є й ті, хто працює не знаючи коду. У своїй роботі вони використовують візуальне програмування. Наприклад, асет Unity Bolt. Але досвідчені спеціалісти попереджують: на відміну від коду, такий підхід не дає достатньої гнучкості при створенні продукту.

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

«Unity Developers розробляють логіку гри, звʼязки між частинами програми, відповідають за збереження та передачу даних, збірку білдів та інтеграцію, налаштування сервісів у грі. Вони — передостання ланка в роботі команди. Коли всі вимоги, асети (картинки, 3D-моделі, анімації, звуки, відео), UX-прототипи та макети готові — долучаються Unity-розробники та техарти. Кінцева ланка — QA, які перевіряють роботу, видають правки та тікети на баги».

Якщо підсумовувати, то в роботі розробника консолідуються зусилля усіх напрямів розробки гри. Як висловився один з наших коментаторів: «Розробник зв’язує усі ниточки, одягає, причісує, підрізає та робить купу правок».

Основні ролі Unity-розробника у геймдеві: яка робота на різних грейдах

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

Junior. Найчастіше вони працюють над невеликими механіками, збирають інтерфейси та намагаються нічого не зламати. Розробники цього рівня щось чули про принципи SOLID, намагаються їх використовувати, але все одно потребують наставництва та рев’ю результатів.

Middle. Розробники на цьому грейді вже набили гулі на примітивних задачах, знають, що саме гуглити, та вже якийсь час збирають власну базу фіч. Мідл не тільки зробить роботу джуна швидше — до нього зазвичай звертаються для написання чогось складнішого (цілих ігрових модулів, а не окремих механік). Окрім того, на цьому рівні розробники прагнуть вивчити щось складніше. Наприклад, написання шейдерів.

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

Але все одно мідли мають узгоджувати архітектуру зі старшими розробниками.

Senior. Це розробник який, умовно, вже досяг дзену. Він створює свої SDK, без проблем інспектує код програмістів з нижчим грейдом, а фічу, на створення якої у джуна піде два тижні, він вже давно написав — її лишилося тільки інтегрувати. Загалом сеньйори привносять своє бачення до продукту, розробляють фундаментальні речі та розвивають фреймворк для клієнтської частини всіх ігор компанії.

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

Які етапи існують в роботі Unity-розробника

Якщо оминати базові ланки та роботу інших фахівців (створення геймдизайн-документа, визначення продюсерами пріоритетних задач), то можна говорити про кілька типових етапів роботи, де залучений Unity-розробник. А саме йдеться про:

  • Пре-продакшн. На цьому етапі закладається архітектура та створюється документація;
  • MVP (minimum viable product). Це етап створення так званого «мінімального продукту», яким можна зацікавити користувачів. Саме тут сконцентровано багато роботи з побудови основного ігроладу та допоміжних сервісів гри;
  • Soft launch. Передбачає вже вихід гри на користувачів. Тут шліфуються метрики, щоб покращити результат гри;
  • Global launch та LiveOps. Це етапи готової гри, на яких запускають нові фічі для конкурентоспроможності продукту. Також додаються новий контент та підтримка користувачів.
«Перший apk-файл з механікою видають через кілька днів після початку проєкту. Все робиться на примітивах: персонаж — капсула, предмет для перенесення — кубик. Вже на цьому етапі можна відчути, як грається механіка. В ідеалі розробка триває два тижні. Зверху ще додають тиждень на вбудовування SDK видавця, полірування та запис креативів для соцмереж»

Типові завдання для Unity-розробника:

  • естимування та планування фіч;
  • написання нової ігрової логіки та постійне покращення функціонала (підтримка, оптимізація);
  • розширення функціональності чинних проєктів;
  • розробка та розвиток фреймворку для клієнтської частини всіх ігор компанії;
  • профайлинг та оптимізація;
  • інтеграція сторонніх SDK;
  • написання розширень редактора Unity;
  • створення VFX, динамічної анімації, власних шейдерів;
  • оптимізація графіки;
  • керування ігровими активами;
  • розгортання в App Store і Google Play;
  • рев’ю коду.
«Але бувають і специфічні запити з боку проєктного менеджера. Добре, якщо всю роботу розподіляє менеджер між окремими членами команди. Загалом найтісніше розробники співпрацюють з колегами по цеху (тобто з iншими розробниками) та з геймдизайнерами i продюсером проєкту, які саме придумують гру та дають свій фідбек. Доволі тісна робота і з контент-відділом щодо інтеграції арту, моделей, звуків тощо».

Які навички потрібні, щоб стати Unity-розробником, та де їх отримати

Тут, звісно, все залежить від рівня розробника, але фахівці наголошують ще раз: ідеальний Unity-розробник повинен вміти всього потроху. Але серед найбільш критичних навичок:

  • англійська мова (бодай на рівні B1), яка потрібна для читання документації та спілкування з іноземними колегами;
  • знання апаратного забезпечення, адже потрібно працювати безпосередньо з комп’ютерами й консолями;
  • мова програмування C#, ОП, ООП, принципи SOLID, патерни проєктування та Git (розподілена система керування версіями файлів);
  • принципи роботи рушія. Потрібне повне розуміння його структури, хоткеїв, життєвого циклу скриптів MonoBehaviour. Також потрібно вміти інтегрувати фреймворк чи плагін та усунути всі помилки;
  • додатковою перевагою буде знання графічних мов — HLSL, GLSL, CG.
«Зі зростанням грейду потрібно поглиблювати знання в цих сферах. Senior, який не розуміє, як працює рендеринг і не знає життєвого циклу скриптів, викликає питання. Втім, ідеально знати патерни і принципи програмування у джунів не вимагають. Деякі прогалини в знаннях кандидат швидко зможе заповнити».

Великим плюсом буде, якщо у розробника «наметане око на дизайн». Це робота з психологією кольору та вміння налаштувати вже готовий чи написаний особисто шейдер. Доречно, якщо розробник вміє підправити модель у 3D-редакторі чи виправити текстурний атлас.

«Щодо бібліотек, то насправді це все індивідуально для різних компаній. Але більшість Unity-розробників роблять прототипи ігор. Вони проходять тест і здебільшого закінчують свій життєвий цикл. Кілька тижнів розробки, і ти вже робиш іншу гру. Тому порада кожному: необхідно створити щось на зразок template-проєкту, де будуть стандартні для жанру заготівлі. Наприклад, контролер персонажа чи камери. Це скоротить розробку щонайменше на кілька днів. Але до цього фахівці зазвичай приходять на рівні мідла, коли вже набридло писати вкотре одне й те саме».

Де навчатися на Unity-розробника для ігрової галузі

Цікаво, що всі опитані фахівці навчалися самотужки, використовуючи YouTube, Unity Lear, Udemy та інші платформи з онлайн-курсами. Але головне, на чому вони радять зосередити увагу — практика. Наприклад, можна знайти гарну книжку з прикладним застосуванням та власноруч створити кілька простеньких ігор, щоб набити руку.

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

Переваги, недоліки та перспективи професії Unity-розробник у геймдеві

Передусім розробники зазначають, що серед переваг професії — висока зарплатня, цікава робота, гарні перспективи та створення проєктів, якими можна пишатися. Окрім того, проєкти постійно змінюються. Тому, по-перше, не встигають набриднути, а по-друге — підштовхують до постійного розвитку. Останнє також пов’язане з тим, що Unity-розробники весь час шукають рішення для нових механік і навчаються навіть тоді, коли в портфоліо вже кілька років розробки.

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

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

А ось перспектив тут доволі багато, оскільки Unity є одним з найпопулярніших рушіїв для розробки ігор. Прямо зараз на ньому розробляють тисячі проєктів та заробляють мільярди доларів. Це, звісно, означає попит на працю. Тобто з часом можна стати хедом розробки, створити конвеєр з невеликих ігор для компанії, опікувати команду, що робить AAA-гру, чи кинути все та піти розробляти власний продукт.

«Unity-розробник — це повноцінний програміст, який вміє ще й працювати з ігровим рушієм. Перспективи зростання виглядають схожими на ті, що є у розробників в інших сферах. Можливий розвиток в лід-позиції або в архітектора. Якщо є хист і бажання, можна подаватися на більш комплексні позиції, як-от Chief Delivery Officer, та відповідати за весь процес розробки продукту».

Корисні статті:

«Як стати Junior Unity Developer: з чого починати кар’єру та як уникати помилок». Блог Unity Team Lead у компанії Universe з екосистеми Genesis Євгенія Яременка.

«Хочу розробляти ігри. З чого почати та чи вдасться впоратися самостійно». Блог Lead Unity Developer у студії AB Games Євгенія Ратушного.

«Як розробити візуальні ефекти для 2D-гри за допомогою шейдерів. Підходи та приклади». Блог Unity-розробника і Tech Artist у компанії SUITSME Віталія Янчука.

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

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

Немає коментарів але є лайки, тож залишу один комент. Дякую за статтю!

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