Как стать разработчиком компьютерных игр

Обновлено: 03.07.2024

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

О профессии

  • гейм-плея;
  • анимации;
  • шаблонов;
  • клиента игры и сервисов;
  • графики (не путать с animation developers, которые работают над визуалом, graphics programmers заняты технической оптимизацией, их задача – сделать проекты менее требовательными к компьютерной технике);
  • внутренней структуры ( back-end developers, они не занимаются игрой, но обеспечивают ее работоспособность).

Есть еще devops developers – специалисты, которые налаживают работу с игровыми сервисами, чтобы пользователям было удобно играть онлайн.

Обязанности разработчика игр

Разделение на профили условное. Часто несколько задач решает один человек. Или наоборот, задачи одного специалиста поручают целой группе. Если же говорить в целом, то ключевые задачи разработчика игр – это:

Гейм-девелопер работает с готовыми программными сборками, на которых сегодня пишутся игры (топ-5 самых востребованных – Unity, Unreal Engine, GameSalad, CryEngine, HeroEngine). Кроме того, ему нужно владеть языками программирования – С++, Jawa, Python и т. д. И разбираться в большом разнообразии оптимизационного софта, созданного для индустрии.

Плюсы и минусы работы разработчиком игр

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

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

Есть и минусы. Чтобы оставаться востребованным, разработчику игр нужно постоянно совершенствовать навыки и знания, расширять линейку языков программирования, осваивать новый специальный софт. До приличных зарплат в 100–150 тыс. руб. в месяц расти нужно минимум 3–4 года.

Как стать разработчиком игр?

Как и любой профессии, разработке игр надо учиться. Начать можно с колледжа, затем – поступить на бакалавриат или окончить курсы по одному из языков программирования. Конкретные «маршруты» каждому выбирать за себя. Но при этом стоит понимать, что профессия уже достигла того уровня развития, когда диплом вуза дает определенные привилегии в конкурсе на интересную вакансию.

Необходимые знания и умения

Что должен знать разработчик игр для компьютеров, планшетов, смартфонов или приставок:

  • движки, на которых создаются игровые приставки;
  • языки программирования (больше одного);
  • софт для 3D-моделирования;
  • физику процессов;
  • игровые жанры и их особенности;
  • специальное программное обеспечение (Git, Blender);
  • основы объективно-ориентированного программирования;
  • графику, анимацию и т. д.

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

Обучение

Учиться можно как в вузе, так и в образовательных центрах (в том числе при больших университетах). В обоих случаях обучение может быть очным, заочным и (оптимальный вариант, чтобы сразу набираться практики) дистанционным. Сроки зависят от выбора специальности, программы и формы обучения.

Так, курсы можно окончить за 6–12 месяцев, правда, после них нужно будет поучиться дополнительно (самостоятельно или в рамках корпоративного образования, если работодатель такую возможность предоставит). Бакалавриат можно закончить за 4–4,5 года.

Бакалавриат

Обучение на программиста предлагают многие вузы Москвы. А вот специальность разработчика игр есть лишь у некоторых. Хорошую программу (« Разработка компьютерных игр, дополненной и виртуальной реальности ») предлагает университет «Синергия» на факультете информационных технологий.

Курс рассчитан на освоение навыков:

  • игромастера;
  • игропрактика;
  • тренера по майнд-фитнесу;
  • дизайнера виртуальных миров;
  • разработчика инструментов для обучения состояниям сознания.

Основные дисциплины: операционные системы, аппаратное обеспечение, архитектура информационных систем, программирование под iOS и Android, гейм-дизайн. За 4 года студенты изучают 2 движка (Unity, Unreal Engine) и 4 главных языка программирования (C++, Java, Python, JavaScript). Выпускники получают диплом гособразца. Работать можно уже с первого курса.

Перспективы заработка

Минимум, с которого начинает разработчик игр в статусе Juniour, – 55–60 тыс. руб. в месяц. На уровне Middle с 2–3-летним стажем можно рассчитывать на заработок от 100 тыс. и более. Разработчики уровня Senior получают до 300 тыс. в месяц. Сотрудничая с западными заказчиками, можно выйти на 3,5–5 тыс. долл. ежемесячного дохода.

Как стать разработчиком игр: задачи, знания, навыки

Разработчик или геймдевелопер создаёт концепцию игры, дизайн персонажей, игровые механики и доводит проект до продакшена. Если вы обожаете играть и мечтаете сделать собственный Minecraft или Greenlight, то профессия для вас. Разбираемся, как стать разработчиком игр : как освоить профессию с нуля и какие знания и навыки для этого нужны.

Кто такой разработчик игр и чем занимается

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

По сути это тот же программист , но с уклоном в игровую специфику. Его главная задача — написать код и подобрать такие инструменты, чтобы этот мир «ожил», а игра стала интересной для пользователя.

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

Утопия «Мор» принесла российской студии Ice-Pick Lodge мировую славу

Легендарный симулятор жизни «Мор» принёс российской студии Ice-Pick Lodge мировую славу. В 2005 г. он стал игрой года по версии журнала «Лучшие компьютерные игры». Игра продавалась по всей Европе, большей части Азии и в Латинской Америке

Ежедневные советы от диджитал-наставника Checkroi прямо в твоем телеграме!

Что нужно знать, чтобы стать разработчиком игр

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

Общие знания

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

При разработке игр используют такие области математики:

  • линейная алгебра,
  • аналитическая геометрия,
  • дискретная математика,
  • тригонометрия,
  • математический анализ.

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

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

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

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

Игры уже давно не создают с нуля — движки, которые включают в себя шаблоны игровой логики и поведения объектов, сильно облегчают процесс. Игровые движки содержат визуальный редактор сцен, утилиту для анимаций и инструменты дизайна игрового окружения. Не надо ничего изобретать — можно взять готовое и творить.

Поэтому так важно тщательно изучить один из движков: CryEngine, GameSalad, HeroEngine, Chrome Engine, Frostbite, Source, Id Tech или Creation Engine. Наиболее популярные — Unity и Unreal Engine 4. Они же и наиболее конкурирующие. У разработчиков существует извечный спор: какой движок выбрать начинающему разработчику — Unity или Unreal Engine 4. Давайте сравним.

Unreal Engine 4

  • удобная визуальная среда разработки
  • большая библиотека ассетов и плагинов
  • возможность портировать игр на разные платформы
  • возможность интегрировать игры со многими графическими или анимационными приложениями
  • мультиплатформенность
  • бóльшие графические возможности
  • простота работы
  • широкий встроенный инструментарий разработки

Новичку будет проще начать свой путь в профессии разработчика игр с подборки «Топ-8 курсов для разработчиков игр на Unity»

Языки программирования

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

Программы для 3D-моделирования

Трёхмерная графика — неотъемлемый элемент любых видеоигр. Она помогает создавать объёмные объекты, добавлять им движения, накладывать текстуры и настраивать освещение сцены. Поэтому вам понадобится овладеть программами для 3D-моделирования. Есть бесплатные — Blender и платные — ZBrush, 3ds Max.

3D-эффекты для фильмов «Притяжение» и «Вторжение» Фёдора Бондарчука делала российская студия Main Road|Post . Студия разрабатывала графику и для многих других отчественных фильмов

На онлайн-курсах 3D-моделирования вы за короткое время научитесь разрабатывать текстуры, прорисовывать детали и движения персонажей

Git и GitHub

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

Софт-скилы

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

Игра Red Dead Redemption 2 от Rockstar Games

Игра Red Dead Redemption 2 от Rockstar Games сочетает в себе элементы приключенческого боевика и шутера от третьего лица с открытым миром, — одна из самых известных AAA-игр с большой армией поклонников. По состоянию на 6 февраля 2020 года было продано более 29 миллиона копий . А за первые три дня продаж игра принесла более $725 млн

С чего начать

Чтобы получить соответствующий опыт, первые шаги придётся делать самостоятельно. Без опыта тут делать нечего — компании при трудоустройстве требуют примеры проектов и минимальный набор навыков.

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

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

Дорожная карта по геймдеву

Дорожная карта по геймдеву от одного из пользователей GitHub

Устроиться в игровую студию. Готовые игры и моды вы можете положить в портфолио и показать работодателю — тогда ваши шансы найти стажировку или устроиться на вакансию младшего специалиста — джуниора в студии повысятся. Это обязательная ступень. Ведь именно в компании вы сможете поработать над реальными проектами. А значит, прокачать скилы и вырасти.

Подходящие вакансии для начинающих разработчиков можно найти в российских игровых студиях: Nival, Alawar и Playrix

Читать профильную литературу. Практику следует подкреплять теорией. Подавляющее большинство полезных книг по геймдеву написано на английском языке. Вот некоторых из них:

Общаться на форумах и чатах. Во время изучения у вас возникнет много вопросов — задать их можно в тематических сообществах. Вот наиболее популярные среди разработчиков:

За сколько можно стать геймдевелопером

Срок обучения зависит от формата.

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

Большинство же университетов предлагают программы, посвящённые информатике и информационным системам:

  • Уфимский государственный нефтяной технический университет, «Прикладная информатика» ;
  • Московский государственный технический университет им. Н.Э. Баумана, «Информационные системы и технологии» ;
  • Московский государственный университет геодезии и картографии, «Информационные системы и технологии» ;
  • Российский государственный социальный университет, «Информационные системы и технологии ».

Длительность обучения — 4–4,5 года.

Онлайн-курсы

Фундаментальное образование — это хорошо. Но университеты дают только общие понятия и мало практики — после обучения у вас не получится самостоятельно делать крупномасштабные проекты. Другая история с обучением на онлайн-курсах — они делают упор на практике.

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

Длительность обучения — от 4 месяцев.

На коротком курсе «Gamecode» от XYZ School вы за 4 месяца научитесь писать игровой код, создавать персонажей и оружие и разрабатывать искусственный интеллект. В качестве дипломного проекта вы создадите и реализуете одну из геймплейных систем: бой, хит-реакции или продвинутое перемещение

Как я стал разработчиком игр

« Профессия разработчика игр меня манила ещё в детстве, когда я рубился в Dendy или Sega. Ведь это так круто создавать собственные миры, воплощать свои идеи в жизнь.

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

Часть моих коллег работают без профильного образования, и это не мешает им делать невероятно крутые продукты. У меня тоже его нет, но я учусь каждый день, не упускаю возможность пройти интересный курс от Otus или Udemy »

Сергей Голицын, старший инженер-разработчик Zillion Whales

Компания Zillion Whales разрабатывает стратегии в реальном времени

Компания Zillion Whales разрабатывает стратегии в реальном времени

Коротко о главном

Рекомендую посмотреть подборку программ обучения для разработчиков игр от мастеров игровой индустрии

Поделитесь материалом в соцсетях — обсудите его с друзьями и коллегами!

Не знаете с чего начать?

Получите персональный список курсов, пройдя бесплатный тест по карьере

Подбор онлайн-курсов

Мария Грищенко

Пишу о digital с 2016 года. Копирайтер, SMM-специалист, пиарщик и немного продажник. Соосновательница агентства Kontora. Обожаю движ и продвижение. И вино :)


«Хочу стать разработчиком компьютерных игр, но у меня ничего не получается. Ну нет у меня таланта, не дано мне этого. Да и денег у меня не так много, а значит нанять специалистов не получится. А если брать себе в команду таких же любителей как я – какой смысл? Ничего у нас не выйдет. Устроится на работу в какую-то уже готовую компанию разработчиков – это ещё сложнее. Выходит всё – никаких вариантов».
Вот такие оправдания придумывают себе игроки, мечтающие стать разработчиками компьютерных игр. Так ли всё сложно на практике? Для начала разберём, какие нужны личностные качества для того, чтобы стать хорошим создателем игр.

Личные качества разработчика игр. Среднестатистический создатель игр. Во-первых общечеловеческие качества (начинайте загибать пальцы, если обладаете нижеперечисленным): настойчивость, усидчивость, открытость новым знаниям, хорошее чувство вкуса, богатая фантазия. Пожалуй, для начала хватит.Всё это так… общий фон личности разработчика. Самое главное: хотите заниматься созданием игр – тогда у вас должен быть соответствующий ТАЛАНТ… Сейчас, наверное, возник громогласный вопрос: «Что. Талант? А без него разве никак? Где ж мне его взять-то, этот талант?».Спокойствие, только спокойствие. Всё не так безнадёжно, как кажется.
Что такое талант? Это не какой-то дар свыше, данный с самого рождения. Вовсе нет. Пусть вас не вводит в заблуждение эта распространённая, но ложная формулировка.Талант – это сильное, жгучее и непреодолимое желание заниматься определённым делом.Без этого желания любое занятие превращается либо в обязанность, либо в интересную забаву. А вещи, созданные при таком рабочем настроении, без желания, не отличаются своим качеством. В творческих профессиях отсутствие таланта создателей чувствуется сразу.

Процесс разработки в игровой студии

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

При этом стоит научится различать понятия «мечта», «увлечение» и «желание». Когда вы только планируете стать разработчиком, ничего не предпринимая – вы мечтаете. Когда начинаете что-то делать, учитесь создавать, изучаете игровые редакторы, спотыкаясь обо всё что можно – вы увлечены этим занятием. Когда же вы уже чётко решили довести это дело до конца, когда все мосты за спиной сожжены и уже нет возможности отказаться от этой идеи, когда вы сами так решили, а не кто-то вас заставил, когда больше не останавливают никакие препятствия, все они рано или поздно уничтожаются вами с помощью настойчивости – вот тогда вы действительно «желаете». Тот, кто хоть раз был влюблён, знает, что такое желать по-настоящему.

Проблема нехватки опыта. Огромное количество игроков, сделав несколько попыток по созданию своих игр, отказываются от этой безумной идеи. Ведь сразу ничего не получается, сказывается нехватка необходимого опыта. Это неправильный подход к делу.Отсутствие должных навыков и знаний – не причина для того, чтобы забрасывать свою мечту.Главное – чувствовать в себе талант - неугасаемое и жгучее желание создать что-то своё, задать свои правила игры, посвятить этому занятию всю свою жизнь.Благодаря таланту рано или поздно улучшатся необходимые навыки, накопится требуемый уровень опыта, появится художественный вкус, интуитивное ощущение того, что и как нужно делать. Нужно лишь время и настойчивость. Только благодаря богатому практическому опыту появится возможность создать настоящий шедевр. Это действительно возможно.

В итоге, чтобы стать разработчиком игр, нужно:в начале – талант, который можно разжечь в себе самостоятельно;в процессе – терпение, настойчивость и открытость новым знаниям.
Категории разработчиковДаже если не удаётся развить в себе талант, даже и тогда можно заниматься разработкой игр. Наличие опыта так же не является обязательным условием, ведь кроме разработчиков-профессионалов существуют ещё и не менее многочисленные разработчики-любители.Вообще, разработчиков всех уровней условно можно поделить на пять типов:

Мастера – профессиональные, опытные, увлеченные своим делом разработчики, имеющие сильное желание создавать игры, отдающие этому занятию всю свою жизнь. Именно такими и должны быть идеальные создатели игр, именно они и создают шедевры, достойные звания произведения искусства. Они есть в России, но их очень мало. Они не обучают молодёжь, не набирают себе новых специалистов, не торопятся со своими релизами. Они слишком увлечены своим основным делом, чтобы развивать всю индустрию в целом. Такими мастерами могут стать только настоящие фанаты компьютерных игр.

Ремесленники – опытные разработчики, занимающиеся созданием игр так же увлеченно, но только в рабочее время, без излишнего энтузиазма. Это так называемая «средняя прослойка» создателей игр. Они выпускают интересные, качественные игры, немного не дотягивающие до шедевров. Используют в своих играх чужие наработки, искусно преобразовывая и маскируя под свои. Но иногда их опытность позволяет отшлифовывать старые идеи до такого блеска, который в итоге затмевает первоисточник.В России таких разработчиков чуть больше, чем создателей шедевров. Но на самом деле их должно быть в десятки раз больше. Если сравнивать с другими странами – разработчиков-среднячков у нас катастрофически не хватает.

Штамповщики – опытные разработчики, занимающиеся созданием игр ради заработка. Таких в игровой индустрии большинство. Те кто создают нишевые проекты, с самого начала направленные на определенную аудиторию. Главное для них – чтобы в игре были такие элементы, которые нравятся игрокам, которые уже неоднократно доказали свою востребованность. Творческий процесс сводится к минимуму. При этом ставки делаются на хорошую рекламу, на красивую графику и на стандартный игровой процесс. По большей части они выпускают упрощенные клоны популярных игр. В двух словах их творчество можно назвать «игры пустышки».Сейчас «штамповщики» активно создают онлайновые, браузерные игры, приложения для социальных сетей, постепенно оставляя в покое однопользовательские игры.

Фанаты – непрофессиональные создатели, не имеющие должного опыта, но компенсирующие эту нехватку своим сильным желанием создавать компьютерные игры. На разработку полноценных игр им не хватает денег, и чаще всего они выпускают лишь фанатские дополнения, иногда очень качественные (так были созданы: Counter Strike, DotA, Portal).Хотя в последнее время приобрёл популярность новый формат – инди игры, являющие собой небольшие, необычные, новаторские игры, не требующие большого количества денег на разработку. В результате появления инди движения, фанаты получили ещё одну серьёзную возможность реализовывать свои смелые проекты.
Любители - обычные игроки, решившие попробовать себя в игростроении. Отсутствие опыта в этом случае ничем не компенсируется, и результат их деятельности оставляет желать лучшего. Не стоит путать фанатские и любительские дополнения. Работы фанатов намного качественней, но и встречаются реже. Работами же любителей завален весь интернет.

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

Разработка игр в одиночку (инди игры) Во-первых, можно заняться разработкой игр в одиночку. В таком случае понадобятся общие знания всех этапов процесса создания игр: программирование, графика, дизайн, левелдизайн, озвучка, музыка, тексты, устранение ошибок, релиз. Если вы решите взвалить весь этот груз лишь на себя одного, то разработка средней по объёму игры может затянуться в лучшем случае на несколько лет, а в худшем – на всю жизнь.Значительно облегчить нагрузку на автора игры может готовый игровой движок. Игровой движок – это программа, содержащая в себе общие алгоритмы построения игр. Чаще всего в игровом движке уже готова система уровней, есть модели игровых персонажей, физические законы, управляющие поведением игровых объектов, модули для подключения к игре различных медиафайлов: изображений, звуков, музыки. Автору остаётся лишь подставить в готовый движок своих персонажей, создать свои уровни, события, тексты и медиафайлы. Программирование сводится к минимуму, на первый план выходит дизайн и внутреннее содержание игры.Некоторые игровые движки распространяются бесплатно, но более качественные. проработанные и современные – естественно продаются за деньги.Бесплатные игровые движки (программы для создания игр):2D: GameMaker 8, прочие;3D: GameMaker 3D, 3D Rad, Unity 3D;Flash: ---, ---, ---.Mobile: ---, ---, ---.Более подробно об этом на странице «Программы для создания игр».

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

Как стать разработчиком игр с нуля, да ещё и востребованным? Универсального рецепта нет, но есть костяк из знаний и навыков, на который можно опереться. О том, что нужно знать, чтобы попасть в сферу геймдева сегодня, рассказывают сами разработчики игр.

С чего начать?

Александр Саваткин , Senior Developer в компании Alawar

Как выстроить план обучения?

Всё обучение должно быть выстроено, в первую очередь, на практике — делайте много небольших и законченных проектов. На старте такие проекты можно найти в различных уроках, курсах, а после уже пытаться придумывать свои мини-игры. Не старайтесь сделать сразу большой проект мечты — без базовых знаний на таких проектах обучаться будет значительно тяжелее и дольше. Пусть у вас будут вместо игроков и врагов разноцветные кубы и шарики, зато вы поначалу не будете отвлекаться на более сложные детали, такие как анимация, эффекты. Постепенно научитесь работать с ресурсами, выстраивать простые сцены, попробуете работу как в 2D, так и в 3D.

Александр Саваткин , Senior Developer в компании Alawar

А что насчёт книг?

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

как стать разработчиком игр, дорожная карта

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

Особой популярность пользуются ещё такие книги по геймдеву:

Обложка книги «Foundations of Game Engine Development, Volume 1: Mathematics»

Foundations of Game Engine Development, Volume 1: Mathematics

Обложка книги «Game Engine Architecture, Third Edition»

Game Engine Architecture, Third Edition

In this new and improved third edition of the highly popular Game Engine Architecture, Jason Gregory draws on his nearly two decades of experience at Midway, Electronic Arts and Naughty Dog to present both the theory and practice of game engine software development. In this book, the broad range of technologies and techniques used by AAA game studios are each explained in detail, and their roles within a real industrial-strength game engine are illustrated.

New to the Third Edition

This third edition offers the same comprehensive coverage of game engine architecture provided by previous editions, along with updated coverage of:

  • computer and CPU hardware and memory caches,
  • compiler optimizations,
  • C++ language standardization,
  • the IEEE-754 floating-point representation,
  • 2D user interfaces,
  • plus an entirely new chapter on hardware parallelism and concurrent programming.

This book is intended to serve as an introductory text, but it also offers the experienced game programmer a useful perspective on aspects of game development technology with which they may not have deep experience. As always, copious references and citations are provided in this edition, making it an excellent jumping off point for those who wish to dig deeper into any particular aspect of the game development process.

Key Features

  • Covers both the theory and practice of game engine software development
  • Examples are grounded in specific technologies, but discussion extends beyond any particular engine or API.
  • Includes all mathematical background needed.
  • Comprehensive text for beginners and also has content for senior engineers.

Что лучше, самостоятельная разработка игры или командная?

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

Стоит отметить, что первые шаги нужно делать самому, ведь как стать разработчиком игр и претендовать на должность, не имея за спиной соответствующего опыта? Если же вы не планируете вливаться в штат, а мечтаете стать разработчиком инди-игры и вести собственный проект, придётся набивать шишки самостоятельно.

Какие языки должен знать разработчик игр?

Если говорить о программировании, есть несколько основных языков. C++ — базовый язык программирования, на котором строятся почти все процессы на стороне сервера, он также может быть использован и в других задачах. Но также задействуется много других языков программирования: C++, Java, HTML5, CSS3, JavaScript, SQL — все они используются для разных целей.

Однако ввиду комплексности игр, люди упростили процесс, так что вам не обязательно погружаться во все сложности и нюансы каждого языка программирования (хотя это и полезно). Какой язык вам изучать — зависит от того, каким типом игр вы хотите заниматься и какой движок вы используете. В целом, самые большие игры с наиболее сложным контролем используют C++ в качестве основного языка программирования.

А какие инструменты нужно освоить?

После того, как научитесь делать совсем простые игры, разберитесь в параметрах сборки проекта на разные платформы, помимо Windows. Например, ещё и на Android. В новых версиях Unity с установкой можете сразу же поставить Android SDK и другие необходимые компоненты и модули. Для iOS чуть сложнее — установите соответствующий модуль для Unity. Также понадобится устройство на MacOS, где будете собирать проект в Xcode. Разработка под разные платформы позволяет взглянуть немного шире, выйти за рамки и встретиться с новыми проблемами и сложностями. Так, для мобильных платформ уже нужно учитывать нагрузку на ЦП, пытаться оптимизировать свой код, сцены и ресурсы. Здесь уже часто становится важным иметь понятия о сложности алгоритмов, а также более широкое знание о самих алгоритмах над различными структурами данных.

В момент разработки какого-нибудь проекта создайте репозиторий, выложите свой проект, например в GitHub, и научитесь пользоваться системой контроля версий Git. Здесь можно использовать различные удобные вам клиенты (SourceTree, GitHub Desktop и другие). Для начала достаточно освоить основные операции. Попробуйте поработать над проектом с кем-то ещё. Так как работа в команде является неотъемлемой частью процесса разработки, то можно ознакомиться с тем, как процесс взаимодействия происходит в командах, например, почитать, какие гибкие методологии разработки бывают, настройте для себя Kanban-доску и отслеживайте там свои задачи.

Александр Саваткин , Senior Developer в компании Alawar

Как продвигать и монетизировать проект?

Когда у вас уже есть небольшой опыт, можно задуматься и о том, как же публикуются приложения. Проще всего сделать собственные аккаунты на Google Play или AppStore. Здесь стоит внимательно изучить требования к приложениям, технические детали, а также детально ознакомиться с админкой.

В дальнейшем стоит обратить внимание на использование различных SDK. Например, вы захотели добавить монетизацию в вашу игру на GooglePlay или добавить Play Services. Для публикации в Steam вам тоже потребуется столкнуться со Steam SDK. Опыт работы и подключения различных SDK ценится работодателями, тем более, если есть конкретные примеры удачного использования.

Александр Саваткин , Senior Developer в компании Alawar

Что-то ещё?

В идеале ещё нужно иметь базовые знания по математике, линейной алгебре, геометрии. Работа над более сложными проектами требует большой внимательности, аккуратности. Для работы над сложными системами, для подготовки и реализации архитектуры игры желательно иметь понимание паттернов проектирования, и, опять же, не просто знать теорию, а научиться применять знания в рамках используемого движка. Есть ещё множество различных направлений, где можно углубляться и развиваться — от разработки шейдеров, написания своих модулей и библиотек, до попытки разработки своего простого движка на C++ (используя, например, библиотеку SFML).

Александр Саваткин , Senior Developer в компании Alawar

В заключение

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

Читайте также: