7 советов, помогающих начать делать игры прямо сейчас
При написании статьи я руководствовался целью помочь читателю сделать первый шаг в геймдеве. Большинство новичков совершают одни и те же ошибки, стремясь сделать больше за короткий промежуток времени. Такое стремление ни к чему не приводит. Лишь единицы добиваются какого-либо успеха и становятся признанными членами клуба разработчиков.
В статье я даю советы, которые помогут новичку избавиться от страхов и неопределённости в том, чем и как ему стоит заниматься, если он хочет начать разрабатывать компьютерные игры. Советы касаются не только геймдева, но и улучшения личностных качеств человека.
Каждый раздел содержит ссылки на полезные ресурсы, поэтому рекомендую добавить статью в закладки и рассказать о статье друзьям, которые увлекаются видеоиграми. Статья будет время от времени дополняться, поэтому прошу вас писать свои отзывы о ней в наш чат.
Следите за размером проекта
Самая распространённая проблема новичков - мечта об игре AAA-класса, сделанная в кратчайшие сроки и при наименьших трудозатратах. К сожалению, игры, которые служат нам вдохновением, делаются командами из 50-100 человек на протяжении нескольких лет. Такие игры в одиночку не осилить. Придётся потрать очень много лет своей жизни, изучить множество специализаций - и не факт что в итоге у вас получится отличная игра.
Главный совет, который можно дать новичку - начните с малого. Не ставьте перед собой цель сделать хит с первого раза. Не стоит неделями работать над реализацией одной идеи, засевшей вам в голову. Вместо этого поставьте перед собой цель учиться на маленьких и простых играх. Создавайте проекты с минимумом графики и состоящие из одного уровня, но в которые можно играть, на которых можно оттачивать своё мастерство. Уже на этом этапе вы добьётесь успеха, которого не добилось большинство людей. Сохраняйте свои наработки для использования в комплексных проектах. Разбиение цели на подзадачи заставит вас видеть быстрый результат и двигаться дальше. Кстати, этот подход помогает не только в разработке, но и в жизни.
Полезные ссылки:
- Тайм-менеджмент простыми словами. Не пытайтесь слопать корову целиком!
- Методы разбиения задач на подзадачи. Рекурсия, «Разделяй и властвуй» динамическое программирование
- Декомпозиция целей или как съесть слона целиком
- How to Get Started in Game Development
Относитесь к критике как к улучшению своих навыков
Создавая игры вы верите, что в них будут играть. Но когда вы сделали свою первую игру - некрасивую, забагованную, незавершенную, - ваше желание показать её публике куда-то улетучивается. И очень зря.
Любой проект, который вы считаете законченным, нужно выносить на общественную оценку. Даже если он никому не понравится, вы не должны принимать это близко к сердцу - ведь вы учитесь создавать игры, а не являетесь экспертом в игрострое. Получили фидбек - двинулись дальше и улучшили то, что вызвало шквал критики.
Такое поведение помогает достигнуть две цели. Во-первых, вы понимаете, что нужно улучшить в вашей игре и в ваших навыках. Во-вторых, делясь своими играми, вы запускаете "сарафанное радио" о своей персоне. Да, первые отзывы могут быть в негативном ключе. Как уже было сказано, чем больше практики, тем больше качество создаваемых вами игр. Вы сами создаёте свою историю про становление профессионала из молодого новичка - будет что рассказать в старости.
Полезные ссылки:
- Флудилка Кодзимы - телеграм-группа, в которой мы общаемся на тему разработки игр
- Форум разработчиков игр GameDev.ru
- То же самое, на английском
- Форум независимых разработчиков TIGForums
- Reddit/r/gamedev
- Форумы IndieGamer.com
Выберите игровой движок, имеющий поддержку комьюнити
Да, я говорю об очевидных Unity, CryEngine и Unreal Engine. Эти движки самые простые для освоения и постепенному наращиванию опыта. И дело не в удобном и интуитивно понятном инструментарии, а в качественной системе поддержки.
Каждый движок имеет огромную базу документации и учебных материалов. С их помощью можно последовательно изучать особенности создания игр, искать более простые способы решения возникших проблем. Если вы не нашли решение своей проблемы в материалах - не стесняйтесь задавать свои вопросы на форумах комьюнити. Поверьте, большинство людей будут рады вам помочь советом или фрагментом готового кода.
Полезные ссылки:
- Сайт Unity
- Форум Unity (раз, два)
- Официальные уроки по Unity
- Сайт Unreal Engine
- Форум Unreal Engine
- Уроки по Unreal Engine (раз, два)
- StackOverflow - сервис вопросов и ответов на тему программирования
Не бойтесь программировать
Самой большой преградой перед новичками является мысль о программировании и о создании миллионов строчек кода. Программирование кажется сложнее, чем 3D-моделирование или проектирование дизайна уровней. Поверьте, это не так. Программирование занимает не больше времени, чем разработка других аспектов игры (при учёте, что вы уже что-то умеете делать).
Процесс программирования - это уже само по себе интересно. Думайте о том, как каждая новая написанная строчка кода двигает вас на шаг ближе к новым знаниям и новой работоспособной версии игры. Не думайте о том, что для программирования нужен сильный математический аппарат и красный диплом мехмата МГУ. Программировать может любой читатель данной статьи, главное - не лениться и не думать что у вас ничего не получится.
Полезные ссылки:
Делайте то, что у вас получается лучше всего
Определите, что у вас получается делать лучше всего. Вы хорошо рисуете? Нарисуйте несколько спрайтов и фоновых рисунков, и с их помощью сделайте платформер. Не умеете рисовать, но хорошо программируете? Сделайте игру с простой графикой, но с разнообразной механикой. У вас плохо получается и то, и другое? Ничего страшного! Пока вы учитесь программировать и рисовать, создайте карту своего проекта как геймдизайнер, проведите его декомпозицию и сделайте план по изучению на неделю. Придумайте персонажей, механики, спроектируйте их взаимоотношения. Не забывайте о том, чтобы проект не становился большим - расскажите камерную историю при помощи доступных вам инструментов.
Для тех частей проекта, которые даются вам с большим трудом, находите замену в виде готовых решений. В этом вам помогут магазины ассетов, на которых вы можете приобрести интересующие вас вещи практически за бесценок. Система диалогов, деревьев навыков, управлением временем - всё это можно найти в магазинах и использовать в своей игре. Так же многие разработчики выкладывают свой код в открытый доступ на GitHub, чтобы вы так же могли им воспользоваться в своей игре.
Полезные ссылки:
Учите основы геймдизайна
Так как вы - главный и единственный разработчик игры, вы должны научиться проектировать игры так, чтобы они могли доставлять удовольствие. Не забывайте: то, что нравится вам, может никому больше не нравиться. Поэтому при создании игры важно следовать основным принципам геймдизайна.
Геймдизайн - очень объёмная часть цикла разработки игры. Выберите то, что вам больше всего нравится из списка ниже, и начните искать материалы, помогающие в изучении выбранной сферы:
- Правила и механики;
- Нарратив и взаимоотношения между персонажами;
- Левел дизайн;
- Саунд дизайн;
- UI/UX проектирование;
- Балансировка игровых параметров.
Следование принципам геймдизайна поможет вам лучше представлять процесс разработки игры и лучше понимать их суть.
Полезные ссылки:
- Кодзима гений - канал о геймдизайне (ну а как же без него?)
- DTF.ru/Gamedev - подсайт DTF, посвященный разработке игр
- Gamasutra - англоязычный сайт со статьями об особенностях разработки
- GDC Vault - англоязычный сайт c докладами конференции Game Developers Conference
- Библиотека GameDev Library, состоящая из литературы по разработке игр
Вы можете начать разрабатывать игры уже сейчас!
Ещё одной преградой новичков является мысль о том, что они недостаточно подготовлены к разработке игр. Это неправда, вы можете начать разрабатывать игру с этого самого момента. Вам достаточно выбрать игровой движок, скачать на компьютер среду разработки и начать писать свою первую игру! Ссылки, указанные в статье, помогут вам начать обучение и вливаться в комьюнити геймдева. Главное помнить обо всех вещах, которые были описаны в статье.
Прямо сейчас возьмите и сделайте первые шаги в сторону профессиональной разработки игр!
Напоследок скажу, как бы романтично не звучал призыв к немедленному начинанию разработки своей игры, вы должны помнить, что быстрых результатов в этой сфере нет. Целеустремлённость и сосредоточенность, а так же сильное желание разрабатывать игры будут вашими верными друзьями на этом нелёгком пути. Не сдавайтесь, как бы тяжело вам не было на вашем пути. Находите поддержку у комьюнити и создавайте своё собственное сообщество людей, которые загораются вашей идеей.
Удачи!