Від заснування київського офісу Ubisoft до Microsoft та Respawn. Інтерв’ю із Software Engineer з 20-річним досвідом в геймдеві

За плечима Тараса Пономаренка — 20 років досвіду в геймдеві. Він устиг попрацювати над десятком ААА-ігор у складі студій світового масштабу. Фахівця наймали в Eidos Montreal, Hangar 13, The Coalition та Respawn Entertainment. А окрім того, Тарас був одним з чотирьох розробників, які заснували київський офіс Ubisoft.

У нашому інтерв’ю фахівець розповів про свій довгий кар’єрний шлях на посаді Gameplay/Software Engineer. Тарас поділився деталями цікавих завдань, які виконував під час створення блокбастерів, включно з реалізацією живого міста у Watch Dogs. А ще — про слабкий штучний інтелект, причини поганої оптимізації Star Wars Jedi: Survivor, пошук багів та вибір Канади як місця проживання замість США.

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

Народився я в Харкові, ще за Радянського Союзу, хай йому грець. Батьки мали технічну освіту, що вплинуло і на мій вибір: спершу пішов в одну фізико-математичну школу, потім — в іншу, а далі вступив у Харківський національний університет радіоелектроніки на програміста.

Я навчався на факультеті прикладної математики та став бакалавром, а спеціалістом — у комп’ютерній освіті. Тут, у Канаді, це дві різні освіти. Ще з дитинства, років з п’яти-шести, мені дуже подобались відеоігри. Батько працював у Інституті проблем машинобудування й час від часу брав мене на роботу. Там була електроніка та комп’ютери, де я і грав.

Це підірвало мій мозок — з того часу я став фанатом ігор. Потім у мене з’явилися друзі з комп’ютерами, а пізніше — ZX Spectrum та деякі ігрові приставки. І це була велика частина мого життя. Першими іграми для мене стали, зокрема, MechWarrior та Metal Mutant (двовимірний екшен-пазл — навряд чи його знає багато людей). З того періоду пригадую ще Lemmings, Prince of Persia та багато ігор для ZX Spectrum. Особливою була Myth: її анімації вражають мене й досі, настільки якісно вони зроблені.

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

Уявлялося, що ти або програміст, або художник

Мабуть, я міг би стати як одним, так і іншим. З одного боку, непогано малював і займався скульптурою, а з іншого — мені гарно давалася математика. І якось само собою вийшло, що після школи я обрав програмування.

Почав працювати з другого курсу — не в геймдеві, однак дуже хотів туди потрапити. І коли таки вдалося, то в мене було чотири роки певного досвіду. Першим місцем, куди я влаштувався, стала маленька компанія, яка працювала на фрилансі для західних розробників. Мене туди покликали знайомі: «О, ти програміст? Давай до нас».

Це було дуже зручно. Наша система освіти не дуже практична, принаймні такою я її пам’ятаю. Тоді вона давала доволі фундаментальні знання, багато теорії. Упродовж усього навчання в університеті в мене було 13 видів математики. Проте освіта не давала розуміння, як практично її застосовувати. І перша робота стала для мене такою собі інтернатурою, до того ж приносила гроші.

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

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

Я знаю багатьох людей, які працюють програмістами та живуть цим. Для них цікаво, як розвиваються мови, які нові пакети вийшли й решта в цьому ж дусі. Мене ж програмування як таке не дуже захоплює. Це інструмент, який я дуже добре знаю і який дозволяє мені робити те, що подобається.

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

Crazy House була невеликою інді-конторою, а в таких студіях усі роблять усе. Якийсь поділ є, але якщо я, наприклад, рендер-програміст, то займаюся не тільки рендером. Усі спільно працюють над поточними завданнями. Це загалом реальність інді-ігор. Що більша компанія, то чіткіший там поділ на спеціалізації. В маленьких же конторах ситуація протилежна: немає бухгалтера, але хтось же мусить вести бухгалтерію; немає HR, але хтось же має шукати та наймати людей, проводити їх.

Якби я давав комусь геймдев-пораду, то сказав би обов’язково попрацювати в невеликій інді-студії

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

Наступна компанія, в якій я працював, — харківська Program-Ace — дуже відрізнялася від Crazy House. У ній було більше організації та певний досвід потокової розробки. Ігри, які розробляли в компанії, були не дуже цікавими (принаймні ті, над якими я працював). Але вони передбачали цікаві інженерні завдання, завдяки чому я отримав чималий досвід. Серед моїх колег були дуже фахові люди, які ділилися своїми знаннями, — я з задоволенням із ними працював.

У Program-Ace я працював переважно над спортивними іграми, але не тільки. Наприклад, розробляв більярд. Це було цікаве інженерне завдання: створити фізику, зробити рендеринг, щоб усе відчувалося більш-менш натуральним, і так далі. Хоча я в більярд не граю взагалі.

Загалом мене все влаштовувало в Program-Ace, були кар’єрні перспективи. Та якось товариш показав мені цікаве оголошення: «Я спробував сюди влаштуватися, але не пройшов співбесіду — подайся ти». Оголошення було на кшталт «французька компанія шукає програмістів». Пропозиція заінтригувала: це могли бути Ubisoft або Vivendi — тільки вони на той час підходили під опис «велика французька компанія».

Це виявилася Ubisoft, яка найняла чотирьох програмістів пожити в Румунії та закінчити проєкт Blazing Angels: хотіли подивитися, чи можна мати справу з українцями. Пів року ми жили в Бухаресті й закінчили гру. Вони вирішили, що все гаразд і можна відкриватися в Україні. Ми повернулися, відкрили студію в Києві, де я і продовжив працювати.

Я і ще троє програмістів були першими людьми в команді

Коли я перейшов у Ubisoft, у мене одразу виникла думка на кшталт: «О! Я зможу поїхати в Америку, куди-небудь у Монреаль». У цій нововідкритій студії ми закінчили ще один проєкт, а після цього я попросив про переведення й переїхав до Монреаля у 2009 році. Одразу була відчутна різниця: я перейшов із проєкту, на якому працювала, припустімо, сотня осіб, на проєкт із кількома сотнями фахівців. Ба більше — в Ubisoft є ігри, над якими працюють тисячі. Принаймні так було раніше.

До цього я ніколи не працював в ААА-сегменті. В Україні загалом не так багато ААА-розробки. Мені навіть нічого не спадає на думку, окрім 4A Games і S.T.A.L.K.E.R. 2, але буде він ААА чи ні — подивимося. Хотілося б, дуже сподіваюся. А тут високобюджетної розробки багато. Навіть у Ванкувері, в якому я зараз живу і який не є центром світового геймдеву, цього вдосталь. У Монреалі дуже багато ААА-розробки — один офіс Ubisoft налічує три-чотири тисячі людей.

Коли я працював в Ubisoft, то попросив перевести мене в Монреаль. Я пройшов співбесіду з командою Far Cry 3, і вони сказали «так». В Ubisoft є свої адвокати, люди, які займаються документами. Тобто мені говорили, що робити і які папери потрібні. Довелося заповнити багато всіляких форм, зібрати масу документів, різні довідки з тодішньої міліції та ще чимало маячні. Загалом бюрократичний процес був складний.

Ми переїжджали лише з трьома валізами: я, моя дружина і донька — у кожного по валізі; це все, що ми привезли в Канаду. Решти майна позбулися. Ось так і потрапили в чудовий новий світ. Країна нас дуже вразила, і це дуже пом’якшило труднощі, перелік яких був чималим. Взагалі переїзд, навіть за бажанням, — складно. Важко адаптуватися в новому суспільстві, навіть коли ти молодий, а мені тоді було двадцять вісім.

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

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

Геймдев на моїх очах теж багато в чому змінився. Навіть якщо порівнювати 2009 рік в Україні та Північній Америці, різниця в підході значуща. Але загалом індустрія стала більшою, а ігри — куди дорожчими, тому що конкуренція дуже велика. Інвестори зрозуміли, що на цьому можна багато заробляти.

Точно не пам’ятаю, коли саме, але років декілька тому ігрова індустрія стала масштабнішою, ніж музика та фільми разом узяті. Тому з’явилося дуже багато розробників та ігор, а індустрія стала жорсткішою, але водночас і структурованішою. Таких контор, як Crazy House, лишилося небагато. Тобто навіть інді-студії мають план розробки, структуру, продюсерів; вони стали дорослішими.

В Україні було багато Engineering Driven Development, коли все впирається в програмістів і розробка крутиться навколо них. На Заході зазвичай застосовують методику Design Driven. Тобто коли головна мета програмістів — це допомагати дизайнерам реалізовувати їхні ідеї, а не робити все самостійно. І тому використовується більше систем, які засновані на даних, тобто є якийсь каркас і дизайнери мають можливість суттєво змінювати його наповнення. Це була велика різниця.

Зараз геймдеву стало набагато більше: зросла кількість маленьких і великих компаній, і всюди треба програмісти. Останні десять років я так чи так долучався до набору співробітників у компаніях, де працював сам. І скрізь не вистачало інженерів. Зокрема, у Respawn, у The Coalition. В Ubisoft була постійна плинність кадрів, але в монреальському офісі дуже велика команда, і там не відчувався брак фахівців. Якщо у вас умовно 200 інженерів, а потрібно 205, то це не робить великої погоди. В Ubisoft своя екосистема.

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

Якщо ви хочете бути програмістом у геймдеві, вам потрібна C++, — інакше ніяк

Є винятки, але вони дуже маргінальні. Мова ця складна, й опанувати її дуже непросто. Здебільшого всі вчать JavaScript, в кращому випадку — Python або C#. У підсумку проводиш співбесіду з молодою людиною, яка начебто тямуща і має бажання працювати, але їй неможливо знайти застосування.

А проте, якщо є бажання, то виникає більше можливостей. У тому ж Харкові стало більше робочих місць. Тобто було до початку цієї фази війни. Бо коли я переходив у геймдев, то навіть не знав, які контори існують. Тоді в мене не було інтернету. Якийсь dial-up працював, але не було поняття «нагуглити» й дізнатися, які студії є в Харкові. В цьому плані стало легше, але знову ж — зросли вимоги.

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

«Продуктивність Ubisoft доволі низька на тлі інших компаній». Про роботу в Ubisoft, «кумівство» в компанії та звільнення

В Ubisoft я працював над Blazing Angels і Blazing Angels 2, потім — над Far Cry 3, а далі був невеликий проєкт, про який ніхто не знає, бо він не вистрілив. Після цього йшли Watch Dogs і Far Cry 4, а потім я вирішив, що досить з мене Ubisoft. З погляду гравця мені найбільше подобався Far Cry 3, він дуже класний. Дизайнери — молодці: знайшли золоту формулу. А потім Ubisoft вирішила її доїти багато-багато разів, чим займається досі. І так, мене це трохи дратує.

Найцікавіше було працювати над Watch Dogs: безліч усього довелося створювати з нуля. Багато систем, яких в Ubisoft ще тоді ніхто не робив. Наприклад, одним з великих завдань була реалізація живого міста. Тобто щоб машини каталися містом, люди ходили й реагували на все тощо. Це була велика та складна система, проте дуже цікава. Й оскільки ніхто не знав, як воно має бути (до тих пір Ubisoft не робила ігор такого плану), я, грубо кажучи, робив те, що мені здавалося правильним. Паралельно радився з дизайнерами та командою. Переді мною ставили певні вимоги, але загалом це був дуже творчий період у моїй кар’єрі й шанс реалізуватися.

Реалізація живого міста у Watch Dogs досі лишається одним з найскладніших завдань, над якими я працював. Тому що над основною частиною системи я працював десь рік чи навіть більше. А потім ще були модифікації, полірування та інше. Складнощі особливо зросли після того, як Watch Dogs вирішили зробити грою з мультиплеєром. Тоді всі системи, які ми писали, потрібно було адаптувати під мережеву синхронізацію. Стало взагалі неймовірно важко.

А ще з’явилася ідея випустити гру на консолях попереднього чи нового покоління, точно вже не пам’ятаю. До цього теж дійшли не одразу, й довелося адаптувати багато систем, включно з трафіком та дорогами. Вони не вміщалися в пам’ять. Тобто чимало всього треба було адаптувати під нові умови. Я дуже багато працював понаднормово над Watch Dogs.

У Far Cry 3 я реалізував систему рендерингу океану. На той момент дуже багато ігор робили регулярну сітку у світових координатах. А я побачив експеримент, як хтось реалізував нову ідею — проєкційну сітку. Це коли регулярна сітка будується в координатах екрана, а потім проєктується на поверхню океану. Результат виходить натуральнішим. Мене ця ідея дуже захопила, і в підсумку я переконав керівників, що це правильний шлях, зробивши два прототипи однієї сітки та іншої.

Зараз у більшості ігор, де є великі простори води, застосовують саме цей метод. Ubisoft почала використовувати його скрізь власне після Far Cry 3. Наприклад, в Assassin’s Creed IV Black Flag. На Blazing Angels та ранніх проєктах ми робили все, що доведеться. Десь — вхідні сигнали, десь — рендеринг, тобто все необхідне. А коли я переїхав і почав працювати над ААА-іграми, то з’явилася вужча спеціалізація й працювати над всім підряд не доводилося.

Команді Far Cry 4 я допомагав виправити баги та запустити гру. Для мене цей процес був звичним, як і у випадку з Watch Dogs та Far Cry 3. Фінальна стадія проєкту — це полірування й виколупування всіх випадкових рідкісних випадків і дивних ситуацій. У цьому якраз нічого особливого не було, враховуючи, що Far Cry 4 був дуже консервативним. Від третьої частини він відрізнявся сюжетом і сетингом, але з погляду механік та технологій — мінімально. Настільки мінімально, наскільки сиквел узагалі може відрізнятися від попередньої гри.

Тому якихось великих складнощів та нових несподіваних багів там було не надто багато. Їх завжди вдосталь, і над цим постійно триває робота. Саме тому немає компаній, які випускають ігри на 100% готові й без багів. Це неможливо. Наприклад, гравці кажуть: «Ой, чому це не пофіксили?» Проте ми робимо все, що можемо, а знайти всі баги просто неможливо.

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

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

Наприклад, хтось чекає переходу на нову посаду, а натомість підвищують іншу людину, яка має менше досвіду, але є старим приятелем керівника. Від цього проєкт не почне краще розвиватися, бо менш кваліфікована людина обійматиме вищу посаду, а люди довкола нічого корисного не отримають. Зрозуміло, що це є скрізь, у будь-якому суспільстві, країні та компанії. Але десь цього більше, а десь — менше. З моєї точки зору, на той момент в Ubisoft цього було більше. І така ситуація мене дратувала. Я людина не те щоб амбітна, але відчуваю цю конкуренцію навколо. І коли хтось має такі несправедливі переваги, мені це не подобається.

«У всіх компаніях є частка хаосу в розробці ігор». Про роботу в Eidos Montreal та Hangar 13, переїзд у США й проблеми штучного інтелекту

Після Ubisoft я перейшов в Eidos Monreal. Утім, про цю роботу не можу багато розповісти: проєкт, над яким я працював, закрили, і діє договір про нерозголошення. Проте дуже шкода, що його закрили. Ця гра була однією з причин, чому я хотів потрапити саме в Eidos. Після цього я допоміг запустити Deus Ex: Mankind Divided і почав працювати над Shadow of the Tomb Raider. Але на той момент я зрозумів, що на цьому проєкті для мене не буде цікавої роботи. Він був так організований, що мої навички мали обмежене застосування.

Хоча я міг знайти собі інші завдання, та вирішив піти. Ми попрощалися на хорошій ноті. Голова студії мені сказав, щоб я будь-якої миті повертався. У нас склалися хороші стосунки, і все було нормально, просто управління вирішило закрити проєкт, над яким я спочатку працював. А посада була теж інженерною. Здебільшого я спеціалізувався на ігроладі та ШІ. Власне, після Far Cry 3 це в основному те, над чим я працював у всіх іграх.

Проблема штучного інтелекту в іграх полягає в тому, що його дорого опрацьовувати. Легко зробити певний набір дій та рухів. Але позбутися всіх рідкісних випадків і ситуацій на кшталт: «На такій-то вулиці за певного збігу обставин машини врізаються й починають тупити», — це дуже важко. Потрібно багато часу та зусиль. До того ж будь-яка гра у відкритому світі, особливо якщо в ній багато NPC-агентів та інших активних агентів, одразу ж висуває більші вимоги до системи стримінгу, ефективнішого рендерингу тощо.

Розробка одразу сильно ускладнюється, а вартість, відповідно, зростає. Як я казав, ігри й без цього значно подорожчали.

Можливості робити масштабні ігри з відкритим світом і так є в небагатьох компаній, а можливості зробити цей світ живим — ще менші

Не буду говорити про Ubisoft, щоб не наступити на якісь NDA-мозолі, але, наприклад, була публічна інформація про GTA V. Вартість її розробки становила понад 250 мільйонів доларів. Звісно, така сума обумовлена не тільки відкритим світом, але це частина питання.

Світ ще потрібно чимось наповнювати. Не можна зробити його просто системним, бо він все одно буде нудним. Потрібно створити вручну багато речей, причому унікальних, які гравець знаходитиме й отримуватиме від цього задоволення.

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

Більшості гравців такий підхід не дуже подобається. На мою думку, це велика проблема в індустрії. Зараз відбувається чимало змін, щоб це перестало бути проблемою в найближчому майбутньому. Проте наразі вона актуальна. Створювати ігри стало дорожче, а тому їх потрібно продати більшій кількості людей. Люди кажуть, що ігри подорожчали до 70 доларів, але вони коштували 60 доларів як 30 років тому, так і зараз. З урахуванням інфляції вони стали дешевшими, а вартість розробки значно зросла.

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

А штучний інтелект — це частина гри, яку найважче зробити водночас складною та зрозумілою. Тому найчастіше, коли гру хвалять за крутий ШІ, все не так однозначно. Скажімо, у Half-Life 2 він не те щоб дуже розумний, але напрочуд грамотно написаний. Противники в проєкті проговорюють свої дії, наприклад, кричать fire in the hole і кидають гранату. Це не інтелект, а, грубо кажучи, скриптові дії. Але люди, які його писали, створили ілюзію розумного ШІ, хоча насправді він у міру тупий.

Зараз є рідкісні випадки, коли роблять дуже складний інтелект, як-от в Alien: Isolation. Там два штучні інтелекти: сам Чужий і режисер, який дає йому підказки. Це система, яка блукає рівнем і намагається знайти гравця, а не скрипт. У грі є буквально пара місць, де Чужого викидають у потрібному місці. І це геніальна гра, я її просто обожнюю. Усі спроби продовжити франшизу «Чужих» після перших двох-трьох, залежно кому що подобається, були нудними. Тому що складно зробити страшного Чужого у сучасному світі, де люди бачили всі типи монстрів і жахів.

Коли вийшла ця гра, я подумав: «Мені страшно в неї грати». Вона неймовірно моторошна, і це повернуло мені відчуття з юності, коли я бачив першого «Чужого». Утім, гра продемонструвала дуже погані продажі. Думаю, все тому, що вона занадто важка. Поведінка Чужого, яка є центральною частиною гри, складна і дуже цікава, але широким масам, на жаль, не дуже зрозуміла. У цьому й полягає велика проблема.

До того, як піти з Eidos Monreal, я спілкувався із сестрою і сказав: «Якщо переїду в Штати, то куплю собі мотоцикл». У Монреалі ж для цього занадто холодно та часто сніжить. І тут зі мною зв’язуються рекрутери. Узагалі вони регулярно пишуть, але того разу звернулися з Каліфорнії й почали запрошувати в контору, де роблять нову Mafia.

Все нібито зійшлося. Відкриті світи в іграх мені подобаються, і в Штатах я завжди хотів пожити — ще з дитинства, коли дивився голлівудські фільми зі Шварценеггером або Сталлоне. Для мене навколо США був ореол американської мрії. Ми почали спілкуватися з цими рекрутерами. А після того, як провели співбесіду, вони заявили: «Давай ми тебе перевеземо». Ось так я переїхав працювати над Mafia.

Каліфорнія, звісно, запам’яталася. У неї є свої плюси та мінуси. Це як у старому фільмі: «Нью-Йорк — місто контрастів. Це оголошення ми перепишемо». З одного боку, там дуже класно: весь час сонце, океан. Хоча американське суспільство трохи відрізняється від канадського, особливо від французької Канади, де я жив. А з іншого, не обійшлося без недоліків.

Якось узимку почалися неймовірно жахливі пожежі, які зазвичай бувають там влітку. Це тривало кілька тижнів, а за 100 кілометрів від нас одне місто повністю згоріло — 3600 будинків. На кілька тижнів закрили школи, видимість була не далі ніж на пів кілометра, і всі ходили в масках. Вранці прокидаєшся, а машина, яка стоїть під дахом, вся вкрита попелом. Зате я всю ту зиму бігав. У Монреалі взимку кучугури, а тут +20 °C. Це прикольно.

З точки зору розробки теж виявилося цікаво. Коли я прийшов, бачення проєкту вже було сформоване. Але виробництво перебувало на ранній стадії, тому багато чого не працювало. Моїм основним завданням стала оптимізація відкритого світу — машин, людей тощо. Цей аспект був написаний дуже прямолінійно. У грі з відкритим світом, де навколо героя в теорії мають бути сотні й тисячі агентів, не можна всіх одночасно створити, стежити за ними та прораховувати, що вони роблять. Ними необхідно керувати, як у складній системі: якщо гравець відвернувся, треба одних прибрати, переставити їх в інше місце, змінити кольори тощо. Це без деталей.

Тоді, та й зараз теж, процесорних потужностей не вистачало для прорахування дій тисяч агентів, тому потрібно було створити ілюзію. Є багато різних систем, які дозволяють спростити створення таких світів, але це все ще велике й складне завдання. Паралельно займався різними дрібнішими завданнями. Коли я прийшов, у грі можна було одночасно відобразити лише кілька машин, щоб вони не перевантажували все. А після додаткової оптимізації нам вдавалося розташувати навколо гравця ледь не 70 машин. І це створювало достатню щільність трафіку. Те саме стосується людей. Наскільки я пам’ятаю, ми довели значення до близько 130 NPC для одночасного відображення.

Mafia III була грою з живим відкритим світом на власному рушієві, а команда розробників налічувала небагато людей. В Ubisoft на одному з проєктів, над яким я працював, на пікові працювало 1100 фахівців. Тут і близько не було таких цифр. До того ж хороша гра виходить, коли є початкова ідея, всі послідовно її досліджують, складають план та дотримуються його. Навіть у невеликій конторі можна побороти більшість технічних проблем, тому що є приблизні кінцеві терміни та уявлення, коли необхідно завершити конкретне завдання.

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

Це відбувається не тому, що продюсери ідіоти чи щось на кшталт цього. Просто є частина гри, яку нам не вдалося зробити цікавою. Ймовірно, ми випустимо гру й будемо вважати, що якийсь фрагмент могли реалізувати краще, але не встигли. Це все-таки питання великих грошей. Уявіть собі: сотні людей працюють у компанії й у кожного немаленька зарплата. Скільки це коштуватиме?

У геймдеві загалом, порівняно із середніми зарплатами на ринку, платять дуже непогано

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

Під час створення Mafia III не те щоб довелося пожертвувати технічним станом заради ігроладу. Але не вдалося знайти формулу, яка в рамках доступних ресурсів зробила б цей відкритий світ цікавим. Він був у міру порожнім. Ось це була основна критика з погляду ігроладу. Проте ми намагалися. А технічні проблеми здебільшого виникали через брак ресурсів і хаотичність процесу розробки. Це відчувалося скрізь, де я працював: в Україні, Монреалі, Ванкувері, Штатах. У всіх компаніях є частка хаосу в розробці ігор. Думаю, так буде завжди.

Наступний проєкт, скасований Hangar 13, змінювався в процесі розробки. Те, над чим ми почали працювати, мені було дуже цікавим. Я і загалом уся команда були дуже схвильовані. Ми знали, що ми хочемо зробити, і це якраз той випадок, коли в нас був план. Але Hangar 13 — це частина 2K Games, яка входить до Take-Two. Так доволі велика ієрархія бізнес-складової. І керівництво вирішило, що потрібно поміняти цей проєкт на інший, а далі його — на третій.

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

Коли ми закінчили Mafia III, вона добре продалася, але її не дуже гарно прийняли. В Hangar 13 почалися складнощі та звільнення. У мене на той момент була доволі важлива інженерна роль. Я писав для наступного проєкту ключову систему ШІ. Я вважав, що мене, напевно, не звільнять, але загалом тенденції не подобалися.

Ще й Трамп прийшов до влади. Не висловлюватимуся про політику та власні переконання, але він почав говорити про скасування NAFTA — North America Free Trade Agreement, угоди між Америкою, Канадою і Мексикою. А я мав тоді візу, яка була частиною цієї угоди. Подумалося: «Ось зараз вони це скасують, і я опинюся в ситуації, коли мені потрібно швидко виїжджати». Плюс до того моменту накопичилося багато різних претензій. Загалом зрозумів, що насправді не хочу жити у США. Побувати там класно, і я, як і раніше, їжджу туди в різні місця, — та в Канаді жити краще. Й ось тоді я почав шукати, як повернутися.

Про розробку Gears 5, технічний стан Star Wars Jedi: Survivor та наскільки важливо любити свою справу

Після повернення в Канаду взявся шукати роботу. Я пройшов співбесіди з низкою контор: Valve, Sony, Bungie, — і отримав декілька пропозицій. У той час компанії трішки возили мене: літав у Ванкувер, декілька разів у Сіетл. З усіх пропозицій мені найбільше сподобалася від студії The Coalition у складі Microsoft. Не назвуся великим фанатом Gears, але ця серія завжди мені подобалася. До того ж я ніколи не працював у такій великій корпорації, як Microsoft, і це круто для портфоліо.

Студія The Coalition працює самостійно, але все одно є частиною величезної корпорації. Зарплатню мені запропонували гарну. Та й загалом багато речей зійшлося. А ще коли я прилітав у Ванкувер, то брав машину й поїздив околицями. Мені дуже сподобалося місто, і в підсумку ми сюди переїхали. Варто зауважити, що Ванкувер — це з великим відривом найкраще місце, де я жив, тому про своє рішення не шкодую.

На той момент The Coalition працювала тільки над Gears. Це була студія однієї франшизи. Потім вона зробила тактичну гру за мотивами Gears на кшталт XCOM. У ній я теж брав участь та допомагав дещо робити.

Під час роботи над Gears 5 я створював робота-компаньйона Джека. В процесі було багато кооперації з дизайнерами, а ще мені дали вдосталь автономності. Наприклад, у нього є навичка, яка запускає невеликі дрони. Ця здатність спочатку була іншою, причому досить довго. Коли проєкт наближався до релізу, було пізно щось міняти. Проте вміння було нудним. На тестах навичка здавалася людям жахливою.

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

Знаєте, у геймдеві працює багато людей, які люблять свою справу. Коли вони замкнуті в рамках якихось завдань, то це не мотивує і результат виходить не дуже хорошим. Коли свободи достатньо, а контора побудована таким чином, що дає багато автономії, у цих людей з’являється бажання творити. Мені, наприклад, хотілося створити щось круте поза межами свого робочого часу. Грубо кажучи, рвати дупу, щоб було цікаво. Дизайнери в нас теж були талановиті, та й загалом Gears 5 отримала хороші огляди.

Команда була дуже досвідчена: чимало моїх колег на той момент працювали років 15 в ігровій індустрії, а в деяких цей досвід сягав і 25 років. Навколо знаходилися фахівці, у яких можна було багато чого навчитися. Це дуже круто. Усі перелічені чинники разом допомогли команді реалізувати цікаві системи.

Розробка в The Coalition відбувалася за методикою Engineering Driven. Дуже багато впиралося в інженерів. Частково тому, що Gears 5 — багатокористувацька, і дуже важливо, щоб мережевий код працював правильним чином. Різні мінімальні технічні моменти не мають викликати дискомфорт у користувачів під час матчів. Тому розробка тривала саме так. Це відрізнялося від того, до чого я почав звикати.

А ще у Microsoft через величезні розміри чимало бюрократії

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

У Microsoft я пропрацював деякий час, і загалом було цікаво. Наступний проєкт мені подобався, але хотілося певним чином розвивати кар’єру, а в Microsoft не виходило цього зробити. The Coalition — це велика й відома студія. Коли я працював у команді, там було багато людей із величезним досвідом. І якщо, наприклад, ти хочеш кар’єрного зростання, а поруч із тобою колеги, які мають на 10 років більше досвіду більше і теж хочуть просування далі, то в них кращі шанси його здобути. Не всі до цього прагнули, і деякі люди працювали в компанії звичайними інженерами близько 20 років. Проте я хотів розвитку кар’єри.

Якось під час чергової дискусії на цю тему я трохи розізлився, заліз у LinkedIn і подивився, що мені приходить від рекрутерів. Нечасто це перевіряю, але тоді переглянув повідомлення — верхнє було від рекрутера з Respawn. У ньому йшлося про створення гри за мотивами «Зоряних війн» і про віддалену роботу. А тоді був розпал COVID, і я вирішив: чому б не спробувати? А потім ще й з’ясувалося, що двоє моїх колишніх колег там працюють. Один був моїм керівником у The Coalition, і він пішов раніше. Я цю людину поважаю, і мені подобалося з ним працювати.

Другим був Аарон Контрерас, Narrative Director, з яким я працював в Ubisoft і Hangar 13. Потім виявилося, що він теж у Respawn, і ми працювали вже в третій конторі. Знайомі обличчя одразу збільшили кредит довіри, та й гра мені дуже сподобалася. Я люблю «Зоряні війни» з дитинства, хоча не можу назвати себе фанатом чи знавцем. Ми поспілкувалися з Respawn і домовилися про все, що я хотів, — кар’єрне зростання та відповідну зарплату, а проєкт та віддалена робота були додатковими плюсами.

У Star Wars Jedi: Survivor була найменша інженерна команда з усіх, в яких я працював з часів київського офісу Ubisoft

Загалом у гри була дуже маленька команда ключових розробників, і ми дуже багато працювали. У мене сталося вигорання після Star Wars Jedi: Survivor, хоча й не тому, що нас хтось змушував працювати понаднормово. Ми хотіли зробити класну гру.

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

Під час розробки ми вирішили дати дизайнерам більше свободи, щоб вони зробили цікаву гру, і підтягувати під це технологію, наскільки можливо. Ми відмовилися від Engineering Driven Development. Мені здається, це гірший підхід. Нехай гра буде не так ідеально працювати, але вона вийде цікавою.

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

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

О, які люди. Привіт з CrazyHouse) круто знати шо у тебе все вийшло

Привіт друже! Радий бачити (читати :D?) Як справи?

та все добре :) наскільки це можливо в Україні зараз.

Тарас, дуже дякую вам за круту розповідь.
Було цікаво дізнатися про внутрішню кухню гемдев атлантів тих часів.
А вам бажаю успіхів!

Підкажете над яким проектом зараз працюєте? :)

Питав у спікера, але це поки що під NDA))

нема за що, радий що сподобалося. і так, на даний момент не можу коментувати поточний проект

Припустимо що С++ рулить в геймдеві чи може хтось пояснити чому тоді багато ігор потребують встановлення .net ? Я давно нічого не ставив але був період коли грався і от що не гра то «обновіть до версії ***». На юніті ігри наче нічого так працюють з JS під капотом. Звісно це не ААА класс ігор але ж їх ну просто тьма. В чому причина популярность С++ в геймдеві теж цікаво.

Весь Unreal на С++, а для гарної роботи з рушієм, вона критично необхідна. На блюпринтах все не побудуєш.

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

Тут я теж не розповім детальніше вам.

с++ дозволяє одночасно писати не тільки високорівневі системи але і безпосередньо працювати з пам’яттю чи наприклад синхронізацією потоків. Це ключовий момент для написання високопродуктивних систем реального часу, якими ігри і є.

Припускаю, що використовують С++/CLI для .Net framework. .Net це ж не лише С#

У геймдеві загалом, порівняно із середніми зарплатами на ринку, платять дуже непогано

Десь тихо плачуть дізи із опросніків ДОУ

у північній америці принаймні зп геймдизайнерів вища ніж середня у населення, і з досвідом різниця стає ще відчутнішою.

спасибо за такой интересный материал!

зы. состояние, в котором выпустили Star Wars Jedi: Survivor это просто гребаный стыд

Нажаль Jedi Survivor я б цікавою грою не назвав би, оптимізація просто кал, сюжет нудота. В порівняні з Fallen jedi небо і земля.

цікаво що Hangar13 планували зробити

Про кумовство в юбисофт — это правда. Только он так рассказывает, будто юбисофт — это лидер по кумовству в геймдеве в Украине. Ничего подобного. Далеко не лидер. Я мог бы тут привести целый список компаний, где ценят не профессионализм, а жополизание и своих знакомых пропихивают на те позиции, где они совсем не уместны — это просто жажда денег, власти, боязнь потерять работу. И кумовство — это же характерная черта украинского общества. Могут потребоваться столетия, чтобы искоренить эту заразу из украинских компаний. Пока, судя по своему опыту, вижу, что с этим не борются, а наоборот поощряют. А профессионалов мягко выбрасывают за борт и им приходится находить работу в зарубежных компаниях

А спікер говорив не тільки про українські офіси, а про компанію загалом. Він два роки працював в київському офісі, а ще п’ять — у монреальському.

Мова про Монреаль. Коли я працював у Київському офісі кумовства не було взагалі. Колектив був дуже маленький та дуже дружний. Без поняття що там зараз

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

Legacy Of Kain 100%

Гарна здогадка, я в процесі розмови про неї і не подумав)

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