Как я создал мобильную игру для своего ребёнка

Как создать приложение

  1. Откройте Play Console.
  2. Нажмите Все приложения > Создать приложение.
  3. Выберите язык по умолчанию и укажите название, под которым приложение будет доступно в Google Play. Эти данные можно изменить позже.
  4. Укажите, что вы создаете – приложение или игру. Эти данные можно изменить позже.
  5. Выберите, как будет распространяться приложение: платно или бесплатно.
  6. Добавьте адрес электронной почты, по которому пользователи Google Play смогут связаться с вами.
  7. В разделе «Заявки» сделайте следующее:
    • Подтвердите, что ваше приложение соответствует Правилам программы для разработчиков и экспортному законодательству США.
    • Примите Условия использования функции подписания приложений в Google Play.
  8. Нажмите Создать приложение.

Процесс создания игры

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

В качестве конструктора используем Game Maker – это один из лучших инструментов для новичков. В первом примере рассмотрим разработку простой аркады:

  1. Создаем основной фон – локацию, где будут протекать основные события.
  2. Делаем главного персонажа: рисуем самостоятельно или загружаем готовый шаблон.
  3. Проектируем предметы для взаимодействия: монетки, ловушки, враги и т.п.
  4. Программируем событие, которое случится при взаимодействии с предметом: наступил на ловушку – игра окончена, подобрал монетку – путь продолжается.

Для того чтобы показать различие между игровыми жанрами рассмотрим более сложный пример. Теперь используем конструктор Unity 3D, а игровой жанр меняем на ККИ:

  1. Первый пункт остается неизменным – создание фона для будущего проекта.
  2. Место главного персонажа занимают карты, их намного больше, поэтому работа более время затратная.
  3. Проектируем логические взаимодействия между картами (самый сложный этап).
  4. Определяем количество игроков.
  5. Конвертируем игровое меню из трехмерного измерения в двухмерное пространство.
  6. Определяем условия, при которых матч будет считаться завершенным.

Создание студии по разработке мобильных игр

Звучит, конечно, круто, но по факту, что я сделал, это зарегистрировал первым делом домен в начале 2019 года с названием моей будущей студии redrockstudio.ru. Не подумайте, это не реклама, так как на регистрации домена это и закончилось. Сайт будет, но когда точно, не скажу, сделал это на перспективу, а вдруг будем успешными.

Следующее что я сделал, это оплатил 25$ за кабинет разработчика в Google Play с одноименным название как домен.

На телефоны Apple я решил по началу не делать так как нужно было покупать кабинет разработчика за 100$ и оплачивать такую сумму раз в год. (я еще даже представления не имел как делаются игры и доведу ли я это дело до конца, поэтому ни денег, ни мотивации не хватало).

Пример разработки простой 2D-игрушки Андроид

Наша игра Android Studio развивается по известному сюжету. Пользователь управляет космическим кораблем, уворачивающимся от метеоритов (астероидов). Последние падают с верхней части экрана, корабль – движется внизу вправо или влево, в зависимости от решений участника. При столкновении аппарата с космическим объектом объявляется Game Over.

Начнем с открытия проекта. Для этого последовательно выберем в меню программы File, New, New Project. Придумываем проекту название, вводим домен и место, где будет храниться папка. Окно, появившееся после нажатия Next, лучше оставить без изменений. В следующем выбираем Empty Activity и движемся дальше. Кликнув по клавише Finish, мы получим готовый проект.

Следующим шагом станет скачивание необходимых картинок и копирование их в папку drawable. Это изображения корабля и метеоров. После этого нужно создать layout. Открываем Text в activity_main.xml и вставляем следующий код:

Код для layout

MainActivity, GameView, SpaceBody

Для редактирования класса MainActivity меняем определение, придав ему следующий вид: public class MainActivity extends AppCompatActivity implements View.OnTouchListener {. После этого нужно задать перемены для нажатия левой (public static boolean isLeftPressed = false) и правой (public static boolean isRightPressed = false) кнопок. Следующие действия мы расписывать не будем. В итоге MainActivity должен принять следующий вид:

Код для MainActivity

Разобравшись с классом MainActivity, переходим к GameView. В определение добавляем extends SurfaceView implements Runnable. Теперь нужно задать разрешение. У современных гаджетов разные параметры. Дисплей старого мобильника не может сравниться с новым большим планшетом.

Чтобы добиться одинакового изображения на любом устройстве, поделим монитор на одинаковые «клетки» 20х28 (первый показатель – горизонталь). Если эти части будут распределены неравномерно, картинка получится сжатой или растянутой. Задаем переменные:

Переменные для «уравнивания» графики

Для метода run() устанавливается бесконечный цикл, стартующий с update(). Задачей последнего является вычисление новых координат космического корабля. По окончании расчетов на экране будет сформирован сам аппарат (draw()). Control() завершает цикл, обеспечивая паузу на 17 миллисекунд. Затем снова запускается run(). Выглядеть это будет так:

Бесконечный цикл для run()

Чтобы появился сам корабль и астероиды, нужен родительский class SpaceBody. Зададим переменные и методы:

Код для родительского класса SpaceBody

Теперь отдельный класс Ship для корабля:

Код космического корабля

После этого останется произвести компиляцию и запуск программы. На дисплее Android Studio должен возникнуть корабль, который можно кнопками перемещать вправо и влево. Следующим шагом станет добавление астероидов. Для этого разработаем class Asteroid, тоже являющийся дочерним для SpaceBody. Зададим переменные:

Код для метеоров

Суть в том, чтобы астероиды произвольно возникали в разных точках «потолка» экрана и двигались с непредсказуемой скоростью. Мы задали код, определяющий столкновение метеоров с кораблем. Добавим астероиды в GameView:

Вписываем астероиды в GameView

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

Начало

Пользователи среды могут программировать на языках Java, C++ и Kotlin. Планируется, что последний со временем полностью заменит привычный Java, который пока остается основным. Для работы потребуется от 3 (минимум) до 8 Гб (желательно) оперативной памяти плюс дополнительный гигабайт для Android Emulator. Свободного места на жестком диске должно быть не меньше, чем 2 Гб.

Процесс установки Андроид Студио мало чем отличается от других программ

Если используется Microsoft Windows, подойдут версии 2003, Vista, 7–10. Для OS X нужен Mac от 10.8.5 до 10.13 / 10.14 (High Sierra/Mojave). Для Linux – KDE или GNOME. Изготовление приложения проходит в несколько этапов:

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

Если собираетесь работать с Java, обязательно установите последнюю версию JDK. Скачать ее можно на официальном сайте. Помимо главной программы, для работы также потребуются элементы Андроид SDK – скрипты, библиотеки, документы, файлы. Эти компоненты будут скачаны автоматически. В установочный комплект также входит Андроид Emulator.

Проверяйте количество свободного места на диске

Следующим шагом станет определение адресов Студио и СДК. Их предлагается установить в отдельные папки. Перед началом инсталляции стоит убедиться, что на выбранном диске достаточно места. Сама Studio требует не так много свободного пространства, а вот элементы SDK занимают больше 3 Гб. Это минимум, так как затем потребуется дополнительная площадь для обновлений.

Каждое приложение, сделанное под Андроид, должно состоять из четырех точек входа:

  • Service. Компонент, обеспечивающий работу в фоновом режиме. Он отвечает за выполнение удаленных и длительных операций при выключенном визуальном интерфейсе.
  • Activity. Элементы интерактивного управления. Через класс Intent передается информация о намерениях пользователя. Активности устроены по подобию веб-страниц. Intent выполняет функцию ссылок между ними. Запускается приложение посредством activity Main.
  • Broadcast receiver. «Широковещательный приемник» передает намерения одновременно разным участникам.
  • Content provider. «Поставщик содержимого» передает нужную информацию из БД SQLite, файловой системы и других хранилищ.

Разработка приложения начинается с нового проекта. В меню последовательно выбираем Tools, Android, SDK Manager. В нашем примере последней версией является Андроид API 26. Выбирайте новейшую версию, поставив напротив нее галочку, и приступайте к скачиванию.

Выбирайте новейшую версию Андроид SDK

После нажатия New project появится форма нового проекта. В поле Application name выбираем FirstGame, Company domain – оставим без изменения. Путь к проекту Project location должен быть целиком на английском языке. В следующем окне оставьте галочку только напротив Phone and Tablet.

В этом окне определяется версия ОС для мобильных и планшетов

Теперь выберем версию ОС, с которой сможет запускаться игра. Чем ниже она будет, тем больше пользователей получат доступ к приложению. С другой стороны, разработчику тогда доступно меньше опций. Поочередно выбираем Empty Activity, Next, Next, Finish. Проект готов к работе.

С каждым запуском Студио открывается вкладка «Совет дня» (Tip of the day). Для начинающих программистов от этой опции мало толку, но по мере знакомства со средой рекомендации начнут казаться интересными и полезными. Вообще, для новичков многое будет выглядеть таинственно и даже страшновато. Не стоит бояться трудностей. Накапливайте опыт и непонятное быстро станет простым и ясным. В конце концов, это не изучение языка программирования.

Когда мне нужно создавать приложение

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

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

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

  • Если клиентам необходима простая программа для смартфонов и планшетов. В этом случае подойдет конвертация сайта в приложение – сделать это можно своими руками, без подключения специалистов.
  • Если вашей целевой аудитории подойдет приложение, созданное на основе шаблона, то дерзайте.
  • Если ваш бизнес полностью функционирует в офлайн-режиме и пока что не требует подключения приложения. В таком случае для вас открыто большое поле для экспериментов – можно попробовать создать собственное приложение с любым функционалом, плохая работа которого никак не скажется на бизнесе.
  • Даже профессиональные разработчики – это не всегда быстро. Мало того, что на разработку уйдет много времени, так вы всегда будете полностью от них зависеть. Чуть что случится – за это всегда нужна дополнительная плата. При работе с конструктором все можно исправить самостоятельно либо обратиться в техподдержку.

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

Построение и прорисовка мира

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

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

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

Сперва отрисуем ячейки мира построчно. Пускай они будут размером 64×64 пикселя. Далее развернём наш контейнер таким образом, чтобы он выглядел изометрично:

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

Использование:

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

GameMaker: Studio

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

Импортируйте изображения, анимации, аудио и шрифты через Studio’s Resource Tree. Разработав игру, вы сможете портировать её сразу на несколько платформ, используя кросс-платформенные решения от GameMaker.

Выбор движка

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

Каждый движок способен выполнять те или иные задачи и применяется для различных жанров. Рассмотрим на примерах различных движков:

  • Mages Engine – ориентирован на мини-игры, многопользовательские ММОРПГ и пошаговые стратегии. Реализация проектов осуществляется при помощи GUI и мощного API.
  • Catcake – специализируется на локальном мультиплеере, где присутствует функция разделения экрана. Поддерживает отображение трехмерных объектов. Подходит для проектов любого жанра.
  • Unreal Engine – еще один популярный движок, регулярно используемый Epic Games (создатели Unreal Tournament 2016, Gears of War 3, Fortnite и других). Основное направление – консольные и компьютерные видеоигры. Одна из главных фишек Unreal Engine – качественная графика. Однако и на мобильных платформах уже выпущены успешные приложения: Fortnite и PUBG.
  • AndEngine – бесплатный движок, ориентированный на 2D. Обладает открытым исходным кодом. Распространяется свободно. Как и другие популярные платформы использует OpenGL для рендеринга и Box2D для физики.
  • Phaser — это фреймворк для разработки HTML5. Базируется на библиотеке PIXI.js. Поддерживает рендеринг в Canvas и WebGL, анимированные спрайты, и т.п.

Исключением из правил являются фирменные движки разработчиков. Например, компания Rockstar (создатели серии GTA Red Dead Redemption) используют собственный движок, находящийся в закрытом доступе.

Unreal Engine

Unreal Engine — игровой движок, разработанный компанией Epic Games. Она известна по ряду игр: FPS шутер «Unreal», блокбастер «Gears of War», «Infinity Blade» на IOS. С этим инструментом можно создать игры на Windows, Mac, Xbox One S, PS 4K, IOS, Linux, Android, Ouya, VR и для HTML5 Web браузеры. 

Если Unity знают по Indie играм (Crossy Road, Superhot, I am Bread и так далее), то Unreal Engine, наоборот, выпускает огромные проекты, будь то Smite, Paragon, Day by Daylight… Эта программа имеет полный набор инструментов для создания своей собственной игры, начиная с мобильной 2D, заканчивая консольным VR блокбастером. Он использует встроенный визуальный скриптинг — Blueprint, который сильно упрощает процесс создания игры.

В Unreal Engine 4 любому пользователю будет доступен исходный код, с которым можно настроить программу под себя, использовать необходимые плагины и написать свои. Присоединившись к Epic Games вы сможете посмотреть 3 миллиона строк кода, доступных на GitHub. Скачать с официального сайта: ссылка.

Что потребуется для создания игры?

Перед тем как создать игру на Андроид необходимо продумать следующий ряд вопросов: 

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

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

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

Выбираем движок

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

Если вы выбрали первый, перед созданием игры для Андроид вам необходимо установить драйверы для смартфона на ваш компьютер, после чего поставить среду разработки. Для создания программ под операционную систему Андроид используется Android Studio. Это среда разработки сделана компанией Google, при этом предоставляет широкие возможности по созданию приложений и игр на любой вкус.

Программирование происходит на языке Java. Это один из самых популярных языков. Без начального уровня вы не сможете работать в Андроид Студии. Он строго типизирован, при этом в освоении намного легче C или C++. Следует найти насколько книг по Java, а затем постепенно изучать все особенности этого языка программирования. Параллельно обязательно выполняйте различные практические задания, чтобы закрепить теорию. Это трудный путь, но он предлагает максимальные возможности в реализации своего проекта. С Андроид-студией также можно создать онлайн-игры.

Если вы не сильны в программировании, попробуйте воспользоваться конструктором приложений. Разработка игр при помощи конструктора сводится к созданию уровней, персонажей и других элементов при помощи специального редактора. Многие конструкторы основаны на принципе WYSIWYG – «что видишь, то и получаешь». Пользователь может разработать уровни, персонажей и другие элементы, выставляя их в специальном редакторе и изменяя настройки/свойства. Это намного проще, чем с нуля программировать игру.

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

Первые строчки по популярности занимает Construct 2. Имеется бесплатная начальная версия, в которой имеется широкий функционал для создания игры любого жанра. Программа позволяет разработать игру не только под операционную систему Android, но и для iOS, и даже для браузера (используется HTML5). Программу без труда освоят даже новички. Если функционала вам недостаточно, можете приобрести полную версию за 129 долларов.

Одним из крайне популярных является конструктор Clickteam Fusion. Он отличается простым интерфейсом, возможностью бесплатно создавать браузерные приложения, различные онлайн-игры, поддерживает аппаратное ускорение, работает с различными платформами (в том числе с Андроид).

Программа имеет визуально устаревший интерфейс, который насчитывает всего 8 окон. Но за счет этого повышается удобство использования. В данной программе можно создать практически любую 2d игру: головоломки, карточные игры, квесты и другое. Купить полную версию вы можете всего за 100 долларов.

Простым в освоении является конструктор Game Maker. С его помощью можно создать проект под iOS, Android, Mac, XBox и даже PS3. Изначально программа разрабатывалась как обучающее приложение для детей, поэтому с освоением у вас не должно возникнуть проблем. В качестве туториала имеется процесс создания игры Pacman.

Еще одним неоспоримым преимуществом Game Maker является возможность модификации стандартных функций. Вы можете «копаться» в коде, а также самостоятельно прописывать каждое из действий. GML (GameMaker Language) обладает множеством мощных методов, а также понятным синтаксисом. К сожалению, конструктор имеет пару недостатков, в частности, сложность отладки, а также нестабильное поведение приложения на различных платформах.

Пожаловаться на контент

Кто занимается разработкой игр

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

Более 43 тысяч оценок на Google Play получила игра One Guy Run, которая была создана и разрекламирована популярным блоггером EeOneGuy и его другом. Прорисовка текстур и 3D моделлинг достаточно простые, идея — преодоление препятствий мальчиком, который постоянно опаздывает в школу.

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

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

  • Геймдизайнер — его задача проектирование игрового процесса. Этот специалист должен продумать не только структуру игры, но и правила. В больших компаниях может быть разделение на специалистов, которые занимаются разработкой персонажей, пользовательского интерфейса, продумывают игровую механику. Геймдизайнер больше других вовлечен в игровой процесс и обязан продумать все детали. Зарплата — 150-200 тысяч рублей в месяц.
  • Художник — эксперт по прорисовке игрового мира, персонажей и других деталей. В работе использует актуальное программное обеспечение для 2D или 3D анимации, установленное на мощные компьютерные станции. Если игра это подразумевает, применяется софт для моделирования кинематики, физики и другие технологии. Несмотря на то, что художник — IT-специальность, в его задачи не входит написание кода или даже его понимание. Зарабатывает художник геймдева 80-150 тысяч рублей в месяц.
  • Программист — специалист по разработке кодовой базы. Его задача — заставить работать нарисованные художником персонажи, поведение которых определено геймдизайнером. Если проект крупный, каждая часть игры разрабатывается конкретным специалистом. Вознаграждение программистов геймдева — от 120 тысяч рублей в месяц.
  • Композитор и звукорежиссер — специалист по написанию музыкального сопровождения. В последнее время наблюдается практика приобретения звуковых эффектов и целых трэков на биржах фриланса (Audiojungle и другие). Но в большом проекте обязательно используется авторская музыка. Инструменты композитора — Midi-клавиатура и компьютер. Рабочая среда — FL Studio, Steinberg Cubase. Живое исполнение, подразумевающее привлечение симфонического оркестра, возможно только при огромных бюджетах на игру, и чаще всего не применяется. Заработная плата обычно сдельно-премиальная или 60-100 тысяч рублей в месяц.
  • Тестировщик — инженер, задача которого — проверить функционал и удостовериться в отсутствии багов. Задача — непосредственное использование и написание технических отчетов для программиста с рекомендациями внести изменения в код. Вопреки распространенному мнению, тестировщик в геймдеве — это не человек, который целыми днями играет в игру, а достаточно неплохо разбирающийся в коде специалист. Зарплата — от 60 тысяч рублей в месяц.
Добавить комментарий

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

Adblock
detector