Как построить карьеру в геймдеве. Рассказ Lead Unity Dev
Меня зовут Максим Пивоварчик, в ІТ работаю более 10 лет. Сейчас занимаю позицию Lead Unity Developer в Gismart, которая разрабатывает и издает мобильные игры и приложения. До этого работал в разных компаниях — продуктовых и аутсорс, благодаря чему знаком с абсолютно разными подходами к разработке игр. О том, как я строил свою карьеру на заре геймдева, и о том, как войти в индустрию сегодня, вы узнаете из моей истории.
Как все начиналось
Сколько я себя помню, мне всегда нравились игры, но я никогда не думал, что смогу сделать свое хобби работой. Когда мне было 15 лет, мы с приятелем заработали репутацию местных хакеров. В те времена доступ к интернету был далеко не у всех, хотя поиграть в легендарные Lineage II и World of Warcraft хотели многие. Мы с другом нашли выход из положения. У нас на районе была локальная сеть, в которой были объединены пару десятков домов.
Мы начали искать в интернете, как можно запустить Lineage II в локальной сети. На тот момент я только знал, что есть сервер и клиент игры. Клиент у нас уже был, оставалось найти и развернуть сервер. Сложностей возникло масса, но были и другие ребята, которые делали что-то подобное. Мы общались с ними на форумах.
Благодаря обмену опытом и экспериментам уже через несколько дней я приступил к написанию мануала и шерингу в сети. После этого начал исследовать структуру сервера, увеличил его рейт. Позже вместе с ребятами мы даже искали и фиксили баги. Тогда я впервые понял, что сам смогу делать игры, и это уже не казалось чем-то недостижимым.
Мой интерес к программированию рос, я учился на компьютерных курсах, а поступать решил в НАУ на программную инженерию. Это не было напрямую связано с геймдевом, но в университете нам давали много интересных домашних заданий по применению искусственного интеллекта в играх.
Мы занимались конструированием роботов — это было гораздо интереснее скучной, на мой взгляд, работы с базами данных. Ты программируешь код, а потом механизм работает без твоего участия, сам по себе. Это, пожалуй, то, за что я люблю разработку больше всего.
Сегодня для того, чтобы стать геймдев-разработчиком, поступать в университет необязательно. По большей части программа обучения устарела. Об этом говорят и многие коллеги. В некоторых случаях достаточно будет пройти курсы, их выбор широкий. Можно разобраться и самостоятельно — по книгам и видео.
Важно самостоятельно попробовать сделать небольшую игру, чтобы разобраться в деталях на практике. Вот хороший сервис, где можно поучиться программированию в рамках «игровой песочницы» — screeps.com.
Первый офер
Итак, на третьем курсе обучения я понял, что пора шевелиться, применять полученные знания и искать работу — нужны были деньги на аренду квартиры в Киеве. В те времена, а это далекий 2010 год, геймдев был в зачаточном состоянии, вакансий было мало. В итоге я сходил на два собеседования: в известную корпорацию, где нужно было работать с базами данных, и в игровой стартап, чей офис находился в подвале без окон. И, конечно, мой выбор пал на второй вариант.
Когда я пришел на собеседование, то мне сразу дали тестовое задание. Компания занималась мобильными играми — и для меня стало открытием, что можно создавать игры не только для компьютера. Я загорелся. Тестовое я делал на месте — у меня было два часа. Мне показали демо игры, где на экране телефона из стороны в сторону двигался шар.
Первой моей задачи было заставить шар отбиваться от стенок. Получилось. После этого я добавил фичу, благодаря которой стало просто добавлять в игру разного рода препятствия. Позже в ней появились и другие шары. В итоге меня пригласили на работу.
Совет для новеньких: если вы только начинаете свою карьеру в геймдеве и у вас еще нет полноценного резюме, то, в первую очередь, попробуйте сами сделать игру, простую, например, аркадную. Сделать ее можно на базе бесплатных ассетов Unity, потом залить ее на GitHub — и вот у вас уже есть портфолио. Наниматель сможет увидеть, как вы пишете код, какой у вас ход мысли, какие используете подходы. Будьте уверены, что это обязательно оценят.
Формат работы мне подходил. Свои положенные 40 часов в неделю я мог отрабатывать в любое удобное время. Иногда, правда, приходилось приезжать в офис по два раза в день: до и после учебы. Я проработал в этой компании полутора года, получил хороший опыт и понял, что надо двигаться дальше: мы писали игры на Java, в то время как вышла уже третья версия Unity.
Путь от Junior до Team Lead
Предо мной встал непростой выбор. Одна компания предложила мне работу на новой для них и для меня Unity. При этом они готовы были оплачивать мне полгода работы, чтобы я разобрался с платформой. Но на тот момент меня это почему-то смутило, и я пошел в компанию, где сразу же мог приступить к разработке игр, но на Java, с перспективой перехода на Unity.
Я сдал экзамен по Unity, когда они только запустили систему сертификации в 2017 году. Подготовиться к нему несложно. После внесения оплаты вам присылают материалы для этого. Базовый курс недорогой и подойдет тем, кто хочет войти в геймдев.
Последующие курсы уже для более профессионального уровня, получение таких сертификатов по большей части имеет смысл, если вы хотите работать в Европе. Некоторые мои коллеги говорят, что здешние работодатели обращают на это внимание.
Это была аутсорсинговая геймдев-компания, мы делали игры для заказчиков из США, Канады, Бразилии, Европы. Зачастую я вел по
Бывало так, что в день созванивались со всеми четырьмя клиентами. Соблюдение дедлайнов для компании было крайне важным, поэтому часто случались овертаймы и переработки по выходным. Такой режим привел меня к выгоранию, после очередного отпуска я решил, что пора что-то менять. Так, проработав в компании два года, я снова занялся поиском.
В 2013 году вакансий уже стало значительно больше, глаза разбегались. Я успел поработать на проекте Bubbles для Facebook. А позже друг меня пригласил в одну крупную продуктовую компанию, где он на тот момент работал. Основные проекты — игры по мотивам мультфильмов, таких как Winx и Slugterra. Тут я чувствовал уже большую свободу в плане разработки. Мог применять новые подходы, экспериментировать.
Я постоянно следил за новыми релизами от Unity. Ежегодно они проводят конференцию Unity Unite, где рассказывают о новых фичах. Если я понимал, что в чем-то не разбираюсь, тут же подтягивал свои знания в этой области. Мне помогали видео на YouTube и книги. Их списком я поделюсь ниже. Конечно, я прочитал гораздо больше литературы, но считаю, что начать нужно с базы.
Когда я собеседую кандидатов в свою команду, то, в первую очередь, стараюсь обсудить с ними реализованные кейсы. Мне всегда интересно, как думает человек, насколько нестандартные подходы может использовать. После такого обсуждения всегда понятно, насколько глубоко специалист в теме.
Когда я просматриваю резюме, у меня нет критериев того, какие пункты я хочу там увидеть. Многое зависит от уровня специалиста, которого ищу, от проекта. Я считаю, что, отсеивая людей по принципу соответствия определенным критериям, можно упустить стоящего кандидата. Поэтому все случаи я стараюсь рассматривать индивидуально и примерять опыт человека к реальной ситуации.
Еще через два года меня начали активно хантить. Так я начал работать в одной из крупнейших компаний в индустрии. Тут было мощно развито направление R&D, мы были чем-то вроде лаборатории для экспериментов. У нас была прямая поддержка от Unity. Они часто давали нам тестировать новый функционал до официального релиза.
Мы пробовали новое, делали игры, смотрели, что работает, а что нет. Конечно, большая часть проектов не доходила до глобального релиза. Но R&D на то и R&D, нашей задачей были исследования прежде всего. Успешные наработки уже реализовывали другие наши команды.
Сам процесс разработки захватывал. Но в какой-то момент я все же устал от проектов, которые делаются по году и не выходят в релиз. Я проработал в этой компании 4 года, после еще год в продуктовой компании, пока не пришел в Gismart, которая занимается разработкой и издательством мобильных игр и приложений.
R&D-офис Gismart в Киеве открылся только в начале 2020 года, и мне нравится участвовать в построении процессов в новой команде. И сама работа увлекает. Секрет успеха гиперказульных игр в скорости. Мы не тратим месяцы на разработку игры, которая может не выйти в глобальный релиз. Стратегия заключается в том, чтобы быстро сделать прототип, протестировать его, внести правки в зависимости от фидбэка аудитории, а после уже на основе аналитики принимать решение о ее будущем.
Литература и другие источники для самообразования
Книги:
- «CLR via C#» Дж. Рихтера;
- «Head First. Паттерны проектирования» Эрика Фримена, Элизабет Робсон;
- «Алгоритмы: построение и анализ» Томаса Х. Кормена, Чарльза И. Лейзерсона, Рональда Л. Ривеста, Клиффорда Штайна;
- «Совершенный код» Стива Макконела;
- «Рефакторинг: улучшение проекта существующего кода» Мартина Фаулера;
- «Адаптивный код: гибкое кодирование с помощью паттернов проектирования и принципов SOLID» Гэри М. Холла.
Ресурсы:
Список курсов для геймдев-разработчиков:
Геймдев сегодня развивается очень активно, это перспективная ниша. Она подойдет тем, кто любит активный темп работы, эксперименты и, конечно, сам причисляет себя к геймерам. Количество вакансий на рынке огромное, при этом наиболее ценными специалистами считаются Unity-разработчики. Поэтому смело приступайте к построению карьеры в этом направлении. Удачи!
Чтобы не пропустить новые статьи Максима Пивоварчика — подпишитесь на него в телеграм-боте Ленты DOU.