Игры юнити 3д на андроид. Настройка начальной заставки. Как Unity для Android отличается от версии для настольных компьютеров

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

Чтобы продемонстрировать, насколько легко написать что-то подобное, сегодня мы напишем свой Flappy Bird с помощью Unity всего за 10 минут.

Игровой персонаж

Сначала создайте новый проект и убедитесь, что выбрана опция 2D.

Загрузите свой спрайт птицы в сцену. Не забудьте включить фантазию!

Затем отрегулируйте размер спрайта как вам нравится, перетягивая его за угол в нужном направлении. Спрайт должен быть виден в окне иерархии (hierarchy) слева. В нём видны все объекты в сцене, и на данный момент их должно быть всего два: камера и птица.

Перетащите камеру на птицу и отпустите. Камера должна оказаться под птицей, это будет значить, что камера теперь «ребёнок» птицы. Теперь позиция камеры будет фиксироваться относительно птицы. Если птица двигается вперёд, то камера делает то же самое.

Снова выберите птицу в сцене или в окне иерархии. Вы увидите список опций и атрибутов справа в окне под названием Inspector . Здесь вы можете управлять различными переменными, привязанными к определённому объекту.

Теперь нажмите на Add Component . Выберите Physics2D > Rigidbody2D - это готовый набор инструкций для применения гравитации к нашему персонажу. Нажмите на Constraints в этой панели и затем выберите freeze rotation Z . Это позволит предотвратить вращение птицы вместе с камерой по кругу.

Таким же образом добавьте Polygon Collider , который говорит Unity, где находятся границы персонажа. Нажмите Play и увидите, как спрайт вместе с камерой бесконечно падает вниз.

Пока всё идёт хорошо!

Теперь пора заняться полётами персонажа, благо это будет несложно.

Сначала нужно создать C#-скрипт. Создайте для него папку (кликните правой кнопкой мыши где-нибудь в assets и создайте папку «Scripts»), сделайте клик правой кнопкой мыши и выберите Create > C# Script .

Назовём его «Character». Кликните по нему дважды, чтобы открыть его в вашей IDE, будь то MonoDevelop или Visual Studio. Затем добавьте следующий код:

Public class Character: MonoBehaviour { public Rigidbody2D rb; public float moveSpeed; public float flapHeight; // Это нужно для инициализации void Start () { rb = GetComponent(); } // Update вызывается один раз на кадр void Update () { rb.velocity = new Vector2(moveSpeed, rb.velocity.y); if (Input.GetMouseButtonDown(0)) { rb.velocity = new Vector2(rb.velocity.x, flapHeight); } if (transform.position.y > 18 || transform.position.y < -19) { Death(); } } public void Death() { rb.velocity = Vector3.zero; transform.position = new Vector2(0, 0); } }

Этот код делает две вещи. Он заставляет персонажа двигаться вперёд со скоростью, которую мы определим в инспекторе, и создаёт ощущение полёта птицы. Метод Update() вызывается повторно на протяжении игры, поэтому всё, что вы сюда поместите, будет выполняться непрерывно. В данном случае мы добавляем немного скорости нашему объекту. Переменная rb является скриптом RigidBody2D , который мы применили к нашему объекту ранее, поэтому когда мы пишем rb.velocity , мы обращаемся к скорости объекта.

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

Переменная moveSpeed будет отвечать за скорость движения, а переменная flapHeight - за увеличение высоты полёта птицы после каждого нажатия. Поскольку эти переменные объявлены как public , мы сможем изменить их вне скрипта.

Метод Death() тоже объявлен как public , что значит, что другие объекты и скрипты смогут его вызвать. Этот метод просто возвращает положение персонажа в начало. Также он будет использоваться каждый раз, когда персонаж будет залетать слишком высоко или низко. Скоро вы поймёте, почему он объявлен именно как public . Строка rb.velocity = Vector3.zero; нужна, чтобы убрать импульс - мы же не хотим, чтобы после каждой смерти персонаж падал всё быстрее и быстрее?

Теперь можно выходить из IDE и добавлять скрипт как компонент к персонажу. Для этого нужно выбрать нашу птицу и нажать Add Component > Scripts > Character . Теперь мы можем определять moveSpeed и flapHeight в инспекторе (для этого и нужны public -переменные). Присвоим переменным значения 3 и 5 соответственно.

И ещё: в инспекторе нужно добавить тег к персонажу. Для этого кликните там, где написано Tag: Untagged и затем выберите Player в выпадающем списке.

Препятствия

Теперь добавим препятствия: трубы. Кто-то в трубах находит грибы, а кто-то - свою смерть.

Перетащите спрайт трубы в сцену в место, где должно быть первое препятствие, и назовите его pipe_up .
Теперь создадим новый скрипт под названием Pipe:

Public class Pipe: MonoBehaviour { private Character character; // Это нужно для инициализации void Start () { character = FindObjectOfType(); } // Update вызывается один раз на кадр void Update () { if (character.transform.position.x - transform.position.x >

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

Метод OnCollisionEnter2D() вызывается каждый раз при взаимодействии трубы с персонажем. После этого вызывается созданный ранее метод Death() , возвращающий игрока в начальную точку.

Итак, у нас есть одна труба, которая время от времени будет исчезать и появляться на другом конце экрана. Врежешься в неё - умрёшь.

Перевёрнутые трубы

Сейчас у нас есть только один спрайт трубы. Давайте добавим ещё один. Для этого кликните правой кнопкой мыши в окне иерархии, нажмите New 2D Object > Sprite и затем выберите спрайт, который хотите использовать. Ещё проще будет просто перетащить файл в сцену ещё раз.

Назовите этот спрайт pipe_down . В инспекторе в части Sprite Renderer выберите опцию Flip Y , чтобы перевернуть трубу вверх ногами. Добавьте такое же RigidBody2D .

Теперь напишем новый C#-скрипт под названием PipeD . В нём будет похожий код:

Public class PipeD: MonoBehaviour { private Character character; //Это нужно для инициализации void Start() { character = FindObjectOfType(); } // Update вызывается один раз на кадр void Update() { if (character.transform.position.x - transform.position.x > 30) { } } void OnCollisionEnter2D(Collision2D other) { if (other.gameObject.tag == "Player") { character.Death(); } } }

Префабы

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

Если пойти первым путём, то убедиться, что трубы стоят как надо после случайной генерации, и поддерживать честный ход вещей было бы сложно. После смерти персонажа они могли бы появиться в километрах от первой трубы!

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

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

Для этого создайте новую папку «Prefabs». Затем перетащите pipe_up и pipe_down из окна иерархии в папку.

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

Как вы понимаете, это сильно сэкономит наши ресурсы. Также это означает, что мы можем взаимодействовать с объектами из кода. Мы можем создавать экземпляры наших труб.

Сначала добавьте этот код в условное выражение в методе Update() скрипта Pipe , которое мы оставили пустым:

Void Update () { if (character.transform.position.x - transform.position.x > 30) { float xRan = Random.Range(0, 10); float yRan = Random.Range(-5, 5); Instantiate(gameObject, new Vector2(character.transform.position.x + 15 + xRan, -10 + yRan), transform.rotation); Destroy(gameObject); } }

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

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

Но вместо того, чтобы проделывать всё то же в скрипте PipeD , мы генерируем оба объекта в одном месте. Таким образом мы можем легко устанавливать положение второй трубы относительно первой. Также это значит, что нам нужно меньше кода для PipeD .

Создайте public gameObject с именем pipeDown . Затем обновите код следующим образом:

If (character.transform.position.x - transform.position.x > 30) { float xRan = Random.Range(0, 10); float yRan = Random.Range(-5, 5); float gapRan = Random.Range(0, 3); Instantiate(gameObject, new Vector2(character.transform.position.x + 15 + xRan, -11 + yRan), transform.rotation); Instantiate(pipeDown, new Vector2(character.transform.position.x + 15 + xRan, 12 + gapRan + yRan), transform.rotation); Destroy(gameObject); }

Возвращаемся обратно в Unity и перетаскиваем префаб pipe_down из папки с префабами (это важно!) в место, где написано «Pipe Down» (заметьте, как наш camel case заменяется пробелом) на спрайт трубы pipe up . Если вы помните, мы определили Pipe Down как public gameObject , что даёт нам возможность определять, чем является этот объект откуда угодно – в данном случае через инспектор. Выбирая префаб для этого объекта, мы убеждаемся, что при создании экземпляра трубы он будет включать в себя все атрибуты и скрипт, которые мы добавили ранее. Мы не просто создаём спрайт, но пересоздаём объект с коллайдером, который может убить персонажа.

Всё, что мы добавим в то же место в скрипте PipeD - просто Destroy(gameObject) , чтобы труба саморазрушалась при выходе за левую границу экрана.

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

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

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

Бесконечный полёт

Теперь создадим public -переменные pipe_up и pipe_down в скрипте Character . Это даст вам возможность ссылаться на созданные объекты, перетаскивая префабы на объект персонажа, прямо как когда мы добавили pipe_down в скрипт Pipe .

Нам нужно добавить эти переменные:

Public GameObject pipe_up; public GameObject pipe_down;

Затем мы напишем такой метод:

Public void BuildLevel() { Instantiate(pipe_down, new Vector3(14, 12), transform.rotation); Instantiate(pipe_up, new Vector3(14, -11), transform.rotation); Instantiate(pipe_down, new Vector3(26, 14), transform.rotation); Instantiate(pipe_up, new Vector3(26, -10), transform.rotation); Instantiate(pipe_down, new Vector3(38, 10), transform.rotation); Instantiate(pipe_up, new Vector3(38, -14), transform.rotation); Instantiate(pipe_down, new Vector3(50, 16), transform.rotation); Instantiate(pipe_up, new Vector3(50, -8), transform.rotation); Instantiate(pipe_down, new Vector3(61, 11), transform.rotation); Instantiate(pipe_up, new Vector3(61, -13), transform.rotation); }

Мы будем вызывать его один раз в методе Update() и один раз в методе Death() .

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

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

В заключение

Вот мы и сделали целую игру! Добавьте счётчик очков, попробуйте сделать его более оригинальным и увеличивайте сложность игры по мере продвижения. Также не будет лишним сделать меню. Ещё хорошей идеей будет уничтожать трубы на экране после смерти персонажа. Как только вы с этим закончите - считайте, что готовая к выпуску в Play Store игра у вас в кармане! Когда-то похожая игра сделала другого разработчика очень богатым, и это доказывает, что вам не нужно быть гением-программистом или иметь за своей спиной богатого издателя, чтобы достичь успеха. Вам просто нужна хорошая идея и десять минут!

Хотите писать приложения под Android, но не знаете, с чего начать? Тогда ознакомьтесь с нашей большой для изучения Android-разработки.

Post Views: 7 847

Мы рассказывали о том, как можно с помощью движка Unreal Engine создать свою игру на Android. В этой статье мы рассмотрим другой не менее популярный движок для разработки игр — Unity.

Unity является очень известным движком среди инди-разработчиков. По сути, это кроссплатформенный движок, который позволяет разрабатывать 3D — и 2D -игры. Особенностью, которая выделяет Unity среди остальных движков, является низкий порог вхождения для новичков при наличии богатого инструментария для профессионалов. Кроссплатформенность же позволяет разрабатывать приложения под любую платформу, начиная с десктопных игр и заканчивая мобильными.

Отдельно стоит сказать про систему подписки, поскольку Unity не является полностью бесплатным продуктом. Существует несколько видов подписок:

  • Personal . Бесплатная версия, которая содержит все основные функции движка. Имеет следующее ограничение: доход в год или объём привлечённых средств не должен превышать 100000$ .
  • Plus . За 35 долларов в месяц предоставляются различные отчёты и аналитика, а также возможность изменять заставочный экран, 20% -ая скидка на покупки в Asset Store и различные мелкие преимущества. Имеет следующее ограничение: доход за год или объём привлечённых средств не должен превышать 200000$ .
  • Pro . За 125 долларов в месяц включает в себя все преимущества версии Plus и дополнительно профессиональный сервис и премиум-поддержку. Без ограничений по обороту или объёму средств.
  • Отдельные версии для бизнеса (используются крупными компаниями).

Таким образом, инди-разработчикам с малыми бюджетами должно быть достаточно версии Personal или Plus , в ином случае придётся оформлять подписку Pro . В данной статье воспользуемся бесплатной версией для первого запуска.

Шаг 1. Установка Unity

Для того, чтобы начать установку Unity, нужно перейти на сайт Unity Store , где будет предложено выбрать тип подписки. Как уже говорилось выше, выберем Personal .

Затем будет предложено принять условия использования и загрузить установщик. Также можно ознакомиться с системными требованиями для работы с Unity.

После запуска установщика, будет предложено выбрать, какие компоненты необходимо установить. Поскольку нам нужно создать приложение под Android, поставим флажок на Android Build Support . Также при желании вместо с Unity можно установить Visual Studio Community 2017 для программирования на C# .

После этого останется только выбрать путь установки и начать инсталляцию Unity.

Шаг 2. Регистрация и настройка Unity

Закончив установку и запустив Unity, нам предлагается войти под своим аккаунтом.

Затем снова будет предложено выбрать подписку, всё также остановимся на Personal. В этом случае нужно будет подтвердить, что годовой доход компании составляет менее 100000$, либо что Unity используется в целях обучения.

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

Шаг 3. Создание нового проекта

Настроив Unity, мы попадаем на экран выбора\создания проекта. Здесь нужно нажать New , чтобы создать свой новый проект.

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

Закончив с этим, нажмите Create project , чтобы создать проект. После этого откроется окно редактора с заранее сгенерированной сценой.

Не будем пока что разбираться с тонкостями программирования и возьмём для примера готовую игру. Для этого здесь существует Asset Store , который содержит огромное количество готовых моделей, анимаций, звуков (и даже игр), как платных, так и бесплатных.

Чтобы открыть Asset Store, нужно в меню Window выбрать Asset Store (комбинация клавиш Ctrl-9 ).

Откроется окно магазина. Введём в строке поиска «flappy bird style example game » и откроем бесплатный пример, который мы будем использовать в своём проекте.

Нажав Download и тем самым скачав его, вы можете затем импортировать себе в проект. Для этого нажмите Import , после чего появится предупреждение о том, что настройки проекта после импорта будут изменены.

Согласившись на импорт, вы увидите окно, в котором нужно выбрать, какие компоненты импортировать. Выбираем все и нажимаем Import .

После завершения импорта в обозревателе проекта вы увидите новые файлы. Это и есть файлы игры. Чтобы открыть сцену в редакторе, раскройте Flappy Bird Style Scenes и дважды кликните по Main .

В результате в окне 3D-редактора появится сцена игры.

Вы можете проверить, как игра работает, прямо в Unity, нажав на кнопку Play над окном редактора.

Шаг 4. Настройка инструментов Android

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

Для того, чтобы собрать получившуюся игру на Android, нужно установить следующие инструменты:

  • Java Development Kit (JDK). Скачать его можно с сайта Java . Перейдя по ссылке, вы увидите на самом верху Java Platform (JDK) , кликните по Download рядом с надписью, затем выберите вашу операционную систему и начните скачивание. После этого просто следуйте инструкциям инсталлятора.
  • Android SDK . Самым простым способом установить актуальную версию является скачивание Android Studio, с которым этот SDK поставляется. Для этого нужно перейти на сайт Android Studio и нажать Download Android Studio . Инсталлятор Android Studio установить базовые компоненты Android SDK, необходимые для разработки на Android.

Шаг 5. Подготовка проекта для запуска

Для начала, необходимо изменить платформу разработки на Android. Для этого в Unity откройте меню File и выберите Build Settings.

В появившемся окне нужно выбрать Android и затем нажать Switch platform .

Переключение платформы сообщает, что мы будем собирать приложение для Android. Это означает, что когда мы будем собирать приложение, Unity будет создавать APK-файл . Переключение платформы также заставляет Unity импортировать все ассеты проект заново. Это не займёт много времени на небольшом проекте, но имейте ввиду, что в больших проектах эта операция может занять длительное время.

Теперь нам нужно указать имя пакета для приложения.

Примечание: Имя пакета — это уникальный идентификатор приложения, он пишется в стиле обратного DNS в формате com.CompanyName.ProductName . После публикации приложения в Google Play имя пакета уже нельзя будет изменить.

Для этого перейдём в меню Edit и выберем Project Settings — Player .

В правой части Unity откроется окно с множеством различных настроек, таких как версия приложения, целевой и минимальный SDK, выбор иконки и т.д. Здесь нам нужно в блоке Other Settings найти Identification и задать имя пакета в поле Package Name . При желании можно также изменить и другие параметры.

Теперь осталось только указать путь до Android SDK и JDK. Для этого перейдём в меню и выберем Edit — Preferences .

В появившемся окне нужно перейти в External Tools и в полях SDK и JDK указать соответствующие пути, после чего закрыть окно.

Шаг 6. Сборка и запуск приложения

Настало время собрать своё первое приложение на Unity. Для этого нужно в меню выбрать File — Build Settings . Откроется окно, в нём нужно будет добавить сцену, которую нужно собрать. Поскольку у нас эта сцена уже открыта в редакторе, достаточно просто нажать Add Open Scenes , чтобы добавить её в сборку, после добавления вы увидите её в списке сцен.

Осталось только нажать Build , после чего Unity приступит к сборке приложения. Перед этим вам может быть предложено выбрать папку, куда будут сохраняться собранные файлы приложений, а также имя APK-файла.

Примечание: на данный момент, если у вас в Android SDK установлена альфа-версия Build-Tools (версия 28.0.0-rc1 ), при сборке Gradle выдаст ошибку. Чтобы это исправить, просто удалите из Android SDK эту версию.

В результате в папке, которую вы указали, появится собранный APK-файл, готовый к установке на эмуляторе или на реальном устройстве.

Посмотрим, что находится внутри собранного APK. Для этого воспользуемся утилитой APK Analyzer , которая входит в состав Android Studio,

Размер APK-файла в несжатом виде составляет 21,1 MB , в сжатом же 20,9 MB . Как можно увидеть из графика, большую часть объёма занимают сторонние библиотеки, добавленные Unity. Затем в assets расположены все ресурсы, которые используются в собранной сцене. Файл classes.dex содержит всего 89 классов и 479 методов.

Кроме того, если заглянуть в AndroidManifest.xml , приложение состоит из одной активности.

Заключение

На этом всё. В этой статье мы научились устанавливать и настраивать Unity, а также собрали своё первое приложение на Android.

Как вам идея создать собственную игру? Для этого вам необходима специальная программа, в которой вы сможете создавать персонажей, локации, накладывать саундтреки и многое другое. Таких программ существует множество: от элементарнейшего программного обеспечения для создания платформеров до крупных кроссплатформенных движков для 3D игр. Одним из самых мощных движков является Unity3D.

Unity3D – это инструмент для разработки как плоских двухмерных игры, так и объемных 3D игр. Созданные с его помощью игры, можно запустить практически на любой операционной системе: Windows, Android, Linux, iOS, а также на игровых приставках. Unity3D рассчитан на то, что здесь будет происходить весь процесс разработки.

Изначально создание полноценных игр на Unity3D подразумевало знание таких языков программирования, как JavaScript или C#. В принципе, вы и сейчас можете ими воспользоваться. А можете использовать интерфейс Drag-and-Drop, как и в . Здесь вам нужно просто перетягивать мышкой объекты и задавать им свойства. Но такой способ разработки подойдет только для небольших инди-игр.

Создание анимации

Анимировать модели в Unity3D можно несколькими способами. Первый способ – создание анимации в сторонних программах для работы с трехмерной анимацией и импорт проекта в Unity3D. Второй способ – работа с анимацией в самом Unity3D, так как встроенный редактор имеет специальный набор инструментов.

Материалы

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

Level Of Detail

Эта особенность Юнити3Д позволяет значительно снизить нагрузку на устройство. Функция Level Of Detail – грамотная детализация. Например, в играх-раннерах при прохождении дистанции то, что было позади вас, удаляется, а то, что впереди вас, генерируется. Благодаря этому ваше устройство не захламляется ненужной информацией.

Достоинства:

1. Возможность создавать игры на любую ОС;
2. Стабильность и высокая производительность;
3. Тестирование игры непосредственно в редакторе;
4. Почти неограниченная бесплатная версия;
5. Дружественный интерфейс.

Недостатки:

1. Отсутствие русификации.
2. Для более-менее крупных проектов необходимо знать, как минимум, два языка программирования;

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

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

Ни одна успешная игра не обходится без красивой графики, поэтому создание дизайна – один из важнейших этапов разработки. Дизайн на ОС Android реализовывается с помощью «дизайн-документа» или диздока. Начать создание игрушки нужно именно с его детальной проработки. В файле содержится:

  1. Объектные модели;
  2. Функциональные спецификации;
  3. Игровой контент;
  4. Интерфейс.

Рассмотрим каждый из пунктов более подробно.

Объектные модели

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

Функциональные спецификации

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

Игровой контент

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

Интерфейс

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

Игровой движок

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

Каждый из них предлагает различные функции: некоторые разработаны для 3D, другие для 2D, может поддерживаться мультиплатформенность. Таких движков есть огромное количество, но, если вы новичок, лучше выбрать один из самых популярных, так как там будут присутствовать все необходимые функции.

UDK

Unreal Development Kit – один из самых мощных движков для создания приложений на ОС Андроид. Для описания программной логики здесь используется скриптовый язык UnrealScrip. На сайте разработчика находится множество уроков, где описываются основные функции, возможности и процесс создания приложений.

Torque 2d/3d

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

Что такое конструктор игр?

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

Это один из самых известных конструкторов, который позволяет создавать игры на различных платформах. В программе есть множество различных инструментов и утилит, но она окажется очень легкой в освоении за счет простого интерфейса. Здесь можно создать любую 2D-игру: головоломку, бродилку карточную, квесты и другие. Для создания приложений не нужно приобретать лицензионный ключ, поскольку есть Free-версия, которая является урезанной редакцией с возможностью создания приложений для нескольких платформ. Чтобы открыть полный доступ ко всем возможностям, придется заплатить 129 $.

Этот конструктор используется для создания приложений в формате 2D. Программа очень проста в освоении, работать с ней можно без знания программирования. Полная версия Clickteam fusion позволяет создавать не только экспериментальные, но и полноценные сюжетные игры на компьютер или телефон. Если вы новичок, рекомендуем начинать именно с этого конструктора: здесь можно научиться основам и понять логику создания игрушек.

Этот конструктор преимущественно используется для разработки бродилок и стрелялок. Одно из главных достоинств – простой редактор уровней, позволяющий поворачивать, заливать и осуществлять другие манипуляции с объектами и картой в режиме реального времени. Чтобы разработать игру на Андроид самому, пользователю придется заплатить 99 евро, так как бесплатная версия программы позволяет создавать только пиксельные и браузерные игры.

Конструктор позволяет создавать игры различных жанров для Windows, Android и iOS. Предлагает большой выбор готовых локаций, объектов, персонажей и звуковых оформлений, поэтому создание первой Андроид-игры не займет много времени. Пользователи, знакомые с языками программирования JS и C++, могут использовать встроенный GML. Единственный недостаток заключается в том, что программа не переведена на русский язык.

Через Unity 3d можно создавать игры любого жанра на платформы Windows, Android, iOS, Blackberry, Wii, Playstation и Xbox. Широкое распространение Unity3d обрел среди создателей онлайн игр. Данный конструктор имеет игровой движок, полностью использующий возможности DirectX и OpenGL, редакторы 3D моделей, различные программы для настройки шейдеров, ландшафтов, звуков. Единственный недостаток заключается в том, что здесь нужно писать программный код, поэтому Unity3d не подойдет для пользователей без навыков программирования.

Заключение

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

Видео

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