Чем занимается гейм девелопер
Перейти к содержимому

Чем занимается гейм девелопер

  • автор:

GameDev

Геймдев (GameDev, от английского games development — «разработка игр») — процесс создания игры: от разработки и дизайна до выпуска на рынок. Это могут быть игры для мобильных телефонов, консолей, компьютеров или других гаджетов.

Освойте профессию «Разработчик игр на Unity»

Сегодня это одна из самых быстрорастущих и прибыльных отраслей. В 2020 году, даже несмотря на кризис, вызванный пандемией коронавируса, ее годовой оборот составил 126 миллиардов долларов, а рост — 12%, что сравнимо с экономическими показателями киноиндустрии.

Направления геймдева

Игровая индустрия подразделяется на шесть основных направлений в зависимости от платформы:

  • для персональных компьютеров под управлением операционных систем Microsoft Windows, Apple MacOS и Linux;
  • стационарных и портативных игровых устройств (консолей) — например, Microsoft Xbox, Sony PlayStation, Nintendo Wii/Switch и т.д.;
  • мобильных устройств (смартфонов и планшетов, а также некоторых мобильных консолей) под управлением операционных систем Android (Google), iOS (Apple), Windows (Microsoft);
  • онлайн-платформ на базе удаленных серверов, а также в крупнейших социальных сетях, таких как VK, «МойМир», «Одноклассники», Facebook;
  • аркадных автоматов, таких как NeoGen и Play System от японских компаний SNK и Capcom соответственно;
  • систем виртуальной реальности, таких как Oculus Rift, OSVR, HTC Vive и т.д.

Направления развиваются неравномерно как по странам, так и по времени. Например, популярные в 70–80-е годы прошлого века аркадные автоматы сегодня остаются востребованными только в азиатских странах (Японии, КНР, Республике Корея). Системы для виртуальной реальности пока находятся на начальной стадии развития и не имеют массового распространения из-за своей высокой стоимости, хотя многие крупные проекты (например, Half Life 2, Mirrors Edge) имеют их поддержку. Игры, реализованные на базе соцсетей, узко ориентированы на конкретную целевую аудиторию (пользователей VK, «Одноклассников» и т.д.).

Профессия / 18 месяцев
Разработчик игр на Unity

Создавайте виртуальные миры

Group 1321314346 (2)

Игровые движки

Игровой движок (по-английски game engine) — базовое программное обеспечение, обеспечивающее работоспособность геймплейных, графических и других элементов видеоигры. На базе одного и того же игрового движка можно создавать различные игры, «навешивая» на него соответствующие текстуры, модели персонажей и объектов окружения, внутриигровые правила и т.д.

Как правило, такое ПО ориентировано на одну платформу (ПК, консоль, мобильное устройство) и жанр (например, шутер от первого лица, стратегия, двухмерный файтинг или симулятор). Хотя есть немало примеров успешной реализации различных по жанру игр на одном и том же движке. Например, Source, первоначально разработанный под шутер от первого лица Half-Life, стал основой для многопользовательской командной Dota 2 и тактического шутера Counter Strike.

Преимущество игровых движков в том, что они уже предоставляют разработчику базовый набор функций, на основе которых он может создавать свою игру. Это существенно упрощает, ускоряет и удешевляет разработку видеоигр.

Кроме того, некоторые движки спроектированы так, чтобы создать свою игру мог даже новичок. Для этого в них реализована интегрированная среда разработки — набор визуальных инструментов, которыми может оперировать разработчик, не углубляясь в дебри игровой физики, дизайна, программного кода и других сложных для понимания вещей. Характерный пример — движки Godot, Game Maker. Этим часто пользуются энтузиасты-любители или маленькие студии, создающие небольшие инди-игры.

Классификация игр

По жанрам

Их очень много, поэтому остановимся на распространенных:

  • Action — игры-боевики, требующие высокой скорости и точности реакции, типичный пример — шутеры (стрелялки);
  • Adventure — игры-приключения, делающие упор на разгадывание головоломок, поиск предметов и путей прохождения, другие интеллектуальные задачи в рамках сюжетной истории;
  • Strategy — игры, ориентированные на стратегическое и/или тактическое планирование действий, расход ограниченных ресурсов, времени и т.д.;
  • Fighting — бои игроков один на один или небольшими группами (обычно 2х2);
  • RPG (Role Play Games) — игры, в которых игрок отыгрывает роль персонажа в какой-либо сюжетной истории с акцентом на взаимодействие с другими персонажами;
  • Horror — жанр, в котором основной акцент делается на создание у игрока гнетущего, тревожного чувства (саспенса) и/или резкого страха;
  • Sport — игры, воспроизводящие механики того или иного вида спорта (автомобильных гонок, футбола, сноубординга и т.д.);
  • Simulator — жанр, делающий упор на более или менее реалистичное воспроизведение механик, свойственных реально существующему объекту (например самолету, животному и даже камню).

В рамках жанров существует множество поджанров. Также есть игры, объединяющие в себе различные жанровые элементы, — например Action/Adventure сочетают активное действие (стрельбу, погони) с разгадыванием головоломок, поиском предметов.

По уровню реализации, затратам на производство и продвижение

  • AAA — высокобюджетные (от 50 млн долларов и выше), технически сложные тайтлы, разрабатываемые большими студиями с обширной маркетинговой поддержкой релиза после выпуска (аналог из киноиндустрии — блокбастер).
  • AA — игры со средним (до 50 млн долларов) бюджетом, уступающие AAA-тайтлам в плане разнообразия игровых механик и визуальной реализации, но при этом менее требовательные к железу, нуждающиеся в меньших затратах на продвижение и несущие меньше рисков для разработчиков и издателей в плане окупаемости.
  • Инди-игры, созданные одним разработчиком или небольшими студиями без издателя, часто не имеющие вообще никакой маркетинговой поддержки и распространяемые бесплатно или условно-бесплатно. Зачастую это нишевые продукты с неважной или вовсе примитивной графикой, но уникальными игровыми механиками.

Классификация условна, так как четких границ между категориями нет. Например, некоторые современные инди-игры, такие как Hellblade: Senua’s Sacrifice, по уровню технической реализации и сюжетной проработанности практически не уступают AA- или AAA-тайтлам, но разрабатываются небольшими студиями и сопровождаются минимальным DIY-маркетингом. А некоторые AA-продукты (например, серия Bioshock и Dishonored) имеют гораздо большее признание и популярность среди игроков и критиков, чем «конвейерные» продолжения AAA-игр вроде последних частей Assassin’s Creed.

Разработчик игр на Unity – одна
из самых творческих профессий в IT. Создайте виртуальные миры уже через полгода обучения

Этапы разработки игр

Разработка. Это создание самого игрового продукта. В зависимости от уровня технической реализации и бюджета игры в нем могут принимать участие один человек, небольшая группа разработчиков или огромная студия, где над проектом работают десятки специалистов — программистов, дизайнеров, художников, сценаристов, тестировщиков и т.д. Создание игры происходит в несколько этапов:

  • разработка концепции, основных сюжетных идей и геймплейных механик;
  • написание полного сюжета, игровых и неигровых персонажей, ЛОРа (истории и особенностей игровой вселенной);
  • реализация геймплея, игровой физики, взаимодействия персонажей, графического окружения и других технических аспектов;
  • тестирование игры;
  • устранение ошибок, выпуск конечной версии игры, патчей и дополнительного контента.

Издание. В крупных проектах за реализацию игры отвечает не сам разработчик, а издатель: он договаривается с владельцами игровых платформ о публикации, занимается локализацией, ищет дистрибьюторов в различных странах и т.д. В AA- и инди-тайтлах из-за бюджетных и ресурсных ограничений эти задачи частично или полностью ложатся на плечи разработчиков.

Маркетинг. Работа направлена на популяризацию игры среди потребителей. Она включает:

  • организацию и проведение рекламных кампаний;
  • публикации материалов в тематических СМИ (игровых журналах, интернет-изданиях, блогах и т.д.);
  • участие в отраслевых мероприятиях (выставках, конференциях, фестивалях);
  • прямое или опосредованное взаимодействие с потребителями, особенно известными представителями ЦА (например, ведущими игровых стримов).

Сейчас создавать игры могут не только большие студии или высококвалифицированные специалисты, но и просто увлеченные любители. Интернет дал возможность независимым разработчикам самостоятельно публиковать продукт на онлайн-платформах вроде Steam, получать обратную связь от пользователей, проводить пусть и небольшие, но все же полноценные рекламные кампании. Благодаря этому некоторые игры становятся настоящими хитами при минимальном маркетинговом сопровождении.

Зарождение и развитие игровой индустрии

Электронные игры появились практически одновременно с первыми компьютерами. В 1948 году в США Томас Голдсмит-младший и Эстл Рей Манн разработали развлекательное устройство с выводом изображения на электронно-лучевую трубку, представляющую собой тир.

4 года спустя британский ученый Александр Дуглас для защиты диссертационной работы создал электронный аналог крестиков-ноликов на университетской ЭВМ EDSAC. А в 1962 году Стив Рассел и двое других студентов MIT написали для университетского мини-компьютера DEC PDP-1 игру Spacewar!, в которой игроку нужно было управлять космическим кораблем и вести сражения с противником (другим игроком), одновременно пытаясь избежать гравитации звезды.

Основой для нее послужили программы отслеживания траектории космических аппаратов. Эта игра стала важной вехой в развитии игровой индустрии, так как оказалась очень популярной и была установлена практически на всех существовавших компьютерах DEC PDP-1. Позже она была перенесена и на другие платформы (например, появившиеся позже аркадные автоматы), а также стала прообразом других игр с похожей механикой.

Однако назвать эти первые шаги именно индустрией пока еще было нельзя. Игры были разработаны учеными в личных целях.

Реальное развитие индустрии игр началось с появлением трех платформ:

  • игровых приставок, подключаемых к домашнему телевизору через стандартный видеопорт. Первой стала Magnavox Odyssey, разработанная в 1972 году американским изобретателем Ральфом Бером. В комплекте с консолью шла игра, в которой пользователю нужно было управлять с помощью контроллера поведением точек на экране, а «визуальные эффекты» создавались с помощью специальных цветных накладок на экран телевизора;
  • аркадных автоматов — игровых устройств, состоящих из дисплея и контроллеров, установленных в красиво оформленной стойке с вывеской. Чтобы поиграть на нем, пользователю нужно было внести монеты или специальные жетоны в монетоприемник или вставить магнитную карту в прорезь. Одними из первых коммерческих моделей аркадных автоматов были Computer Space (1971) Нолана Бушнелла и Pong (1972) Ральфа Бера;
  • домашних/персональных компьютеров — компактных и простых в использовании вычислительных машин универсального назначения. Как и игровые приставки, домашние компьютеры подключались к обычному ТВ. А так как это были многофункциональные устройства, они пользовались популярностью не только у любителей компьютерных игр, но и среди других людей, которые решали с их помощью различные бытовые задачи — например, подсчитывали налоги в электронных таблицах. Известными домашними компьютерами были Apple II, TRS-80, Atari 400/800 (все — 1977 год), ZX Spectrum и IBM PC (оба — 1981 год).

Для всех устройств программисты стали создавать игры и зарабатывать на этом деньги. Первой действительно коммерческой видеоигрой стала Computer Space для аркадных автоматов, созданная Nutting Associates во главе с Ноланом Бушеллом. А настоящую революцию произвела разработанная компанией Atari в 1972 году Pong (за авторством того же Бушелла и Ральфа Бера). Игра стала коммерческим хитом. Считается, что именно этот продукт и положил начало индустрии интерактивных развлечений.

Компьютерные игры в современном мире

Из нишевого продукта для гиков видеоигры быстро развились сначала в массовое развлечение, а в 2011 году официально были признаны отдельным видом искусства наряду с кино, театром, музыкой и т.д. Годовой оборот игровой индустрии составляет сотни миллиардов долларов; на создание и маркетинг некоторых тайтлов уходят десятки миллионов долларов, что сравнимо с бюджетом крупных блокбастеров из мира кино.

Однако у индустрии компьютерных игр есть и немало проблем:

  • перенасыщенность рынка. Доступность мощных ПК, упрощение и удешевление процесса разработки, развитие онлайн-платформ привели к тому, что многие программисты-любители стали создавать и публиковать примитивные однообразные поделки. Это серьезно затрудняет поиск действительно достойных тайтлов, особенно в сегменте инди-игр;
  • стагнация ААА-сегмента. Резкий рост бюджетов на производство тайтлов-блокбастеров приводит к тому, что разработчики и издатели из опасения потерять много денег и обанкротиться стали меньше экспериментировать, предлагать новые и необычные механики. Все чаще в сегменте AAA-игр появляются многочисленные продолжения успешных продуктов (например, та же серия Assassin’s Creed), которые не предлагают ничего нового, удивляя игроков лишь качеством картинки и огромными требованиями к производительности железа;
  • кризис среди самих разработчиков. В сегменте крупнобюджетных проектов все чаще вспыхивают скандалы, связанные с переработками сотрудников, задержками и переносами сроков выпусков и т.д. Даже крупные студии зачастую дают публике слишком большие обещания, которые в итоге не могут сдержать. В погоне за временем они заставляют сотрудников перерабатывать.

Однако в гейм-индустрии активно идет поиск новых решений — в плане как технологий, так и сюжета, геймплея, игровых механик, визуального ряда и т.д. Например, в производстве видеоигр многое изменило появление эффективных систем виртуальной реальности, которые вывели игровой опыт пользователей на новый уровень. Если среди ААА-игр наблюдается определенная стагнация, то сегменты AA и инди активно развиваются, предлагая игрокам действительно увлекательные тайтлы с необычными визуальными решениями, игровыми механиками, сюжетными находками. Большими темпами растет направление онлайн- и мобильных игр, которые раньше сдерживались отсутствием широкополосного интернета и мощных портативных устройств.

Разработчик игр на Unity

Все главные навыки разработчика игр на одном курсе. Вы освоите все этапы геймдизайна, научитесь программировать на С# и создадите 7 игр во время курса.

картинка (68)

Статьи по теме:
Почему в IT должны работать гуманитарии и какие перспективы их ждут
Обзор самых ожидаемых игр осени 2023 от Unity-разработчика

Подборка на любой вкус для питонистов, программистов на JavaScript, тестировщиков и игровых разработчиков

Профессия Геймдевелопер: кто он такой и чем занимается

Профессия геймдевелопер

Профессия геймдевелопер появилась относительно недавно. Еще каких-то 40 лет назад никто даже не подозревал, что в России кто-то мог заниматься разработкой компьютерных игр. Но сейчас индустрия развлечений развивается бешеными темпами, каждый день появляются новые студии и релизятся настоящие шедевры. Бывают даже успешные примеры разработки игры в одиночку. Например, атмосферный хит 35mm от Сергея Носкова.

В этой статье преподаватели Высшей школы бизнес-информатики НИУ ВШЭ, авторы образовательных программ “Менеджмент игровых проектов” и “Основы создания игр”, расскажут о навыках, которыми должен обладать человек, решивший стать востребованным специалистом в геймдеве или создать свой собственный уникальный проект.

 Профессия геймдевелопер

Геймдевелопер (англ. game developer — разработчик игр) — это профессия, включающая в себя набор навыков для создания компьютерных игр с нуля. Начиная от концертирования и визуализации, заканчивая написанием программного кода и моделингом — такому специалисту все по плечу.

Набор навыков профессионального разработчика

Профессиональные геймдевелоперы могут реализовать свои творческие способности как в крупных игровых студиях, так и в инди-командах. Благодаря универсальности профессии гейдевелопера он может участвовать в разработке игр для ПК, консолей и мобильных устройств.

Профессия геймдевелопер

В работе геймдевелопера могут быть совмещены несколько функциональных обязанностей. Специалист должен обладать навыками, позволяющими решать самые разнообразные технические задачи. В частности, необходимо разбираться в основах программирования (PHP+MySQL, Ajax, C#), уметь рисовать и владеть английским языком.

Для успешной работы геймдевелоперу важно хорошо понимать закономерности построения игрового процесса и мира игры в зависимости от ее специфики, обладать опытом объектно-ориентированного программирования, низкополигонального модостроения и уметь пользоваться популярными пакетами для моделирования.

[ВШБИ] Профессия геймдевелопер

В число желательных для геймдевелопера знаний можно включить умение работать с различными игровыми платформами и движками. Специалист должен четко представлять себе этапы:

  • проектирования игрового процесса,
  • прорисовки, визуализации и анимации,
  • физики и иных составляющих продукта.

В команде геймдевелоперу понадобится тесно взаимодействовать со сценаристом, художником, гейм- и саунд-дизайнером, тестером и программистом.

Где учиться на геймдевелопера

Хотите больше узнать о профессии “геймдевелопер” и получить все необходимые навыки для работы в геймдеве? ВШБИ НИУ ВШЭ приглашает всех желающих пройти обучение по программам “Основы создания игр” и “Менеджмент игровых проектов” в Москве.

[ВШБИ] Профессия геймдевелопер

Преподаватели ВШБИ НИУ ВШЭ проводят лекционные и практические занятия, посещая которые вы научитесь основам геймдизайна, игровой механики и логики, получите навыки работы с популярными 3D-пакетами и игровыми движками, узнаете о подготовке диздоков, этапах создания контента, тестировании и запуске проекта для ПК, консолей и мобильных устройств. По окончанию обучения преподаватели дадут советы по быстрому трудоустройству в крупных геймдев-компаниях или инди-студиях.

Не пропустите открытую лекцию Richard «Levelord» Gray, легендарного геймдевелопера, который работал над дизайном уровней для Doom, Blood, Duke Nukem 3D и других. Ричард рассказал о своем пути в индустрии и богатом опыте разработки.

Еще больше информации вы найдете на канале МИП ВШБИ на YouTube. Подписывайтесь и не пропускайте свежие записи с открытых мероприятий ВШБИ НИУ ВШЭ.

Кто такой разработчик игр

Создание видеоигр — сложный процесс, в котором задействовано множество специалистов. Всех их можно назвать разработчиками, ведь каждый влияет на то, какой в итоге получится игра. В этой статье речь пойдёт про программиста — ключевого специалиста, без которого не обходится ни один проект.

Что нужно знать программисту игр

Gamedev это сфера, которая привлекает разработчиков интересными задачами и возможностью раскрыть свой творческий потенциал. Однако, здесь очень высоки требования к знаниям, с которыми разработчик приходит в индустрию.

Hard Skills

  • Знание нескольких языков программирования — чем больше, тем шире круг задач, который вы сможете выполнять. Подробнее про востребованные языки поговорим ниже.
  • Хорошая математическая база — высшая математика, линейная алгебра и статистика помогут глубже понять алгоритмы, которые вы описываете с помощью программного кода.
  • Опыт работы в Unreal Engine и Unity — понимание, как устроены современных игровые движки пригодится при создании любого проекта, даже если студия использует свой собственный.
  • Понимание классических алгоритмов и структур данных — на каком бы языке вы ни писали, вам пригодятся знания о списках, массивах, способах сортировки и деревьях поиска.
  • Умение писать оптимальный код — простой и быстро исполняемый код легко масштабировать. В играх это особенно важно, потому что изменения в проект придётся вносить очень часто.
  • Английский язык — на английском доступно гораздо больше обучающих материалов, чем на других языках.
  • Умение пользоваться системами контроля версий — системы типа Git или SVN помогают синхронизировать работу всей команды так, чтобы несколько человек могли одновременно работать над одной задачей и не мешали друг другу.

Soft Skills

  • Умение быстро разбираться в незнакомых областях — например, в чужом коде, игровых механиках или в новых версиях программ.
  • Желание преодолевать трудности — программисту часто приходится решать задачи, с которыми он раньше никогда не сталкивался. Тогда на помощь приходят упорство, концентрация и целеустремлённость.
  • Умение работать в команде — даже если вы единственный программист в студии, вам придётся обсуждать поставленные задачи с геймдизайнерами и общаться с теми специалистами, чей контент вы интегрируете в игру.
  • Стрессоустойчивость — неизбежные спутники разработки игр это: кранчи, конфликты и необходимость отказываться от фич, в которые команда вложила много сил.
  • Инициативность — желание найти наиболее удачное решение для задачи и умение обосновать его перед коллегами.

Обязанности специалиста

  • писать программный код;
  • поддерживать в актуальном состоянии существующие программы;
  • заниматься оптимизацией написанного кода.

Game Engine Developer
Игровой движок — это сердце игры, где создаётся весь функционал игры. Самые популярные движки на сегодняшний день — это Unreal Engine и Unity. Языки: C++, C# и другие.

Gameplay Developer
Реализует всё, что относится к геймплею: объекты, подсистемы, игровые механики, режимы, способности, физику взаимодействия с окружением и многое другое. Языки: C++, C#.

Graphics Programmer
Отвечает за графическую часть игрового движка — то, какого качества картинку увидит на экране игрок. Реализует алгоритмы рендера и разрабатывает инструменты, автоматизирующие некоторые задачи художников. Языки: C++, Java, C#.

AI Developer
Разрабатывает объекты и подсистемы игрового мира, связанные с искусственным интеллектом — например, поведение соперников и поиск пути. Языки: LISP, Python, C++, Java, Prolog.

GUI Developer
Занимается разработкой системы графического интерфейса пользователя и его сопряжением с игровыми системами. Языки: C++, Java, Python.

Game Tools Developer
Создатель компьютерных игр — профессия, где программирование востребовано на всех этапах разработки. Разработчик инструментария исследует процессы производства контента в разных отделах студии и разрабатывает программы, которые помогут автоматизировать часть повседневной работы специалистов. Языки: C++, Python.

Frontend и Backend Developer
Занимаются разработкой сетевых игр. Например, многопользовательских онлайн-шутеров. Frontend-разработчики занимаются клиентской частью — тем, что происходит на устройстве пользователя. А Backend-программисты отвечают за то, чтобы полученная от игроков информация правильно и быстро обработалась на сервере. Языки: для клиентской части — HTML, JavaScript, Python, а для серверной — GO, PHP и Java.

Scripter
Для некоторых задач не нужны очень глубокие знания программирования, их реализуют при помощи несложных скриптовых языков. Например, навыки скриптования часто нужны гейм дизайнерам при создании прототипов игровых механик, 3D художникам — для реализации нестандартных творческих задач, аналитикам — для сбора информации о проекте и подсчёта метрик проекта. Языки: Python, JavaScript.

Карьерный рост разработчика игр

Профессии разработчика игр обычно подразумевает несколько этапов роста специалиста — от младшего до старшего. В разных студиях требования к разработчикам разного уровня могут отличаться: то, что в одной студии ждут от Middle, в другой требуют уже от Junior.

Стажёр
Игровые студии иногда размещают у себя на сайтах объявление о наборе кандидатов на стажировки. Чаще, это студенты старших курсов, которые, пройдя отбор, будут несколько месяцев работать в компании, слушать лекции сотрудников и набираться опыта и разбираться в специфике профессии.

Junior Developer
Программист, у которого уже есть несистематизированные теоретические и практические знания для того, чтобы успешно выполнить тестовое задание, но ещё нет опыта разработки успешных коммерческих проектов. Знает один язык программирования. Способен сам справляться с небольшими задачами и поиском ошибок в своём коде. Важные качества, которые помогут джуниору вырасти это: самостоятельность, общительность и желание развиваться в разных направлениях.

Middle Developer
Гейм девелопер с 2-4 годами опыта работы над проектами разной сложности. Знает несколько языков программирования. Командный игрок. Не только пишет код, но и занимается аналитикой, документированием и тестированием. Способен найти и исправить критические ошибки в типичных задачах. Может предложить новое решение и аргументировать свою точку зрения. В особо сложных случаях обращается с вопросами к Senior-разработчику.

Senior Developer
Эксперт с широким кругозором, у которого за плечами от 5 лет работы. Способен решать задачи любой сложности, может предложить несколько уникальных подходов для решения нестандартной проблемы. Проектирует инфраструктуру проекта. Принимает участие в обсуждении планов разработки с продюсерами и геймдизайнерами. Постоянно изучает новые инструменты, появляющиеся на рынке. Ментор для Junior и Middle разработчиков. Проводит регулярные ревью кода команды, чтобы поддерживать его исполняемость и масштабируемость. На этом этапе вы уже набрались достаточно опыта и становитесь востребованным специалистом.

Переход между этими ступеньками может случиться как раньше, так и позже сроков, указанных выше. Разнообразный опыт и практические навыки гораздо важнее количества лет, указанного в резюме. Повышение может произойти после успешного завершения большого проекта или после прохождения регулярной аттестации, если она есть в компании. Главное — развиваться, изучать новые языки и подходы к разработке, анализировать процесс создания чужих проектов и изучать разработку игр.

Какие языки программирования нужны для создания игр

Наиболее востребованы в разработке игр вот эти языки:

  • C++;
  • Java;
  • JavaScript;
  • C#;
  • Python;
  • HTML 5.

Java
Широко используется для разработки мобильных игр под Android — одной из самых популярных платформ на рынке. Сообщество Java-разработчиков активно разрабатывает инструменты с открытым исходным кодом, что позволяет находить и использовать готовые решения для своих задач.

JavaScript
Один из трёх главных языков web-разработки (два других — HTML и CSS). Простой, быстрый и несложный для освоения. Востребован для разработки онлайн игр. Как и в случае с Java, имеет активное комьюнити, которое разрабатывает удобные готовые инструменты.

C#
Гибкий кроссплатформенный язык программирования, на котором пишут игры для таких платформ, как Windows, iOS, Android и PlayStation. Широко используется для реализации фич в игровых движках, например, Unity, CryEngine, Godot.

Python
Универсальный, достаточно простой в освоении язык программирования. Имеет свою библиотеку модулей для создания 2D игр. Python также можно использовать для расширения функционала и автоматизации рутинных задач во многих графических пакетах, например, в Maya или в Houdini. Обратите внимание на Python, если вы только недавно решили стать программистом компьютерных игр.

HTML 5
Кроссплатформенный язык программирования 2D и 3D web-игр. Созданную игру можно выложить на личном сайте, игровом портале или опубликовать в магазине мобильных приложений. Хорошо подходит для того, чтобы начать разрабатывать игры.

Геймдев: какие есть специализации программистов и с чего начинать

Привет. Меня зовут Максим Носатов, я Game Developer, работаю с UE4 и Unity3D. Мой стаж в геймдеве — около 5 лет. Я начинал свою карьеру как Unity3D & C++ разработчик в аутсорсинговой компании iLogos, проработал там полтора года.

В 2014 году я заинтересовался Unreal Engine 4. Как и Unity, это компонентно-ориентированный движок. Каждый месяц платил $30 со своей джуниорской зарплаты за лицензию. Надо сказать, это здорово било по бюджету. И спустя некоторое время я решил найти работу по этому профилю. Так как в Украине на тот момент практически не было проектов на UE4, искал вакансии за границей. Получив оффер от польской компании VividGames, я поехал в город Быдгощ на позицию UE4 & C++ разработчика. Там тоже проработал около полутора лет: сначала в UI-команде, позже — в Engine.

Затем я вернулся в Украину и около года сотрудничал с компаниями ProgramAce и CommuniClique. Несколько месяцев назад основал собственную компанию. Мы занимаемся разработкой игр и VR-приложений. Помимо этого, я преподаю на курсе разработки игр games.education.

В этой статье я хочу рассказать, какие специализации программистов бывают в геймдеве и что нужно учить, чтобы развиваться в этой индустрии — с фокусом на Unreal Engine.

Специализации программистов в геймдеве

Сначала пару слов о технологиях: в геймдеве чаще всего пишут на C++. Всевозможные тулзы и сборки в Unreal Engine написаны на C#. Также используется визуальный язык программирования Blueprints — на нем сделано большинство поверхностных систем UE, например, анимационные графы. Если вы заинтересованы в мобильной разработке, вам также пригодится знание нативных языков — к примеру, Objective-С и Java.

Обычно в геймдев-компаниях есть такие роли разработчиков:

  • Gameplay Developers;
  • Engine Developers;
  • Animation Developers;
  • DevOps Developers;
  • Tools Developers;
  • UI Developers;
  • Graphics Programmers;
  • Audio Developers;
  • Client Developers;
  • Back-end Developers.

Причем у нас и странах СНГ принято считать, что один разработчик должен в равной мере обладать всеми вышеперечисленными компетенциями. В западных компаниях обычно предлагают человеку выбрать для себя одно направление и углубляться именно в нем.

Рассмотрим каждую роль подробнее:

Gameplay Developers — отвечают непосредственно за механику. При этом Gameplay-разработчики плотно сотрудничают с гейм-дизайнерами, которые и поставляют им механику. Что касается технологий, в Unreal Engine можно быстро прототипировать за счет Blueprints и писать базовые классы для геймплея за счет С++.

Engine Developers — разрабатывают непосредственно движок: утилиты, тулзы для других разработчиков, занимаются SDK-интеграцией.

Animation Developers — занимаются разработкой анимационных систем, работают со Skeletal animation, делают тулзы для разработчиков и аниматоров. Чаще всего такие специалисты нужны в компаниях, которые работают с кастомными движками — например, Ubisoft, Gameloft, Deep Silver. Так, Ubisoft разрабатывают собственную систему симуляцию одежды, и у них есть вакансии для Animation Developers, которые занимаются непосредственно физикой.

DevOps Developers — занимаются микросервисами, работают с клиентами, такими как Battle . net от Blizzard, Uplay от Ubisoft, которые позволяют пользователям игр совместно играть через интернет, а также покупать и обновлять игры онлайн. DevOps Developer — это одна из самых новых специализаций в геймдеве.

Tools Developers — пишут непосредственно тулзы для гейм-дизайнеров: на Qt или прямо внутри движка.

UI Developers — занимаются графическим интерфейсом, к примеру, делают разнообразные меню, переходы между ними. Могут быть и более сложные задачи — например, кастомизация внешнего вида трехмерного персонажа.

Graphics Programmers — отвечают за качество картинки, работают с низкоуровневым слоем: OpenGL, DirectX. Пишут шейдеры, оптимизируют графику конечного продукта.

Audio Developers — работают со звуком, создают различные эффекты, такие как эхо. Эта специальность начала набирать обороты после появления VR, где нужен трехмерный звук. К примеру, могут работать с интегрированием материалов, от которых отражается звук.

Client Developers — занимаются обработкой событий, работают с верхними интерфейсами.

Back-end Developers — работают с сервером, парсерами, получением данных, при этом никак не касаясь непосредственно игры.

Геймдев в Украине и за рубежом

К сожалению, в Украине весь геймдев построен на аутсорсинге. В некоторых компаниях есть свой продакшн — как правило, это казуалки. Мне кажется, если вы намерены серьезно развиваться как гейм-разработчик и работать над крутыми проектами, следует ехать за рубеж.

На собеседованиях в заграничных компаниях, как правило, спрашивают, чего вы хотите, какая специализация вам наиболее интересна. Проверяют знание базовых вещей: к примеру, если вы идете на Graphics-программиста, у вас спросят об опыте работы с anti-aliasing, моделью Фонга.

Что-то сверхсложное не спрашивают. К примеру, самое трудное, что я встречал по своему опыту и историям знакомых, — вопросы по многопоточности. Просили привести пример какого-нибудь worker thread.

Чтобы попасть в заграничную компанию, помимо хорошего английского требуется опыт работы так что, скорее всего, вам придется столкнуться и с украинскими компаниями. Из компаний с собственным продакшном на украинском рынке есть Ubisoft, Plarium, Wargaming, Vostok Games, Gameloft и другие.

Что касается Unreal Engine, с весны 2015 года UE4 стал бесплатным, и с тех пор и украинские гейм-компании более активно начали работать с этим движком.

Полезные ссылки

UE4 Resources — это блог разработчика, где он выкладывает все проекты, семплы своих игр. По сути, это его портфолио. Если вы только изучаете Unreal Engine, посморите, как реализованы его проекты, попробуйте сделать по аналогии. Возможно, примеры реализации пригодятся вам при выполнении тестового задания 🙂

Tom Looman — сайт разработчика, который, можно сказать, вытянул на себе отрасль, написав много статей для Википедии, гиды по C++ и Unreal Engine. В блоге — материалы по Unreal Engine в частности и геймдеву в общем.

Rleonardi.com — интерактивное резюме гейм-разработчика. Отличный пример самопрезентации.

Как развиваться в геймдеве

Чтобы разобраться с геймдевом, вам понадобятся базовые знания объектно-ориентированного программирования, а также языка С++. Изучив азы, можно переходить к игровой специфике.

Вот примерные темы, которые должен освоить начинающий Unreal Engine разработчик:

  • особенности кодинга на С++ в движке UE4;
  • базовые элементы геймплея — Actors;
  • система управления памятью и система обработки игровых объектов;
  • работа с физическими симуляциями и силами, воздействующими на объекты;
  • создание пользовательского интерфейса, виджеты на C++;
  • создание искусственного интеллекта;
  • интегрирование SDК, разработка собственных плагинов;
  • Unreal Build System, коллекция инструментов для автоматизации разработки;
  • непосредственно разработка игры: создание инвентаря, Save System, системы событий и т. д.

Если вас интересует 3D-наполнение для уровней, работа с освещением, материалами, анимацией и динамикой, необходимо освоить:

  • основы работы в движке: интерфейс, трехмерное пространство, элементы управления;
  • дизайн уровня, в том числе шейдинг, текстуры, свет;
  • настройку итоговой визуализации сцены и игровую графику;
  • динамическую стимуляцию: атмосферные эффекты в игре, настройка поведения одежды персонажей;
  • создание игровой логики с помощью визуального программирования на Blueprints;
  • основные виды компоновки игры — шутеры от первого и третьего лица, сайд-скроллер, 2D игру, автосимулятор.

Обязательно попробуйте на практике разные роли гейм-разработчиков из тех, что я перечислял выше. Определитесь, что вам наиболее по душе, и дальше оттачивайте навыки по выбранной специализации.

Если у вас есть вопросы, пишите в комментариях, постараюсь ответить.

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

�� Подобається Сподобалось 2

До обраного В обраному 4

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *