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

Что есть сейчас?

Некоторое время назад информации почти не было. К примеру, один из наших сотрудников начинал свой путь в геймдеве с прочтения книги по Дельфи, где автор рассказывал, как прилепить таблицу к MS Access. Не самая быстрая дорога, не правда ли? Сейчас, ситуация изменилась кардинально: информации в свободном доступе – море.

  • Есть книги зарубежных авторов, похожие одна на другую, как две капли воды (у них, наверное, есть тайный шаблон) В этих книгах авторы предлагают неспециалисту написать игру с помощью DirectX/OpenGL. Причем «первая глава», посвященная графической технологии занимает 85 % книги. Обычно, в зависимости от силы воли читающего, эти книги заканчиваются по истечении максимум 75% от этой главы. Эти книги нередко устаревают уже на момент издания, и появляются так называемые «second edition», «доработанные и дополненные». Читать ЭТО еще сложнее, а пользы – еще меньше. Как можно научиться на книге, написанной для DirectX9 и «переработанной» под DirecX10? Это две разные технологии! Как выбрать из этих книг, что читать?
  • Есть множество статей, среди которых лишь 10% актуальны, а остальные либо безнадежно устарели, либо не соответствуют уровню и потребностям аудитории. Редко, когда на форуме новичков кому-либо понадобится информация о том, «как посчитать рэйтрэйсинг на GPU с помощью Cuda» и почему именно так быстрее, чем по-другому. Это не говоря о том, что статью нужно еще и найти..
  • И, наконец, есть широкое разнообразие форумов. Тут уже все зависит от конкретных людей. Две основные проблемы, которые могут у вас возникнуть:
    — вы вряд ли сможете правильно сформулировать вопрос, ведь как можно спросить о том, чего не знаешь? Вопрос получается задать только когда уже примерно понимаешь, что к чему, но ответы обычно нужны намного раньше. — «а ты пробовал открывать поисковик?». Это вообще интересная особенность «специалистов». Для того чтобы открыть поисковик и найти какую-либо информацию нужно много времени и терпения. И если с первым все не так плохо, то второго у новичков зачастую просто нет. Разве не в этом и есть суть обучения: вместо того, чтобы искать ответ самим, — мы задаем его тому, кого считаем авторитетнее. Представьте, что было бы, если бы в начальной школе учителя отправляли бы учеников в Ленинскую библиотеку?

\Локации

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

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

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

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

Не забывай в конце каждой локации писать строчку с командой \СТОП.

Напишем парочку локаций:

\Первая локация
Этот текст из первой локации.
\СТОП


\Вторая локация
Этот текст из второй локации.
\СТОП

В коде выше есть две локации с именами «Первая локация» и «Вторая локация».

Сначала код выполняется начиная с \Первая локация и до команды \СТОП

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

Совет №1. Не стремитесь к идеалу

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

Многие берутся за разработку в надежде воплотить в жизнь свои блестящие идеи. Иногда у новичков выходит The Stanley Parable — но куда чаще их задумки гибнут ещё на первых этапах разработки, погребённые под грузом амбиций.

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

Иными словами, смотрите на свои первые проекты как на обучающие упражнения. Ведь это они и есть.

Онлайн сервисы для создания игр

Factile

Factile – сервис для разработки многопользовательских игр типа «Своя игра», «Слабое звено» или «Кто хочет стать миллионером». Оно представляет собой конструктор из готовых шаблонов, вам остается только придумать вопросы и назначить награду. После генерации викторины становится доступна ссылка, по которой будут подключаться участники.

После регистрации сервис перекинет вас к выбору тарифа. Если не планируете покупать подписку, используйте бесплатный доступ.

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

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

Для доступа к полному функционалу здесь есть несколько платных тарифов от 350 рублей в месяц.

Русского перевода нет, но браузер Хром переводит большинство элементов управления.

ProProfs

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

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

Как пользоваться сервисом:

  1. Чтобы начать проект, пройдите регистрацию на сайте. После чего нажмите на главном экране кнопку «Создать свою первую викторину»;
  2. Выберите вариант «Создать личную викторину»;
  3. Выберите шаблон (модуль).

В программе доступны следующие модули:

  • паззл;
  • кроссворд;
  • угадывание слов;
  • ответы на вопросы;
  • тесты.

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

Подписка на самый дешевый тарифный план ProProfs стоит 25$ в месяц (примерно 1700 рублей).

Gamefroot

Gamefroot – онлайн сервис для создания 2D мини-игр. В его основе – полноценный игровой движок на базе HTML5.

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

Есть в Gamefroot и специальный модуль для написания скрипта с пояснением алгоритмов и логики.

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

Для работы с сервисом регистрация необязательна. Однако авторизованным пользователям открываются дополнительные шаблоны и элементы.

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

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

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

Где обучаться созданию игр

  • SkillBox — онлайн-университет, который предлагает сразу несколько курсов для желающих внедриться в сферу разработки игр. «Профессия геймдизайнер» это — обучение созданию игр от концепции до релиза. Используется движок Unity. Длительность обучения 8 месяцев, компания оказывает помощь в трудоустройстве, обеспечивает участие в реальных проектах.
  • Нетология приглашает на курс «Геймдизайнер», в процессе которого кроме изучения базовых технологий обучающиеся создадут реальные проекты, необходимые для трудоустройства. Разработка прототипа собственной игры — на популярном движке Unreal Engine, программа обучения включает не только планирование и написание кода, но и ознакомление с маркетингом.
  • Факультет разработки игр Онлайн-университета Mail.Ru приглашает на обучение и предлагает отправиться на собеседование с рекомендациями со своей полностью готовой игрой. Акцент — на практику, освоение актуальных технологий. Эти курсы по созданию игр хороши тем, что  они проходят на реальном факультете реального университета. Обучением занимаются опытные разработчики с высшим образованием, имеющие ученые степени, практикующие программисты.
  • Udemy — видеохостинг, где можно ознакомиться с большим количество разных курсов на любой вкус. Одни из самых популярных — Разработка игр на Unity 3D, Разработка HTML5 игр на Phaser 3. Можно также изучать геймдев на практике в процессе создания игры. Хороший пример — курс «Шахматы на C# и Unity», с помощью которого можно научиться программированию на C# и созданию игр на   телефоне.

Unreal Engine

Средний продвинутый уровень / Бесплатный / Для всех типов видеоигр

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

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

С чего начать? 

  • Если вы новичок, мы рекомендуем для начала задуматься над вышеперечисленными вариантами, но если вы полны решимости, то для вас нет ничего невозможного. Переходите в раздел документации и справочников Unreal Engine и начинайте мастерить.
  • Чего можно достичь: просто взгляните на этот огромный список.
  • Дополнительная информация на официальном сайте Unreal Engine.

Знаете какой-то отличный не включённый в список инструмент? Или вы профессионал и хотите что-то порекомендовать? Добро пожаловать в комментарии! С удовольствием выслушаем ваши предложения.

Ren’Py

Бесплатный движок с открытым кодом для создания визуальных новелл. С 2004 года его используют во всём мире для разработки коммерческих и бесплатных игр в этом жанре. Разработчики Ren’Py просят авторов зарегистрировать игру в специальном разделе сайта, посвящённого движку, независимо от модели её распространения. Сейчас в разделе числится более 4 500 игр.

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


Tidy Bunny — игра, созданная на Ren’Py

Преимущества:

  • кроссплатформенность (MacOS, Windows, Linux);
  • простой скриптовый язык;
  • совместимость с популярными расширениями файлов (PNG, JPG, MP4, MP3);
  • руководство и интерфейс на русском языке;
  • множество инструментов для кастомизации.

Недостатки:

  • необходимость знать Python для создания спецэффектов;
  • редкие сложности с портированием на мобильные платформы;
  • поддержка игр в браузерах — в бета-версии.

Игры на движке: «Бесконечное лето», «Зайчик», Katawa Shoujo, ALLBLACK Phase 1, Doki Doki Literature Club! , Highway Blossoms, Over The Hills And Far Away

«<…> Для ПК Ren’Py — хороший выбор: простота разработки, относительно низкие требования к железу и широкие возможности кастомизации (те же моды). Правда, на мобильных устройствах он ведёт себя совершенно по-другому. Проблемы начинаются уже на слабых девайсах: чтобы поиграть, нужно иметь как минимум гигабайт оперативки и нормальный процессор».

Dreamtale, сценарист и CEO Soviet Games («Бесконечное лето»).

«Soviet Games о Love, Money, Rock’n’Roll», IGN Russia, сентябрь 2018 года


«Бесконечное лето»

Что есть что

Движки для разработки игр

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

Вот скриншот интерфейса движка Unity:

В левом верхнем углу — игровая сцена, на которую можно добавлять объекты, двигать их, убирать и так далее. Ниже расположено игровое окно — в нём можно увидеть, как будет выглядеть готовая игра. Можно даже нажать на кнопку Play и поиграть.

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

Также у движка есть поддержка скриптов и API. Скрипты помогают вам писать команды, которые будут выполняться игрой всё время или после каких-то действий игрока. API же помогает упростить написание скриптов. То есть вы не проводите сложных математических расчётов, чтобы изменить положение или вращение объекта, — вы просто пишете команду вроде «Юнити, поверни объект А на 5 градусов по оси X».

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

Плюсы

Минусы

Готовый движок

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

Самописный движок

  • Долго.
  • Дорого.
  • Требует больших знаний.
  • Ошибки в проектировании могут похоронить не только игру, но и сам движок.
  • Дополнительные затраты на портирование.

Список современных движков:

  • Unity;
  • Unreal Engine 4;
  • CryEngine 3;
  • Source, Source 2;
  • Creation Engine;
  • Godot;
  • Cocos2D;
  • Game Maker Studio 2;
  • RPG Maker и другие.

Что предлагаем мы?

Учиться необходимо правильно. В эпоху Человека Информационного скорость получения информации определяет, достигнете ли вы своих целей, или останетесь за бортом.
К цели всегда есть несколько путей: один напрямик, через открытую дверь; другой — с многокилометровым крюком. Мы предлагаем вам воспользоваться нашими знаниями и опытом и пройти через открытую дверь.
Мы тщательно следим за информацией, которую даем — вы не увидите у нас устаревших или неточных статей. Мы не даем информацию «для объема». Мы регулярно обновляем наш контент. Проще переписать туториал, чем изучать устаревшую технологию.

Construct 2

Проекты на этом движке: Insanity’s Blade, Mortal Melon, DinoSystem.
Construct 2

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

Разбор всех этапов разработки видеоигр начиная от цели будущего проекта и заканчивая старатом продаж….

Плюсы Construct 2:

  • Не нужно писать код, идеально подойдет новичку;
  • Множество инструментов для простой разработки 2D игр;
  • Интуитивно понятный интерфейс, легко разобраться с тем, как создавать игры.
  • Неудобно использовать для 3D игр;
  • Чтобы сделать игру более проработанной, придется платить;
  • Редко появляются обновления движка с новыми возможностями. Как правило, просто шлифуется готовое.

RPG Maker

История одного из самых знаменитых конструкторов ролевых игр началась ещё в конце 1980-х. Более поздние версии для Windows, созданные японскими разработчиками, получили широкое распространение на Западе. Сегодня популярность движка достигла таких масштабов, что тег RPG Maker в Steam представляет уже не столько игры на самом движке, сколько собирательный образ тематического направления в геймдеве. Этот феномен легко объяснить.

RPG Maker используют преимущественно для создания JRPG в стиле ранних частей Final Fantasy. Сам жанр требует огромного количества ресурсов: локаций, персонажей, мобов и так далее. Большинство тех, кто работает в RPG Maker, используют дефолтные шаблоны движка, дополняя их собственными персонажами и иллюстрациями. Иногда даже NPC в этих играх созданы только с помощью генератора. Поэтому игры на RPG Maker, как правило, выглядят очень однотипно. Лень тут ни при чём: у большинства инди-разработчиков просто нет времени, навыков и ресурсов, чтобы сделать всё с нуля. А готовые системы сохранения, боя и интерфейс тяжело изменить. Даже если потратить на кастомизацию достаточное количество времени, мелкие детали в интерфейсе всё равно выдадут RPG Maker.

Сейчас существует несколько версий редактора. Последняя — RPG Maker MZ — вышла в 2020 году. Базовая версия обойдётся в 1 389 рублей. Также не стоит забывать о DLC с наборами тематических ассетов, которые наверняка потребуются начинающему разработчику.


Скриншот из To the Moon — игры, созданной на RPG Maker. Скриншот: игра To the Moon / Steam

Преимущества:

  • не требует навыков программирования, более опытные разработчики могут оценить гибкость движка с помощью JavaScript;
  • кросс-платформенность (Windows, Mac OS X, HTML5; iOS и Android — в RPG Maker MV);
  • огромное количество плагинов: игру можно сделать фактически с нуля без помощи художников и композиторов;
  • на тематических форумах есть бесплатные ассеты.

Недостатки:

  • большое количество ассетов и DLC, которые следует докупать отдельно;
  • неоправданно большой «вес» проектов: согласно порталу gamedesigning.org, игра занимает от 400 МБ независимо от количества контента, к тому же конструктор нередко создает резервные копии, засоряя жёсткий диск;
  • если перемудрить с ассетами, игра начнет тормозить — выявить причину будет непросто;
  • портирование на мобильные платформы может сопровождаться неприятными багами.

Игры на движке: To the Moon, Hello Charlotte, Grimm’s Hollow, Lawmage Academy.


Скриншот из Lawmage Academy — игры, созданной на RPG Maker. Скриншот: игра Lawmage Academy / Steam

«Мне хотелось сделать добротную двумерную RPG с приятным геймплеем, хорошей боёвкой и презентабельным визуалом. Я понял, что мне не хватит опыта и бюджета для работы с Unity 3D или UE4 (если не считать работой сборку игры сомнительного качества из готовых ассетов), поэтому я остановился на RPGMaker, тем более что мне уже доводилось с ним работать. Это замечательный инструмент, но, к сожалению, за годы у него сложилась репутация конструктора плохих игр, которые порой бывают даже хуже, чем поделки на Unity. Отчасти это связано с простотой его использования. Практически любой желающий может сразу создать игру на RPG Maker, достаточно посмотреть пару обучающих видео. Однако реальные возможности движка сильно ограничены: на нём можно сделать только JRPG в стиле Final Fantasy, для иных жанров потребуется масса плагинов, а ещё предстоит потратить время на работу с кодом».

Manly Mouse Studios, инди-разработчик (The Singularity Wish). Дневник разработчика, октябрь 2019 года


Скриншот из The Singularity Wish — игры, созданной на RPG Maker. Скриншот: игра The Singularity Wish / Steam

«RPG Maker действительно очень простой движок. Его простота и доступность привели к тому, что на нём появилось огромное количество „мусора“, в том числе порнографического содержания. Из-за этого многие геймеры терпеть не могут RPG Maker. И эта дурная слава будет преследовать даже качественные проекты. Игры на этом движке очень узнаваемы. Ещё могу отметить тот факт, что движок подходит для создания пошаговых RPG и даже квестов. Игры других жанров в теории тоже можно сделать (я даже видел симпатичный beat ’em up), но это равносильно забиванию гвоздей отвёрткой вместо молотка».

Кирилл Пестряков, инди-разработчик (Heroines of Swords & Spells)


Скриншот из Heroines of Swords & Spells — игры, созданной на RPG Maker. Скриншот: игра Heroines of Swords & Spells / Steam

Что потребуется для работы

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

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

Чтобы создать игру, не нужно быть компьютерщиком. Существуют движки, позволяющие «штамповать» приложения под различные платформы:

  • Game Maker: Studio. В бесплатной версии Standard доступны инструменты для игр под Windows. Подписавшись на Professional, пользователь получает расширенный функционал. Например, становится доступной интеграция на платформу Android.
  • Construct 2. Программа для 2D на HTML5. Движок Box2D Physics отвечает за реалистичное поведение персонажей в соответствии с законами физики. Интуитивно понятный интерфейс позволяет моделировать ситуации без какого-либо практического опыта.
  • Unity. Популярный движок, используемый многими известными агентствами и корпорациями. Создавать игры 3D позволяет как бесплатная, так и платная версия.

Хватает и других интересных вариантов. Для новичков точно подойдет Game Maker: Studio. Она проще в изучении, что позволит ускорить подготовительный процесс. Осваивать функции можно параллельно с работой. Обучающие материалы на русском языке для этой и других полезных программ доступны на нашем сайте.

Примерно так выглядит Гейм Мейкер Студио

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

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

Совет №7. Работайте регулярно

Старая пословица гласит: «Быстро — это медленно, но без перерывов». То же правило действует в геймдизайне.

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

Алексей Малороссиянов объясняет: «Изучать программирование непросто и требует определённого майндсета. Но когда начинает получаться, вы испытываете огромное удовольствие от результата… Не сдавайтесь и планомерно каждый день хотя бы немного времени уделяйте разработке и изучению движка. И всё у вас обязательно получится».

Ритм

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

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

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

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


В Fable: The Lost Chapters игрок мог пойти рыбачить, если ему надоедало сражаться с монстрами и бандитами.

Ввод с клавиатуры

Итак, вы можете передвигать игрока, но он не будет перемещаться без команд. Добавьте некоторые элементы управления к игроку слева. Вам нужны два способа управления этим игроком: с клавиатуры (на ПК) и сенсорным вводом (на планшетах и смартфонах).

Чтобы обеспечить согласованность между сенсорным вводом и вводом от мыши на различных платформах, я буду использовать отличную инфраструктуру унификации — Hand.js (handjs.codeplex.com). Прежде всего я добавлю скрипт в HTML в раздел head:

Рис. 9 демонстрирует применение Hand.js и jQuery для управления игроком при нажатии клавиш на клавиатуре A и Z или при касании сенсорных элементов управления.

Рис. 9. Добавление элементов управления с поддержкой сенсорного ввода и ввода с клавиатуры

Этапы создания игр

Делаем  простую игру

Под простой игрой подразумевается самый незамысловатый сюжет. На примере рассмотрим такую идею: человечку необходимо преодолеть препятствия, чтобы благополучно добраться до финиша. К тому же, по дороге желательно собирать монетки. Согласитесь, воспроизвести такую картинку с помощью Construct 2 довольно просто и интересно. Рассмотрим приблизительные ориентировочные действия:

  • Создаем фон любого цвета, в нашем случае для натуральности лучше выбрать зеленый;
  • Делаем главного персонажа, им может выступать и животное, и человечек;
  • Проектируем монетки и расставляем их по всему фону; аналогичное проделываем и с препятствиями (изображение камней, дров – лучший вариант);
  • Теперь определяем взаимодействие персонажа с окружающей средой. Споткнулся о камень – игра окончена, поймал монетку – она продолжается, добежал до края фона – финиш.

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

Делаем карточную игру

Для такого жанра лучше всего использовать программу Unity 3D. Здесь же рассмотрим направления и шаги:

  • Делаем основной фон для карт;
  • Проектируем сами карты, то есть, инвентарь;
  • Задаем взаимодействия;
  • Определяем количество игроков;
  • Переводим меню игры из 3D в 2D;
  • Определяем конец игры.

Создаем РПГ-игру

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

  • Придумываем основную идею будущей Андроид игры;
  • Пишем основной сценарий;
  • Рисуем базовую карту и добавляем объекты;
  • Создаем события.

Как создать онлайн-игру для Андроид

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

Обратите внимание! Создание игры без использования ПК стандартными методами невозможно. Большинство популярных программ ориентировано только на компьютеры

Делаем игру немного умнее

Игра почти готова. Жаль, что играть вам не с кем. В качестве последнего этапа я покажу, как управлять оппонентом с помощью простой ИИ. Оппонент будет пытаться держаться параллельно мячу, когда тот летит в его сторону. Если оппонент ловит мяч, он перемещается случайным образом и бросает мяч в случайном направлении. Чтобы сделать ИИ чуточку человечнее, я добавлю задержки во все, что делается на поле. Это не особо умный ИИ, но все же против него будет можно играть.

При разработке системы такого рода хорошо мыслить состояниями. ИИ оппонента имеет три возможных состояния: following (следует), aiming/shooting (прицеливание/бросок) и waiting (ожидание). Начнем только с объекта AI:

В зависимости от состояния AI (ИИ) я хочу, чтобы он выполнял разные действия. По аналогии с мячом я создам функцию update, которую смогу вызывать в requestAnimationFrame, чтобы AI действовал в соответствии со своим состоянием:

Состояние FOLLOWING достаточно простое. Оппонент перемещается в вертикальном направлении мяча, и AI переходит в состояние WAITING, чтобы добавить некоторое замедление реакции. Эти два состояния показаны на рис. 15.

При разработке системы такого рода хорошо мыслить состояниями.

Рис. 15. Простое состояние FOLLOWING

Используя код с рис. 15, AI выбирает между следованием за мячом и ожиданием доли секунды. Теперь добавляем код в функцию update уровня всей игры:

Запустив игру, вы увидите, что оппонент следует за перемещениями мяча — не такой уж и плохой ИИ, состоящий менее чем из 30 строк кода. Конечно, если оппонент поймает мяч, он ничего делать не будет. Поэтому на излете отведенного мне часа пора заняться обработкой действий для состояния AIMING. Я хочу, чтобы ИИ заставлял вашего оппонента случайным образом перемещаться несколько раз, а затем кидать мяч в случайном направлении. На рис. 16 добавлена закрытая функция, которая именно это и делает. Добавление функции aimAndFire к выражению case с AIMING создает полнофункциональный ИИ, против которого интересно играть.

Рис. 16. ИИ прицеливается и бросает мяч

Подготовка билда и распространение

Тестирование на мобильных девайсах

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

Разрабатывая игры с помощью AGK, их можно не только мгновенно тестировать на десктопе, но и точно так же, не заморачиваясь с установкой SDK и подготовкой билда, тестировать на мобильном устройстве. Для этого надо скачать и установить на свой девайс утилиту AGK Player.

Как создать игру. AGK Player

Я тестировал на планшете с ОС Android, однако имеется равнозначная версия плеера для iOS. Когда утилита будет установлена, надо подключить девайс к компу (через USB-кабель или по Wi-Fi), запустить AGK Player, а на десктопе в IDE AGK нажать пиктограмму Broadcast. AGK подключится к устройству, передаст данные, а в плеере запустится твоя игра.

Экспорт билда

Когда игра будет протестирована и отлажена, для ее публикации в сторе надо создать билд. Для этого с помощью команды меню File → Export Project «Tanki» → As Android Apk откроем окно Export Android APK, в котором предлагается задать свойства создаваемого пакета.

Как самому создать игру. Export Android APK

В области APK Settings, в ниспадающем списке APK Type предлагается выбрать целевую платформу: Google, Amazon, Ouya. App Name — имя приложения в операционной системе, Package Name — имя пакета, к примеру com.yazevsoft.Tanki. App Icon — иконка для приложения, Notification Icon — иконка уведомления, Oaya Large Icon — иконка в версии Android для игровой консоли Oaya. Ниже задается ориентация и минимально поддерживаемая версия Android. В области Permission задаются разрешения — доступ к компонентам системы, на которой будет выполняться наша игра: запись на внешние носители, доступ к камере, запись аудио, вибрация и прочее. Область Game Google Services/GameCircle Integration позволяет задать идентификатор для использования сервисов Google. В области Output задается путь, по которому будет сохранен итоговый пакет. Область Signing позволяет настроить свойства для подписания пакета для размещения его в сторах: задать версию, файл подписи.

Альтернативные сторы

Под конец статьи добавлю еще, что не стоит упираться и распространять свои приложения/игры только в топовых сторах — App Store, Google Play. Там все места заняли большие издатели, и покупатели в первую очередь смотрят на их продукты.

Обрати внимание на альтернативные сторы: Amazon AppStore, Opera Mobile Store, Яндекс.Стор и многие другие. На них меньше пользователей, меньше трафика, вместе с тем меньше конкуренции

Я не призываю ограничиваться тремя перечисленными, смотри шире. Лидирует платформа Android, между тем, кроме Apple AppStore, есть площадки для распространения iOS-приложений.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector