Здравствуйте!
Герой нашей сегодняшней статьи воплощает в реальность мечту многих геймеров. Если говорить конкретнее, то он разрабатывает игры для различных устройств: компьютеров, смартфонов, планшетов и т. д.
Профессия интересная, но сложная.
Она совмещает в себе творчество и техническую сторону, позволяет реализовать свой потенциал, задумки и идеи.
Только представьте: вы сможете создать собственный мир и персонажей, которые строго действуют по придуманным вами законам.
Заинтересовались? Тогда читайте дальше. Мы расскажем, кто такой разработчик игр, чем он занимается, на какие категории подразделяется, что должен знать, сколько зарабатывает, а также какими плюсами и минусами обладает это направление деятельности.
Основы профессии
Первые игры были настолько простыми, что их создание легко брал на себя один-единственный программист. Вспомните, например, ту же “Змейку”. Однако со временем гейм-индустрия развивалась, продукты этой сферы становились сложнее. И над играми стали работать не отдельные специалисты, а целые команды.
Поэтому в широком смысле гейм-разработчиками являются все участники группы, которая создает 2D- и 3D-игры. Они все являются одним слаженным организмом, разрабатывающим игры, начиная от задумки, настройки правил и до выпуска готового продукта.
В команду разработчиков могут входить:
- графические дизайнеры;
- геймдизайнеры;
- программисты;
- художники;
- композиторы, звукорежиссеры и саунд-дизайнеры;
- сценаристы и копирайтеры;
- аниматоры;
- 3D-моделлеры;
- тестировщики и другие специалисты.
Состав команды зависит от масштаба компании и проекта. Если финансирование не позволяет нанять полный комплект специалистов, то решением всех задач может заняться и один человек, особенно если объем работы небольшой. И этого единственного универсального работника называют разработчиком игр.
Если же говорить об узком смысле этого понятия, то гейм-разработчиком является программист, создающий код на определенном языке программирования, визуальные элементы, концепцию и прототип игры с помощью игрового движка.
Он – часть команды, занимается только своей работой, тогда как все остальное, например, разработку дизайна окружения, музыкальное сопровождение, тестирование готовой игры и прочее, берут на себя другие специалисты.
В зависимости от того, какое значение работодатель дает понятию “разработчик игр”, определяется и конкретный список обязанностей. Если заказчик считает специалиста универсалом, который способен самостоятельно создать новый игровой проект, то тогда придется делать все в одиночку, начиная от создания сценария и до тестирования готового продукта.
А если для работодателя гейм-разработчик – человек, который только работает с игровым движком и пишет код, то это значит, что специалиста берут в команду, где он должен будет трудиться вместе с другими экспертами.
Но даже если разработчик имеет определенную зону ответственности, он все равно должен знать все этапы создания игр и понимать все нюансы каждой стадии. Иначе слаженной работы не получится.
Простыми словами, гейм-разработчики должны уметь создавать виртуальные миры, игровые сцены и персонажей для компьютерных и мобильных игр. Для этого они используют Unity, Unreal Engine и другие движки.
Задачи и функции специалиста
Как мы уже писали, гейм-разработчики, являясь частью команды, могут заниматься только, например, программированием 3D-графики или механикой сцен битв. Но в этом разделе мы перечислим все часто встречающиеся обязанности специалиста, которые он должен выполнять, чтобы самостоятельно создать проект с нуля.
Итак, задачи и функции разработчика игр:
- Проведение переговоров с заказчиками.
- Разработка общей концепции и идеи проекта.
- Проработка игровой логики.
- Написание игрового сценария и его корректировка.
- Работа с Unity, Unreal Engine, GameSalad и другими движками.
- Написание и оптимизация кода на выбранном языке программирования.
- Создание интуитивно понятного интерфейса с меню.
- Выстраивание архитектуры игры.
- Разработка игровых объектов и фона.
- Работа с материалами, текстурой, освещением и т. д.
- Проектирование игр и их частей.
- Создание игровых персонажей.
- Настройка взаимодействия героев.
- Работа над дизайном проекта.
- Продумывание внутриигровой механики.
- Внедрение анимации и различных эффектов.
- Программирование игровых уровней.
- Работа в команде с другими специалистами.
- Внедрение плагинов и SDK для рекламы, аналитики и пр.
- Тестирование готового продукта, исправление ошибок, нелогичностей и багов.
- Доработка уже существующих игровых проектов.
- Расчет монетизации проекта.
- Интеграция разработанных продуктов на различные мобильные платформы и веб-ресурсы.
Это стандартный набор обязанностей специалиста по разработке гейм-проектов. Но должна сказать, что большую часть времени отнимает лишь пара-тройка задач. Это тестирование, доработка и корректировка.
Классификация разработчиков игр
А сейчас давайте вернемся к той ситуации, когда не один специалист выполняет все функции, а целая команда. В этом случае все члены группы являются разработчиками.
Кратко расскажу, кто чаще всего в такую команду входит:
- Аниматоры, или animation developers. Берут на себя визуальную часть. Они “дают жизнь” объектам и персонажам, благодаря им герои двигаются и даже испытывают эмоции. Для этого специалисты разрабатывают анимационные системы, создают скелетную анимацию, пишут утилиты и т. д.
- Геймдизайнеры. Их можно назвать важнейшим звеном в цепи разработчиков. Они создают правила игрового мира, придумывают основную идею и общую визуальную картину, концепцию персонажей и многое другое.
- UI-дизайнеры, или UI game designers. Они отвечают за понятный и удобный интерфейс. Специалисты определяют цветовую гамму, шрифты, расположение игровых клавиш, кнопок и меню, продумывают переходы между разделами и т. д. От UI-дизайнеров зависит, какое первое впечатление произведет игра на пользователей.
- DevOps-инженеры, или DevOps developers. Специалисты координируют все отделы разработки, налаживают работу со сторонними игровыми сервисами, создают внутреннюю сеть игры, благодаря чему у игроков появляется возможность создавать команды и общаться между собой.
- Тестировщики. Они проверяют готовый гейм-проект на наличие ошибок и сбоев, оценивают корректность работы и передают результаты своей деятельности разработчикам, чтобы те все исправили. Тестирование игр проходит на всех устройствах и платформах.
- Gameplay developers. Это программисты, которые берут на себя общую механику игры. Они воплощают идеи дизайнеров и сценаристов в жизнь при помощи кода. Благодаря этим специалистам все отдельные элементы становятся единой системой.
- Engine developers. Берут на себя создание специальных шаблонов, которые упрощают труд других специалистов. Результатами их работы могут быть программные инструменты, утилиты, стороннее ПО и пр.
- Graphics programmers. Благодаря им графика становится качественной и максимально реалистичной. Специалисты оптимизируют игры под разные устройства, чтобы виртуальное пространство выглядело хорошо на разных платформах.
- Бэкенд-разработчики, или backend developers. Программисты, на которых лежит ответственность за “начинку” игры, т. е. за ее внутреннюю структуру. От них зависит работоспособность продукта.
- Audio Developers. Специалисты, которые берут на себя все задачи, связанные со звуком. Они отвечают за звуковые дорожки, диалоги персонажей, различные звуковые эффекты, озвучивание игровой истории, звуки нажатия клавиш и пр.
- Сценаристы. В их обязанности входит создание увлекательного сюжета, который привлечет как можно больше пользователей. Они прописывают историю, место и время действия, характеры и особенности персонажей, сцены и битвы, диалоги героев и пр.
Чем крупнее компания-работодатель, тем меньший перечень задач выполняет один человек. И тем больший выбор у специалиста, который может остановиться на наиболее интересном для себя направлении.
В небольших студиях у разработчиков такой возможности нет. Им приходится заниматься несколькими или сразу всеми этапами разработки, даже если нравится им только что-то одно, например, создание персонажей.
Навыки и личные качества
Работодатели и заказчики предъявляют гейм-разработчикам немаленький список требований. Как и в случае обязанностей, в этом пункте мы постарались по максимуму собрать все качества и навыки специалистов.
И первым пунктом в перечне требований идут знания и умения:
- Умение пользоваться Git.
- Знание минимум одного языка программирования: C#, C++, Java, Ajax и др.
- Умение рисовать от руки.
- Знание английского языка, особенно технической части.
- Понимание правил компьютерного моделирования.
- Знание закономерностей построения игрового процесса.
- Умение создавать игровые миры.
- Знание SQL и MySQL.
- Умение создавать базовые элементы геймплея.
- Понимание принципов работы компьютеров и сети.
- Базовые знания математики.
- Умение работать в Unity, Unreal Engine и в других движках.
- Базовые знания анимации.
- Умение работать со звуком.
- Знание принципов ООП.
- Умение работать с текстурами и материалами.
- Знание сред разработки.
- Понимание полного цикла создания игр.
- Умение интегрировать внешние плагины и SDK.
- Навык оптимизирования работы игр.
- Умение разрабатывать шейдеры.
- Навык работы с XML и JSON.
- Умение работать в команде.
- Навык командной работы.
- Понимание физики и логики игровых процессов.
- Умение создавать качественных персонажей и прорабатывать их взаимодействие друг с другом.
- Понимание особенностей игровых жанров.
- Умение пользоваться софтом для 3D-моделирования.
- Знание рынка ИТ-сферы.
- Умение определять целевую аудиторию и ее потребности.
- Знание инструментов верстки.
- Умение использовать базы данных.
- Навык тестирования готового продукта.
- Умение создавать адаптивный интерфейс.
- Базовые знания принципов и правил дизайна.
- Умение создавать фон, окружение и игровые сцены.
Помимо этого, для специалиста также важны и следующие личные качества:
- стрессоустойчивость;
- усидчивость;
- лидерские качества;
- развитая фантазия;
- любовь к играм;
- математический склад ума;
- художественный вкус;
- коммуникабельность;
- критическое мышление;
- ответственность;
- внимательность к деталям.
Заработная плата и перспективы
Гейм-разработчик является востребованным специалистом на рынке. Пользователи не перестают интересоваться играми, геймеров становится все больше. А это значит, что игровые проекты нужны всегда.
Работодателями гейм-специалистов могут стать:
- студии разработки;
- ИТ-компании;
- предприятия сферы развлечения;
- массмедиа;
- маркетинговые агентства и другие.
Чтобы устроиться в иностранную компанию, необходимо иметь опыт работы и профессиональные знания выше среднего уровня. Кроме этого, понадобится портфолио с лучшими проектами.
Зарплата специалиста зависит от стажа, квалификации, знаний и умений, региона.
Стартовать в профессии лучше всего в качестве стажера. Так можно приобрести практические навыки разработчика и реальный опыт.
После этого следуют следующие карьерные ступени:
- Junior. Это начинающий работник, который уже имеет некоторые навыки. Он не стажер, но еще и не самостоятельный работник. Junior должен иметь базовые знания одного из игровых движков и языков программирования, уметь работать в команде и решать несложные технические задачи.
- Middle. Это специалист среднего звена. Он может выполнять более сложные задания, его работу не проверяют старшие коллеги, он хорошо разбирается в определенном игровом движке и минимум в двух языках программирования.
- Senior. А это уже полностью самостоятельный разработчик, который не только может без посторонней помощи справляться с задачами любой сложности, но еще и несет полную ответственность за проект. Специалист может принимать важные для развития продукта решения, управлять командой и помогать младшим сотрудникам.
От того, на каком этапе карьеры находится специалист, зависит и его доход. Стажеры получают от 25 до 40 тыс. руб. в среднем. Джуниоры зарабатывают от 50 до 90 тыс. руб., мидлы – от 100 000 до 120 000 руб., а сеньоры – до 300 000 руб. в среднем.
Это что касается штатных сотрудников. Но можно быть разработчиком-фрилансером. Конечно, таких специалистов в области гейм-разработки немного, но найти задания на биржах фриланса, например, на Quasa Connect, Kwork или FL, возможно.
Стоимость услуг варьируется, но чаще всего попадаются заказы в диапазоне 5–40 тыс. руб.
Штатным сотрудникам или временным работникам по найму найти вакансии можно на Superjob, Яндекс.Работе или HeadHunter. При этом нередко работодатели предлагают удаленную занятость.
Напоследок хотим сказать про перспективы. После работы в ИТ-сфере на протяжении 3–5 лет разработчик может попытаться стать тимлидом или техническим директором. Или можно переквалифицироваться и уйти в смежную область, например, в 3D-дизайн. Также профессионал может открыть собственное дело и стать бизнесменом.
Плюсы и минусы профессии
Переходим к еще одному важному вопросу. Рассмотрим преимущества и недостатки деятельности.
Начнем с достоинств:
- Каждый новый проект – это уникальная творческая задача. Поэтому работа не надоедает, риск выгорания снижается.
- Востребованность профессии.
- Если надоест профессия гейм-разработчика, можно легко переквалифицироваться и стать специалистом другого направления. Даже можно полностью отойти от программирования и начать карьеру, например, сценариста.
- Высокая заработная плата.
- Есть возможность работать удаленно.
- Можно стать штатным сотрудником на постоянной основе, работником компании по найму или фрилансером.
- Стабильный карьерный рост и хорошие перспективы.
А теперь переходим к недостаткам, ведь без них никуда:
- По-настоящему крупных компаний, занимающихся разработкой игр, немного, а значит, попасть к ним на работу очень сложно.
- Высокая конкуренция.
- Длинный список требований, предъявляемых к специалистам.
- Нужно постоянно развиваться, освежать знания и следить за трендами рынка.
- Большая вероятность частых стрессовых ситуаций.
- Сидячий образ жизни, негативно влияющий на здоровье.
Онлайн-курсы и обучающая литература
Чаще всего гейм-разработчиками становятся геймеры. Они любят игры и хотят самостоятельно их создавать. Возможно, все начинается с того, что пользователь хочет усовершенствовать игровой проект, в который часто играет, а иногда и сразу появляется желание создать что-то свое.
В любом случае хобби может стать работой. Для этого нужно либо обучаться самостоятельно, либо записаться на онлайн-курсы.
Первый вариант сложен, но возможен.
Пользователи постепенно изучают азы, ищут по крупицам информацию в статьях, на форумах, специализированных каналах и сообществах, а после стараются структурировать у себя в голове все данные.
Для начала нужно освоить язык C# и движок Unity. Это будет хорошей базой, которая поспособствует дальнейшему продвижению в ИТ-сфере. Но если вас привлекают другие языки программирования и движки, то изучайте, разумеется, их.
В обучении вам могут помочь книги для гейм-разработчиков.
Представляю вам некоторые из них:
- А. Климов “C#. Советы программистам”
- Э. Стиллмен, Д. Грин “Изучаем C#”
- И. Гриффитс “Программируем на C#”
- Д. Мэннинг, П. Батфилд-Эддисон “Unity для разработчика”
- М. Гейг “Разработка игр на Unity”
- Д. Хокинг “Unity в действии”
- Д. Шелл “Геймдизайн”
Также могу порекомендовать несколько полезных Телеграм-каналов для разработчиков игр:
- “Геймдев, который мы заслужили”;
- “Разработка игр”;
- “Работа в геймдеве”;
- “Книги для программистов”.
Как мы уже говорили, есть и второй вариант обучения. Это запись на курсы по гейм-разработке.
Много крупных и не очень онлайн-школ предлагают различные обучающие предложения, но мы для вас выделили самые лучшие:
- Профессия Разработчик игр на Unity – GeekBrains.
- Профессия Разработчик игр на Unity с нуля до Middle – Skillbox.
- Разработчик игр на Unity – Нетология.
Что касается высшего образования, то университеты не учат такому узкому направлению. Диплом, возможно, и будет преимуществом при устройстве на работу, но все равно придется подтянуть знания по теме одним из вышеописанных способов.
Заключение
На этом мы заканчиваем обзор одной из самых популярных и высокооплачиваемых профессий ИТ-сферы. В первую очередь она будет интересна для любителей компьютерных и мобильных игр. Но освоить это направление могут и обычные пользователи, желающие стать частью отрасли информационных технологий.
До новых встреч!