Как делают инди-игры
easy

Как делают инди-игры

Что нужно знать и стоит ли браться

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

Бывает, что деньги на инди-игры собирают на краудфандинговых платформах вроде Kickstarter или Boomstarter, но чаще это любительские проекты, которыми их создатели занимаются в свободное время без внешнего инвестирования. Сегодня расскажем, как создают такие игры, что нужно, чтобы начать их делать, и стоит ли пробовать.

Кто делает инди-игры и зачем

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

  • программисты;
  • художники;
  • писатели;
  • гейм-дизайнеры;
  • тестировщики;
  • инженеры.

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

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

Алексей Пажитнов на фоне компьютера с первым «Тетрисом»
Алексей Пажитнов на фоне компьютера с первым «Тетрисом»ы

Разработка игры Алексея имела прикладной характер для его работы. Но причины и мотивация делать инди-игры бывают самыми разными:

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

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

Уже через год, в 2010-м, Перссон с друзьями создали студию, которая продолжает заниматься разработкой игры даже после того, как её купила компания Microsoft. Сегодня практически все знают результат их работы — игру Minecraft, самую продаваемую в мире.

Майнкрафт — живая классика компьютерных игр
Майнкрафт — живая классика компьютерных игр

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

Ведение проектной документации

Инди-разработчик должен где-то вести учёт всего, что происходит с его проектом. Этот документ называется GDD (Game Design Document). Его можно вести в бумажном блокноте, Яндекс-документах, Notion, таск-трекере или любом другом удобном сервисе:

Как делают инди-игры

GDD выполняет 3 важные задачи:

  1. Сохраняет информацию. В него записывают все идеи, планы, новые функции в проекте, проблемы и их решения. 
  2. Передаёт информацию. Тогда к проекту проще подключить нового человека и объяснить как всё устроено.
  3. Позволяет посмотреть на игру со стороны. Если просто задокументировать все идеи и посмотреть, как они работают в тексте или на схемах, можно увидеть нестыковки и просто ненужные части.

Выбор движка

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

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

  • Unity,
  • Unreal Engine,
  • Godot.

У каждого из них свои особенности, разберём их по порядку.

Популярность. Ещё недавно Unity лидировал: он универсальный, в меру сложный, в нём много расширений, продуманная физика, его чаще используют небольшие игровые студии. Но с 2019 года руководство Unity Technologies приняло несколько решений, которые не понравились большинству разработчиков. В результате многие перешли на Unreal и Godot. 

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

Возможности и мощности. Все три движка поддерживают 2D и 3D, и, если создавать игру в одиночку, для этого хватит возможностей любого из этих движков. Разница начинается, когда хочется сделать что-то сложное.

Самый простой из движков — Godot. Для него меньше наборов готовых решений и возможностей для реализации красивой 3D-графики. Поэтому на Godot чаще всего делают простые платформеры в 2D или игры в псевдо-3D. Один из примеров игр на движке Godot — Cassette Beasts:

Как делают инди-игры

На Unity можно делать всё. Большинство инди-игр создаются одним или несколькими людьми, поэтому в основном тут тоже делают что-то относительно простое. Но красивых игр на Unity больше, даже если это 2D-платформер. Один из примеров игр на Unity — Aerial_Knight's Never Yield:

Как делают инди-игры

На Unity можно делать и 3D-игры, если есть время или команда и движок позволяет. The Architect: Paris — прекрасный пример:

Как делают инди-игры

Unreal Engine — самый сложный и самый мощный движок из тройки популярных. Его используют в больших компаниях, на нём можно сделать крутую высокобюджетную 3D-игру разряда AAA. Например, Black Myth: Wukong:

Как делают инди-игры

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

Сложность и знание программирования. В Godot всё игровое взаимодействие построено на собственном языке программирования GDScript. Это высокоуровневый объектно-ориентированный ЯП. В справочнике по Godot написано, что он не основан на Python, но они очень похожи. Вот пример кода на GDScript для обновления цвета пикселей на картинке:

for x in range(width):
  for y in range(height):
	set_color(x, y, some_color)

Unity использует фреймворк языка C#. Он работает с уже готовыми конструкциями специально для создания игр: классами, методами, функциями. А всё стандартное — переменные, циклы, условия — осталось как в обычном C#. В документации и уроках по Unity используется C#, поэтому для разработки понадобится он. Получается так, что при разработке нужно параллельно работать в графическом редакторе игровых сцен и описывать в редакторе кода, как всё работает:

Как делают инди-игры

Unreal написан на C++, и если в игре нужно создать что-то нестандартное, знание этого языка пригодится. В идеале нужно и понимать Blueprints, и уметь немного писать на C++. Игровая логика в Unreal настраивается в визуальном редакторе Blueprints. Это выглядит как навороченный графический редактор вроде Photoshop или Figma:

Как делают инди-игры

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

Как выбрать. На любом из этих движков можно создать несложную красивую инди-игру — такую, как большинство инди-игр. Поэтому, если хотите сделать что-то своё, стоит сделать так:

  • установить все движки;
  • посмотреть несколько уроков по каждому и немного поработать во всех трёх;
  • выбрать тот, который больше нравится.

Тем, кто серьёзно хочет стать профессиональным инди-разработчиком, стоит выбрать один вариант и развиваться в нём.

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

Наполнение игры готовыми материалами

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

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

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

Наполнение игры готовыми материалами

С несколькими наборами можно создать и окружение для игры, и персонажей, и звуковое сопровождение. Вот такой парк можно создать с готовым набором 3D-ассетов за 20 долларов в магазине Unity AssetStore:

Наполнение игры готовыми материалами

В этот набор входят:

  • 7 сосен и 6 клёнов;
  • 10 брёвен и пеньков, 5 кустов, 8 веток и сосновых шишек;
  • 2 заледеневших озера и 4 водопада;
  • настраиваемые цвета деревьев и анимация при ветре;
  • частицы тумана и снега для создания;
  • облака и северное сияние;
  • ещё 50 объектов, текстур и шейдеров.

Создание 2D- и 3D-графики

Самые распространённые 2D-редакторы для рисования — Photoshop, Krita и SAI Paint Tool. Photoshop — платный и доступен по подписке, для него есть много расширений и дополнений. Krita и SAI Paint Tool полностью бесплатные и чуть менее требовательны к железу. Для них создано не так много расширений, но рисовать это не мешает. SAI Paint Tool доступен только для Windows-систем.

В целом все они выглядят почти одинаково, поэтому разница только в индивидуальных предпочтениях и цене.

Создание 2D- и 3D-графики

Для 3D в крупных индустриях стандартами считаются Maya и 3dsMax. Это большие и сложные программы с огромным количеством возможностей.

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

Создание 2D- и 3D-графики

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

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

Запись звука

Если не брать в расчёт программы для профессиональных музыкантов, для разработки хватит редактора Audacity. Ему 23 года, и за это время интерфейс как будто не изменился:

Запись звука

Маркетинг

Мы рассказываем про маркетинг в конце и немного, потому что у нас журнал про технологии. Но на самом деле это первый инструмент инди-разработчика, потому что если про игру не рассказывать или рассказывать плохо, то её никто не купит. Иногда это неважно, а иногда важно.

Что можно делать для продвижения игры:

  • собрать сообщество в Discord, создать каналы в соцсетях и на YouTube;
  • выкладывать трейлеры, скриншоты и новости о рабочем процессе;
  • запустить кампанию по сбору средств и что-то пообещать всем, кто вложится в игру: мерч, исходники материалов или копию игры в коробке и с автографом создателей.

Так выглядит канал разработчика Гэвина Айзенбайса, разработчика хоррора Choo Choo Charles. До выхода игры новое видео появлялось минимум раз в месяц:

Как делают инди-игры

Как начать

Впервые делающий инди-игру человек не знает своих сильных сторон. Поэтому первоначальный план прост:

  • установить на компьютер движки Godot, Unity и Unreal;
  • попробовать работать с каждым и в итоге оставить один;
  • посмотреть несколько видео, где делают небольшие игровые проекты с нуля;
  • выбрать несколько простых игр и попробовать повторить их, чтобы разобраться в основных механиках и научиться решать несложные задачи;
  • сделать максимально простую игру за 1–3 месяца.

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

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

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

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

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

Так стоит или нет?

Если вы всегда хотели сделать свою игру, обязательно нужно попробовать. Возможно, с инди-играми и не получится, но это будет хороший опыт для любой другой будущей карьеры в IT. Например, знание Unity или Unreal Engine будет сильным преимуществом, если пойдёте устраиваться в компанию по разработке игр.

А если всё получится, то будет работа, которую вы всегда хотели.

Редактор:

Инна Долога

Обложка:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Соцсети:

Юлия Зубарева

Курсы по программированию с нуля
Приходите к нам в ИТ. У нас есть удаленная работа, высокие зарплаты и удобное обучение в «Яндекс Практикуме». Старт бесплатно.
Начать бесплатно
Курсы по программированию с нуля Курсы по программированию с нуля Курсы по программированию с нуля Курсы по программированию с нуля
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy