Это подкаст "Хочу в геймдев", и у нас вышел уже 10-й, юбилейный выпуск, в котором мы рассказываем о профессии разработчик игр (программист) на Unreal Engine.
Что это за подкаст? Подкаст «Хочу в геймдев» – это инструмент для тех, кто хочет попасть в игровую индустрию, но не знает как, куда и зачем, с чего начать и как действовать.
Раньше мы говорили в общем о различных специализациях в игровой индустрии, а в этом выпуске начинаем подробно разбирать одну конкретную профессию.
Подробную информацию о подкасте, о всех вышедших на сегодня выпусках вы можете посмотреть на сайте подкаста>>>
Все выпуски вы можете послушать на ресурсах (тайминг есть в описании каждого выпуска):
Youtube, Вконтакте, Яндекс Музыка, Itunes, Google Podcasts, Castbox, Spotify
Приятного прослушивания!
А для тех, кто больше любит читать, публикуем далее текстовую версию 10-го выпуска.
Ведущие выпуска и приглашенный эксперт:
Вячеслав Уточкин, Олег Доброштан, Александр Мураш и Владимир Алямкин
Путь эксперта
Разрабатывать свои игры, рассказывать свои истории Владимир захотел с 10 лет, вдохновляясь такими играми, как, Diablo, DOOM. Starcraft
Выход Gothic послужил катализатором, и наш эксперт решил сделать свою Готику с “вампирами и духами смерти”. Опыта разработки не было, а основные прикладные навыки развивались в сфере создании трехмерной графики и анимации.
Общение с единомышленниками происходило на форуме gamedev.ru, там, пообщавшись с программистами, Владимир понял, что ему нужно вникнуть во всевсё сферы самому и разобраться в программировании.
Попытки игровой разработки завершились уходом из индустрии в сферу заказного софта, работу по техническим заданиям.
Возвращение в геймдев произошло в 2009-10 годах, на данный момент Владимир имеет за плечами 9 лет опыта разработки в Unreal Engine и является Tech Lead Pushkin Studio в My.Games.
С чего начать тем, кто пока ничего не умеет, но хочет стать программистом игр?
Программист — очень техническая специальность, по сути это функция, решающая задачу.
При отсутствии знаний о программировании и геймдеве, можно начинать с позиции технического геймдизайнера, в этом случае пойдет прокачка сразу по двум веткам: программированию и гейм-дизайну.
Если есть желание начать именно программистом, то стоит получить академическое образование: изучить либо C# или C++, эти языки практически одинаковы в освоении (в геймдев разработке), нужно читать специализированную литературу, причем, прочитав половину книги можно приступать к написанию кода.
Полезные источники информации для начинающего программиста, где искать информацию?
- Специализированные сообщества. Общайтесь, развивайтесь вместе с другими людьми, это очень важно для быстрого роста в любом деле.
- Определившись с движком изучайте опыт других, делитесь своим. У Unreal Engine есть замечательный Telegram канал и сообщество Вконтакте. В этих сообществах обитает большое число грамотных специалистов, которые помогут и подскажут. Также, до сих пор существует форум GameDev.ru.
- В англоязычном сегменте можно посоветовать форум Epic Games, канал в discord.
- Учебные курсы, например Udemy, в сжатой и удобной форме подаются основы разработки на C++. Главное изучать не только повторяя тот материал, который вам подается, но пробовать сделать что-то свое, заимствуя некоторые механики из только что усвоенного материала.
Какие качества характера (и не только) программиста важны и нужны?
- Увлеченность непосредственно процессом, программирование должно “заводить”, щекотать мозг.
- Сосредоточенность на своем деле: человек должен уметь и любить выстраивать логические конструкции у себя в голове.
- Важны soft skills, умение общаться, одних hard skills в геймдеве недостаточно, т.к. все завязано на команду и ваше умение общаться и быть на одной волне обязательно повлияет на принятие решения.
- Знание английского языка на уровне чтения и понимания технической документации.
Должен ли программист уметь/любить играть в игры?
За редким исключением, да. Геймдев программист должен играть в игры. “Если ты не играешь, если тебе это неинтересно, то зачем ты пошел в геймдев?”
Есть куда более специфичные области, в которых больше денег славы и прочего, которые никак не связаны с играми.
Основная цель разработчика — создать конечный продукт. Намного легче сделать игры, понимая их изнутри, делая продукт более качественным и приятным для игрока.
Ведь все, что мы делаем, оценит конечный пользователь и именно для него мы стараемся.
C# или C++, Unity или Unreal Engine? — что выбрать и почему?
Нужно начать с того, что просто запустить оба движка, посмотреть демки, примеры, мини-игры, как реализованы с точки зрения кода.
Глобальной разницы нет, это просто инструменты со своими особенностями.
На старте заморочки не важны. Ситуация меняется динамично, основываться на востребованности не стоит. Что больше нравится, игры в которые играешь на чем сделаны, если нравятся игры на Unreal — делайте на них.
Также можно расширить кругозор другими движками, Godot, например.
Выбор должен быть основан на мотивации и личном восприятии.
Иной путь — хотите сделать клон какой-то игры? Или вдохновлены чем-то? Посмотрите на каком движке сделан этот продукт, возможно для вас будет удобнее работать на нём.
С точки зрения востребованности в сторах (App Store, Google Play), то какого-то одного фаворита тут нет, используются разные движки, в зависимости от предпочтений разработчиков и задач, которые перед ними стоят.
Специфика работы в российском геймдеве, заключается в том какие игры делаются. Российский геймдев очень хорошо умеет делать мобильные игрушки, в этом плане мы конкурируем с мировыми разработчиками, отсюда такая высокая востребованность разработчиков мобильных, социальных игр.
Про важность резюме для программиста. Что поможет получить приглашение на собеседование?
- Оформляйте резюме аккуратно и грамотно, сделав резюме “на коленке”, не стоит рассчитывать на приглашение.
- Используйте шаблоны, например на сайте hh.ru есть раздел, посвященный оформлению резюме.
- Ваше резюме это образец вашего кода, помните это.
Какие вопросы на собеседовании задают junior-кандидатам? Что важно знать для прохождения собеседования?
Можно выделить три направления:
- В первую очередь, если ко мне приходит программист на позицию junior, я задам вопрос про плюсы, причем вопросы несложные, которые можно найти в тех самых задачах и книгах, о которых упоминалось выше. Мне надо понимать, как у человека работает мозг, насколько у него выстроено логическое мышление и понимание работы алгоритмов.
- При условии того что у человека есть технический уровень чтобы писать код, второй вопрос будет про то, чем он занимается сам. На старте важно наличие любых своих проектов, нужно показать что ты делал, как решал конкретные задачи. Какие есть свои наработки, прототипы. Альтернатива — выполнение тестового задания с объяснением решения задач.
- Вопросы внутренней мотивации человека, такие как: “Какие задачи вы планируете решать, придя к нам?” “К чему стремитесь и куда хотите развиваться?” “Что вами движет и почему именно геймдев?” “Близки ли вам проекты, которые мы реализуем?”
Важен ли внешний вид программиста при прохождении собеседования?
Элементарная гигиена, опрятность и соответствие обстановке — вполне достаточные требования к внешнему виду. Запрета на татуировки или пирсинг нет, цвет волос также не играет никакой роли. :)
Ссылки по теме подкаста:
Пример тестового задания для программиста
Опросник по C++
Онлайн-Круглый стол 19.08
Онлайн-День открытых дверей по программе «Менеджмент игровых проектов»
Личная страничка Владимира Алямкина
Личная страничка Олега Доброштана, куда можно написать вопросы для следующих выпусков
Сайт подкаста