Render Developer Євген Карпенко — про розвиток програмування графіки, власний бренд та результати соціального експерименту

Євген Карпенко, Render Developer у Pingle Studio, відомий у геймдевних колах як CaptainGPU. Він ентузіаст вивчення технологій у геймдеві, особливо всього, що дотичне до графіки. Фахівець вирішив пов’язати життя з розробкою ігор, коли вперше взяв у руки геймпад і зіграв у Tekken 3.

В інтерв’ю ми поспілкувалися про кар’єрний шлях Євгена, вивчення програмування та роботу над соціальними казино. Спікер також розповів про поточний розвиток технологій у геймдеві, любов до консолей та сучасні ігри, які можна вважати проривними в плані графіки. А ще — поділився результатами власного соціального експерименту під час пандемії COVID-19.

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

— Розкажіть трішки про своє дитинство.

Народився я в Криму, де прожив майже 25 років. Дитинство було типовим для того часу й регіону. Жили ми не те що бідно, а радше на межі, як і багато родин на початку 90-х. Дуже радий, що той період давно позаду.

— Чому ви вирішили вчитися на програміста?

У школі в нас були поглиблені уроки інформатики: писали різні програми та завдання на Turbo Pascal, доходило навіть до маленьких ігор у стилі Ханойської вежі або завдання про перевезення трьох тварин за допомогою лише одного човна. Якість цих ігор була така собі, як і графіка в них. Однак у такий спосіб вчитель заклав інтерес до програмування та комп’ютерів як таких, тож вибором фаху завдячую йому.

У класі восьмому-дев’ятому в мене з’явилася книга про програмування на Java. Свого комп’ютера я не мав, тому використовував шкільні, щоб вивчати цю мову, але переважно тренувався просто в зошиті. Так я закінчив школу з базовими знаннями Pascal, Basic і Java, за допомогою яких міг створювати прості програми.

Потягнути університет чи інститут моя родина не могла фінансово, тож довго перебирали можливості. У підсумку я вступив до Кримського коледжу економіки та управління. Як напрям вибрав «Програмування для електронної техніки та автоматизованих систем».

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

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

— Ваша перша робота вже була пов’язана з геймдевом. Чому обрали саме ігрову індустрію та як розпочали кар’єру?

До цього я йшов усе життя. На дев’ятий день народження друг відвів мене до місцевої ігротеки, де були PlayStation 1. Того дня я вперше побачив відеоігри, зокрема Tekken 3 — у неї ми разом з братом та другом грали цілу годину. Я був приголомшений: там був робот ніндзя зі світловим мечем, вогнедишний дракон, удари та прийоми, як у бойовиках з Джекі Чаном. Якийсь час не наважувався взяти геймпад у руки: боявся зламати. Емоції, коли я все-таки переборов себе і почав грати, досі складно передати.

«Опісля я ще довго був під враженнями, але вже тоді вирішив: коли виросту, стану розробником відеоігор»

У коледжі ми вивчали вебпрограмування, де, зокрема, опановували інструменти для створення сайтів. Так я познайомився в Macromedia Flash, яку тільки-но купила Adobe. Flash дуже захопив мене: це був перший зручний інструмент, за допомогою якого можна було створювати відеоігри. Завдяки йому я відкрив для себе безліч сайтів, форумів та інших ресурсів для розробки відеоігор, де збиралися українські фахівці: Newgrounds, Mochi Media, Kongregate тощо.

Це було дуже круте ком’юніті, яке з флеш-розробників перетворилося на щось більше. Як свого часу з FlashGAMM виріс DevGAMM, так і багато флеш-розробників після смерті Flash стали цікавитися або Unity, або іншими технологіями для розробки відеоігор.

У першій компанії ви пропрацювали всього два місяці. Чим ви займалися та чому так швидко пішли?

Після закінчення навчання я шукав роботу і якось на одному ресурсі побачив вакансію флеш-розробника в сімферопольську студію. Ми дуже швидко домовилися, і за кілька днів я вже там працював. Команда була невеличка — всього п’ятеро осіб. Здебільшого вони робили флеш-ігри та інтерактивні банери для тих же Newgrounds, Mochi Media, Kongregate. Тоді багато хто хотів, щоб у них на сайті була якась дуже проста флеш-гра — власне, це і було основним напрямом студії.

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

— Далі ви перейшли в SimpleArt. В чому були особливості цієї роботи?

У SimpleArt я перейшов виключно через амбіції. Вони займалися тим самим, що і попередня студія: робили вебсайти, простенькі флеш-ігри, такі ж інтерактивні банери. Але їхній рівень був уже іншим, вони розробляли чималі ігри для соціальних мереж. Це був час флеш-ігор у соціальних мережах Facebook, VK і зараз мертвих Orkut та Google+.

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

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

— Після цього ви перейшли в Alcomi та перекваліфікувалися у C++ Developer. Що підштовхнуло до такого рішення?

У SimpleArt та Alcomi був один власник. Він мав кілька бізнесів: компанія, яка займалася рекламою, місцевий інтернет-провайдер, студія з розробки вебсайтів (SimpleArt) та студія, яка створювала відеоігри (Alcomi). Фактично ми всі працювали на одному поверсі. У період пошуку інвесторів для гри я не мав великого навантаження, тож мої знання в С++ вирішили застосувати на проєкті від Alcomi. Мене тимчасово перевели до штату цієї студії, й зрештою я там залишився.

В Alcomi мала багато завдань: портування ігор на PSP і флеш-ігор — під Windows, іноді вона розробляла казуальні ігри для видавців типу Bigfish та Alawar. Зараз цю діяльність можна назвати аутсорсом, але тоді це було чимось стандартним. Я бачив багато схожих маленьких студій: в Одесі, Луганську, Дніпрі були подібні до Alcomi компанії, які теж робили казуальні ігри на замовлення для Alawar і Bigfish.

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

«Дехто не пережив тих часів, а деякі українські студії виросли в основних гравців на сьогоднішньому ринку»

— Наскільки на новому місці відчувався контраст у порівнянні з попередньою роботою, враховуючи розробку проєктів для мобільних платформ?

В Alcomi вели різні й цікаві проєкти. Чим я тільки не займався: створював ранери, казуальні ігри для багатьох платформ — робота було значно цікавішою, ніж у SimpleArt.

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

— Як ви почали працювати в Playtika?

Власник Alcomi продав Pacific Interactive практично всю студію, разом з інтелектуальною власністю та великою частиною штату. Pacific, зі свого боку, стала частиною Caesars Interactive Entertainment, яка володіла студією Playtika. Відбулося багато перестановок, злиття команд, розподіл штату працівників. Зрештою я став співробітником Playtika з практично тим же складом колег, які були зі мною на момент продажу Alcomi.

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

— З якими проєктами ви мали справу в компанії?

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

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

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

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

«Нарешті, практично через 20 років, моя мрія збулася, і я працюю з PS4 і PS5». Про перехід у Pingle, роботу над масштабними проєктами та зміну фаху

— Ви пропрацювали в Playtika близько 10 років. Чому вирішили покинути компанію?

Захотілося чогось нового. Тільки-но Unreal Engine 4 вийшов у вільний доступ, я відразу став цікавитися цим рушієм, вивчав його, колупався в ньому, робив усякі підробки та механіки для себе. Завдяки UE почав цікавитися рендерингом, освітленням. Саме освітлення, а точніше навчання на Lighting Artist, в результаті затягнуло мене у світ графічних API.

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

«Робота в Playtika була стабільною: приходив до офісу, працював, повертався додому — й так щодня практично 10 років»

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

— Після Playtika ви перейшли в Pingle Studio. Чому обрали цю компанію?

З Pingle Studio познайомився на Games Gathering: я підійшов до їхнього стенда, вони розповіли про свої проєкти — подумалося, як чудово було б попрацювати над такими. Ми обмінялися контактами, і вже за місяць я був готовий вийти на нову роботу.

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

— Над якими проєктами ви працювали в Pingle? Принаймні з тих, про які можете розповісти. І які були для вас найцікавіші?

На жаль, практично вся моя діяльність у Pingle Studio підпадає під NDA. Студія займається як аутсорсом, так і співрозробкою, тому жодні аспекти розголошувати не можна. Розповім дуже абстрактно.

Моїм першим проєктом була дуже відома RPG, яку розробляли на тільки-но випущеному Unreal Engine 5. Я побачив, як усе влаштовано в ААА-геймдеві, як відбуваються брейншторми, як додаються нові фічі. Це було неймовірно.

У моїй команді були справжні фахівці — люди, які працювали над The Finals, Risk of Rain 2, The Outer Worlds, Five Nights at Freddy’s, Insurgency: Sandstorm, Life is Strange. Вони завжди приходили на поміч, коли в мене щось не виходило, або давали важливі поради.

Останній рік я брав участь у декількох проєктах із портування досить відомих ігор на консолях — нарешті, практично через 20 років, моя мрія збулася, і я працюю з PS4 і PS5. Взагалі, що більше я маю справу з консолями, то більше вони мені подобаються: архітектура, специфіка, ядро ​​консолі та їхні можливості. Це унікальні пристрої, з ними справді цікаво та приємно працювати.

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

— З Unreal Engine C++ Developer ви перейшли на посаду Render Developer / Graphics Programmer. Як і чим зацікавив напрям рендеру?

З переходом мені дуже допоміг тодішній Team Lead Дмитро. У Pingle Studio створювали новий департамент з програмістів графіки та рендер-розробників, завданням якого було розв’язувати проблеми, пов’язані виключно з графікою або рендерингом. На щомісячному дзвінку з керівником команди я розповів йому про свій інтерес до напряму, він передав це вищим менеджерам — і так я потрапив у Render Department.

Ще в попередній студії я захоплювався розробкою шейдерів, писав про це різні невеликі уроки. Також мені дуже подобається працювати з Vulkan і Metal — це два сучасні графічні API, вельми низькорівневі в порівнянні з попередніми API, такими як OpenGL і DirectX, але одночасно зручні в роботі.

Сьогодні вся моя робота в Render Departament у Pingle Studio пов’язана виключно з програмуванням графіки або рендерингом. Це можуть бути специфічні завдання: як портування рендерингу гри на нову платформу, так і реалізація тієї чи іншої графічної фічі на деяких платформах. Наприклад, розробка фічі з Unreal Engine для мобільної платформи, якої ніколи не було в рушії. Може бути оптимізація рендерингу, виправлення помилок рендерингу. Усі ці завдання мають великий спектр роботи.

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

— У якому, на вашу думку, напрямку мають розвиватися технології програмування графіки?

Я думаю, що розвиватимуться вони у двох напрямках — трасування променів та штучний інтелект. Трасування променів усе глибше проникає в сучасні ігри й програми. Ще кілька років тому порт Quake 2 з підтримкою технології RTX був чимось незвичним і радше технодемкою. Ігор з технологією трасування променів існувало не так багато, і використовували її виключно для якогось одного аспекту, наприклад, дзеркальних відображень.

«Зараз трасування променів — практично стандарт для високих налаштувань в іграх»

Відеокарти з трасуванням променів з’являються в різних цінових сегментах. NVIDIA та AMD конкурують між собою, щоб користувачі отримали якісніший досвід RTX.

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

Другий напрямок — це штучний інтелект (AI). Уже зараз нейронні мережі використовують для апскейлінгу та денойзингу у відеоіграх. Є цілий набір Denoising Networks, що усувають шум із зображення та роблять його чистішим та реалістичнішим. До них належать SRGAN (Super Resolution Generative Adversarial Networks) та GAN (Generative Adversarial Networks), які застосовуються для генерації реалістичних зображень з високою роздільною здатністю з низькорозв’язаних або зашумлених картинок. Алгоритми апскейлінгу та денойзингу у відеоіграх дуже добре комбінуються в алгоритмах трасування променів.

— Ви ентузіаст застосування математики в геймдеві. Як гадаєте, як правильно викладати математику для геймдеву в навчальних закладах?

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

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

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

На питання про викладання складно відповісти. Я виступаю лише за дуже відповідальний підхід до навчання. Мій колега з Pingle Олександр Омелаєнко паралельно працює в школі вчителем математики й інформатики, а ще веде всередині студії курс з математики, на якому присутні QA і нетехнічні фахівці. Він горить викладанням. І коли мені треба розповісти якісь складні теми в тредах, часто користуюся його підходами. Після цього мені нерідко пишуть на кшталт «круто, я нарешті зрозумів, як це працює».

Я думаю, що найкращий підхід — показувати й пояснювати, де й для чого застосовують математику. Розбирати приклади використання. У цьому плані мені подобаються різноманітні курси індійських викладачів. Всі математичні курси від індійських викладачів, що я бачив, — від Udemy до курсів в університетах — дуже креативні та цікаві. Саме в такому напрямку і треба рухатися.

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

Це складно: найчастіше для такого потрібні цілі треди. З останнього — розглядав, як працює підвантаження рівня у Marvel’s Spider-Man від Insomniac Games. Студії вдалося розробити дуже складну та комплексну систему, яка в реальному часі дозволила завантажувати цілі квартали величезного міста, з усіма деталями, машинами, калюжами та безліччю ігрових об’єктів. Описати це кількома реченнями не вдасться.

Якщо говорити про простіші рішення, можу згадати Ghost of Tsushima. У грі є дуже багато частинок у вигляді листя, і щоб не витрачати ресурси для розрахунку їхньої колізії з ландшафтом, розробники використали карту висоти, що набагато простіше.

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

— Що ви думаєте про WebGPU? Чи є перспективи розвитку технології в геймдеві? У яких нішах її можна ефективно застосувати?

WebGPU дуже цікавий, це новий крок у сучасному рендерингу. Спочатку WebGL був сформований на основі OpenGL ES для вбудованих систем у 2010 році. Для браузерів та інтернет-досвіду тих років цього вистачало, але зараз вебдодатки зовсім інші.

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

WebGPU — це новий стандарт, сучасний JavaScript API, призначений для роботи з 3D-графікою та обчисленнями за допомогою GPU. Він надає розробникам вебдодатків доступ до новітніх можливостей графічних процесорів, що дозволяє створювати складніші, більш реалістичні та інтерактивні вебдодатки.

«Головний плюс — WebGPU заснований на тих же базових концепціях, що і Vulkan, Metal і DirectX 12»

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

Основний мінус WebGPU — мала підтримка серед браузерів, але це питання часу: з кожним днем ​​їхня кількість зростає. Сам WebGPU теж змінюється, розвивається, до нього постійно вносять покращення. На WebGPU перейшли вебфреймворки, такі як Three.js, taichi.js, zephyr3D. Підтримку WebGPU вже має низка ігрових рушіїв, Beavy, Unity, і є напрацювання з портування на Unreal Engine.

Я вважаю, що за WebGPU — майбутнє сучасної комп’ютерної графіки у вебдодатках. За його допомогою можна створювати VR/AR-програми для навчання, розваги й роботи. Розробляти більш реалістичні та сучасні тривимірні ігри, які неможливо було створити за допомогою WebGL. Робити наукові обчислення, створювати інтерактивні інструменти, які можна використовувати в архітектурі, моделюванні, дизайні, інженерії, медицині й навчанні. У міру розвитку WebGPU стане потужним інструментом для створення вебдодатків з приголомшливою тривимірною графікою та продуктивністю.

— Які, на вашу думку, мови програмування варто вчити геймдев-фахівцям?

Це дуже сильно залежить від напряму та рушія, який ви використовуєте. Я б рекомендував вчити С/C++ для фахівців, які хочуть займатися розробкою рушіїв, рендеру та графіки, а також фізики в відеоіграх. Сьогодні С/C++ — стандарт в геймдеві, цими мовами написані головні інструменти, багато бібліотек, їхній основний акцент — на швидкодії та продуктивності. Сучасні фізичні бібліотеки, графічні API та безліч інструментів розробляються саме під аспекти цих двох мов.

Можу розповісти про свій досвід: неважливо, який рушій або інструмент я використовую, практично всі вони написані на С++ — і саме знання цієї мови дозволяє мені без проблем працювати як з кодом рендерної та графічної частини Unreal Engine, так і з кодом Unity й інших внутрішніх ігрових рушіїв різних студій, з якими ми співпрацюємо.

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

— Як просувається розробка вашого персонального проєкту в дусі Army Men? Чи плануєте довести його до кінця?

Як я вже казав, у якийсь момент кількість ідей і можливості їх утілити перестали збігатися. І цей проєкт — одна з них.

Якось я знайшов на старому комп’ютері своє портфоліо з проєктами, в якому реалізовані різні ігрові механіки. Оскільки вже довго працюю з Unreal Engine 4, то за цей час таких механік зібралася величезна кількість. Так у мене з’явилася ідея зібрати їх усіх в одному проєкті про пластмасових солдатиків. Думав, що це буде швидко, але помилявся. До того ж це збіглося з переведенням мене на проєкт у Pingle.

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

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

— Ви активно ведете публічну діяльність, особливо у твіттері. Чи задумувалися колись над розбудовою власного бренду, підвищенням впізнаваності себе як професіонала в галузі рендеру та графіки?

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

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

«Скажу чесно, я не мав бажання стати блогером або, як у випадку з твіттером, мікроблогером»

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

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

Щодо бренду — не знаю. Мені було приємно, коли на Games Gathering і навколоігрових конференціях та форумах до мене підходили зі словами на кшталт: «О, Капітане, я тебе знаю — ти пишеш у твіттері на різні цікаві теми». Такі зустрічі та просто коментарі до тредів дуже надихають, після них хочеться робити багато нового.

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

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

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

У пріоритеті — закінчити курс з програмування графіки за допомогою Metal, на що витрачаю весь свій вільний час. Сподіваюся впродовж найближчих кількох місяців його закінчити та викласти на DOU. Власне, розглядаю DOU як можливий новий майданчик, крім Medium та Twitter. А після цього зможу зайнятися розвитком бренду.

— Коли у вас з’явилася перша консоль і в які ігри ви грали на ній?

Як я вже розповідав, у дитинстві на консолях я грав лише в місцевій сімферопольській ігротеці — на PlayStation 1 та PlayStation 2. Першою консоллю, яку я зміг собі дозволити, була PlayStation 3. На цих трьох консолях я переграв практично всі ігри. З улюблених серій виділю такі:

  • Crash Bandicoot. Для мене Naughty Dog — приклад студії, яка досягла неймовірних результатів. Вважаю це еталоном того, як студії мають робити відеоігри.
  • Uncharted. Такі емоції, як за часів PlayStation 3, я дуже рідко отримував. Це дуже динамічна серія, де ти не граєш, а дивишся нову серію фільму про Індіану Джонса. Завжди щось вибухає, скрізь перестрілки, цікавий пригодницький бойовик із загадками та екскурсом в історію.
  • Сюди ж можу зарахувати Twisted Metal і Silent Hill. Моєю першою грою був Tekken 3, і я з теплом у серці ставлюся до цієї серії. Люблю серію Lego-ігор від студії TT з часів PlayStation 3 та PSP. Любив частини про «Піратів Карибського моря», «Володаря перснів» та «Зоряні війни». Окремо виділю GTA — для мене з братом це одна з найзначніших ігор життя. У всі проєкти цієї серії я грав лише на консолях.

— Яку з консолей нинішнього покоління вважаєте найкращою?

Для мене це PlayStation 5. Але це все тому, що зараз я працюю над проєктом для цієї консолі. На жаль, через правила Sony я не можу розповісти про технічні деталі.

«Але як тільки я почав використовувати консоль як розробник, то практично закохався в неї»

Мені подобається її архітектура, технічні аспекти. З нею дійсно приємно працювати. З ігрового погляду мені дуже сподобалися всі релізи для PlayStation 5: Ratchet and Clank, God of War, Horizon Zero Dawn, The Last of Us Part II. Усі ці проєкти залишили гарне враження.

— Ви ентузіаст консольного геймінгу. Чому ви вважаєте, що на консолях краще грати, ніж на ПК?

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

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

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

— Які з сучасних ігор ви могли б назвати дійсно проривними в плані застосування технологій та графіки? А які були такими свого часу?

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

А ще — серія відеоігор від IdSoftware, особливо на рушіях іd Tech. Doom, Quake, Wolfenstein — усі ці ігри були проривними свого часу, використовували найновіші та революційні технічні підходи й техніки: BSP, динамічне освітлення, мегатекстури, скелетні анімації. Рушії іd Tech породили ціле сімейство інших рушіїв: Source Engine (серія ігор від Valve), IW Engine (серія ігор Call of Duty від студії Infinity Ward). У конкурентних перегонах з шутерами Quake Тім Свіні створив Unreal Tournament, з якого виріс Unreal Engine.

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

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

Так, звичайно. Сучасна комп’ютерна графіка тяжіє до реалістичності від початку. Процес триває 75 років з моменту першого використання комп’ютера для формування зображення. Винаходять реалістичніші та коректніші алгоритми освітлення, з більш фізично обґрунтованою технікою світла. Комп’ютерні ігри не мають іти окремим шляхом, я б сказав навпаки: вони завжди намагаються використовувати найсучасніші підходи в комп’ютерній графіці.

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

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

Раніше стилізацію використовували через недосконалість рендеру та графіки тих років. Я думаю, творці GTA III ставили собі за мету створити якомога реалістичнішу гру, але розвиток графіки не давав змоги це реалізувати, тому довелося застосувати стилізацію. Принаймні я так думаю, оскільки наступні частини ставили ще більший акцент на реалізмі, а в останньому трейлері GTA VI реалістичність деяких сцен мене вражає.

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

Плюс сьогодні ми перебуваємо на піку ери трасування променів. Додавання цих технологій у рендеринг сучасних ігор робить їх ще реалістичнішими. Мені б хотілося застати момент, коли можливості комп’ютерної графіки в реальному часі не відрізнятимуться від нашого світу. Думаю, досягнення цієї точки сильно змінить індустрію, але це буде нескоро: зараз є багато технічних нюансів, і можна пожартувати, що не дуже реалістичні ігри все ще не працюють у 60 FPS.

Шутер Unrecord

— Якось ви висловилися, що ігри — це не мистецтво. Чи можете це обґрунтувати?

О, це була хибна думка. Насправді будь-яка діяльність людини є мистецтвом, і відеоігри не виняток. У них завжди великий акцент ставили на звукову, візуальну та наративну частину, і всі ці три аспекти можуть називатися мистецтвом або ототожнюватися з ним. Є відеоігри, які я вважаю справжніми шедеврами, — ті ж Uncharted і The Last of Us.

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

— Який період в історії ігрової індустрії ви вважаєте найбільш проривним з погляду розвитку технологій?

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

«Нині ми перебуваємо на початкових рівнях нової кардинальної зміни»

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

— Що ви думаєте про агресивну монетизацію в іграх, як-от лутбокси, гача-механіки? Яка від них користь та шкода для гравців?

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

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

— Як ви ставитеся до розповсюдження ігор за підписками? Чи знецінює така модель їхню вартість?

Нейтрально. Не маю нічого проти підписної моделі. Активно використовую підписки, щоб дивитися кіно та серіали, читати новини та грати в ігри. Підписка на PS+ до повномасштабної війни цілком мене влаштовувала, і отримувати три гри щомісяця того вартує.

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

— Тоді останнє питання. Під час пандемії ви впродовж року не виходили з дому. Чому?

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

Насправді це було нескладно: активно працювало доставлення, і домовитися з кур’єром, щоб він виніс сміття, не було проблемою. Попри все, вважаю це своєю найдурнішою витівкою. Людина — соціальна істота, й ідея закритися від суспільства не варта наслідків. Краще витратити цей час на друзів та сім’ю — бути поруч із ними набагато цінніше, ніж проводити такі експерименти.

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

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

Дужу цікава стаття, дякую)

Я теж з Криму. І теж жив там до 25 років. І теж Євген Карпенко. «Совпадение»?

коли вперше взяв у руки геймпад і зіграв у Tekken 3

Ставлю півзарплати, що обіграю Євгена в Текен!
😈

Дякую за чудове інтервʼю! Успіхів Євгену! 🙌

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

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