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

Обновлено
Как с нуля стать разработчиком игр – геймдевом

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

У работы в игровой индустрии много плюсов: хорошая зарплата, творческая атмосфера, интересные задачи, саморазвитие и результат – это проекты, которыми пользуются миллионы людей

Содержание:

 

В последние два десятилетия создание видеоигр – один из наиболее крупных сегментов рынка развлечений: по масштабу игровая индустрия сопоставима с производством кино. Как с нуля стать разработчиком игр и войти в gamedev, «ПрофГид» расспросил опытных создателей игр.

Кирилл Коломбет
Senior Frontend Game Developer at Omnigame (ведущий разработчик игр в Omnigame), Копенгаген, Дания

Как с нуля стать разработчиком игр?

Самый быстрый способ научиться необходимым навыкам – это начать работать по специальности. Но без опыта найти работу непросто. Компании не хотят брать стажеров, потому что они могут отнимать время более опытных разработчиков. Чтобы получить первую работу, надо быть готовым поначалу поработать в любой компании за минимальную зарплату, чтобы в дальнейшем получить опыт и перевестись туда, где будет интересно. Сейчас есть много работы в мобильном сегменте разработки игр для casual-аудитории, где можно изучить современные игровые движки и технологии, это хорошая возможность получить первый опыт.

Самостоятельная учеба

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

Рекомендую книги изучать более фундаментальные, про разработку в целом. Вся актуальная информация по разработке написана на английском и к тому времени, как ее переводят, обычно устаревает. Поэтому движки лучше изучать на практике, в процессе разработки игры. А когда возникают вопросы или проблемы, не стоит стесняться задавать вопросы на Stack Overflow и в других сообществах специалистов. Для игрового разработчика знание английского языка хотя бы на уровне чтения технической литературы – навык, без которого не обойтись.

Рекомендации по книгам:

  • «Игровой движок. Программирование и внутреннее устройство» (Грегори Джейсон).
  • «Шаблоны игрового программирования» Боба Найстрома.
  • «Unity в действии. Мультиплатформенная разработка на C#». 2-е межд. издание
  • «Unity и C#. Геймдев от идеи до реализации». 2-е изд. (Бонд Джереми Гибсон)
  • Creating Games from Scratch Using SDL 2.0 (William Sherif).

Статьи легко найти, используя поисковики. Если статья свежая, то она, скорее всего, поможет с решением проблемы. Качественные статьи обычно опубликованы на известных площадках (например, «Хабр»). У статей обычно бывают хорошие комментарии, дополняющие или исправляющие неточности. Бесплатные обучающие видео можно найти не YouTube, например на каналах «Школа разработки игр» и ITVDN.

Доступные онлайн-курсы с видео (требуют знания английского языка) на Edx:

Вопреки слухам, что для создания игр требуется высшая математика и образование, знания математики нужны всего лишь минимальные. Вся математика уже заложена в игровой движок, а программисту требуется только вызывать правильные методы. Сейчас можно самостоятельно изучить Unity или Unreal, либо взять что-то попроще вроде GameMaker Studio или Construct. Знаю человека, который разрабатывал игры и побеждал в конкурсах игровой разработки, не написав ни одной строчки кода, – всю игру можно собрать в редакторе. Чтобы начать разрабатывать небольшие игры самому, нужно только желание.

Высшее образование: быть или не быть?

Раньше вузы не предлагали образовательных программ по направлению «разработчик игр». Сейчас есть как большой выбор курсов и вузов, так и материалов для самостоятельного обучения. Все технические вузы очень хороши в качестве дополнения к самообразованию. Нетворкинг с другими студентами позволит быстро найти единомышленников для создания команды. Для тех, кому важны фундаментальные знания (C++, разработка графических/физических движков), рекомендую обучаться в более серьезных вузах по направлениям, связанным с фундаментальной информатикой, математикой или физикой, а движки изучать самостоятельно.

Из Российских университетов, которые учат разработке игр, могу порекомендовать ИТМО (Питер) и МИРЭА (Москва). Но также подойдут лучшие московские технические вузы: МГУ (факультет ВМК), МФТИ, МГТУ им. Н. Э. Баумана, МИФИ. В них дадут фундаментальные знания, а разработку игр придется изучать самостоятельно.

Программы обучения на разработчика игр в российских и зарубежных вузах:

Курсы: «за» и «против»

Сейчас много курсов, обещающих легкий путь в игровую индустрию. То, что изучают на курсах, можно пройти самостоятельно, в удобном вам темпе. Часто курсы не дают фундаментальных знаний, а учат работе с одним конкретным движком. Люди без фундаментальных знаний, но со знанием инструмента могут быть полезными в рутинной работе, например в UI-разработке. Курс может мотивировать, но в игровой индустрии обычно у людей с мотивацией проблем нет. Если же вы уже безуспешно пытались изучить разработку самостоятельно и вам нужна помощь или команда, курсы с этим могут помочь.

В заключение

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

Те, кто хотят стать игровыми разработчиками, сначала могут попробовать стать программистами. Можно разработать игру без движка, используя встроенные в языки программирования низкоуровневые библиотеки или графические API. Большинство разработчиков игр используют игровой движок Unity, в котором основной язык разработки C#. Знание этого языка сильно облегчает вход в профессию.

Сергей Голицын
Senior Java Developer в команде Zillion Whales

Попасть в разработку игр я мечтал с самого детства. И вот наконец-то я смог заниматься созданием игр. Наверное, если бы у меня появился шанс начать сначала, я бы немного изменил свой путь. Скорее всего, себе прошлому можно было бы начать читать Unity in Action еще в школе. Невероятно интересная книга. С доступным объяснением и кучей примеров. В то же время я бы рекомендовал посмотреть в сторону backend. Ведь никто не знает заранее, что может понравиться именно тебе. Также у Unity есть отличные обучающие материалы, где подробно объяснят, что такое движок Unity и как не потеряться в богатом интерфейсе этого движка.

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

После того как вы освоитесь в Unity, необходимо более детально изучить ваш язык программирования. С Unity обычно используют C#. Очень рекомендую изучить несколько книг по нему. Конкретные книги я советовать не буду, так как все воспринимают по-разному информацию из книг.

Когда вы уже спокойно разбираетесь в Unity и C#, можно начать задумываться о более серьезной игре. Практически всегда в играх присутствует игровой сервер. И вам нужно понять, хотите ли вы писать сервер? Если хотите, то C# и тут вам поможет, и вы сможете создать игровой сервер. При создании сервера вам придется где-то хранить информацию об игроках и различную метаинформацию. Вот и пришло время познакомиться с базами данных и SQL. Если вы не планируете углубляться в северную разработку, то не стоит тратить много времени на это. Тогда лучше сосредоточиться на UI/UX, а сервер оставить тому, кому нравится заниматься разработкой на backend.

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

Константин Сахнов
Научный руководитель и основатель программы «Менеджмент игровых проектов» ВШБ НИУ ВШЭ. Эксперт инвестиционного фонда Сколково в области игровой индустрии

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

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

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

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

Тот же Skillbox занял другую нишу – массового онлайн-образования, основанного на просмотре предзаписанных видеоуроков. Здесь будет ниже цена, проще обучение. Это массовый продукт, который проходят тысячи человек. При таком подходе нет личного общения с каждым студентом, формирования команд из студентов и т. д. Тем не менее для многих это очень удобно. А Вышка не может физически запускать более 2 потоков в год по 50–60 студентов, но Skillbox также активно движется в сторону работы со студентами и помогает делать свои продукты.

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

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

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

Образование не даст вам гарантий трудоустройства. Только Mail.ru может пообещать трудоустроить в Mail.ru. Если кто-то обещает гарантированное трудоустройство, поинтересуйтесь, как это общение закреплено юридически в договоре на оказание образовательных услуг.

Подведем итоги

  1. У разработчика игр два варианта в хода в профессию: работа в команде и инди-разработка – Indie game (сокращение от independent video game, что переводится как «независимая компьютерная игра»), создание игр в одиночку или очень маленьким коллективом без финансирования издателем.
  2. Тем, кто решил пойти по непростому пути соло-разработки игр, придется изучать самому все – от движков до написания сценария.
  3. Самостоятельно несложную игру можно сделать на простых движках вроде Game Maker или Construct. Под более масштабные проекты придется искать единомышленников-одиночек и кооперироваться с ними или, если позволяет бюджет, нанимать людей для конкретных задач.
  4. Путь кооперации вполне может вывести на совершенно другой уровень: законченный проект, даже если он не принес дохода, – это весомый «аргумент» на собеседовании в студии по производству игр. Кроме того, у дружной и продуктивной команды есть все шансы самой стать студией или издателем.
  5. В любом случае учиться разработке игр надо на практике, параллельно восполняя пробелы в знаниях.
  6. Еще один действенный способ с нуля стать разработчиком игр – получить геймдев-образование. Соответствующие программы уже есть в российских вузах, например, в ИТМО, МИРЭА, НИУ ВШЭ.