Введение в гейм девелопмент или что бы я сказал самому себе 5 лет назад
Приветствую тебя %username%! Мне уже 20 годиков, это довольно мало, но некоторый опыт уже имеется и поэтому я хочу поделиться им с тобой!
Я постараюсь не писать бесполезной инфы, хотя последние 200 символов и так бесполезны для тебя.
Поэтому сходу к делу!
Определение профессии/хобби
реклама
Многие будучи школьниками играют в игры, часть из них задумываются стать разработчиками игр, что вот они бы если бы могли, сделали бы лучшую игру. И с оптимизацией и с крутым миром и фишками.
Но к сожалению часто многие скачивают Unity, UE4, GoDoT и на этом их карьера gamedeveloper`а заканчивается.
реклама
Как понять, что действительно нужно начинать делать свою игру?
Во-первых, нужно определить, что это не делается за неделю. Действительно хорошая игра, на которой можно маломальски зарабатывать, в лучшем случае (Совмещая с учебой и работой) будет сделана за месяц, а то и больше.
Во-вторых, нужно абстрагироваться от ничего не знающих ютуберов вроде ХауДиХо, ничего против него не имею, но принять 3 факта придется.
- Английский — важная вещь
- Математика — важная вещь
- Информатика любого уровня — тоже важная вещь
реклама
Пока что на этом список закончится, потому что остальные вещи мы сможем догнать по пути.
Начнем с начала. И снова пунктики!
С места в GameDev
Игра не строится только на программировании. Его будет много, но не больше чем всего остального.
- Что это будет за игра?
- Подробное описание геймплея, механик, реиграбельности, монетизации, базовых алгоритмов
- Определение платформы, поскольку не любую игру вытянут мобилки и тд
- Определение языка, движка и тд.
- Базовый кодинг
- Базовый дизайн
- Альфа версия
- Продвинутый кодинг
- Продвинутый дизайн
- Бета версия
- Тестирование, багфикс
- Выбор дистрибьютора
- Релиз
- Обновления
Для начала нужна идея. В идеале записать ее в телефон\на листок и оставить на неделю.
Через неделю, перечитать и понять — интересно это или нет. Далее определить масштабы, если это openworld проект, шансы что вы его потянете в одиночку стремятся к 0 и не наберетесь опыта, об этом чуть дальше.
Далее подробно расписать то, как и что будет происходить в игре. Расписать каждую механику отдельно.
Описать внешний стиль. Расписать будет ли игра реиграбельной? Как, а главное почему?
Определив функционал и визуал, можно уже определять для чего мы будем делать игру? Телефоны подходят для простых игр с минимальным управлением, геймпады подходят под аркады, файтинги, гонки и тп. Мышь и клавиатура почти под все.
Определившись с платформой мы уже будем знать, какие движки желательнее всего использовать.
Не каждый движок поддерживает все платформы. При нулевых знаниях программирования рекомендую посмотреть небольшие гайды по C++, C#, Java для понимания главных концептов программирования.
Важно отличать функции, от полей, понимать для чего нужно ООП, посмотреть минимальный набор библиотек.
Но больше всего опыта вы получите начав делать свой проект. Мои первые 9 проектов умирали еще до того как я получу какой-то опыт. Сначала я пробовал разрабатывать игры на Unity, думал, ничего мне не надо, сейчас сделаю крутую игру и все дела. Первая проблема — английская документация, ничего не понял, забил. Дальше все упиралось в то что я не знал и не понимал математику. Но в этом году я поступил в ВУЗ самостоятельно и посидев на высшмате понял, что где-то я это уже все видел, а ну да, в гайдах по разработке игр. Минимальный набор для разработки выглядит примерно так:
- Вектора и векторная алгебра
- Линейная алгебра
- Простые алгоритмы
- Английский на уровне выше среднего с пониманием IT терминов.
реклама
Я уже не говорю про производные, интегралы и тд.
Вы научились выводить Hello world? Поздравляю, самое время попытаться сделать что ни-будь в движке.
Мой выбор остановился на UE4, с переходом на UE5.
Вот теперь, создав проект в одном из движков, вы стоите на входе в огромный мир разработки, где вы потратите не одну сотню часов, но если вы дойдете до конца, будете наслаждаться тем что вы сделали.
Для начала можете использовать примитивы, в 3D это называется BlockOut
BlockOut — расстановка примитивов на сцене, для понимания габаритов и внешнего вида. Подбора цветовой стилистики
В нашем случае BlockOut будет в роли базовой геометрии, которая будет повторять размеры объектов и выполнять их логику.
Сделав играбельную логику и минимальный дизайн, скиньте свою игру друзьям\знакомым на пробу. Пусть скажут чего не хватает или что лишнее.
Это будет Альфа. Оттачивайте логику до идеала, оптимизируйте.
И выпускайте Бету, корректируйте замечания и можно идти в релиз.
Старайтесь начать с простых проектов и постепенно усложняйте себе задачу.
Если что-то не работает — гуглим ошибку — если не получилось просим друга выслушать, что делает твой код. «Эффект резиновой уточки»
Читайте как можно больше документацию в идеале на английском языке.
По мере создания игры, учите хоткеи, чем больше вы знаете про движок и его возможности редактирования тем быстрее вы делаете игру.
Важно понимать, делаю игру в одиночку уйдут тысячи часов, чтобы сделать и код и 3D модели и материалы для них. Поэтому здраво оценивайте свои возможности.
Статья не является гайдом, универсальным пособием. Но если вы захотите, заходите в дискорд и задавайте вопросы. Я отвечу на то, на что я смогу ответить. Позже будут еще статьи!
Что нужно знать для геймдева
По данным исследования сервиса Values Value и платформы InGame Job, треть всех вакансий, представленных на джоб- и индустриальных порталах в геймдеве в 2020 году, — это программисты и разработчики.
С точки зрения карьеры индустрия игр — очень перспективна в России: топовые программисты в геймдеве зарабатывают 250-350 тысяч рублей. Но программистов привлекает в геймдев не столько деньги, сколько желание поучаствовать в интересных игровых проектах.
К тому же геймдев очень специфичен по менталитету людей — здесь они менее структурированные и более творческие. Это в каком-то смысле закрытая тусовка, где нужен определенный склад ума и подход к жизни.
Почему в гейминдустрии наблюдается нехватка программистов
В индустрии всегда есть большие проекты, которые не сможет сделать одна студия. И тогда студии привлекают к себе на кодевелопмент другие компании, которые помогают портировать проект или выполнить какие-то отдельные задачи по нему. Есть большой спрос на продакшн команды.
К примеру, в нашей студии работает около 30 человек, до конца года планируем вырасти до 50-60 сотрудников, в следующем, может быть, — до 100-120. Надо сказать, что в играх работа программиста хуже всего поддается переводу на удаленку (важно личное присутствие в команде) и на аутсорс — из соображений безопасности и сложности рабочего процесса.
Почему так нужны люди? Допустим, есть студия, которая владеет известным IP и хочет сделать вторую или третью серию или какой-нибудь DLC Downloadable content — дополнительный контент, который можно установить поверх полноценной игры , но у них не хватает ресурсов. И тогда они обращаются к сторонней продакшн-команде.
Еще один фактор — это тренд на ремастеры старых игр. Компании начинают делать ремастеры игр, которые были популярны в 2005-м, в 2006-м, в 2010-м годах. Появляются новые разработки, более мощные компьютеры, более современные движки, на которых можно сделать более интересные визуальные продукты, оживить игру, в которую играли 20 лет назад.
Успех зачастую кроется в выпуске игр по уже очень известным IP.
Есть, к примеру, Assassin’s Creed, и если я выпускаю Assassin’s Creed 8, то он будет популярен, потому что в него будут играть все, кто вообще играет в эту серию игр. А новый IP выходит не так часто. Обычно его выпускают относительно новые компании, которые угадывают каким-то образом тренд.
Самый последний пример такого типа — это Valheim, который вышел в Steam и стал суперпопулярным. Думаю, никто не сможет объяснить, почему это сработало именно сейчас. Успешность игры измеряется только двумя показателями: это либо количество людей, которые в нее играют, либо деньгами, которые она зарабатывает.
Что нужно знать и уметь программисту, чтобы попасть в геймдев
Разработка игр почти всегда подразумевает какой-то фреймворк, будто то Unreal Engine, Unity или другой движок. У каждого движка есть свои особенности.
- Unreal Engine появился на основе Unreal Tournament.
На сегодняшний день Unreal Engine — самый универсальный движок, независимо от проекта.
- Unity появился как мобильный движок и свою популярность получил в мобильных играх.
- CryEngine — движок, который вырос из игры, и лучше всего подходит для игр вроде PUBG.
Входные требования к будущему разработчику игр на Unreal Engine:
- Знание C++, понимание структур данных и алгоритмов. Поскольку Unreal Engine использует C++, то базовое понимание того, как устроен этот язык, и вообще знание алгоритмов — это необходимые условия, чтобы обучить человека специфике конкретно Unreal Engine.
- Опыт коммерческого программирования. Вообще, коммерческое программирование отличается тем, что у сотрудника-программиста всегда есть понимание сроков и задач. Это особенно важно, когда несколько людей работают над одним проектом и есть четкие правила, по которым ведется совместная разработка.
- Понимание игровых механик и увлеченность играми разных жанров. Если человек не играет в игры и не понимает, как работают те или иные механики, ему будет очень сложно их реализовать. Разработка игр — это не программирование в вакууме, это понимание того, что должно получиться в итоге. Да, всегда есть документация, которую пишут геймдизайнеры, но этого недостаточно.
Где учиться на программиста в индустрии игр
Будущий программист в геймдеве должен знать язык, который используется в движке: Unity — «си шарп», в Unreal — «плюсы». Дальше, уже внутри компании или на курсах, можно глубоко разбираться в особенностях конкретного движка, как в нем строится работа и какие фичи у него есть.
Сейчас Unreal Engine — это самый перспективный движок и на ПК, и на консолях, и точно самый популярный из существующих движков. Но он достаточно требовательный к качеству, потому что «плюсы» сложнее выучить, чем «си шарп». Соответственно, Unreal сложнее выучить, чем Unity.
- Фундаментальное образование с акцентом на программирование в играх можно получить в технических вузах: например, в МФТИ есть британский бакалавриат по программированию в индустрии игр, в ИТМО — магистратура по внутриигровым технологиям.
- Уже опытные программисты могут прокачать свои знания движков и другие точечные навыки на отдельных курсах. Так, Epic Games запустили бесплатные онлайн-курсы по Unreal Engine на своей платформе. Множество курсов предлагают онлайн-школы XYZ School, Skillbox. Geek Brains. В очном формате разрабатывать игры на Unreal Engine 5 учат ребята из Rikor Games в Scream School.
В геймдеве много разных задач, редко бывают типовые истории. Невозможно просто все выучить и делать любые игры. Для каждой игры нужен свой функционал. Этому научить нельзя. Может, как раз этим геймдев и привлекателен.
Как стать геймдизайнером: пособие для чайников
Михаил Харьковский, генеральный директор компании Crystal Clear Soft, поделился с vc.ru советами, как начать карьеру геймдизайнера.
Эта статья написана для тех, кто хочет ворваться в мир геймдизайна, но не знает, с чего начать и что вообще для этого нужно: школьники, студенты и не только они.
Недавно мы в нашей компании решили упростить жизнь главному геймдизайнеру и другим геймдизайнерам, наняв им помощника-джуниора, который снял бы с них рутинные задачи и другую мелочёвку.
После нескольких десятков резюме и такого же количества собеседований стало понятно, что называть себя геймдизайнером может любой, кто только захочет, даже не имея базовых знаний. Радует только то, что на рынке сейчас довольно большой выбор: буквально лет пять назад геймдизайнера днём с огнем было не найти. Зато сейчас их стало довольно много, пусть даже среди них почти нет реальных профессионалов.
После этого и появилась идея написать статью. Как же стать хотя бы джуниором-геймдизайнером, чтобы в дальнейшем можно было пойти работать в компанию, набраться опыта и стать уже полноценным специалистом?
Ещё раз напомню, что статья рассчитана на людей с нулевым опытом, поэтому, если некоторые вещи кажутся вам очевидными, не стоит писать это в комментариях.
1. Геймдизайн — это, в первую очередь, тяжёлый рутинный труд и только отчасти креатив. Поэтому, если вы думаете, что будете целыми днями весело играть в классные игры и творить что-то великое, — сразу забудьте. Рынком сейчас правит f2p, а он не про великое и не про творчество — он про деньги и только про них. Да, это жестоко, но это реалии рынка.
2. Нужен значительный игровой опыт в различных типах и жанрах игр — а не только в тех, что вам нравятся. Вы должны выбрать как минимум по десять игр каждого жанра и поиграть в них для ознакомления, даже если вам эти жанры неинтересны.
Вы должны быть знакомы с лучшими проектами на всех основных платформах: PC, мобайл, консоли, социальные сети, желательно даже для платформ виртуальной реальности. Чем больше и разнообразнее ваш игровой багаж, тем лучше. Вы же не знаете, что будете делать на будущей работе: может, это будет match-3 для социальных сетей, а может, и клиентский MMO shooter.
3. У вас должен быть хороший вкус. Наработать его можно, не только играя в качественные игры, но и просматривая качественные фильмы, сериалы, аниме, читая хорошие книги. Нужно обращать внимание на построение сюжета, на то, как устроен мир, как поданы и раскрыты персонажи, и вообще понимать, почему одно произведение качественное и интересное, а другое унылое и бездарное.
В будущем вам это пригодится для написания сюжета игры, создания персонажей, глобальных креативных идей.
4. Учите английский: он точно пригодится. У многих в резюме написано, что английский присутствует, но на деле он очень слабый.
5. В работе геймдизайнера вам придётся писать много текста. Различная документация, описание задач в таск-трекере, пояснения программистам и другим специалистам. Примеры готовой документации можно найти в интернете, в портфолио или LinkedIn-аккаунтах уже опытных геймдизайнеров. Но нужно быть готовым к тому, что обычно у каждой компании свои стандарты оформления документации (хотя есть и общепринятые).
Что очень важно, так это орфография и вообще правильность написания текста, доступность его для понимания. Да, текстовые редакторы вроде Word исправляют ошибки — но не грамотность и правильность построения предложений. Иногда читаешь текст — и хочется побить человека, который его написал. За корявые предложения, в которых к середине полностью теряется суть. За незнание орфографии и элементарных правил диалектики.
Вторая очень и очень нужная способность — это умение кратко и лаконично пояснить суть. Многие начинающие геймдизайнеры думают, что чем больше и подробнее они напишут, тем лучше — и растягивают на десять страниц пояснение, которое можно уместить на странице. Они не понимают, что крадут время программистов и других людей, которые будут работать по этим документам, — а вместе и своё рабочее время, понижают пользу от своей работы.
Чем лаконичнее и точнее вы сможете писать, тем лучше. Для этого нужно уметь анализировать написанное, структурировать его. Вообще, структурность мышления для геймдизайнера — это главное его достоинство и одновременно главный недостаток. Она помогает грамотно описывать, но разрушает креативность — поэтому тут важен баланс.
Иногда вместо слов полезно использовать схемы, сравнительные таблицы, скриншоты — любые визуальные пояснения.
6. Очень важно умение хорошо говорить и чётко выражать свои мысли. Иногда человек хорошо выполняет тестовое задание, но на собеседовании не может три слова связать воедино.
Вы должны понимать, что работа геймдизайнера напрямую связана с постоянным тесным общением в команде и созданием задач и комментариев, поэтому без навыка коммуникации не обойтись. В интернете множество развивающих уроков на эту тему. Если с общением проблемы, нужно просто начать их решать, и всё получится.
7. Читайте как можно больше статей на тему геймдизайна на русскоязычных и иностранных порталах: это будет весьма полезно для общего понимания работы и повышения уровня ваших знаний. Да и вообще читайте всё, что касается геймдева в целом.
8. Важно следить за новостями игровой индустрии, чтобы понимать общую ситуацию на рынке, быть в тренде индустрии и всех её новостей. К примеру, если вы не знаете, кто такой Маркус Перссон, то на собеседования пока лучше не ходить.
9. Весьма полезно, если кроме геймдизайна у вас есть дополнительные навыки. Например, программирование на каком-то из языков, навыки художника, владение различными редакторами (Unity3D, Unreal и так далее), хотя бы базовые навыки работы в Photoshop, в редакторах для макетирования.
Это позволит вам лучше понимать коллег-девелоперов или, например, накидывать скетчи персонажей для дизайнеров. Тут всё зависит от врожденных способностей. Если есть талант художника, но душа просит стать геймдизайнером, то почему бы не использовать рисование в геймдизайне? Это сделает вас только лучше.
10. В работе геймдизайнера очень важно умение анализировать и разбирать на мелкие составляющие — декомпозировать. Почти в любой компании анализируют работу конкурентов и выдвигают предложения, как улучшить продукт по сравнению с тем, что есть у них. Это обязательная составляющая работы.
Сам навык придёт с опытом — тут главное практика и ещё раз практика. Главное, если вы выбрали эту профессию, то обязательно тщательно проанализируйте все свои любимые игры и поймите, почему они вам так нравятся. Старайтесь фиксировать и записывать все свои идеи.
11. Где взять опыт, когда без опыта вас никуда не берут? Это весьма важный вопрос для человека, который решил стать гуру геймдизайна. Сейчас в СНГ поднялось инди-движение, начали проводить разные конкурсы и мини-конференции. Даже на больших конференциях часть внимания уделяется инди-разработчикам — можно присоединиться к нескольким инди-командам и набираться опыта там.
Но тут есть минусы.
- Скорее всего, в инди-команде не будет людей, у которых можно перенять опыт.
- Большинство инди-команд — это лодыри, которые что-то делают только на словах, им больше нравится тусить и трепать языком, чем работать над проектом. Поэтому важно не стать таким же тусовщиком, а найти ребят, которые реально трудятся.
- Опыт в инди-командах в серьёзных компаниях не очень ценят, особенно если вы не доведёте свою игру до релиза и вам нечего будет показать. Так часто бывает в инди-разработке.
- В инди не платят зарплаты.
12. Так где же взять опыт? Мой личный совет: идите в тестировщики игр. К тестерам требования гораздо ниже, чем к геймдизайнерам, поэтому попасть на работу джуниором более реально, даже без опыта.
В этом варианте целый ряд плюсов.
- Вы будете получать зарплату. Пусть небольшую, но это всё же лучше, чем ноль в инди-разработке.
- Вы будете вариться в настоящей кухне разработки игр.
- Вы будете работать с профессиональными геймдизайнерами на коммерческих проектах и получать уже реальный опыт.
- По ходу тестирования проектов вы сможете максимально глубоко изучать различные игры (их механики, монетизацию, иные ключевые составляющие) и стремительно расширять своё понимание геймдев-индустрии.
- С позиции бета-тестировщика вы сможете перейти на позицию геймдизайнера внутри компании.
Если вы будете обладать навыками и знаниями, описанными выше, и сумеете получить нужный опыт, то сможете претендовать на работу джуниор-геймдизайнера. А в будущем, чтобы считать себя полноценным геймдизайнером, вам нужно будет создать коммерчески успешные проекты. Именно наличие успешных проектов — главное мерило профессионализма в геймдеве в целом и в геймдизайне в частности.
Если вы хотите написать материал для рубрики «Рынок игр», рассказать о разработке своей игры или кейсе её роста, присылайте материал на [email protected] .
Как стать разработчиком игр: задачи, знания, навыки
Разработчик или геймдевелопер создаёт концепцию игры, дизайн персонажей, игровые механики и доводит проект до продакшена. Если вы обожаете играть и мечтаете сделать собственный Minecraft или Greenlight, то профессия для вас. Разбираемся, как стать разработчиком игр : как освоить профессию с нуля и какие знания и навыки для этого нужны.
Кто такой разработчик игр и чем занимается
Этот специалист разрабатывает игры от и до: продумывает концепцию, рисует графику, проектирует персонажей и настраивает сценарии их развития. Разработчик создаёт целый виртуальный мир, который существует по собственным законам.
По сути это тот же программист , но с уклоном в игровую специфику. Его главная задача — написать код и подобрать такие инструменты, чтобы этот мир «ожил», а игра стала интересной для пользователя.
Разработчик может отвечать за весь проект целиком или за отдельную часть игры: геймплей, анимацию, шаблоны, графику, внутреннюю структуру или сервисы.
Легендарный симулятор жизни «Мор» принёс российской студии Ice-Pick Lodge мировую славу. В 2005 г. он стал игрой года по версии журнала «Лучшие компьютерные игры». Игра продавалась по всей Европе, большей части Азии и в Латинской Америке
Что нужно знать, чтобы стать разработчиком игр
К опыту и знаниям специалиста компании-разработчики выдвигают серьёзные требования, ведь от профессионализма геймдевелопера зависит успешность проекта.
Общие знания
Особенности игр и жанров. Важно знать закономерности построения игрового процесса и игровых миров, ориентироваться в жанрах и знать их особенности. Трудно создать игру, не умея отличать гонку от файтинга. А ещё во многих вакансиях работодатели прямо запрашивают опыт работы в определённых проектах.
Математика и физика. Именно математика помогает играм работать. Рассчитать траекторию полёта брошенной гранаты, отправить снаряд на вражескую территорию, спрыгнуть с высоты на землю или подняться по ступенькам — все эти действия рассчитываются математическим путём.
При разработке игр используют такие области математики:
- линейная алгебра,
- аналитическая геометрия,
- дискретная математика,
- тригонометрия,
- математический анализ.
Знать физику тоже нужно. Особенно если речь идёт о процессах. Предмет поможет создавать логичные законы вашей игровой вселенной: как летают предметы, как они разрушаются и падают, как двигаются, что влияет на персонажей и мотивирует их действовать.
Алгоритмы и структуры данных. Всё в игровом мире происходит исходя из чётко заданной последовательности операций. А знание алгоритмов и структур данных позволяет понять способы организации данных, их свойства и принципы работы с информацией.
Английский язык. Техническая документация обычно написана на английском — знать его обязательно хотя бы на уровне чтения. Велика вероятность, что во время работы над проектом вам понадобится помощь игрового комьюнити — тогда придётся идти на многочисленные англоязычные форумы и общаться с другими разработчиками.
Игровые движки
Игры уже давно не создают с нуля — движки, которые включают в себя шаблоны игровой логики и поведения объектов, сильно облегчают процесс. Игровые движки содержат визуальный редактор сцен, утилиту для анимаций и инструменты дизайна игрового окружения. Не надо ничего изобретать — можно взять готовое и творить.
Поэтому так важно тщательно изучить один из движков: CryEngine, GameSalad, HeroEngine, Chrome Engine, Frostbite, Source, Id Tech или Creation Engine. Наиболее популярные — Unity и Unreal Engine 4. Они же и наиболее конкурирующие. У разработчиков существует извечный спор: какой движок выбрать начинающему разработчику — Unity или Unreal Engine 4. Давайте сравним.
Unreal Engine 4
- удобная визуальная среда разработки
- большая библиотека ассетов и плагинов
- возможность портировать игр на разные платформы
- возможность интегрировать игры со многими графическими или анимационными приложениями
- мультиплатформенность
- бóльшие графические возможности
- простота работы
- широкий встроенный инструментарий разработки
Новичку будет проще начать свой путь в профессии разработчика игр с подборки «Топ-8 курсов для разработчиков игр на Unity»
Языки программирования
Движки позволяют разработать лишь базовые законы взаимодействия внутриигрового мира. Чтобы добавить в него что-то сверху, надо освоить один из языков программирования и научиться писать читабельный код.
В случае с Unity — это C# или «Си шарп». Unreal Engine 4 требует знания С++. Также не будут лишними Python, Java, JavaScript, HTML5, CSS3 и SQL.
Курсы по C# помогут разобраться, как делать игры, сайты, серверные, десктопные и мобильные приложения
Курсы по С++ помогут освоить процесс создания сложных микросервисов, операционных систем, программирования компьютерного железа и игровых движков
Программы для 3D-моделирования
Трёхмерная графика — неотъемлемый элемент любых видеоигр. Она помогает создавать объёмные объекты, добавлять им движения, накладывать текстуры и настраивать освещение сцены. Поэтому вам понадобится овладеть программами для 3D-моделирования. Есть бесплатные — Blender и платные — ZBrush, 3ds Max.
3D-эффекты для фильмов «Притяжение» и «Вторжение» Фёдора Бондарчука делала российская студия Main Road|Post . Студия разрабатывала графику и для многих других отчественных фильмов
На онлайн-курсах 3D-моделирования вы за короткое время научитесь разрабатывать текстуры, прорисовывать детали и движения персонажей
Git и GitHub
Git — наиболее популярная система контроля версий, которая позволяет вести историю разработки проекта. В Git к каждой сохранённой версии можно получить доступ и посмотреть её. GitHub — онлайн-хостинг, где хранятся сами проекты. Для начала достаточно освоить только основные операции в этих системах. Полезно будет изучить проекты с открытым исходным кодом, которые разработали и опубликовали другие программисты. Вы можете делиться своими собственными наработками и получать по ним обратную связь.
Софт-скилы
Усердие и усидчивость, аккуратность и внимание к деталям приветствуются. Ведь создать игру — это долгий и сложный процесс со множеством нюансов. Ещё пригодятся умение рисовать от руки, развитая фантазия и нестандартное мышление. И, конечно, горячая любовь к играм .
Игра 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 разрабатывает стратегии в реальном времени
Коротко о главном
- Разработчик или геймдевелопер создаёт игры: прописывает концепцию, придумывает дизайн, создаёт персонажей и разрабатывает прототип. Он реализует игровую логику и сценарии взаимодействия и следит, чтобы проект дошёл до продакшена.
- Чтобы освоить профессию, нужно разбираться в особенностях игр и жанров, понимать алгоритмы и структуры данных, знать математику, физику и английский язык.
- Для новичков подойдёт игровой движок Unity.
- Начать можно с разработки простых мини-игр или модов игр — эти небольшие проекты помогут устроиться на стажировку или на начальную позицию в студии.
- Чтобы стать разработчиком игр, нужно прежде всего научиться программировать. Язык зависит от движка. Освойте C#, если планируете писать на Unity или C++ — если на Unreal Engine 4. Ещё потребуется изучить программы для 3D-моделирования и систему контроля версий Git.
Рекомендую посмотреть подборку программ обучения для разработчиков игр от мастеров игровой индустрии