Как я свою игру создавал или Gamedev изнутри

в 14:59, , рубрики: Песочница, метки: ,

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

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

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

Итак, я решил создать свою игру. Возникли два вопроса: какую и как? Такие, казалось бы, совсем незначительные вопросы, верно? После долгих раздумий решил, что это будет 3D платформер, но с заблокированной осью Z, поскольку делать 3D игру, да еще и в одиночку, очень сложно. Вначале планировалось, что создавать её будет несколько человек, но у одного родился сын (неожиданно!), а другой сдался, прежде чем вообще начал что-то делать. Остался только я.

Второй вопрос оказался несколько сложнее: как?

На то время у меня уже были кое-какие представления о том, как это работает. Нужен движок, нужны модели и нужны скрипты (сценарии).

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

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

Скрипты я был готов писать сам — браво C# я немного знаю.

Какой движок?

Было 3 варианта: Unreal Engine, Unity или CryEngine.

Unreal Engine стоит $19 в месяц. Платить каждый месяц необязательно, но если хотите получать последнюю версию движка — придется. Unreal силен в плане графики, плюс в нем есть Blueprint (технология создания игровых сценариев путем построения схем (т.е. код пишется сам — «под капотом»)). UE слишком «крут» для моей игры, он больше подходит для огромных RPG с открытым миром.

Unity стоит $1,5к за полную лицензию, но есть и бесплатная версия (с ограничениями). В Unity сильное комьюнити, он прост и интуитивно понятен, плюс, в отличии от Unreal Engine вам не придется платить 50% от своего заработка. Но если ваша прибыль превысит $100к в год, вы должны будете купить полную версию Unity.

CryEngine стоит $9/месяц. Чесно говоря, у меня не было возможности поработать с ним, поэтому не могу много о нем рассказать.

Сначала, немного поиграв с Unreal Engine, я перешел на Unity (бесплатная версия) и на нем и остановился. Сразу скажу, от груп в соцсетях пользы мало: лучший учитель — это YouTube и справка Unity, в особых случаях — форум Unity.

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

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

Осознав, что все модели мне придется создавать самому и с нуля, у меня началась депрессия. Напомнив себе, что если ничего не делать — ничего и не будет, я начал понемногу изучачь вопрос.

Софт для моделирования: Autodesk 3ds Max или Blender

Autodesk 3ds Max стоит $3675 (есть бесплатная студенческая версия, но она тоже не вариант, если только вам не нужны огромные водяные знаки на каждой вашей модели).

Blender бесплатен.

Не сложно догадаться, что я выбрал.

В ВК есть очень хорошая група по моделированию в Blender, но если задавать вопросы уровня новичка, вас в лучшем случае отправлять читать толстые книги по моделированию. Большинство людей, начиная изучение чего-нибудь большого, начинает с книг о нем же. Я начал с того, что скачал Blender и дерзнул запустить его. Уроки на youtube.com и справка Blender сделали свое дело (это волшебный момент, я называю его «все возможно»). Сразу скажу — я не читал всех этих книг.

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

Итак, за пару дней основная механика (концепт) был готов.

image

Хардкорность

Я решил сделать олдскульную игру, а все игры старой школы — хардкорные. Поэтому решил, что главной фишкой моей игры будет её высокая сложность.

Имя

Имя должно быть коротким — 6 символов максимум, должно иметь непосредственное отношение к сути самой игры и должно легко запоминаться.

Постер

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

Музыка

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

Зарубежные издания (пресса)

Очень хороший способ дать миру знать о вашей игре — если о ней напишут в зарубежных изданиях. Не стесняйтесь писать письма в огромние издания, они пишут не об одних только ААА-проектах, но это должны быть хорошие, качественно написание письма. Я написал в PCGamer. Правда, толку ноль, но это не значит, что с вами будет также. Если просто писать в разные паблики в соцсетях и всем подрят, мол «смотрите что я сделал!» — вас просто проигнорируют (в лучшем случае).

Если не готово — значит не готово

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

Поднапрягшись, я сделал свой первый уровень.

image

Следующий шаг: дистрибуция

Где выложить мою игру? Конечно же в Steam.

Реальность: чтобы иметь возможность выкладывать свою игру в Steam, нужно внести взнос $100. После чего ваша игра попадет в GreenLight (сообщество еще должно будет решить, достойна ли ваша игра того, чтобы попасть в Steam).

Где еще можно выложить игру? Через некоторое время я нашел место — GameJolt.

GameJolt — место собрания игр от независимых разработчиков (бесплатных!). Вам предоставляется 30% прибыли от рекламы на странице вашей игры. Вывод средств осуществляется только через PayPal начиная от 0,05 дол.

Но надежда все еще есть: я заработаю $100 благодаря рекламе на GameJolt и попаду в Steam.

Личное замечание 1: настоятельно рекомендую добавить браузерную версию, большинству просто лень скачивать и устанавливать вашу игру, а так они смогут поиграть в неё в один клик. Пример:

image

Личное замечание 2: сделайте качественное описание своей игры. Варианты: «мы с другом долго работали и..» или «эй, зацените..» обречены на провал.

Личное замечание 3: сделайте качественный трейлер. Постарайтесь в 30 секунд вместить всю суть вашей игры: заинтересуйте публику; сделайте так, чтобы вам самим захотелось сыграть в свою же игру.

Так вот, после — я сделал еще несколько уровней (уже получше).

image

И вот моя игра уже больше месяца на GameJolt'е, у неё 7,79к просмотров и её сыграли 4,59к раз.

image

И моя прибыль равна… [барабанная дробь!] Она равна $4.24

image

[драматическая пауза]

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

Теперь я уже не знаю, стоило мне начинать свою историю с «У меня есть мечта...» или всё же со слов «У меня была мечта...»

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

P.S. Удивительно, но я начал создавать свою игру думая только о деньгах. В результате я нашел то, что мне нравится. Не ради денег и славы, а просто потому что мне это нравится.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js