Найти тему
Phototaxis Games

Как я в 30 лет стал разработчиком компьютерной игры с "нуля" за 1 год

Оглавление
Решил поделиться тем как я стал gamedev разработчиком не имея за спиной никаких навыков, знаний и ресурсов. Я подробно расскажу какие шаги были мной предприняты, какие ресурсы я изучал, сколько тратил на это время и денег (Спойлер - ни копейки)

Начать свою историю следовало бы с того, что как и многие другие я с детства увлекался видео играми. Сначала это было Dendy и Subor, Sony Playstation и вот однажды я попал в свой первый компьютерный клуб...

Итак я рос со страстной привязанностью к компьютерным играм, но не имел малейшего представления как эти игры делаются и что для этого надо. Закончил обучение, женился, обзавёлся 3 детьми, сменил массу работ и застряв на рутинной работе в маленьком провинциальном супермаркете понял, что если сейчас не поменяю чего то в своей жизни - "пиши пропало". Так я задумался о работе, которая способна приносить удовольствие и приличный заработок. Желание творить и любовь к компьютерным играм предопределила мой выбор.

Вбив в поисковой строке гугла заветную фразу : "как сделать свою игру" был ошеломлен огромной массой всяческих видеоуроков и на удивление убедительными заявлениями блогеров, как это просто и что для этого ничего и знать то по сути не нужно (забегая в перед, выражу свое мнение,- что это далеко не так)

Так я начал жадно поглощать статью за статьей, видео за видео пытаясь понять что к чему и с чего надо начинать.
Так я начал жадно поглощать статью за статьей, видео за видео пытаясь понять что к чему и с чего надо начинать.

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

Unity против Unreal Engine

Если не считать крупных геймдев компаний, которые создают движок игр с "0" специально под свои нужды, то абсолютное большинство современных ПК игр используют один из двух игровых движков Unity и Unreal Engine.

лучшие условно бесплатные игровые движки
лучшие условно бесплатные игровые движки

Я не являюсь авторитетным знатоком в этом направлении и по этому не стал бы давать какие то окончательные выводы относительно каждой из этих систем. Поэтому просто поделюсь своими субъективными выводами после значительного штудирования материала.
Итак Юнити - это больше для простеньких, "мультяшных" игр на мобильных платформах. Этот движок широко используется и для серьёзных ПК игр. Но в моей сравнительной шкале ценностей, Unity значительно уступает по многим параметрам Unreal Engine.
Забегая на перед именно на UE я и остановил свой выбор. Среди прочих преимуществ этот движка со своими конкурентами я бы выделил:

  1. Лучше графика и рендер
  2. Более качественная физика
  3. Выше уровень стабильности
  4. Интуитивно понятный интерфейс и редактор
  5. Шикарные бесплатные библиотеки ассетов от Quixel
  6. Наличие простого и легко обучаемого визуального языка программирования BluePrint
  7. Более выгодные системы отчислений от прибыли
  8. Отзывчивое комьюнити и фидбек от Епик Геймс (несколько раз обращался к разработчикам с пояснением тех или иных моментов и мне всегда моментально отвечали)
  9. Наличие инновационных технологий в real-time, онлайн кросплатформ системы, генерации гипперреалистичных персонажей, а еще впереди ждет супер крутые технологии с приходом следующего поколения Unreal Engine 5
Визуальный язык программирования Blue Print
Визуальный язык программирования Blue Print

Программирование для чайников


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

Начал искать курсы по программированию... По сколько Unreal Engine работает на С++ выбор пал на этот язык. Не буду рекламировать какие то конкретные ресурсы, потому что их в открытом доступе очень много и все достаточно толковые. В качестве вывода напишу, что для новичков есть путь проще и значительно приятнее. Я имею ввиду, упоминаемый мной ранее визуальный язык программирования, так называемых "чертежей" - Blue Prints. Освоить на достаточном уровне для создания практически любой игры этот язык можно буквально за месяц. Лично я скачал пару курсов на торрентах, если кому то интересно могу дать ссылочки.

От идеи до готовой игры...

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

Графика и дизайн

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

Как вы уже, наверное, догадались. Я очень сильно заблуждался. Тут следует сделать небольшой отступ. Как правило для игр используется два вида графики: 2D и 3D. Так вот в случаи с 2Д - умение рисовать пригодится, а вот с 3Д - все намного сложнее. А поскольку я твердо решил делать игру в 3 измерениях меня ждало не меньше трех кругов ада обучения, практики, работы над ошибками и еще 10 раз практики.

Начать свое знакомство со ср..едой создания моделей в 3D следует из выбора приложения. Тут имеется достаточно широкий выбор софта.

-5
  • Autodesk 3ds Max - одна из самых первых программ для создания трехмерной графики
  • Autodesk Maya - пожалуй, эталон в профессиональном мире 3d графики и game deva
  • Blender - бесплатный аналог Maya
  • Cinema 4d - то же самое с уклоном в моушен-графику
  • 3D Coat - тоже самое с уклоном в скульптинг органический моделей

Надо отметить, что все эти программы платные(кроме Blendera), но всех их можно скачать на торрентах и использовать без каких-либо ощутимых ограничений

Разумеется мой взор пал на Autodesk Maya (что кстати всем, кто собирается искать работу в game dev -настоятельно рекомендую изучать). Вот только во время изучения возможностей этого софта, начал регулярно сталкиваться с просто таки вопиющей нестабильностью. Программа много кратно крашилась. Недолго думая о последствиях, начла изучать Cinema 4d. Забегая на перед, я очень доволен "синькой". Она максимально стабильна, очень функциональна, интерфейс порядком лучше Майи... но как оказалось позже - никому не нужны работники работающие в этой среде.

Вот несколько моих самых первых работ

Стилизованный персонаж тигренок-арбуз. С ригами для создания  анимации
Стилизованный персонаж тигренок-арбуз. С ригами для создания анимации
и еще
и еще
и еще
и еще
и еще
и еще

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

Мультипликация

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

-10
-11
-12
-13

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

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

Моя первая игра.

Собрав, как казалось мне, всю необходимую информацию я приступил к разработке фентезийной мобы вроде League of Legends , Dota или Smite. Около месяца я трудился над кодом, над окружающим миром, персонажами, навыками и VFX эффектами. Каково же было моё разочарование на первом тесте, когда моя якобы многопользовательская игра - совсем не игралась в кооперативе... Не стану вдаваться в технические детали, но проблемой тому стала абсолютная неподготовленность и незнания подноготной геймстроя. Совет новичкам - лучше начинать с более простых игр и не браться за проекты которые не способен осилить.

Сцены из так и не законченной "первой игры"
Сцены из так и не законченной "первой игры"
Карта MOBA игры, которую так и не закончил
Карта MOBA игры, которую так и не закончил

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

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