Геймдев — сфера разработки игр, в которой работают множество специалистов: от концепт-художников до аниматоров и разработчиков. Если говорить о разработке, то она чаще происходит на таких движках, как Unity или Unreal Engine, и разработчик должен в идеале их освоить для быстрой и продуктивной работы. Иногда это предполагает и знание языков программирования вроде C++ — с их помощью можно создавать более мощные игры. В статье разберем, чем занимаются разработчики в геймдеве, какие навыки нужны им для работы, а также как обучиться этой профессии.
Разработчик — это специалист, который работает над созданием игр на движке. Его иногда называют художником уровней, так как он выстраивает логику действий игры на уровне и делает его красивым. Но только этим его задачи не ограничиваются — бывает и так, что специалисту нужно самостоятельно подготовить ассеты, текстуры или анимацию для игры. У таких разработчиков широкая специализация, и чаще они работают либо сами на себя, либо в инди-студиях — в них обычно и набирают универсальных специалистов, которые могут выполнять много задач.
Поэтому в зависимости от места работы пул задач разработчика игр будет значительно отличаться. Разберем, какие задачи нужно выполнять разработчику только по части разработки, а также те, которые ему иногда приходится выполнять.
Основные задачи разработчика в геймдеве:
Это базовые задачи, с которыми работают большинство разработчиков. Но на позиции мидл или сеньор нужна более широкая специализация. Под широкой специализацией имеется в виду умение выполнять задачи, которые выходят за рамки базовых обязанностей:
Новичкам в сфере разработки игр редко нужны все навыки выше — достаточно базовых, чтобы работать хорошо. В процессе работы с другими специалистами отдела специализация все равно будет расширяться. Но если планируется сразу устраиваться в качестве мидла, то лучше освоить и дополнительные навыки.
Сразу отметим, что даже базовые задачи не всегда выполняются в полном объеме. В некоторых студиях разработчиков делят на тех, кто работает над внутренними и внешними локациями — аутдорами и индорами. В зависимости от специализации, задачи тоже будут разными — например, на внешних локациях нужно уметь настраивать природные явления, а также подготавливать специальные текстуры вроде мокрого асфальта, луж и отражений в них. Для тех, кто работает над индорами, это не так важно.
С учетом того, что на плечи разработчика могут ложиться разные задачи, то и навыки нужны различные. Поэтому разберем, какие навыки требуются от разработчика в зависимости от его грейда — джуна, мидла и сеньора.
Джуны — это новички, которые либо имеют небольшой опыт, либо его вовсе у них нет. В крупные игровые студии редко берут прямо зеленых новичков, поэтому большинство джунов сначала набирает опыт в небольших студиях или инди-студиях. Для работы им нужна определенная база:
Этих профессиональных знаний для джуна достаточно. Но лучше иметь и практические навыки — положительный опыт создания сцен и настройки персонажей и объектов, например. Все же от современных джунов уже требуется чуть больше — ожидается, что это вполне самостоятельный работник, который умеет решать задачи. Раньше для джуна было вполне допустимо ошибаться или положиться на более старших коллег.
Мидлы — это самостоятельные разработчики, которые могут до конца довести порученную задачу. При приеме на работу от них требуют больше:
Сеньор — на уровне сеньора появляются более тяжелые задачи. Например, он может обучать младших коллег, вести несколько проектов одновременно, а может создавать собственные крупные проекты по разработке игр. Поэтому его навыки и знания будут более углубленным:
Сеньоры должны доказывать свой опыт не только через классное портфолио, но и через удачные проекты. Например, полноценный шутер, который сеньор делал с другими специалистами отдела.
Есть и следующая ступень в развитии разработчика — это лид, и он может вести несколько проектов, управлять большим штатом специалистов, а также в случае авралов быть готовым довести задачу до конца. Например, если где-то просело качество анимации, и некому исправить эту проблему прямо сейчас, лид может помочь и исправить ситуацию. Чаще лиды создают свои проекты и открывают студии.
Чтобы понять, хочется работать в этой сфере или нет, можно дополнительно изучить ее преимущества и недостатки:
Плюсы |
Минусы |
Творческая профессия — в работе разработчика немало технических задач, особенно если он работает с кодом, но по большей части в ней много творческого: нужно придумывать уровни для игр, персонажей, а также работать над логикой сюжета с точки зрения разработчика и самого игрока. |
Сложно выйти с нуля на большой заработок быстро — нужен опыт, чтобы попасть в крутую студию или стать тем же мидлом. Если подходить к делу несерьезно, можно потратить и пять лет, прежде чем выйти на высокую зарплату. |
Конкурентные зарплаты — несмотря на серьезные изменения в мире IT, художников и разработчиков это не так сильно коснулось. Зарплаты остаются достаточно высокими — например, мидл может, в среднем, зарабатывать от 100 тысяч рублей. |
Большая ответственность — все решения, которые предлагает разработчик, либо будут успешны, либо нет. И в любом случае специалист несет за это ответственность. |
Геймдев — востребованная сфера, и многие инвесторы готовы вкладывать большие деньги в разработку и продвижение классных игр. Поэтому есть все возможности открыть свою студию и запустить свой продукт без серьезных потерь. |
Сидячая работа — разработчики большую часть времени проводят за компьютером, поэтому его активность на низком уровне. Это может влиять на здоровье. |
Можно менять специализацию — знаний мидла достаточно, чтобы заниматься конкретно анимацией или только дизайном уровней. Причем со временем разработчик может стать даже художником, так как работает в отделе с концепт-художниками и художниками по персонажам, оружию или окружению. |
Нужны вложения на первых этапах — чтобы учиться или самостоятельно набирать опыт, нужно хорошее железо. Желательно, чтобы это был игровой ПК или ноутбук, который тянет тяжелые игры. Это важно, так как даже Unreal Engine весит под 20 гигабайт и создает серьезную нагрузку на систему. |
Возможность внедрять свои решения в крупные проекты — к вкусу и взглядам разработчиков прислушиваются, поэтому их предложения зачастую принимают и интегрируют в игры. |
Можно выгореть — иногда работа дается тяжело, особенно когда проект сложный, и разработчику приходится проходить не одну итерацию правок. Так можно быстро выгореть из-за перегрузки, поэтому придется находить время на отдых даже в жестких условиях. |
Чтобы стать хорошим разработчиком, можно пройти обучение в ВУЗе, а также найти хорошие курсы. Есть вариант обучиться самому, но это займет много времени. Давайте разберем все варианты.
Выбор ВУЗа зависит от того, с чем придется работать. Если планируется писать игры с помощью кода, то лучше выбирать технические специальности. Но если планируется использовать скриптовую систему, не обязательно учить язык программирования, поэтому можно закончить художественную специальность.
ВУЗы для обучения техническим специальностям:
ВУЗ |
Факультет |
Московский физико-технический институт |
Факультет прикладной математики и информатики, специальность «Программирование игр» |
Национальный исследовательский университет «Высшая школа экономики» |
Факультет прикладной математики и информатики |
Национальный исследовательский университет ИТМО |
Факультет информатики и вычислительной техники |
ВУЗы для обучения художественным специальностям:
ВУЗ |
Факультет |
Санкт-Петербургский государственный университет промышленных технологий и дизайна |
Профиль анимации и компьютерной графики (компьютерные игры), направление «Графика» |
Институт кино и телевидения (ГИТР) |
Художественный факультет, специальность «Художник кино и телевидения» |
На платных курсах можно быстро освоить нужную профессию без траты времени — обучение длится минимум 2-3 месяца, максимум год. Кроме того, во многих программах предусмотрено много практических уроков, с которых можно и начать пополнение портфолио. Иногда на курсах и трудоустраивают, поэтому если есть возможность пойти на курсы, лучше это сделать. Разберем основные компетенции, которые можно получить на них.
Наименование |
Описание |
Все о языке программирования C++ |
На курсах объясняют, что это за язык программирования, когда его используют, об операторах и их перезагрузке, конструкторах, отношениях между объектами, функциях, исключениях и указателях, а также о паттернах проектирования |
Подробнее о паттернах |
Здесь расскажут подробнее о видах паттернов — порождающие, структурные и поведенческие |
Введение в работу в Unreal Engine или Unity |
Покажут, что такое стандарты программирования в движках, многопоточная разработка и примитивы синхронизации |
Более углубленное изучение движка |
Подробно разберут профайлинг, плагины и автоматизацию |
Все о системах контроля |
Расскажут, что такое система контроля версий, зачем она нужна, какие они бывают. Также подробно покажут, как устанавливать такие программы, сравнивать версии, отменять изменения или откатывать версии и так далее. |
Система обучения на курсах включает теорию и практику, чтобы досконально изучить профессию. Несмотря на это, не стоит использовать работы с обучения для портфолио. В геймдеве довольно щепетильно относятся к портфолио — они должны быть красиво оформлены и содержать разнообразные работы, которые покажут все умения специалиста. Проекты с обучения делаются под надзором преподавателей, поэтому их зачастую не расценивают как полноценную работу и доказательство опыта.
Самообучение — это неэффективно в сложившейся ситуации в сфере разработке. Мы уже сказали — сейчас от специалистов требуют немного больше, чем раньше. Среди джунов огромная конкуренция, и каждый хочет устроиться в хорошую компанию. Большинство из них заканчивали курсы, но даже им сложно найти работу без опыта. Поэтому у самоучек шансы очень маленькие — придется долго нарабатывать опыт через мелкие проекты, пока специалист не углубит все навыки до достаточного уровня.
Попробовать можно — есть много бесплатных курсов, материалов от известных спецов, а также туториалов от классных разработчиков, причем и зарубежных. Но на это уйдет много времени, при этом у разработчика не будет понимания, что от него хочет работодатель. Лучший сценарий в таком контексте — это попробовать бесплатные способы, чтобы узнать, хочется работать в этой сфере или нет. Потом можно закончить платный курс или высшее образование. Также неплохой вариант — это найти единомышленников или наставника.
Чтобы устроиться разработчиком, можно поискать вакансии на русскоязычных платформах, в каналах и группах, а также на зарубежных платформах, если есть знания английского. Разберем по порядку.
Среди русскоязычных платформ с самыми интересными вакансиями из мира IT и разработки можно выделить следующие:
Каналы и группы собрали в Телеграм, Фейсбук* и ВКонтакте:
Среди зарубежных платформ тоже немало вариантов:
Чтобы устроиться на работу в геймдеве, нужны три вещи — наличие образования, портфолио и опыт. Но не менее важно хорошо сдать тестовое и пройти собеседование. Разберем по порядку.
Подготовка портфолио напрямую упирается в качество обучения и получение опыта. Это значит, что во время учебы нужно много практиковаться и стараться на основе тех работ, что делаете на курсах, создавать свои собственные. Если это затруднительно, можно после обучения взять проект попроще или разовые подработки на биржах фриланса для пополнения портфолио. В идеальном мире этот период занимает год-полтора — около полугода проходит обучение на курсах, а остальные полгода поиск проекта и сама работа для портфолио.
Тестовое нужно выполнить, если отклик на работу одобрят. Вероятно, тестовые придется делать и в период, когда ищете проекты для пополнения портфолио. В любом случае работу для тестового нужно выполнить на высшем уровне — сделать все чисто и аккуратно, выполнить условия технического задания и показать свой подход к решению задачи. То есть помимо требований нужно проявить и свою фантазию — это ценится эйчарами и директорами.
Собеседование — здесь важно показать, что все компетенции из вакансии есть у соискателя. Эйчары проверяют не только профессиональные навыки и знания, но и софты — умение работать в команде, быстро вливаться в рабочие процессы и умение соблюдать дедлайны. В среднем, устроиться на работу можно и в течение года, но бывает, что на это тратят по пять лет и более.
Может быть важно: на собеседованиях пытаются найти человека, который легко войдет в коллектив и улучшить рабочие процессы в перспективе. Если соискателю отказали, у него может и не быть проблем — он просто не подходит компании как сотрудник, а не специалист. Главное не сдаваться и искать дальше.
Заработок разработчиков зависит от его грейда, а также присутствия — работает он за рубежом или только в России. На это и влияет удаленность от центра страны, если речь о штатной работе. Посмотрим, насколько отличается зарплата в зависимости от этих условий.
В среднем, зарплата разработчика в геймдеве, по данным сайта Zarplan, составляет 79 000 рублей. Давайте проверим: сначала посмотрим, как зарплата различается у джунов, мидлов и сеньоров, а потом — в зависимости от города. Все данные по зарплатам брали из вакансий на hh.ru.
Джун |
50-80 тысяч рублей |
Мидл |
70-120 тысяч рублей |
Сеньор |
150-200 тысяч рублей |
Теперь посмотрим, как дела обстоят по городам России:
Краснодар |
от 80 тысяч рублей |
Санкт-Петербург |
$1 000-2 000, примерно 61 360-122 720 рублей |
Москва |
от 150 тысяч рублей |
Томск |
100-150 тысяч рублей |
Новосибирск |
50-75 тысяч рублей |
За рубежом зарплата значительно отличается. По данным сайта ZipRecruiter, в среднем, разработчикам игр платят $101 160 в год — это порядка 6 409 497,6 рублей. По городам Англии и США показатели примерно схожи — данные брали по вакансиям на сайте indded.com
Принстон, Нью-Джерси |
$108-136 тысяч в год |
Лос-Анджелес, Калифорния |
$74-93 тысяч в год |
Остин, Техас |
$84-107 тысяч в год |
Сиэтл, Вашингтон |
$92-117 тысяч в год |
Ньюбери, Беркшир, Англия |
£35 тысяч в год |
Лондон, Англия |
£120-140 тысяч в год |
Вывод
Разработчики игр — востребованные специалисты, которые нужны и в России, и в мире. Поэтому найти работу проблем не составит — главное получить качественное образование, собрать портфолио с разнообразными работами и успешно пройти собеседование.