Інтерв’ю з Software Engineer Blizzard — про роботу над мобільними іграми, технології в геймдеві та головний недолік Unity
Віталій Шляховчук хотів працювати в геймдеві відтоді, коли отримав перший комп’ютер. Заради цього він опанував програмування й влаштувався в один зі стартапів у далекому
В інтерв’ю він розповів про свій кар’єрний шлях, зокрема створення власного проєкту та співпрацю з росіянами в Playrix після окупації Криму. Фахівець також поділився думками про технології в геймдеві.
Віталій розказав, чому зараз компанії часто жертвують оптимізацією ігор, в чому переваги Unity та який проєкт можна назвати передовим.
«Мої навички малювання не дозволяли мені навіть подумати про дизайн». Про освіту, любов до геймдеву та перші компанії, в яких вдалося попрацювати
— Розкажіть, будь ласка, трішки про себе. Де ви виросли, навчалися, і ким були ваші батьки?
Родом я з Рівненської області. Навчався в Національному університеті водного господарства та природокористування — НУВГП. Моїм фахом була автоматизація і комп’ютерно-інтегровані системи. Але це абсолютно не те, чого я очікував. Після другого курсу я зрозумів, що в будь-якому державному ВНЗ програми не відповідають умовам сьогодення, тому що вони дуже застарілі.
Я не хотів продовжувати навчання, тому паралельно пішов навчатися в комп’ютерну академію ШАГ в Рівному. Протягом ще двох років я навчався в університеті й паралельно відвідував ШАГ. Зрештою я сильно вигорів, тому на четвертому курсі покинув університет і зосередився на тому, щоб закінчити ШАГ. Щодо батьків, то батько працює будівельником, а мама — листоношею. Обоє все ще знаходяться в Україні.
— Як у вас виник інтерес до геймдеву, і чому ви взагалі вирішили поєднати себе з цією сферою?
Я досить непогано навчався в школі, і в дев’ятому класі зайняв перше місце на всеукраїнській олімпіаді з біології. За це освітній відділ районної адміністрації подарував мені комп’ютер. Тоді вже майже настало літо, і я провів його за різними іграми. Саме у той час виникла ідея, що було б дуже круто перетворити своє хобі, яким я жив, на роботу.
А вже в університеті я вирішив спробувати піти цим шляхом. Коли я почав навчатися на програміста, то відразу хотів спробувати себе у геймдеві. Власне, так і вийшло. Під час пошуку роботи я в основному розглядав геймдев-компанії. Перед першим працевлаштуванням у мене одночасно була пропозиція від SoftServe в Рівному і від однієї з ігрових студій. Я обрав геймдев, і відтоді не покидав сферу.
— А класичне IT ви для себе ніколи не розглядали?
Коли був вибір між IT та геймдевом, я довго думав і вагався. Тому що в класичному IT все було краще структуровано, а геймдев, тим більше на той час, був хаотичним. В Рівному тоді, здається, взагалі лише дві компанії функціонували. Точно не пам’ятаю, але можна було на пальцях перелічити. Проте мені було цікаво принаймні спробувати себе в розробці ігор.
— Чому ви обрали напрямок програміста? І як би ви загалом оцінили навчання в ШАГ?
Коли я дізнався про цю академію, в мене виникло відчуття: «О, це те, що потрібно. Два роки навчання суто за спеціальністю, і нічого зайвого. Супер». Я подивився, які є програми. Серед напрямків були програмування і дизайн. Мої навички малювання не дозволяли мені навіть подумати про другий варіант, тому я вибрав програмування. Тим більше в університеті нам викладали курс програмування, і мені сподобалося. Було доволі цікаво, тому я вибрав саме цей напрямок.
— Як ви знайшли першу роботу і чим займалися на цьому місці?
Першу роботу я знайшов, побачивши вакансію від компанії в Рівному. Насправді це була навіть не компанія, а стартап, який тільки починав працювати. Мені видали тестове завдання: реалізувати одну зі сцен гри. Представники команди все детально описали й зробили графіку. Я виконав спочатку одну задачу, потім — наступну, і мені сказали: «Так, починаємо працювати». Це була моя перша компанія. Зараз вона називається АВ Games. Я знаю, що їхня перша гра, над якою я працював, — Hidden City — вона дуже популярна і займає близько 40% світового ринку в жанрі «Пошук предметів». Студія дуже гарно розвинулася.
— Далі ви перейшли в тодішню Vostok Games, але пропрацювали там лише 4 місяці. З чим це пов’язано?
На той час я вже працював у київському офісі. Та ще до переходу у Vostok Games я дізнався, що можна виконувати роботу не в офісі, а віддалено. Я тоді дуже загорівся цією ідеєю. Я подав вакансію у Playrix — російську геймдев-компанію. Вона була єдиною, у кого я побачив віддалену вакансію, пов’язану з геймдевом. Я подав резюме, та мені сказали, що вже мають відповідних кандидатів.
Тоді доєднався до Vostok Games і пропрацював там три місяці. Після цього мені написали з Playrix, що у них знову з’явилася віддалена вакансія, і запропонували зробити оплачуване тестове. Я погодився, а після виконання мені швидко відповіли: «Все супер. У нас досить жорсткий відбір, але ти гарно це виконав». Тому мені зробили пропозицію працевлаштування. Вони запропонували більшу зарплату й віддалену роботу, і я погодився.
Було незручно настільки швидко міняти компанію, та все ж я вирішив піти.
— Над чим ви працювали в Vostok Games?
Тоді це був MMO-шутер під назвою Survarium. Я читав про нього пізніше. Команда успішно випустила його, але проєкт показав зовсім не ті результати, на які очікували. Дуже сумно було це чути, тому що в Survarium реалізували якісні ігрові технології, та й загалом команда Vostok Games була дуже професійною.
«Якщо не рвати на собі сорочку і не кричати в кожному чаті „Кримнаш“, то ніяких проблем не повинно бути». Про співпрацю з росіянами в Playrix та власний мобільний проєкт
Редакція GameDev DOU не розділяє позицію спікера щодо роботи в Playrix.
— Ви перейшли в Playrix, тому що вам запропонували кращі умови та віддалене місце роботи, вірно?
Мені дуже подобалася концепція віддаленої роботи. Це був мій перший такий досвід, і всі п’ять років у компанії я працював віддалено. Особисто для мене це великий плюс, коли не потрібно було протягом години добиратися Києвом на роботу. А ще мені подобалися проєкти у Playrix. Вони дуже успішні, а організація була на дуже високому рівні.
Пам’ятаю, що коли доєднався до компанії, мені влаштували чіткий процес онбордингу. Фахівці Playrix все пояснили, тому вхід був дуже м’який. Саме через організацію та класні ігри я працював там так довго.
— Якими були ваші обов’язки, і над чим ви працювали в Playrix?
За п’ять років в Playrix я працював над чотирма проєктами. Компанія тоді розробляла лише мобільні ігри, і напевне зараз нічого не змінилося. Два з них закрили ще на етапі розробки. В певний момент було прийнято рішення, що не варто продовжувати працювати над цими іграми. Одна з них називалася Time Gems, а другою була інша match-3 гра. Вона вийшла, але продемонструвала гірші результати, ніж очікувалося, особливо на фоні попередніх релізів Playrix.
Третім був проєкт, який дуже нагадував тодішній флагман компанії — Township. Відмінність полягала у фентезійному жанрі. Гра загалом створювалася на основі Township. Ми думали, що людям сподобається щось схоже, але в іншому антуражі. Та в якийсь момент керівництво закрило проєкт якраз через схожість з флагманом. А останні
Щодо обов’язків, то в Playrix я виконував дуже різні задачі. Однією з них була інтеграція різних SDK. В основному завдання зводились до роботи над різними аспектами ігроладу, як от створення нових механік чи квестів.
— Які задачі у Playrix ви виділили б як найцікавіші?
Цікавими були задачі зі створення поведінки персонажів. В Homescapes присутньо багато різних героїв і реалізовано складний сюжет. У всіх них є унікальна поведінка, яка залежить від контексту: кімнат, різноманітних покращень та інших кондицій. Персонаж взаємодіє з об’єктами у домі та навколо нього. При цьому інтерактивність, пов’язана з предметом, може бути іншою, наприклад, супроводжуватися певними діалогами та анімаціями. Було цікаво працювати над поведінкою — роботи її гнучкою, щоб далі було легко налаштовувати та розширювати.
Відзначу також роботу над створенням тематичних подій — на Різдво, Новий рік, Гелловін та інші свята. У грі вони супроводжувалися квестами та новими елементами, які були доступні протягом тижня або двох. Кожен такий івент містив унікальну механіку, яка мотивувала гравців конкурувати між собою за досягнення певних призів, або ж навпаки — співпрацювати заради винагороди. Подібні механіки створювалися з можливістю оновлення лише за допомогою даних, тобто без сабміту гри. Ми викладали певні ресурси, і вони оновлювалися. Завдяки цьому частково змінювалася концепція івенту.
Ще одним великим кластером цікавих задач було створення багатого і складного UI. Ігри Playrix орієнтовані на якість, і UI приділялась велика увага. Загальний інтерфейс і нові елементи для івентів реалізовували на високому рівні. Плюс UI часто містив багато анімацій та ефектів, що накладало додаткові вимоги на розробників.
— Playrix зареєстрована в Ірландії, проте її зв’язки з росією давно відомі. Як відбувалася взаємодія з росіянами в компанії?
Я влаштувався в Playrix у 2014 році — вересні або жовтні. Точно не пам’ятаю, проте це було вже після весняних подій в Криму. Мене це питання дуже сильно хвилювало, тому ще на першій співбесіді з HR я поцікавився про відношення компанії.
Я запитав, чи не буде ніяких проблем з тим, що я українець, враховуючи ситуацію з Кримом.
Відповідь була стандартною: Playrix аполітична і не підтримує ніяких політичних розмов в компанії, тому цієї теми потрібно уникати. Тоді запам’ятались слова: «Якщо не рвати на собі сорочку і не кричати в кожному чаті „Кримнаш“, то ніяких проблем не повинно бути». Тобто не заявляти, що я — українець, і не підтримую тодішню політику росії. Загалом мене заспокоїли й сказали, що не толерують будь-яку ненависть в компанії, тому працювати повинно бути легко. І протягом п’яти років дійсно не було жодних прецедентів коли я відчув до себе негативне відношення. В чатах також було тихо. Ніхто нічого не писав, хоча траплялося, що скидали фотографії з поїздки в Крим і розповідали, наскільки там гарно.
Пам’ятаю також, що проводилися великі сесії відповідей на питання з власниками компанії. Такі заходи проходили раз або декілька на місяць. І в керівництва тоді запитали про ставлення до політики росії та подій в Криму. Проте директори завжди відповідали завуальовано. Вони не підтримували, але й не казали, що це неправильно. В принципі, мене такий варіант влаштовував, тому що більшість в Playrix — це росіяни.
— Працюючи в Playrix, ви паралельно розробляли власний проєкт. Чи можете детальніше про нього розповісти?
Я працював в Playrix 5 років, і більшість з них над проєктом в жанрі match-3. В якийсь момент я подумав, що було б круто спробувати створити щось своє. Тому що механіки в таких іграх досить тривіальні, а я вже мав величезний досвід. Коли я тільки починав працювати в геймдеві, не існувало рушіїв на кшталт Unity або Unreal Engine. А коли взявся за розробку, вже був доступний безплатний Unity з шикарними можливостями. Мені дуже сподобався цей рушій, тому я вирішив скористатися ним і конвертувати вільний час та досвід у власний проєкт.
Мені подобалися пригодницькі ігри, тому я обрав цю тематику. Спочатку я шукав людей, які були готові працювати за долю від майбутнього прибутку. Проте більшість фахівців з гарним досвідом — це дорослі люди з сім’ями та браком часу. Відповідного спеціаліста я не знайшов, тому організовував підряди: наймав людей за договорами для виконання однієї двох задач.
Я знайшов крутого художника, який намалював одну дві локації. Аналогічно замовляв ефекти та інший контент, щоправда, звуки використовував безплатні. Художників я наймав переважно з України, й лише деякі ефекти я замовляв у VFX-фахівців з росії. Я працював над проєктом виключно у вільний час, в основному — в суботу та неділю.
Саме тому на створення більш-менш готової версії проєкту знадобилося два роки.
Його тестував виключно я, тому технічних проблем вистачало. Проте графіка в грі, наприклад, локації та ефекти, мені подобається. А от всі інше було виконано не дуже гарно.
Звісно, результат виявився зовсім не таким, на який я очікував. Моя гра принесла кілька сотень доларів. В перші місяці після релізу я займався проєктом — навіть випустив пару оновлень з виправленнями багів. Проте останні чотири роки я не заглядав до проєкту. Не знаю, що з ним зараз відбувається, і чи приносить він якісь кошти.
Спочатку здавалося, що я дарма витратив час. Та протягом роботи над проєктом, коли створюєш його з нуля й до моменту запуску в магазині, я отримав величезний досвід. Він приніс користь на всіх подальших місцях роботи й став вагомою перевагою. Зараз я продовжую робити персональні ігри разом з двома братами, які також працюють програмістами. Вони вже менш масштабні, бо зазвичай займають багато часу й не окуповуються. Проте це все ще цікаво.
— Що було найскладнішим при розробці персонального проєкту?
Безпосередньо технічна сторона — це, мабуть, найлегше. А найважче — це знайти виконавців або команду, яка зацікавлена працювати без фінансування. За відсутності бюджету важко організувати людей. І також складно продовжувати працювати над проєктом, який нічого не приносить, а лиш забирає багато вільного часу. Потрібна наполегливість, щоб довести його до фіналу. А в технічному плані для мене все було легко, тому що вистачало досвіду. Фактично, я повторював те ж, що виконував на роботі, тільки тепер у вільний час.
— А чому ви обрали для розробки власного проєкту саме Unity?
Насправді у мене було два варіанти на вибір — Unreal Engine і Unity. Тоді, як і зараз, Unreal фокусувався на ААА-іграх. А для моїх вимог — створити мобільну гру більше прототипного типу — Unity підходив набагато краще. Рушій доступний, має дуже гарні безплатні ресурси, а документації вже навіть тоді вистачало. Поріг входу в технологію був набагато нижчий, ніж в Unreal, і мені це підходило.
— Які поради ви могли б дати інді-розробникам, які бажають створити власну гру для iOS та Android?
Перша — це провести певне планування, або навіть дослідження перед початком роботи. Потрібно продумати декілька аспектів, наприклад, про що буде гра і скільки часу займе розробка. Інакше в процесі створення виникатимуть питання без відповіді, коли щось не вдається. А якщо не вдається реалізувати якийсь задум, це дуже демотивує. У такі моменти легко покинути проєкт.
Друга порада стосується команди. Дуже важливо, знайти людей для співпраці. Не можна допустити, щоб всередині розробки вам знадобився фахівець, якого немає в колективі. Тут загалом потрібно зазначити, що не варто робити все самостійно. Чим більше спеціалістів працює над проєктом, тим більше шансів завершити розробку і показати гарний результат.
Третє стосується сучасного ринку. Зараз інді-розробникам складно самостійно створити гру, яка стане популярною. Тому, мабуть, варто одразу шукати видавців та інвесторів, яких зацікавить проєкт. Намагайтеся якомога раніше представити їм концепт або демо, тому що це допоможе в майбутньому. Ви отримаєте певний фідбек, і подальша робота вестиметься ітераціями. В результаті видавець отримає бажаний продукт і буде зацікавлений у фінансуванні, а команда отримає більше шансів на успіх.
— Повертаємось до вашої роботи в Playrix. Після п’яти років ви вирішили покинути компанію. Чому прийняли таке рішення?
В якийсь момент я відчув, що не розвиваюся професійно. Я працював над тими ж проєктами, виконував ті ж задачі. Не те щоб не цікаві, але хотілося спробувати щось інше. До того ж я вже встиг зробити власний проєкт, використовуючи Unity та мову програмування, C#. В Playrix ми працювали з власним рушієм компанії й кодили на C++. А C# стала для мене зовсім іншим рівнем.
Мені дуже сподобався цей інструмент, тому що він робив програмування набагато приємнішим. Весь процес проходить легше, і можна сконцентруватися суто на розробці, а не на технічних деталях. Тому я вирішив, що на новій роботі обов’язково маю працювати на Unity і C#.
«Українська студія запропонувала умови, яких не знайдеш в західних компаніях». Про перехід на посаду Lead, закриття проєкту на початку повномасштабного вторгнення і співбесіду в Blizzard
— Далі у вашій кар’єрі були дві компанії, Bluembo та Kensana. Вони не дуже відомі, тому могли б ви розповісти детальніше про вашу роботу там, і над чим саме ви працювали?
Bluembo — це компанія з офісом в Києві. В неї є кілька фінансово успішних проєктів, а серед інвесторів, наскільки я розумію, іноземні компанії. Ігри виглядали досить привабливо, але в Bluembo мені не подобалася організація робочого процесу та менеджмент. Команда була класна, однак це не те місце, в якому я хотів би лишатися надовго. Я відчував, що не отримаю тут якось розвитку.
Після місяця чи двох роботи в Bluembo мені написали з Kensana. Представники компанії сказали, що є дуже крутий та профінансований стартап. Це був проєкт з нуля, а працювати над таким завжди дуже цікаво. Плюс мені запропонували посаду рівня Lead, і я міг самостійно визначати, як все повинно функціонувати. Якраз цей досвід я бажав отримати. Проєкт мене зацікавив, тому хотілося довести його до потенційного успіху.
В результаті я знову перейшов в іншу компанію, де мені запропонували кращі умови, пропрацювавши в попередній лиш кілька місяців. До того ж один із засновників Kensana теж працював у Playrix. Він знав, що туди приймають на роботу хороших спеціалістів. Тому після кількох співбесід ми знайшли спільну мову, і я перейшов до них.
Щодо проєктів, то в Bluembo було два випущених і третій у розробці. Всі — в жанрі match-3. Я працював над новою грою з механікою пошуку відмінностей на картинках. У проєкті також був онлайн-компонент. Користувачі змагалися між собою, хто швидше відшукає всі відмінності. Паралельно команда почала створювати четверту match-3 гру. Я трішки попрацював над кожною з них, виконуючи різні задачі. Та в основному був залучений на свіжий проєкт з пошуку відмінностей.
А в Kensana ми працювали над проєктом Kingdom Match. Ця назва була вибрана, тому що від всіх початкових ідей довелося відмовитися — вони були зайняті іншими іграми. Тематикою стало близькосхідне королівство, а жанром — match-3. Компанія брала за основу підхід Playrix з орієнтацією на якість, проте хотіла зробити набагато складніший сюжет, масштабніші локації й додати більше різноманітних механік.
Планувалася також ще одна крута особливість. Kensana хотіла впровадити у грі магазин, де продавався б одяг реальних брендів для віртуальних персонажів. Компанія хотіла укласти контракти з виробниками, які б отримали додаткову рекламу. Тобто проєкт був дуже амбітний. Я працював над ним два з половиною роки, власне, — до моменту закриття компанії.
Одразу після початку війни інвестор дав задню і заявив, що не може продовжувати фінансувати проєкт.
Після цього засновники компанії шукали партнерів за кордоном. Було кілька потенційних, але підписати контракт на фінансування не вдалося. Тим більше, що після початку війни на ринку відбувся загальний спад. Навіть компаніям з проєктами в портфоліо стало важко шукати інвесторів, а стартапам — тим паче.
— Тобто компанія закрилася, і Kingdom Match до релізу не дійшла?
Ми були дуже близько. Проєкт пройшов м’який запуск у кількох країнах. Команда поглянула на результати та метрики й після цього сформувала план покращення. Ми визначили, що зроблено гарно, а що потрібно скоригувати. Однак реліз, який був запланований за декілька місяців, не відбувся.
— Далі ви перейшли у Fishing Planet, проте знову пропрацювали лише кілька місяців. З чим це пов’язано?
Схожа з попередніми ситуація. На момент закриття Kensana я вже перебував на території США. Проте шукати роботу в американській компанії я тоді ще не міг, бо не мав дозволу працювати. Я подав документи, але чекав на схвалення сім місяців. В такій ситуації єдине, що лишалося — шукати віддалену роботу в Україні. Хоча насправді у мене було два варіанти.
Перший — ізраїльський стартап, який запропонував мені дуже гарні умови. Він почав розробляти AAA-проєкт, і я міг працювати над ним з нуля. А другий — Fishing Planet, де також створювали нову, амбіційну гру. Це був максимально реалістичний симулятор управління потягами. Раніше компанія вже випустила чудовий симулятор рибалки, а тепер взялася за свіжий проєкт.
Умови в обох компаній були приблизно однаковими, проте у Fishing Planet мені більше сподобалася амбітність проєкту. Вони хотіли зробити найкращий симулятор у світі, і це мене підкупило. Мені подобалося працювати в цій українській студії. Вона запропонувала умови, яких не знайдеш в західних компаніях, наприклад, чотириденний робочий тиждень. Це — наступний рівень, до якого іншим ще довго йти. Та й розробка для ПК та консолей стала чимось новим для мене.
Але коли я отримав дозвіл працювати в США, то подав резюме у декілька місцевих компаній. Мені відписали з Unity та Blizzard. З останньою я пройшов шість етапів інтерв’ю та отримав пропозицію працевлаштування. Це відбулося через три або чотири місяці роботи в Fishing Planet. Було дуже незручно звільнятися, тому що мені подобалися і компанія, і проєкт. Проте відмовлятися від можливості попрацювати в Blizzard я не хотів, тому вирішив перейти.
— Ви згадали шість етапів інтерв’ю. Це багато, і цікаво було б почути, як проходить цей відбір?
Мене це здивувало, але я зрозумів, що в США більшість компаній дотримуються подібного плану співбесід. Перший етап — це телефонна розмова з HR, як оцінка на адекватність. Мені розповіли про проєкт і команду, запитали про досвід та інші загальні моменти. Другий етап назначили десь за тиждень після першого. На ньому провели технічне інтерв’ю з лідом проєкту. Це була чисто технічна співбесіда без лайв-кодингу.
Вже наступного дня мені повідомили з Blizzard, що другий етап пройшов добре, і результати їм сподобалися. Далі було технічне завдання, на яке відвели декілька днів. Якщо кандидат гарно виконує його, тоді ще за тиждень розпочинається третій етап — мікс технічного та поведінкового інтерв’ю. На ньому присутні двоє фахівців. Вони знайомляться з тобою та оцінюють рівень різних навичок. Тобто складають для себе певну картину, чи підходить їм конкретна людина, чи впишеться вона в команду.
Таких співбесід було три або чотири.
Приходили нові люди, десь перевіряли більше хард-вміння, десь — софт. А в фіналі була розмова з директором. Він також задав кілька технічних питань, але вже більше говорив про співпрацю. За кілька днів після крайньої співбесіди мені зателефонували та повідомили, що готові взяти на роботу. Це було дуже приємно, тому що на посаду претендував інший кандидат, американець, але вибрали мене. І це попри те, що мій рівень англійської був далеким від вільного володіння.
— Які у вас обов’язки в Blizzard і над чим ви працюєте?
Зараз я працюю над першою грою Blizzard, яка від початку проєктувалася під мобільні пристрої, а не адаптовувалася з інших платформ. Гра називається Warcraft Rumble. Вона більш казуальна, ніж попередні проєкти, й орієнтована на молодше покоління. Весь проєкт від початку створювався як окрема гілка всесвіту Warcraft на мобільних пристроях. Він розроблявся під впливом досвіду King з Candy Crush та Supercell з їхніми онлайн-іграми.
Я працюю в клієнтській команді, а ще є серверна. Це два великі напрямки, на які поділено колектив. Перший відповідає за ігролад і все, що його стосується. Сюди входять різні підсистеми, звук, завантаження ресурсів, архітектура проєкту тощо. Я саме у цій команді. У нас дуже багато задач з оптимізації проєкту: зменшення споживання енергії, підвищення кадрової частоти, робота з ресурсами для швидкого завантаження тощо. Ми орієнтуємося на якість та приділяємо цьому велику увагу.
Навіть після запуску багато часу виділяється на покращення поточної архітектури. Команда завжди шукає, що можна підтягнути та доопрацювати. Серед задач також можна згадати інтеграцію різних SDK, виправлення багів, створення нових підсистем, які допомагають зробити код простішим та ефективнішим. Тобто ведеться постійна ітеративна робота над покращенням якості вже запущеного продукту.
— Раніше ви обіймали посади програміста та Unity Developer. Чи змінилося щось з переходом на Software Engineer в Blizzard?
Абсолютно ні. Мабуть, це різниця у назві посад. Враховуючи, що ми використовуємо в роботі над цим проєктом Unity, то мої обов’язки ніяк не змінилися. Я виконую такі ж задачі, як і в попередніх компаніях, де застосовувався цей рушій.
«Оптимізація ігор — це не те, що цікавить бізнес». Про перевагу Unreal над Unity, найбільш технологічні ігри, проблеми оптимізації та підходи до розробки
— Поговорімо трішки про технології в геймдеві. Спершу хотілося б дізнатися, який зараз найбільший недолік в технологічному розвитку, на вашу думку?
Unreal Engine вже може гарантувати дуже високу якість картинки. Рушій навіть почали використовувати для виробництва фільмів. І дивлячись на це, я думаю, що на поточному етапі вузьким місцем стала апаратна частина. Ми могли б отримати значно кращі додатки та ігри за кількістю різних елементів — персонажів, об’єктів оточення, ефектів тощо. На мобільних платформах в цьому плані навіть більше обмежень. Зараз доступність навчальних ресурсів та посібників зашкалює — лиш лінивий не зможе знайти потрібну інформацію. Технології також розвиваються дуже швидко й підлаштовуються під поточні потреби.
Єдине ще відзначу, що у зв’язку з великою кількістю та доступністю матеріалів, знизився поріг входу у технології. З’явилося дуже багато нових розробників і кандидатів на посади, але загальний рівень фаховості, мабуть, знизився. Раніше в геймдеві працювали тільки неймовірно круті люди, які самостійно змогли увійти в індустрію без посібників та іншої допомоги. А зараз через збільшення загальної кількості людей, середній рівень трішки впав.
— Як би ви оцінили поточний розвиток Unity? Які сильні та слабкі сторони є в рушія?
Зараз — це прекрасний інструмент для розробки ігор, особливо для прототипування та створення мобільних ігор. Він дозволяє вже з коробки почати працювати над проєктом і не задумуватися над якимись технічними проблемами. Рушій постійно розвивається, а кількість безплатних ресурсів, прикладів роботи та різноманітних асетів — просто неймовірна. Можна взагалі без художників створити щось нове. Плюс є навчальні програми, і це чудово.
Однак Unreal Engine має явну й очевидну перевагу над Unity.
Epic Games розробляє як рушій, так і проєкти на ньому. Цей тандем дуже гарно впливає на UE, тому що він постійно покращується під ігрові потреби. Unity — це не просто рушій, а ціла платформа для створення ігор. Проте компанія-розробник немає власних проєктів. Це відчувається, коли працюєш над певними задачами та бачиш, що деякі аспекти можна було б покращити. І якби Unity працювала над своїми іграми, то помітила б і виправила недоліки у деяких специфічних моментах.
— Які, на вашу думку, сучасні ігри можна назвати технологічно передовими, і чому?
З останніх — це Senua’s Saga: Hellblade II, особливо перша місія. Гра продемонструвала наступний рівень в плані якості графіки. Вона виглядає дуже круто та кінематографічно. Якщо ж оцінювати загальну якість продукту, то тут відзначу Baldur’s Gate 3. Larian настільки заморочилася з сюжетом і можливими варіантами розвитку подій, що гру можна проходити багато разів і постійно знаходити щось нове.
Проєкти такої якості трапляються дуже нечасто в наш час. Зазвичай ігри створюються максимально швидко, щоб випустити їх на ринок і почати отримувати дохід. Тож коли трапляються ось такі перлини, це дуже приємно. На мобільному ринку різноманіття неймовірне, але з власного досвіду можу сказати, що Blizzard працює дуже якісно. Студія не квапиться з розробкою і приділяє велику увагу технічній частині.
— Зараз індустрія поступово рухається до уніфікації в плані рушіїв. Тобто все частіше розробники застосовують або Unity, або Unreal, відмовляючись від пропрієтарних рушіїв. Як би ви це оцінили?
Я думаю, що в цього підходу є багато переваг. Коли більше студій використовують конкретний рушій, це дає йому та компанії-розробнику певні ресурси. Тобто технологія розвивається все швидше і швидше, а від цього виграють всі. Студіям легше знайти спеціалістів, тому що рушій набуває популярності, і його активніше вивчають. А широкий спектр спеціалістів можна застосувати для ефективнішої розробки. В результаті якість продукту росте, і від цього виграють користувачі. Тобто загалом для індустрії такий підхід вигідний.
— Тоді зворотне питання. В чому може бути перевага пропрієтарних рушіїв над тими ж Unreal, Unity чи Godot?
Під час створення проєктів у багатьох компаній виникають специфічні потреби. І навіть якщо вони обирають Unreal Engine, то часто модифікують його під свої потреби, наприклад, додають якісь плагіни або міняють початковий код. Тобто не завжди інструментарій з коробки, підходить для створення гри. Тому для компаній, які мають гарне фінансування й багато років присутні на ринку, є сенс створювати власні рушії, якщо вони хочуть зробити щось унікальне та революційне.
Наскільки мені відомо, у деяких студій пропрієтарні технології настільки кастомізовані, що їм просто недоцільно щось змінювати. Навіть попри те, що Unreal може бути кращим в якихось аспектах. Наприклад, Vostok Games створила класний рушій, який на момент моєї роботи в студії був крутішим за Unreal. Вони реалізували багатопоточність та роботу з мережі. Тоді це було щось неймовірне.
— В багатьох сучасних іграх спостерігається проблема з оптимізацією. А ви, багато працюєте над нею. Хотілося б дізнатися, чому так відбувається?
Тому що оптимізація ігор — це не те, що цікавить бізнес. Для бізнесу важливо, щоб гра вийшла на ринок і почала приносити кошти. В цьому контексті оптимізація — це другорядна задача, яка виконується, коли з’являється вільний час. Проте його ніколи немає, тому що постійно потрібно додавати все більше й більше нового контенту. Відповідно, оптимізація кульгає через брак часу на неї.
— Наступне питання в цьому ж контексті. В мережі я стикався з думкою, що в компаніях йде тенденція до зменшення кількості інженерів в командах, які займаються оптимізацією. Як ви до цього ставитеся? Чи бачили щось схоже за свою кар’єру?
Звісно бачив. Це продиктовано кон’юнктурою ринку. Під час пандемії, коли ігри були на піку, а люди приділяли їм значну частину свого часу, компанії наймали багато спеціалістів. Сюди входять як QA, так і інші технічні спеціалісти, які якраз активно займаються оптимізацією. Тобто, коли дохід компаній дозволяє це робити — вони роблять. А коли справи йдуть не дуже добре, то одразу починають економити на найменш пріоритетних задачах. І звичайно, що в цю категорію потрапляє оптимізація, тому на неї не виділяють ресурсів. Знову ж таки, це продиктовано бізнесом та ринком.
— Як ви персонально ставитеся до застосування штучного інтелекту в геймдеві? І як його може ефективно використовувати саме Software Engineer?
На поточному етапі розвитку — це гарний допоміжний інструмент. Він допомагає виконувати свою роботу ефективніше.
Принаймні зараз ШІ не замінює людину, але він здатен економити час.
Наприклад, штучний інтелект допомагає в аналізі помилок. Замість того, щоб витратити певну кількість часу на пошук багу, можна застосувати ШІ та прискорити процес.
Технічним спеціалістам він допомагає швидше писати код. Хоча тут багато чого залежить від інструментів, які дозволені в компанії. Та загалом відпадає потреба витрачати час на рутинну роботу та якісь тривіальні задачі. Штучний інтелект може згенерувати базовий шаблон, а спеціаліст його покращить та допрацює.
— Минулого року я спілкувався з Тарасом Пономаренком, Senior Software Engineer, який працював над Mafia III, Star Wars Jedi та ще багатьма іграми. Він відзначав, що на Заході все частіше застосовується підхід, коли розробка проєкту відштовхується від бачення дизайнерів, а не інженерів. А інженери лиш допомагають втілювати його в життя. Як ви до цього ставитесь?
Я підтримую цей підхід. Інженери лише повинні сказати, коли дійсно є певні обмеження: «Ми не можемо зробити це через якісь програмні або технічні причини». Але людина з баченням проєкту і має його формувати. Інженери — це фактично виконавці, і це правильно. Ми повинні зробити максимально цікавий та успішний продукт. А люди, які знають, що для цього потрібно, повинні задавати напрямок. І тоді вже програмістам необхідно думати, як це реалізувати.
Інтервʼю з Тарасом Пономаренком
З іншої сторони, не завжди все відбувається так. Іноді реалізація вимог дизайнерів призводить до неефективного використання певних ресурсів або потребує надто багато часу. Тому завжди потрібно шукати компроміс й обговорювати рішення. А інакше траплятимуться випадки, коли виконання вимог дизайнерів буде надто невигідним.
— А якщо теоретично уявити, що проєкт створюється саме з підходом engineering driven і відштовхується від певної технічної бази, то які це може дати плюси?
Є багато прикладів, коли проєкт створювався однією людиною, був цікавим в плані ігроладу й чудово оптимізованим. Якщо проєкт створюється під великим впливом інженерів, то його основною перевагою стане архітектура. Гра матиме гарний технічний стан, вимагатиме менше ресурсів на підтримку, і в неї буде легко додавати новий функціонал.
В довгостроковій перспективі це дуже добре для компанії, тому що на реалізацію нового контенту потрібно буде менше людей та часу А це економія коштів, яка завжди є плюсом для бізнесу.
— Тоді останнє питання. Який з цих двох підходів більше превалює в Blizzard?
Я схиляюся все ж до першого, тому що ми намагаємося створити цікаву гру, а не красивий код в ній. Тобто забезпечити захопливі механіки, реалізувати класні всесвіти, щоб люди хотіли присвятити час проєкту. Однак Blizzard ніколи не закриває очі на технічну сторону. Завжди йде діалог в команді, й рішення приймаються з урахуванням інтересів всіх сторін. Якщо який елемент можна реалізувати, він виглядає доцільно для гри й підходить під дизайн, ми ним займаємося.
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів