«Ничего не умею, но хочу делать игры!» С чего начать?

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

Советы

  • Игры создаются по-разному. Эта статья — так, общий обзор. Вы вправе найти тот способ создания игр, который подходит вам лучше всего.
  • Вряд ли вы сорвете большой куш и станете миллиардером сразу после размещения игры в сети. Создание игр — это творчество, а деньги — так, бонус.
  • Люди будут сомневаться в том, сможете ли вы сделать игру. Это нормально. Пока вы верите в себя — вы сможете.
  • Начните с простых игр. Деньги не должны быть в приоритете. Создайте игру, которая вам нравится. Придет время, будут и деньги.
  • Помните о своей аудитории. Вы создаете игру для детей, подростков или для взрослых? Знать это нужно для рекламы. К примеру, игры для детей стоит рекламировать в детских программах, а не в газетах или ночных передачах.

Этап №1: Разработка идеи ?

Совет ?

У вас есть отличная идея! Как вы ее запишите?

Каждый рано или поздно найдет для себя наиболее подходящий способ записи: кто-то будет писать 60-страничные проекты и документы, а кто-то, как я — писать кучу заметок на одной странице, понятные мне одной. Я не знаю, какой способ вы выберете, но я могу дать вам несколько советов о том, что нужно прописывать:

  • Изюминка. Почему вы считаете идею своей игры превосходной? Для меня это наиболее важный пункт в проекте. Как только вы определитесь с «изюминкой» вашей игры — прописать оставшиеся пункты проекта не составит вам большого труда! Ваша игра заставляет над чем-то задуматься? Может быть она скандальна? Или же это ремейк классики прошлого? Или это нечто новое, что никто и никогда не разрабатывал?
  • Механика. Что, как и с какой целью делает ваш игрок — это и есть геймплей вашей игры. Например: клавиши QWOP могут использоваться для простого перемещения или общения в «мистическом чате» игры, но также они могут быть использованы для составления множества боевых комбинаций, как в игре «Dwarf Fortress».
  • Сюжет. Какую историю вы хотите рассказать всем тем, кто будет играть в вашу игру? Какие эмоции они будут испытывать? У каждой игры есть своя история. Если сюжет вашей игры не так очевиден — придумать ее сможет и сам игрок. История может быть придумана в игре про числа «2048». Игрок, играя в популярную стратегию «Civilization», может сам придумать историю становления своего государства. Даже в игре «Monument Valley», с ее безмолвием, каждый додумывает свою историю. Подумайте, какую историю расскажет ваша игра?
  • Настроение. Какое впечатление окажет ваша игра на игроков? Каково будет ее графическое оформление? Какой звук? Первое впечатление об игре очень важно — игра может «зацепить» пользователя с первых минут и в итоге он будет играть в нее и дальше. Возможно вы сделаете вашу игру в стиле ретро: с пиксельной графикой и музыкой в стиле ретро-вейв. А возможно, вы выберете ультра-современный дизайн, с плоской геометрией объектов, «чистыми» текстурами и инструментальной музыкой.

*Сложно придумать хорошую идею для игры? На этом этапе всем нам бывает очень сложно что-то придумать. Что же делать?

  • Присоединяйтесь к игре hackathon/jam. Вам и другим участникам будет поручено сделать игру за короткий промежуток времени. Во время участия в хакатоне вы встретите единомышленников, которые будут поддерживать и помогать вам. А что насчет творческого волнения и конкуренции во время работы? Все это благоприятно скажется на вас и на ваших навыках! Не знаете с какой площадки начать? Рекомендую попробовать Ludum Dare — одну из самых больших площадок для разработчиков!
  • Записывайте все свои идеи! Я и многие другие разработчики, которых я знаю, записываем все свои идеи. Таким образом, когда вы не сможете ничего придумать, вы сможете вернуться к своим старым идеям и мыслям и что-то из них почерпнуть!
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Когда вас неожиданно посещает муза или появляется вдохновение — отложите свои дела и запишите все мысли и идеи! И когда вы впадете в творческий ступор, вам не придется высасывать идеи из пальца.

Ресурсы?

Все нижеперечисленные ресурсы и программы опробованы мною лично и многими из них я пользуюсь до сих пор!

Для заметок:

  • Notes для Mac (?)
  • Google docs (?)
  • Trello

Для совместной работы (для команд):

  • Google drive
  • GitHub (?). Требуются git и Unity .gitignore.
  • Unity Collab. Самый простой сервис из трех. У бесплатной версии есть ограничения.

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

Для разработчиков:

-Книга «The Art of Game Design» . Автор Джесси Шелл

-Сайт Gamasutra

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Цель будущего проекта

Как создаются видеоигры от идеи до продажи

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

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

Game Maker Studio 2

Из платных конструкторов игр я бы выделил Game Maker Studio 2, мощность и простота которого поражает. Хотя в GMS2 можно создать 3D игру, она больше ориентирована на 2D игры и если вы хотите создать что-то вроде Undertale, Hotline Miami или Cuphead – это программа для вас. Мощнейший редактор спрайтов и анимации, простой Drag and Drop интерфейс, обновленный аудиомиксер и мощный отладчик – все это делает GMS2 идеальной программой для начинающего разработчика. Чего только стоит фича редактирования анимации в реальном времени – после нее уже не хочется пользоваться графическими редакторами для создания анимации.

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

Clickteam Fusion 2.5

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

На Ютуб есть серия хороших уроков по программе, поэтому прежде чем начинать работать, можно посмотреть и решить – нужно ли вам это.

Первый этап – дизайн документ

Далее вам нужно создать дизайн документ для новой игры. Другими словами – вам нужна идея игры. О чём будет игра? Что там будет происходить? Какой это будет жанр? Сколько времени и денег займёт разработка? Таких вопросов очень много и перед началом создания игры очень полезно составить какой-то примерный план.

Базовые вещи о том, как написать дизайн документ для игры, вы можете найти тут:

  • Как написать дизайн документ игр

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

GDevelop

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

Этап №2: Арт ?

Совет?

Вы продумали свою игру и записали все свои идеи; Мои поздравления — это потрясающе! Теперь пора поработать над реализацией ваших задумок!

(Если вы не умеете кодить, то я советую вам для начала перейти к этапу номер 3 — программирование. Ведь вы не хотите создавать модели и концепт- арты, для того чтобы потом их просто выкинуть, потому что вы не сможете их использовать в своей игре без кода).

Вы не умеете рисовать? Не волнуйтесь. Каждый из нас может нарисовать что-то красивое, руководствуясь тремя основными принципами визуализации: цвет, форма и пространство.

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

UI

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

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Что лучше? ?

2D анимация

У вас есть два варианта для создания 2D анимации:

  • Кадр за кадром. Здесь вам придется рисовать каждый кадр анимации и затем соединять их воедино. Для этого вам следует использовать спрайт- листы вместе с TexturePacker (или, если вы используете Unity — Sprite Packer).
  • Скелетная анимация. Нарисуйте все нужные конечности объекта и затем анимируйте, меняя их положение относительно предыдущего состояния. Этот способ анимации быстрее, проще и сэкономит место на вашем жестком диске, по сравнению с анимацией «кадр за кадром». Если вы решили создать 2D анимацию и используете движок Unity — попробуйте начать с анимации спрайтов или Anima2D.
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Разное

Вот несколько общих советов по оформлению игр:

  • Разбивайте элементы на плитки для создания плиточных изображений и экономии места на жестком диске.
Неразбитый и разбитый на плитки элементы

Неразбитый и разбитый на плитки элементы

  • 9-частей / 9-квадратов. Масштабируйте объекты с немасштабируемыми границами через центр изображения (растягивайте и сжимайте изображение) для изменения его масштаба и сохранения памяти.
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

? Синее пятно увеличилось, однако его расположение осталось неизменным

  • Сделайте каждую текстуру или объект кратным размеру 4 и силе равной 2(мера качества изображения) для экономии памяти.
  • Если вы используете Photoshop, используйте «File»> «Export»> «Layers to Files», для того чтобы быстро экспортировать каждый слой в виде файла (например PNG или JPEG).

Ресурсы?

Программы для создания UI:

-Photoshop (?).

-Sketch.

Концепции UI:

Программы для создания 2D объектов (ассетов):

  • Photoshop (?).
  • Gimp.
  • Paint Tool SAI — отлично подходит для создания плоских изображения в стиле аниме.

Программы для создания 3D объектов:

  • Blender (?). Мощная программа, которую достаточно сложно выучить.
  • Maya. Хороша для анимации.
  • Max. Хороша для рендеринга.

Сайты с ассетами:

  • Behance. Шрифты + иконки + темы дизайна
  • KennyNL. Полностью готовые к игре UI /2D /3D арт и ассеты высокого качества.
  • Open Game Dev Art. Огромная пользовательская библиотека концепт- арта.

Для вдохновения:

  • Dribbble. Дизайнерские концепт-арты от приглашенных художников.
  • Behance. Пользовательские дизайны.
  • itch.io . Сайт с инди-играми.
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Игровая механика

Как создаются видеоигры от идеи до продажи

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

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

Прототипирование для чайников: как сделать хорошую игру
Прототипирование для чайников: как сделать хорошую игру

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

Что касается реализации игровой механики, то все начинается с программирования объектов, к которым относится главный герой и другие модели. Далее идет программирование управления и написание физического движка. Второй, как правило, отвечает за движения объектов, которые происходят без воздействия на них игрока. И, наконец, разработчики садятся за написание искусственного интеллекта (ИИ), который помогает оживить NPC, врагов и прочих персонажей в игре.

Godot

Бесплатный движок, который поддерживает комьюнити. Поддерживает самые разные платформы и идеален для тех, кто не хочет платить, но хочет мощный инструмент для работы с 3D и 2D. А еще это вероятно единственный подобный движок, имеющий простую настройку управления в игре.

Предупреждения

  • Избегайте попадания в рейтинг AO (Adults Only — только для взрослых) от ESRB, иначе ни продавцы, ни интернет-магазины не захотят продавать вашу игру.
  • Проблемы и сложности обязательно будут. Но не опускайте руки! Создание хорошей игры требует немало времени, но результат оправдает все усилия!
  • Создавать игру — не так весело, как играть в нее. Многие юные геймеры хотят создать игру, лишь потому, что любят в них играть. Играть и разрабатывать — разные вещи. Вам придется проходить один и тот же отрывок игры сотню, а то и тысячу раз, и так нужно будет делать годами. Если вы терпеливы — дерзайте. Многим наскучивает создание игры уже через пару месяцев.
  • Изучите всю доступную информацию, чтобы понять, действительно ли разработка игр — это то, чем вы хотите заниматься.

Этап №3: Программирование ?

Совет?

Debug.Log(“Oh boy! Time to code!! ^_^”);

Шаг первый. Сперва решите, какой игровой движок и IDE(интегрированная среда разработки) вы будете использовать для создания своей первой игры. Мои рекомендации относительно выбора игрового движка и IDE находятся ниже, в разделе Ресурсы.

Шаг второй. Пишите код.

Вы никогда не занимались программированием? Не беспокойтесь — вы все выучите!

Нижеприведенные основополагающие принципы C++ помогут вам разобраться с кодом и этого вполне хватит на первое время (все примеры кода приведены на C ++, одним из основных языков программирования, используемых в Unity 3D):

1) Типы данных и переменные. В основе всего кода лежат данные. Эти данные хранятся посредством переменных. Вы можете написать переменную подобным образом:

int i = 0;

Давайте разберемся с этим поподробнее:

int— это тип данных. i — это имя переменной. 0 — значение переменной.

С этим разобрались. Теперь попробуем разобраться вот с этим:

string s = “pusheen is best cat”;

string — это тип данных. s — это имя переменной. И как вы наверное уже догадались, что “pusheen is best cat” — это значение переменной.

Некоторые общие типы данных: int и long — являются данными целых чисел. float и double — используются для обозначения десятичных чисел. А строка (string) может нести в себе любое предложение (даже пустые «»).

Хотите узнать больше? Посмотрите это и вот это.

2) Оператор if. Этот оператор проверяет, является ли какое-либо условие истинным. Если да, то он запустит код, находящийся внутри него:

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Если условие оказалось неверным, альтернативное действие определяется связкой операторов else if:

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Либо можно прописать тело кода для оператора else отдельно:

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

3) Циклы For и while. Цикл while выполняет код, находящийся в теле цикла, до тех пор, пока данное условие истинно. Когда условие ложно, цикл while завершается:

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Подумайте: как долго этот цикл будет продолжаться?

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Цикл For работает также как и цикл while:

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Это эквивалентно этому:

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

4) Основные структуры данных. Итак, у нас есть определенные виды данных которыми мы можем манипулировать. Мы также можем хранить эти данные в некоторой системе — структуре данных. Вот виды структур данных, которые вы должны знать: массивыспискиочередистеки и наборы.

Вот пример массива:

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Чтобы получше разобраться во всем этом перейдите по этой ссылке.

5) Функции и исключения. Функция — это небольшая строка кода, описывающая большой участок кода. Например, если вы вызовете:

EatBread();

EatBread() будет выглядеть вот так:

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Вызов EatBread() на самом деле будет вызывать два оператора в функции EatBread(). Если вы допустите ошибку в коде — это может привести к возникновению исключения. Красные «злые» ошибки будут как бы говорить вам: «Эй, назад! То что вы сделали — просто не работает. Вернись и проверь».

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

Что ж, есть еще несколько вещей, которые вы должны будете знать:

6) Язык. На каком языке вы собираетесь писать свои игры? C ++? Javascript? C #? Каждый язык отличается друг от друга и может позволить вам делать несколько разные вещи.

7) API (интерфейс прикладного программирования). После того, как вы изучите основы программирования, вам придется изучить конкретный API вашего игрового движка. API — это, по сути, множество мощных инструментов, которые можно объединить в простые классы и функции. API упрощают жизнь.

И последнее:

8) При выборе игрового движка, поинтересуйтесь и посмотрите уже выпущенные игры на том или ином движке. На движках Unreal и Unityнаписана целая масса бесплатных игр. Вы можете создать свою игру, основываясь на другой игре. (Я сделала свою первую игру на основе платформера Corgi Engine.)

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Слова поддержки: Я понимаю, сначала вам будет страшно, когда вы начнете программировать. Понятное дело, поначалу вы будете чувствовать неуверенность и собственную некомпетентность. Вы будете постоянно допускать одни и те же ошибки, снова и снова. Это не значит, что вы плохо программируете — у вас просто недостаточно опыта. Примите этот вызов!

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

Несколько важных моментов:

  • Объектное ориентирование. Делайте свой код более естественным.
  • Названия. Называйте свои классы, методы и переменные так, чтобы название передавало его цель и задачи. Например, функцию атаки в ближнем бою следует назвать meleeAttack (), а не mA () или protecbutalsoattac (). Вы (и все остальные, кто будет читать или работать с вашим кодом) должны понимать, что, зачем и почему.
  • Декомпозиция. Если определенный участок кода повторяется — поместите его в отдельную функцию. Вызывайте эту функцию по мере необходимости, вместо полного дублирования повторяемого кода.
  • Используйте паттерн Singleton. Он позволяет предоставить доступ извне к данным, которые должны храниться в одном экземпляре.
  • Избегайте статики. При создании игр я избегала создания статических переменных (одиночные игры — исключение). Их жизнь — это время жизни игры, а они медленные и в редакторе они могут вести себя непредсказуемо.
  • Паттерн наблюдателя. Он позволяет не тратить время на проверку компьютером кода, который должен исполниться, в зависимости от другого участка кода.

Несколько важных вещей в Unity:

  • Сопрограммы. IEnumerators (перечислители) и Coroutines (сопрограммы) позволяют создавать определенные алгоритмы действий. Я, например, использую их для: создания всплесков визуальных эффектов, передвижения и для режима ожидания в загрузке игровой сцены.
  • ScriptableObject (скриптуемый объект). Класс, который экономичнее и эффективнее содержит данные, чем MonoBehaviors.

Ресурсы?

Выбор игрового движка:

1) Вы можете написать свой собственный движок! Требуются знания C/ C++ на низком, системном уровне.

2) Unity — кросс-платформенный, поддержка 2D/3D. Требуются знания Javascript / C # уровня middle.

3) Unreal Engine — кросс-платформенный движок, поддержка 2D / 3D (2D плохо поддерживается). Требуются знания C ++ уровня middle.

4) pixi.js — поддержка 2D. Требуются знания Javascript уровня middle.

5) GameMaker Studio — кросс-платформенная программа, поддержка 2D / 3D. Требуются знания GML начального уровня.

6) Corona — фреймворк, кросс-платформенный. Требуются знания Lua начального уровня.

Среда разработки:

  • Visual Studio Code для MacOS (?) — очень плавно работает, не тормозит и обладает потрясающими функциями VSCode (встроенная справочная информация, быстрая навигация и т.д.).
  • Visual Studio для Windows (?).
  • MonoDevelop — поставляется с Unity, часто тормозит.

Бесплатные ассеты для Unity:

Для Unity существуют тонны бесплатных ассетов в Unity Asset Store, GitHub, bitbucket и на других сайтах. Я постоянно их использую в каждом своем проекте. Сделайте свою жизнь проще — пользуйтесь! Но помните, что они неидеальны. Если вы заметили в них какие-то ошибки — исправьте их или сообщите разработчику!

  • TextMeshPro (?).
  • LeanTween (?).
  • Fungus.
  • Corgi Engine.
  • Dialogue System.
  • Post Processing Stack.
  • Keijiro Takahashi — он работает с движком Unity, у него есть удивительные визуальные эффекты для Unity с открытым исходным кодом, которые вы также можете использовать!

И последнее, но не менее важное! Средство №1 для разрешения всевозможных проблем в программировании: Google!

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Love2D

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

Место действия

Как создаются видеоигры от идеи до продажи

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

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

Что из себя представляет профессия геймдизайнер и что нужно делать на должности
Что из себя представляет профессия геймдизайнер и что нужно делать на должности

Кто такой геймдизайнер и какие его основные обязанности в студии, которая занимается разработкой игр….

Defold

Но если Love для вас слишком сложен, есть смысл попробовать Defold от компании King, известной своими мобильными хитами. Defold значительно упрощает создание игр, а его мощности вполне хватит на типичную инди или мобильную игру. Желательно знание языка Lua, хотя для простой игры хватит и нескольких руководств.

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

Этап №4. Звук

Советы?

Во-первых: вам нужны звуки?

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

Если ваш ответ: «Да, мне нужно звуковое сопровождение», то каким оно будет?

Добавите ли вы музыку? Звуковые эффекты? Озвучку персонажей или голос рассказчика?

В любом случае прислушайтесь к моему совету: записывайте и сочетайте звуковое сопровождение таким образом, чтобы оно полностью соответствовало настроению вашей игры. Например, «Bastion» сочетает различные струнные музыкальные инструменты и пение, соответствующее игровому миру. «Crypt Of The Necrodancer» использует смесь электронных битов и чиптюн-рока, чтобы игроку было комфортно играть в эту красочную и ритмичную игру.

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

Ресурсы?

Программы для создания и обработки звуков:

Logic Pro. $200. Только MacOS.
FL Studio (?). $99–899. Есть бесплатная версия.
Reaper. $60–225.
Audacity (?). Бесплатная программа. Ограниченный функционал. Крайне полезна для очистки аудио от различных шумов.

Генераторы ретро-звуковых эффектов:

Бесплатные звуки:

  • Soundcloud (?). Soundcloud распространяет огромное количество великолепной музыки под эгидой Creative Commons (CC). Вот плейлист
  • , который подойдет для ознакомления. Перед использованием бесплатной музыки, обязательно убедитесь в том, что это легально.
  • Incompetech (?). CC музыка.
Bensound. Тоже CC музыка.

Bensound. Тоже CC музыка.

Долго-ли учиться рисованию? 

Вообще, как и любому делу – учиться можно и нужно всю жизнь, а совершенству предела нет. Однако, посмотрите еще раз

мои рисунки

.

Ну не прям вот ужас, да? Плохо конечно, но не прям вот?

Ну вот, это я рисовал компьютерной мышкой в очень простом графическом редакторе, а учился рисовать я 1-2 месяца, рисуя по 1 картинке в неделю, максимум.

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

У меня есть видео

(16 минут)

:


Там я рассказываю свои мысли о том как учиться рисовать и зачем это нужно.

Этап №5. Шлифовка

Советы?

Эй! Ты здесь! Ты сделал это! Это просто невероятно (я серьезно, если ты доберешься до этого этапа, я бы хотела, чтобы ты со мной связался и показал свою игру)!

Ты точно закончил…верно?

Что ж, я уверена на 99.99999%, что в игре наверняка есть баги.

А это значит, что пришло время ее протестировать!

Тестирование на предмет багов

  • Поручи другим людям сыграть в твою игру. Ты наверняка будешь окрылен проделанной работой, и вряд ли найдешь в своем творении хотя бы половину ошибок. Но лучше, если другие будут играть перед тобой, потому что, когда произойдет столкновение с проблемой, они с трудом смогут описать ее в подробностях.
  • Запускай игру на всех целевых платформах. Твой проект может работать в редакторе, но работает ли он, например, на IOS? Для Linux и различных версий Android это особенно болезненная тема, так как там постоянно что-то выходит из-под контроля.

Супер, ты нашел баг. Что делать дальше?

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта
  • Проверь консоль на наличие исключений. Нашел? Хорошо! Найди файл и номер строки, в которой возникло исключение. Если исключение звучит как что-то с другой планеты — гугли внятное объяснение. Затем выясни, почему тот номер строки вызывает исключение.
  • Все еще не можешь понять в чем причина? Напиши в консоль. Вызови оператор в те места, которые, по твоему мнению, вызывают проблемы. Выведи значения переменных и проверь, являются ли выведенные переменные теми, что ожидались. Если нет, исправь ситуацию.
  • Становится только хуже? Проверь журнал событий. Журнал проекта даст тебе значительно больше информации, чем консоль. Внимательнее прочти строки, в которых произошло исключение. Гугли все, что не знаешь. Сможешь все починить?
  • Ложись спать. Утром все встанет на свои места и этот баг забудется, как дурной сон. Верно??

Распространенные ошибки

  • NullReferenceException.

var.doThing(); //throws NullReferenceException: Object reference not set to an instance of an object

Что не так: Ты пытаешься воспользоваться чем-то, что равно null(несуществующая переменная).

if(var != null)
{
var.doThing();
// do the thing safely!
}

  • SyntaxErrorException.

Что не так: Недопустимый синтаксис в коде.

Решение: В сообщении об ошибке должно быть указано, какой символ выдает ошибку. Просто измени символ.

Совет: Если символ обрамляется двойными кавычками, убедись, что используешь «правильные» кавычки. Как на примере снизу.

” //dumb quote
” //smart quote. I promise these’ll give you trouble at some point in your life. ?

  • Розовый или черный экран.

Что не так: Некоторые шейдеры не могут нормально отобразиться.

Решение: Возможно ты используешь 3D шейдеры для 2D игры. Или какая-то функция шейдера не поддерживается OC, на которой выходит игра. Также стоит убедиться, что ты используешь мобильные шейдеры для мобильной игры.

После того, как покончишь с багами, займись оптимизацией.

Общие советы по оптимизации

  • Задайте целевую частоту кадров. Целевая частота кадров должна быть 20FPS для визуальной новеллы, и 60FPS для шутера от первого лица. Чем ниже целевая частота кадров, тем быстрее игра рендерит их.
  • Анимация/ система частицOcclusion Culling. Occlusion Culling — это функция, отключающая рендеринг тех объектов, которые в данные момент не видит камера. Персонажи будут анимированными, частицы будут обновляться, а 3D-модели будут отображаться только тогда, когда их видно.
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта
  • Сожмите аудио и текстуры. Crunch поможет вам сжать текстуры. Также снизьте качество звука. Обратите внимание, что сжатие может заметно ухудшить качество ассетов. А может и не снизить. Это как повезет.
  • Объектный пул. Это порождающий паттерн проектирования, набор инициализированных и готовых к использованию объектов. Когда системе требуется объект, он не создаётся, а берётся из пула. Когда объект больше не нужен, он не уничтожается, а возвращается в пул. Как вы догадались, это очень повышает производительность.
  • Используйте Ray Casting, а не Ray Tracing. Если в рейтрейсинге лучи трассируются для каждой точки экрана, то в рейкастинге стены всегда перпендикулярны полу, и поэтому есть возможность трассировать всего один луч для целого столбца экрана — именно поэтому рейкастинг и является наиболее быстрым методом построения трёхмерной проекции.

А вот это советы для тех, кто не боится трудностей:

  • Оптимизируйте шейдеры. Дайте рендереру материал для работы. Это сэкономит ресурсы в начале, так как игре не нужно будет создавать для всего новые материалы. Пусть шейдер включает только то, что функционально необходимо (например, кнопка, не требующая маскирования, может использовать Sprite шейдер)
  • В Unity используйте AssetBundles вместо Resources. AssetBundles берет дополнительную память, как из интернета (например, Dropbox), так и из локального хранилища(например, жесткий диск).

Ресурсы ?

Все они принадлежат Unity, но могут быть применимы к другим движкам.

Скрипты:

Арт:

Память:

Специфичные платформы:

Этап №6. Публикация ?

Советы?

Поздравляю! У тебя что-то, да получилось! Пришло время показать всему миру твой проект.

Лично для меня, момент для публикации — самая тревожная часть. Если ты в чем-то сомневаешься, то сообщество разработчиков будет лучшим местом для первой публикации! Ведь ты в этом не одинок и ты зашел так далеко — может быть, стоит дойти до конца, верно?

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

По поводу прессы. Напишите в игровые СМИ о вашей игре по email за неделю до релиза, чтобы дать им время написать или отснять материал по вашей игре. Скорее всего, они вообще ничего не напишут о ней. Я заметила, что «пресса» любит интересные истории разработчиков, уникальную / противоречивую концепцию. Но самое главное: опишите ваш проект и процесс его создания в мельчайших деталях!

Как найти подходящее СМИ для публикации?

  • Найдите блогеров или писателей, которые вам нравятся, просто загуглив их имена. Их электронная почта должна где-то появиться: Twitter, LinkedIn и т. д. Или..
  • Найдите электронную почту журнала / компании на странице About.Выглядят они примерно вот так: tips@company.com.

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

Публикации в СМИ о моей игре:

Участвуя в игровых фестивалях, вы можете получить всевозможные награды и/или получить признание других разработчиков или СМИ.

Участвуйте во всевозможных конференциях, вы сможете обзавестись полезными связями с другими разработчиками и компаниями (не забудьте оставить им свою визитную карточку!)

3. Youtube и стримеры. Игровые блогеры могут сделать видео о вашей игре, если:

  • Если у нее будет высокий рейтинг на игровых платформах, где она была опубликована.
  • Если вы отправляете сведения о вашей игре посредством email, то не пишите о себе — пишите о вашей игре. Будьте краткими и убедительными. Сопровождайте ваше письмо красивыми картинками с концепт-артом и гифками.
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

4. Социальные сети.

Социальные сети — это отличный маркетинговый инструмент. Например, Agar.io заполучила аудиторию на 4chan, Butterfly Soup безумно быстро раскрутилась на Twitter, но не стоит забывать и про другие социальные сети, которые всегда попадают в мой Топ-4 лучших рефереров:

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

5. Не менее важный вопрос: положиться на издателя или попробовать сделать все самому?

Игровой маргетинг- это огромная сфера. Хотите, чтобы издатель урегулировал все вопросы? Можете отправиться путем Hotline Miami x Devolver Digital или же сделать все самому, как разработчики Farmville или Doki Doki Literature Club’s.

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

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

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

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

6. Нажмите кнопку «Опубликовать»!

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

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

Просто осознайте, что вы создали настоящую игру! Вы многому научились. Этого достаточно.

К тому же, ваша следующая игра точно станет хитом!

Ресурсы?

Платформы для дистрибуции игр:

  • Steam (?). PC. Требуется 100$ для публикации своей игры.
  • Origin. PC.
  • GOG. PC. Бесплатно для публикации. Игра должна пройти строгую модерацию.
  • Mac App Store. MacOS. Требуется Apple Developer account.
  • itch.io (?). PC/Web. Бесплатно для публикации.
  • Game Jolt (?). PC/Web. Бесплатно для публикации.
  • Armor Games (?). Бесплатно для публикации. Нужно получить статус разработчика.
  • Kongregate (?). Web. Бесплатно для публикации.
  • Newgrounds (?). Web. Бесплатно для публикации.
  • GitHub (?). Web. Бесплатно для публикации на вашем собственном сайте с доменом в формате “___.github.io”.
  • Amazon. Web/Mobile. Бесплатно для публикации.
  • Google Play (?). Mobile. Требуется внести единоразовый платеж в 25$.
  • iOS App Store (?). Mobile. Требуется Apple Developer account.

Игровые журналы:

Игровые фестивали:

Игровые конференции:

  • Game Developer’s Conference (GDC). Сан-Франциско.
  • Penny Arcade Expo (PAX). Сиэтл/Бостон/Филадельфия/Мельбурн.
  • Electronic Entertainment Expo (E3). Лос-Анджелес.
  • Tokyo Game Show. Япония.
  • Steam Dev Days. Сиэтл. Только для Steam разработчиков.

Информация о игре:

Социальные сети:

  • reddit. Выберите подходящий subreddit. Мои фавориты- /r/WebGames, /r/IndieGaming/ и /r/visualnovels.
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта
  • Facebook. Создайте страницу игры в группе на Facebook или разместите информацию о игре на личной странице (если у вас есть возможность). Также на Facebook есть множество других групп, где вы можете показать свою игру! Вот некоторые из них:

https://www.facebook.com/groups/GameDevShowAndTest

https://www.facebook.com/groups/IndieGameDevs/

https://www.facebook.com/groups/IndieGamePromo/1066211690197686/

  • Tumblr.
  • Twitter. Попробуйте пройтись по хэштегам #gamedev,#indiedev, и #screenshotsaturday.

Комьюнити:

Заключение

Нет никакого чит-кода для быстрого создания игры. Есть только решимость и труд.

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

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

С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта

Читайте нас в телеграмме, vk

Перевод статьи Angela HeFrom Zero to Game Designer: how to start building video games even if you don’t have any experience

От редакции

  • Онлайн-курс «Геймдизайн с нуля: станьте профессионалом игровой индустрии»
  • Онлайн-курс «Создание продукта: аналитика, разработка, продвижение»
  • Онлайн-профессия «Python-разработчик»
  • Онлайн-профессия «Ruby on Rails разработчик»
  • Онлайн-курс «PR в digital: стратегия, репутация, инструменты»
  • Онлайн-курс «Дизайн мобильных приложений: интерфейсы, архитектура, визуальная концепция»

3D

Создание 3D моделей дело трудоемкое. Это практически виртуальная скульптура. Но существуют программы эту задачу упрощающие. Например Magicavoxel – воксельный Open Source редактор, позволяющий создавать модели из маленьких квадратиков – вокселей. Из-за простоты использования очень хорошо подходит детям. Также в нем можно делать наброски будущих локаций для более серьезных редакторов. Когда я впервые запустил Magicavoxel, я вспомнил как в детстве лепил невероятные вещи из пластилина. Но тут возможностей еще больше, поэтому рекомендую всем.

Игры, в которых можно создавать игры

DreamDream

Как ни странно, создавать игры можно в некоторых играх. Например, Dream на PS4 это настоящий прорыв в песочницах, предлагающий игроку интуитивное и простое управление, дающее неограниченные возможности. Хотя это и консольная игра, она дарит игроку возможности, аналогичные для ПК-программ: можно лепить скульптуры, изменять их размеры, возводить здания и создавать ландшафты. Игру абсолютно любого жанра можно создать с помощью геймпада! Игра закономерно получила высокие оценки, но на ПК её к сожалению нет.

RobloRoblo

Зато на ПК есть безумно популярный онлайн проект Roblox, в котором тоже можно создавать свои игры. Roblox невероятно популярна в США и соперничает даже с Minecraft, в России же игра не слишком известна. Важно отметить, что Roblox дает возможность создателям своих игр зарабатывать, что выделает её на фоне других игр, в которых контент создают сами игроки.

Главное, из-за чего писался этот блог

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

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

Спасибо за внимание.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...