December 3, 2018

7 советов, помогающих начать делать игры прямо сейчас

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

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

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


Следите за размером проекта

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

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

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

  1. Тайм-менеджмент простыми словами. Не пытайтесь слопать корову целиком!
  2. Методы разбиения задач на подзадачи. Рекурсия, «Разделяй и властвуй» динамическое программирование
  3. Декомпозиция целей или как съесть слона целиком
  4. How to Get Started in Game Development

Относитесь к критике как к улучшению своих навыков

Создавая игры вы верите, что в них будут играть. Но когда вы сделали свою первую игру - некрасивую, забагованную, незавершенную, - ваше желание показать её публике куда-то улетучивается. И очень зря.

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

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

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

  1. Флудилка Кодзимы - телеграм-группа, в которой мы общаемся на тему разработки игр
  2. Форум разработчиков игр GameDev.ru
  3. То же самое, на английском
  4. Форум независимых разработчиков TIGForums
  5. Reddit/r/gamedev
  6. Форумы IndieGamer.com

Выберите игровой движок, имеющий поддержку комьюнити

Да, я говорю об очевидных Unity, CryEngine и Unreal Engine. Эти движки самые простые для освоения и постепенному наращиванию опыта. И дело не в удобном и интуитивно понятном инструментарии, а в качественной системе поддержки.

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

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

  1. Сайт Unity
  2. Форум Unity (раз, два)
  3. Официальные уроки по Unity
  4. Сайт Unreal Engine
  5. Форум Unreal Engine
  6. Уроки по Unreal Engine (раз, два)
  7. StackOverflow - сервис вопросов и ответов на тему программирования

Не бойтесь программировать

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

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

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

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

Делайте то, что у вас получается лучше всего

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

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

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

  1. Магазин ассетов Unity
  2. GitHub

Учите основы геймдизайна

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

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

  1. Правила и механики;
  2. Нарратив и взаимоотношения между персонажами;
  3. Левел дизайн;
  4. Саунд дизайн;
  5. UI/UX проектирование;
  6. Балансировка игровых параметров.

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

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

  1. Кодзима гений - канал о геймдизайне (ну а как же без него?)
  2. DTF.ru/Gamedev - подсайт DTF, посвященный разработке игр
  3. Gamasutra - англоязычный сайт со статьями об особенностях разработки
  4. GDC Vault - англоязычный сайт c докладами конференции Game Developers Conference
  5. Библиотека GameDev Library, состоящая из литературы по разработке игр

Вы можете начать разрабатывать игры уже сейчас!

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

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


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

Удачи!