Всем нравится играть в компьютерные или мобильные игры, а есть люди, которым нравится создавать эти игры. Gamedev (разработка игр) - огромная сфера в IT индустрии, компании которые занимаются разработкой игр имеют миллиардную прибыль и тысячи сотрудников в своем штате.
Работа в такой компании принесет очень много денег, Valve, Ubisoft, Blizzard и другие крупные студии платят своим топовым разработчика десятки тысяч долларов. Хорошо, а можно ли создать игру в одиночку, самому написать код, нарисовать графику и придумать логику игры. Лучшим примером послужит наверное Маркус «Notch» Перссон, создатель Minecraft. Он в одиночку создал игру, покорившую миллионы сердец геймеров по всему миру.
Игра Minecraft принесла Шведскому программисту более 3 миллиардов долларов.
Это было небольшое отступление. А теперь давайте разберемся, что нужно нам для создания игр.
Жанр.
Существуют десятки различных жанров игр.
Action игры - игрок находится в центре событий и выполняет разные задания.(GTA, Assassin's creed)
Файтинги - цель игры победить своего соперника, чаще всего в рукопашном бою.(Mortal Kombat)
Гонки - прохождение гоночной трассы на скорость.(NFS, FlatOut)
Платформеры - вы играете за персонажа, который умеет бегать и прыгать по 2D платформам, собирать разные бонусы и стрелять во врагов.(Super Mario, Doodle jump)
Стратегии - игра для пытливых умов, строите государство, собираете войско, развиваете цивилизацию и захватываете всю карту.(Warcraft, Dota 2)
RPG - вы играете за своего персонажа, вам доступна целая вселенная, вы контактируете с различными монстрами и другими игроками, делаете выбор, который влияет на ваш прогресс.(World of Warcraft)
Для начала я предлагаю выбрать что-то из простого. Нам подойдут такие жанры, как платформер, гонки, кликер(суть игры тыкать на предметы.) или приключение.
Логика(идея для игры).
Отлично, с жанром мы разобрались, теперь подумаем над идеей для игры. Как правило нам нужна конечная цель, к которой будет стремиться игрок. Это правило работает не всегда, бывают бесконечные игры, тот же самый minecraft, возможности геймера практически не ограничены.
Продумываем возможности игрока, что он будет уметь делать. Бегать, прыгать, стрелять, строить, ломать, уклонятся. Чем больше будет возможностей, тем интереснее игра будет для пользователей.
Важно подумать о второстепенных персонажах, монстрах, продавцах оружия, помощниках.
На этом же этапе необходимо определиться, будет у нас одиночная или многопользовательская игра.
Дизайн. Графическое сопровождение.
Один из самых важных аспектов в Gamedev. Графика может как оттолкнуть, так и привлечь геймеров.
Существует различные стили рисовки: векторная, растровая, пиксельная, реалистичная графика и много других. Как правило принято соблюдать общий стиль для всей игры. Нам нужно отрисовать персонажей, локации, предметы, сделать анимацию(об этом немного позже), привлекательное меню и логотип игры. Компьютерная графика отличается от рисования на бумаге, возможно для некоторых это будет немного трудно, но не стоит отчаиваться, просто заходим на рынок фриланса и ищем себе художника для игры, начинающие художники берут мало, а возможно согласятся поработать за процент от будущей прибыли. Самые популярные программы для иллюстраторов это Photoshop, Adope illustrator, Vectr и Gravit Designer, лично я предпочитаю последний.
Анимация.
Анимация - логическое продолжение графики, не может же наш главный герой перемещаться статически, как столб. На каждое действие нужно отрисовать анимацию, перебор ног во время бега, сгибание колен во время прыжка, махание кулаками во время боя или выстрел из пистолета. Этот аспект довольно сложен в исполнение для начинающих игроделов, но с опытом все придет, а для начала можно посмотреть пару гайдов на ютубе. Если коротко то анимация персонажа осуществляется с помощью прикреплений к его конечностям "костяшек", затем вы задаете движение этим самым "костяшкам". Для 2D обычно используют adobe animator или marvel, а для 3D самым популярным приложением является blender.
Звуки и музыка.
Лично я привык играть на телефоне без музыки, но если это компьютерная игра, то совсем другое дело. Для записи своего музыкального сопровождения игровые компании подключают к работе целый оркестр и сочиняют композиции. Озвучка героев тоже является довольно трудоемким процессом, просто представьте, каждому персонажу в вашей игре нужен свой личный голос, а персонажей может быть 100 или даже 1000, а еще и перевод на несколько языков, дело не быстрое. Еще необходимо записать различные звуки, удары, шаги, шелест листвы, шум прибоя, весь процесс происходит в специальной студии, с примением различных материалов.
Что касается нашей игры, то пойдем самым простым путем, возьмем музыку без авторских прав, звуки скачаем из бесплатной библиотеки, а от озвучки героев можно и отказаться, скромно, но не сложно.
Программирование.
Вот мы и подошли к самому сладкому. Для начала выбираем движок для нашей игры, как правило это Unity или Engine. Начинающим в этой сфере точно стоит использовать какой-то из этих двух. В этих программах мы соединяем все вместе, выбираем платформу, IOS, Android, Windows и т.д., создаем меню, карту, ставим на нее наших героев, освещение, разные декорации, делаем их подвижными, реагирующими на действия игрока. Для этих приложений принято использовать язык программирования С# (Си шарп), этот язык не является очень сложным и легок в обучение, зато является относительно быстрым и многофункциональным(Если захотите его изучить, то лучше начните с языка Си). На самом деле программировать игры можно на любом языке, например Counter Strike и World of warcraft были написаны на с++.
В интернете существуют различные магазины, где можно купить шаблоны для игр, набор звуков, графики, даже куски кода.
А можно ли создавать игры без программирования? Да, можно, но это очень сильно уменьшает ваши возможности, как создателя.
Что по деньгам?
Наша игра полностью закончена и протестирована, все готовы к выгрузке на платформу. Ах да, нам нужно выбрать платформу, где игроки смогут скачать вашу игру, для мобильных игр это обычно App store и Play Market, для компьютерных игр можно спокойно брать steam, но там довольно высокая конкуренция.
Делать игры платными на начальном этапе я вам точно не советую, их просто никто не будет покупать и вы потратите свое время впустую. Можно добавить донат(покупка игровой волюты за настоящие деньги), возможно ваши пользователи так вольются в процесс игры, что заходят купить игровые вещи. А так же реклама, в среднем за клик на рекламное объявление можно получить от 0.01$ до 2.5$, все зависит от тематики и качества рекламы. допустим если вы получаете за одну свою игру 1$ в день, то в месяц это будет 30$, а представьте, что вы создали 10 игр, или 20, это все 600$ в месяц. И это на начальном этапе, если ваши игры станут популярными, то богатство вам обеспеченно.
После выпуска игры стоит регулярно следить за багами(ошибками в игре) и вовремя их исправлять, выпускать обновления, чтобы удержать пользователей и реагировать на обратную связь. Все это поможет вам набирать аудиторию и не терять ее.
Спасибо, что дочитали до конца, скорее всего этот пост был полезен для начинающих в сфере Gamedev. Если вам понравилось, то ставьте лайки и пишите комментарии, в будущем планирую написать статью о создание одной конкретной игры, подписывайтесь что-бы не пропустить.