Зарабатывать на том, чтобы создавать игры? Для многих это наверняка прозвучит как исполнение детской мечты. Как выглядит эта профессия изнутри и как стать разработчиком игр, рассказывает Павел Климентенко — геймдев с 5-летним стажем и сооснователь Stan’s Assets from KAPPS.
Что входит в обязанности разработчика игр
Разработчик игр, он же game developer, он же просто геймдев — это человек, который воплощает в жизнь целую игровую Вселенную.
Первая, но не единственная задача разработчика игр — это написание кода. Именно с его помощью создается механика игры и любые сопутствующие сервисы, которые нужны для ее работы.
Достаточно часто в обязанности входит и создание инструментария, с помощью которого создается сама игра. Это необходимо, чтобы автоматизировать процесс разработки, ускорить его и упростить жизнь разработчика и команды в целом.
Как и в любой профессии, геймдеву нужно проверять результат свой работы, прежде чем передать ее дальше «по конвейеру». Например, убедиться, что новая фича (от редакции: в жаргоне программистов — продуманная возможность, фишка) работает как задумано и не ломает другие системы внутри приложения. Поэтому очень важно уделить время тестированию, чтобы не замедлить (или еще хуже — заблокировать) работу других участников проекта.
Плюсы и минусы профессии разработчика игр
➕➖ Начнем с того, что одновременно является как плюсом, так и минусом. Часто геймдев сталкивается с необходимостью создать несуществующую до сих пор технологию (например, чтобы игрок мог делать что-то абсолютно уникальное). С одной стороны, почти невозможно точно сказать, сколько времени это займет и будет ли вообще работать, а с другой — это передовой опыт для игрока. Получается, разработчик становится первооткрывателем — создает то, чего не делал никто и никогда до него.
➖ Среди минусов профессии в первую очередь стоит отметить переработки. Они могут возникать по разным причинам, и тогда разработчику приходится находить и поддерживать баланс «жизнь-работа», чтобы не выгорать и оставаться продуктивным. Безусловно, любая переработка негативно влияет на проект и его участников, но иногда это просто жизненная необходимость, особенно в период релиза игры.
➖ Сфера разработки игр растет очень стремительно — быстрее, чем другие смежные области. Новые технологии появляются молниеносно, и чтобы поддерживать свои технические знания в актуальном состоянии, приходится упорно трудиться. А чтобы повышать свою квалификацию — тратить еще больше времени на самообучение.
➖ Если сравнивать с оплатой в сегменте enterprise-проектов (создание информационных систем управления бизнесом/производством), то заработная плата геймдева в среднем ниже. Но это, скорее, обусловлено достаточно низким порогом входа в профессию, а с повышением квалификации и уровня разработчика эта разница уменьшается.
Но в этой профессии, безусловно, очень много плюсов, за которые мы ее и любим!
➕ Во-первых, кроме как создавать игры, в них можно еще и играть, параллельно тестируя то, что ты сделал. А это весело 🙂
➕ Также ты можешь буквально показать другим свою работу. Не каждый разработчик может этим похвастаться. Даже приложения часто выпускают для какой-то определенной аудитории (допустим, для врачей), и в таком случае сложно объяснить крутость твоей работы другим людям. С играми намного проще: каждый знает, что это такое, и может найти для себя игру, даже не будучи активным геймером.
➕ Совсем недавно в глобальном масштабе практически никто не обучал ремеслу создания игр. Сейчас же изобилие курсов и ресурсов с видеоуроками может очень детально ответить на многие вопросы начинающего разработчика и дать ему возможность попробовать свои силы.
➕ Еще один важный плюс — это развлечения во время разработки. Каждая игра не похожа на другую, и тут не так много рутины, как в software-девелопменте. Здесь ты можешь создавать уникальный мир, решать уникальные задачи и развиваться как разносторонний специалист.
Hard и soft skills разработчика игр
Какие же hard-навыки в первую очередь нужны разработчику игр?
- Фундаментальные знания математики, физики, геометрии. Ведь для создания игр нужно понимать, как визуализировать объект и расположить его в пространстве.
- Обязательное владение одним из языков программирования, который будет совпадать с движком создания игры.
- Умение писать чистый, понятный и структурированный код, который будет работать в приложении. Нужно также понимать базовые подходы алгоритмизации, ведь придется обрабатывать большие объемы данных.
- Понимание особенностей платформы, для которой предназначен проект (например, для шлема Oculus Quest 2 требуются стабильные 72 FPS).
- Постоянное комплексное обучение. Чем больше ты знаешь и можешь показать — тем лучше. Бывает, что разработчики выбирают для себя одну специализацию. Это можно сравнить с медициной: есть хирург, стоматолог, педиатр и т.д. Но, так же как и в медицине, очень важно иметь хотя бы базовые знания всех аспектов, чтобы понимать, как работает система в целом.
Что касается soft skills, то мне кажется, они схожи в любой профессии.
- На мой взгляд, самый важный среди них — здравый смысл 🙂 Важно правильно доносить свои мысли и учиться понимать людей. Ведь что толку от гениальной идеи, если ее никто не поймёт. Поэтому прокачивать навыки коммуникации нужно всегда.
- Очень важно желание развиваться и быть в курсе актуальных технологий и трендов в gamedev. Это всегда положительно влияет на продуктивность и техническую квалификацию разработчика.
- Также нужно уметь организовывать свой рабочий процесс и взаимодействовать с командой. Тогда вы создадите собственную экосистему разработки и будете работать максимально эффективно.
Сколько зарабатывает разработчик игр?
Зарплата разработчика зависит от многих факторов и в первую очередь — от компании, где он работает. Junior в маленькой команде будет получать меньше, чем в большой. Да и джун джуну рознь, как и любой другой разработчик. Все зависит от hard- и soft-навыков отдельно взятого человека и того, насколько его вклад важен и велик в масштабах проекта.
По-разному могут оплачиваться проекты разного типа. Часто зарплату может варьировать рынок. Например, если какая-то технология в данный момент ценится выше, то даже junior с маленьким опытом может получать больше за знания в этой области.
В целом зарплата варьируется в таких диапазонах:
- Junior — от $1000-$1500+;
- Middle — от $1500-$3000+;
- Senior — от $4000-$4500+;
- Team lead — от $5000+.
Карьерные перспективы геймдева
После позиции тимлида (которая совмещает в себе две важные функции — техническую и менеджерскую) можно выбрать, какой вектор развития будет интереснее: менеджмент или техническая часть. Если первый — это уже CTO (Chief technical officer), CEO (Chief Executive Officer) и другие chief-позиции. Если второй, то дальше идут позиции Principal Developer или Solution Architect.
Если разработчик чувствует в себе силы заниматься не только технической работой, но и менеджментом, он может создать свою компанию и развивать свой бизнес. Но всегда важно помнить, что хороший разработчик — не всегда хороший бизнесмен.
Перейти на другую технологию — это тоже один из вариантов развития, но часто не карьеры в целом, а больше персональных задач. Ведь сначала ты потратишь много времени на обучение новым навыкам. И только со временем сможешь дойти до желаемого уровня зарплаты и места в карьерной иерархии.
Еще один из способов развития карьеры — это консультирование других компаний и команд по вопросам, релевантным твоему опыту.
Как стать разработчиком игр?
Суммируя весь свой опыт как разработчика, мне бы очень хотелось, чтобы для такого специалиста обязательным было получить фундаментальные знания (пример таких знаний приведу ниже в качестве списка литературы). И хотя на самом деле стать девелопером можно и без этого, но в таком случае карьерный рост будет значительно медленнее.
Получать знания в университете, на курсах или самостоятельно — выбор каждого. Но есть знания, которые получить быстро просто не выйдет, например матанализ. Даже если ты очень захочешь, ты не усвоишь его за неделю. Поэтому нельзя терять любые возможности учится, а нужно приобретать новые навыки и наращивать свою базу знаний.
Что касается множества разных курсов, я бы сказал, что это скорее легкий путь, чем правильный. Но тут все очень зависит от подхода человека — важно быть вовлеченным в процесс, чтобы извлечь от него максимум и постараться превзойти свои ожидания.
Список литературы
Это книги, которые помогут глубже разобраться и понять основы разработки игр:
📚 “Head First Design Patterns: A Brain-Friendly Guide” — очень полезная книга о разработке, советую ее даже тем, кто собрался не только в gamedev;
📚 “CLR via C#”, Jeffrey Richter — обязательна к прочтению для всех, кто интересуется разработкой в Unity (популярная платформа для разработки игр);
📚 “Pro C# 8 with .NET Core 3”, Andrew Troelsen — просто настольная книга разработчика;
📚 “Game Engine Architecture”, Jason Gregory — о том, как разрабатываются игровые движки. Она поможет расставить на нужные полки все ваши знания.
Полезные ресурсы
Безусловно, я бы очень советовал следить за дополнительными ресурсами по разработке на той или иной платформе, которую планирует использовать геймдев.
Например, если ты Unity-разработчик, читай таргетированную документацию Unity, смотри официальный Unity-канал с множеством обучающего и интересного контента, а также официальные туториалы от Unity по всем волнующим вопросам. И еще советую один крутой сайт с множеством инди-игр, Game Jams и огромным количеством полезностей.
Напоследок немного личной истории
Я закончил теплоэнергетический факультет КПИ по специальности «Автоматизация компьютерно-интегрированной технологии». Свой диплом я никогда не видел и даже не забрал его. Но знания, полученные в университете, стали основой для моих hard- и soft-навыков, которые я применяю в работе и личной жизни.
Моя история в gamedev началась с того, что однажды друг бросил мне вызов: написать за неделю программу, которая будет генерировать случайный лабиринт и находить из него выход. После простого дружеского челленджа все и понеслось 🙂
Сначала я создавал простые консольные приложения на C#, а потом плавно перешел на Unity. В свой первый год (я как раз учился на четвертом курсе университета) просто тренировался и делал клоны игр, самостоятельно решал тривиальные задачи, чтобы познакомится с платформой Unity, её особенностями и возможностями.
Уже имея некий багаж знаний, я познакомился со своими теперешними партнерами по Stan’s Assets from KAPPS — Станиславом Осиповым, Алексеем Яременко и Константином Корецким. Около двух лет я проработал на проекте, который должен был генерировать инвестиции на благотворительность с помощью рекламы и донатов в приложении, но идея не увенчалась огромным успехом.
Кстати, мы уже писали про Станислава Осипова 👇
Он полтора года проработал в крутой компании по созданию игр, но отказался переезжать в ее head-офис за границу, и вот почему.
ЧитатьПосле ухода я некоторое время работал над приложением для футбольных болельщиков, пока мне опять не позвонил Станислав и не предложил присоединиться к работе над ААА-игрой Ori WotW в команде Moon Studios. Во время работы над проектом я делал всё возможное, чтобы впитывать знания и опыт моих коллег по цеху. Тогда же мне пришлось выучить английский, потому что вся команда была интернациональная. Путь работы в Moon Studios внес очень большую лепту в мой личный опыт и навыки.
С тех пор мы с ребятами со Stan’s Assets from KAPPS неразлучны. Вместе мы прошли огонь и воду: десятки как факапов, так и успешных проектов. И сегодня наши амбициозные цели помогают нам строить команду и создавать игры, в которые играют сотни тысяч людей по всему миру.
Ищете работу в IT?
У нас на сайте много вакансий в ІТ-компаниях для начинающих и не только 👉
ВакансииЧитайте также
Как IT-специалистам найти работу в кризис: советы рекрутера
Как журналистка, жонглер и аналитик сменили профессию и перешли в IT
Как попасть на работу в IT-компанию без опыта в IT?
Спасибо!
Теперь редакторы в курсе.