Как создать игру в одиночку?

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

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

Хочу создать свою игру, что для этого нужно?

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

Если ваша игра будет не о прыгающих квадратиках (а еще дружбе, одиночестве и жажде свободы) как Thomas Was Alone Майка Бителла да еще и без звука, вам стоит узнать, из каких частей складывается восприятие игры.

Действующие герои, окружение

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

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

С 3D чуть сложнее. На понимание фундаментальных понятий компьютерного представления трехмерного пространства и может уйти от пары часов, до пары дней.

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

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

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

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

3D Coat. Бесплатный 3D пакет со множеством функций
3D Coat. Бесплатный 3D пакет со множеством функций

Звуки

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

Как обычно у нас два пути : интернет и руки.
В интернете существуют огромные библиотеки различных звуковых эффектов, 50 вариаций взрыва, звуки выстрелов или треск дерева? Пожалуйста!
Очевидно можно выйти с диктофоном на улицу, взорвать петарду, выстрелить из пистолетика и сломать ветку, но зачем такой вандализм, верно?

FL Studio
FL Studio

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

Программирование

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

Super Monkey Ball: Banana Splitz
Super Monkey Ball: Banana Splitz

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

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

Unreal Engine 4, BluePrints
Unreal Engine 4, BluePrints

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

Постепенно эта разработка проникает в разных формах в игровые движки, само программирование взаимодействий в играх основано в основном на условиях, например :

if (player.hp == 0)
Death ();

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

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