09.11.2021 • Алексей Евглевский

Интервью с Дмитрием Яновским

Интервью с Дмитрием Яновским

Насколько важно в геймдеве понимать, что тебе действительно нравится? Не только среди конкретных игр или жанров, но и в профессии? Чем по-настоящему интересно заниматься? Мне кажется, необходимо хотя бы иногда задаваться этими вопросами. О том, к чему они могут привести, мы поговорили с программистом игрового движка в компании Rockstar North Дмитрием Яновским. Он рассказал о своем карьерном пути, поиске себя в профессии, о переезде в Шотландию и о работе над Red Dead Redemption 2.


Расскажи немного о себе?

Я работаю программистом игрового движка в Rockstar North. Последнее, к чему я приложил руку, была Red Dead Redemption 2. Сейчас я живу в Эдинбурге, переехал сюда почти пять лет назад. До этого находился в Москве, а еще до того в Туле - там я родился. Пришел я в Rockstar программистом анимации, и занимался анимационной системой. Так получилось, что в какой-то момент мой интерес сместился в сторону более системных задач, и я переехал в команду игрового движка. Мы работаем над тем, что обычно описывают так: “когда оно работает как надо, всем плевать, но когда оно ломается, об этом знают все”. Это интересная область, потому что ты понимаешь, что работаешь над тем, чем пользуется вся команда: менеджмент памяти, вещи, связанные со стримингом и тому подобное. У этих проблем нет простого и понятного решения. Есть проверенные временем подходы, но и есть место для инноваций. 

Ты сказал, что занимался анимационной системой, а теперь движком, как так получилось? 

Все это так или иначе кодинг, а интереснее, наверно, что до этого я был техническим художником, а еще раньше работал геймдизайнером на мобильных играх в компании Game Garden. До этого я проходил собеседований 20-30 - классическая история, когда человек хочет попасть в геймдев. Очень редко первая работа дается легко и быстро. Я там пробыл чуть меньше года. Брался за то, что дадут. Это было замечательное время, и я многим людям оттуда очень благодарен. Многие люди без опыта (включая меня самого тех времен) считают, что геймдизайн - плевое дело, тебе особо ничего  не надо уметь. Они думают: “Я же в игры играю, наверно, смогу быть геймдизайнером”. Вот и я так думал поначалу, а потом в какой-то момент понял, что, возможно, это “не совсем так”. Я не этим хочу заниматься, и геймдизайнер из меня не самый лучший. Я понял, что рано или поздно появятся задачи, которые перестанут меня увлекать. Все превратится в рутину, и я начну работать с восьми до пяти, а дома посвящать время “по-настоящему интересным вещам”. Такого я не хотел. Этот опыт я уже получил в универе. Тогда я задумался: если не гейм-дизайн, то что? Открытых движков в то время еще толком не было. Epic давала только UDK. К счастью, у меня никогда не было проблем с английским. Потому что на русском информации оказалось мало, а на английском достаточно. Методом проб и ошибок я понял, что мне интересна анимация. Очень круто, когда ты сделал руку на IK, и она сама так прикольно двигается в локте. В этом кайф профессии художника - ты видишь результат сразу. Легко понять, что тебя это зацепило, потому что первым делом после работы ты открываешь Maya (или что-то еще) и начинаешь возиться с ригом. Я начал копать в этом направлении и смотреть, есть ли какие вакансии. В какой-то момент от mail.ru (allods team) появилась вакансия технического аниматора начального уровня. Я пошел на собеседование, а это оказался настоящий кастинг, потому что туда шли совсем зеленые новички: был ветеринар, парень из медицинского, адвокат - кого только не было, человек сорок всего. До финала нас дошло четверо. В целом это была история скорее про удачу. Дальше уже пошло проще. Я попал в команду крутых ребят - они занимались боевой системой Skyforge. У меня сразу х10 к развитию, мотивации - ко всему просто. Ты сразу начинаешь работать вширь: узнаешь про VFX-артистов, есть какие-то люди, которые пишут экспортеры для Maya, а тут еще Python какой-то - все хочется попробовать. Весь мой период в Mail - это горизонтальный рост. Я пришел к техническим аниматорам, потом перешел на технического художника, потом на программиста уже.

В этот период ты пробовал много разного?

Да, ты ищешь моменты, когда тебя реально прет от того, что ты делаешь. Я понял, что анимация меня зацепила не потому, что мне это нравится, а потому что отдача моментальная, мне кажется, это любого зацепит. Меня-то больше интересует не арт, а техническая сторона. Интересно, когда можно решить реальную проблему. У вас есть куча XML, и надо со всеми что-то сделать. Ты спрашиваешь: “Как делали до этого?” Открывали по одной штучке и меняли. И вот ты думаешь: “Наверно, есть способ сделать это быстрее”. Открываешь для себя мир скриптов. Можно написать программу, которая пропустит все через себя, и на выходе у тебя результат не через неделю, а через 20 секунд. Это следующий “эврика” момент. Конечно, по факту ты перед этим месяц потратил на написание самого скрипта, но в будущем все потраченное время окупится. Скрипты - это лайт версия программирования, но тем не менее я понял, что именно это мне по-настоящему интересно. Я подумал, что хватит плавать кругами, пора нырять вглубь: начал от самого высокого уровня программирования и продолжил идти все глубже. Python - это язык программирования, а какие языки еще бывают? Есть интерпретируемые языки, а есть компилируемые - в чем разница? И так далее. Это проторенная дорожка. Если ты задаешь себе эти вопросы, они тебя выведут куда нужно. И этот процесс не заканчивается. Я не могу сейчас сказать, что хочу остаться суперузким специалистов вот в этой области. Я все равно оставляю для себя пути к другим темам.

А как эта дорога вывела тебя к Rockstar?

Это хороший вопрос. В mail.ru я пришел на проект Skyforge. Мы его шипнули. Дальше пошел период саппорта. Мне, конечно, это менее интересно. Так совпало, что параллельно с этим началась разработка маленького сайд-проекта. Ребята из той же allods team организовали небоьшую команду и стали делать сессионный шутер на UE4 (его анонс еще можно отыскать на ютубе - F.R.A.G.). Движок на тот момент только-только стал бесплатным. Мне кажется в то время, любому человеку технически подкованному хотелось сделать на нем игру, или хотя бы попробовать. Я начал проверять почву, спросил, не нужна ли им помощь в анимации. Оказалось, нужна. Я перевелся со Skyforge в эту маленькую команду и стал заниматься всем, что связано с анимацией - от риггинга и организации пайплайна до программирования анимационного движка и геймплея. Так как команда маленькая, обязанности каждого разрастаются неимоверно. Здесь происходит вторая фаза взрывного роста. На тебе лежит здоровенный кусок игры. Есть такое английское выражение: когда нужно надевать кучу шапок (you have to wear many hats). Приходилось много вещей делать одновременно. Тут я уже выполнял не только технические задачи, но и плотно взаимодействовал с командой. Надо и с артистом поговорить, и с аниматором, и с сетевым программистом, и ты еще сам должен что-то делать. Совсем другой круг обязанностей. Этот проект прожил примерно год и никуда не ушел. Тогда я начал думать над тем, что же хочу делать дальше. С российским геймдевом ситуация не сильно улучшилась, и я стал смотреть вакансии на западе. Как говорится, молодой и смелый. У меня была слепая уверенность, что все будет просто. Стал раскидывать резюме по конторам и понял, что мне никто не отвечает. Не так, что говорят “мы вам перезвоним”, а реально ноль эмоций. У меня почти три года опыта, есть шипленный проект, как же так получается, что мне никто не отвечает? Тогда я узнал о замечательном мире виз, формальных подробностей и прочего. Меня часто спрашивают: “Как переехать за границу?” Я всегда говорю: “Вы сперва подумаете о формальностях”. Если вам не ответили, это не значит, что вы не то резюме составили, 99%, что компания не может/ не хочет вести специалиста из-за рубежа. Лучший метод - найти человека, кто уже там, и попросить его сделать реферал. Это не означает, что ты получишь работу. Это не сократит тебе количество собеседований, нет. Но это сигнал компании, что риск для нее сильно снижается. Она готова с тобой говорить. Все это прелюдия к моему конкретному ответу. За год до этого парень из нашей компании переехал в Rockstar. Он меня порефералил. Я все равно прошел все этапы собеседований, делал тестовые - все как положено. В итоге я подавался на визу три раза. Два раза получал отказ. Получение визы - тоже рандом. Зависит от того, к кому ты попадешь, и как ты составил application. Это самый стрессовый момент, потому что у тебя уже есть оффер, но все зависит от этих формальностей. И тут приходит отказ по визе, приходит второй раз. HR мне пишет: “Мы попробуем третий раз, но если не получится, сорян, еще раз пробовать не будем”. Но в третий раз мне повезло, и вот уже пять лет я в Rockstar. Однако моя история может быть классической ошибкой выжившего. Это не значит, что если кто-то будет делать так же, у него все получится. 

А сейчас тебя все устраивает? В плане условий работы, места обитания и так далее. 

Да, более чем. Я бы даже сказал, что компания Rockstar - это одно из лучших мест, где может оказаться разработчик. Я помню, когда выходила RDR2, были истории про кранчи, но все далеко не так плохо. Конечно, возможно, мне повезло, а другим отделам меньше, но я-то сужу по своему опыту. У моих коллег такие же ощущения. Компания старается подарить чувство максимального комфорта. В последнее время я заметил большой пуш на здоровье сотрудников. Сейчас очень много внимания уделяется ментальному состоянию. Все прекрасно понимают, что с началом удаленки у многих начались или могут начаться проблемы. С одной стороны, у тебя больше времени на свои дела, с другой, работа и дом настолько переплетаются, что ты забываешь, где начинается одно и заканчивается другое. Классно, когда компания это понимает, и она не говорит “ну ты все равно дома, возьми ноутбук, еще немного поработай”, скорее наоборот, постоянно напоминают о том, что работа работой, а ваше состояние важнее. Мне это кажется достаточно редким подходом в индустрии. 

Над чем ты непосредственно работал в RDR2?

К сожалению, из-за NDA я не могу говорить конкретно. Да и это было бы нечестно, потому что над любой фичей работала уйма людей. Могу сказать в общем: я занимался анимационными системами и стороной, связанной с оптимизацией, чтобы не просаживался FPS, и никто не возмущался. 

Отдельно хочу сказать спасибо за RDR2, потому что меня она, мягко говоря, поразила!

Да, у меня те же чувства, несмотря на то что я над ней работал. Все же есть профдеформация, когда работаешь несколько лет над игрой, и потом на нее смотреть не можешь. Тут было совсем не так. Я ее с удовольствием прошел как обычный игрок. Это тоже связано с тем, что игра настолько огромная, что чем бы ты ни занимался, все равно останутся части, которых ты не видел, о которых ты даже не догадывался.

Было очень интересно, спасибо!