Разное

Создание игр на андроид с нуля: Опыт создания игры для Android в одиночку с нуля и как ее зафичерили на Google Play / Хабр

Опыт создания игры для Android в одиночку с нуля и как ее зафичерили на Google Play / Хабр

Привет! Меня зовут Ибрагим, я — начинающий инди-разработчик. У меня всегда было желание заняться программированием, но меня отпугивала сложность и неопределенность выбора (что именно изучать и делать). И лишь 2 года назад я все-таки преодолел этот психологический барьер, смог высвободить достаточно времени, и решил уже основательно подойти к задаче. Я был решительно настроен найти и освоить профессию, от которой я бы получал кайф.

Сужать круг поиска, чем именно заниматься, было тяжело. Знакомых в этой области не было, поэтому решил отталкиваться от каких-то общих соображений. Так как в приоритете было в первую очередь найти что-то интересное, выбор пал на геймдев. Понравилась идея для начала сделать простенькую 2D-игру под Android и выложить на Google Play.

Немного уделив времени теории (алгоритмам, структурам данных и проектированию), для дальнейшего изучения я выбрал язык Java, который по сути является официальным языком Android, да и в целом очень популярен.

В качестве фреймворка приглянулся LibGDX, бесплатный, разработка на нем ведется как раз на Java, и вдобавок он кроссплатформенный. Хотя для следующей игры планирую осваивать всем известный Unity.

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

После создания нескольких пробных игр я взялся за игру, которую в конечном итоге и опубликовал на Google Play. Это казуальная геометрическая аркада, где главная цель — уворачивание от препятствий.

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

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

Говорят, что продвижение игры надо начинать заниматься задолго до релиза. Этого я, конечно, не делал. Продвигать начал сразу после релиза игры. Сделал простенький сайт, трейлер игры, разослал запросы на обзор в кучу разных ресурсов, в том числе англоязычных (ответов получил очень мало, и в основном просили оплату), обновлял соцсети. Из платных методов: купил обзор на 4pda по программе поддержки разработчиков и попробовал рекламные кампании на Facebook и Adwords.

Больше всего средств было потрачено на Adwords, так называемые UAC (universal app campaigns) кампании, порядка $600. Несмотря на то, что этот метод давал мне наиболее дешевые установки, средний доход с юзера был все равно меньше. Я ожидал, что инсталлы от Adwords спровоцируют рост органики, но этот эффект был слишком слабым, и кампании пришлось остановить.

В итоге ни платные, ни бесплатные методы продвижения не принесли мне желаемого эффекта и я практически прекратил попытки. Количество скачиваний игры в день после этого опустилось до 10-40 и игра почти не подавала признаков жизни. Однако мне повезло, и неожиданно для меня Google Play зафичерил меня в разделе Indie Corner. Это не очень популярный раздел по меркам Google Play, но тем не менее количество скачиваний только благодаря ему сильно выросло и в отдельные дни достигало более 2000.

Думаю вместо слов, вам будет больше интересно увидеть статистику. Это данные спустя 2 месяца после релиза и 2 недели после начала фичеринга:

Активные установки / Всего установок: 8400 / 37000
Рейтинг на Google Play: 4.2 (148)
DAU/MAU: 3400 / 33000 (количество уникальных юзеров в день / в месяц)
Среднее время игры в день на юзера: 8m 31s
Среднее количество сессий в день на юзера: 1. 6
Юзеров без критических ошибок: 99.6%

Удержание:

Таким образом, я получил возможность сравнить аудиторию, привлеченную через Adwords, и органику. Интересно, что между ними есть существенная разница. “Органический” юзер намного чаще оставляет отзыв, чаще делает покупки (все равно очень редко, но ни один юзер из Adwords до этого не делал покупок), и у него дольше игровые сессии. Хотя, к сожалению, удержание у него значительно хуже (удержание на первый день 25% у органики против 38% у юзеров с Adwords).

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

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

Какие языки программирования нужно знать, чтобы разрабатывать приложения под Android? | by Саша Азарова | NOP::Nuances of Programming

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

  • Какой язык программирования мне необходимо выучить?
  • Где я смогу выучить выбранный язык?
  • Как только я разобрался с основами, в какой программе мне писать код?

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

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

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

Языки, которые вы можете изучить, чтобы разрабатывать приложения под Android:

  • Java: Java является официальном языком программирования для платформы Android и поддерживается Android Studio. Однако у данного языка крутая кривая обучаемости.
  • Kotlin: С недавних пор, Kotlin стал вторым официальном языком программирования для платформы Android. Во многом Kotlin очень похож на Java, но его кривая обучаемости менее крутая.
  • C/C++: Android Studio поддерживает язык программирования C ++, но только при совместном использовании с Android NDK.
  • C#: Это более удобная и дружелюбная к новичкам альтернатива C или C++. Код на С#, как правило, выглядит проще и лаконичнее. Данный язык поддерживают такие инструменты, как Unity и Xamarin, которые отлично подходят для кроссплатформенной разработки игр и приложений.
  • BASIC: Его стоит изучить для того, чтобы попробовать IDE от Anywhere Software, под названием B4A (Basic4Android). Это простой, но достаточно мощный инструмент. При разработке приложений используется множество нативных библиотек.
  • Corona/LUA: Кроссплатформенный инструмент, основанный на языке программирования Lua. Corona сильно упрощает процесс создания приложений и позволяет вызвать любую нативную библиотеку.
  • PhoneGap (HTML, CSS, JavaScript): С помощью PhoneGap вы можете создать кроссплатформенное приложение с помощью JavaScript, используя HTML и CSS для разметки. То есть вы создаете свое приложение, также как создаете обычный веб-сайт.

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

Самый простой способ начать разрабатывать приложения — скачать Android Studio.

Android Studioэто интегрированная среда разработки (IDE), разработанная компанией Google. В комплекте с этой IDE идет Android SDK (набор инструментов для упрощения и ускорения разработки приложений), что позволит вам, без лишних усилий, сразу же сесть и начать работать.

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

Сам язык Java был выпущен компанией Sun Microsystems в далеком 1995 году. Код Java можно выполнить на любом устройстве, так как сначала он транслируется в специальный байт-код, независимый от платформы, а затем этот байт-код выполняется виртуальной машиной JVM.

К сожалению, Java довольно сложен, поэтому я бы не рекомендовал его, в качестве “первого языка для изучения”. Java — это объектно-ориентированный язык, включающий в себя такие сложные темы, как конструкторы, NullPointerException, проверяемое исключение и т.д. Вам придется использовать очень много шаблонного кода (boilerplate code), который занимает ненужное место и отвлекает внимание, и все ради выполнения одной минимальной задачи. Также, разработка с помощью Java потребует от вас базового понимания таких понятий, как Gradle, манифест приложения и язык разметки XML.

Но все вышеперечисленное вовсе не означает, что Java — это плохой язык. Вообще нельзя называть, какой бы то ни было, язык плохим. Все недостатки Java существуют для нашего же с вами блага и способствуют написанию чистого кода. Именно по этой причине многие люди так любят Java, а еще потому что он очень универсален и используется по всему миру. Согласно рейтингу PYPL (PopularitY of Programming Languages), Java является самым востребованным языком программирования среди работодателей.

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

Каков вердикт? Для тех, кто хочет испытать полное погружение в Android-разработку, Java — идеальный вариант для начала. Ну а для тех, кого отталкивает написание сложного и объемного кода, существует визуальный редактор и шаблонный код. Если вы новичок и хотите создать игру, либо просто хотите создать несколько проектов с нуля для портфолио и профессионального опыта — я советую вам начать с чего-нибудь попроще и вернуться к Java и Android Studio, когда вы будете более уверено чувствовать себя в мире мобильной разработки.

Примечание: Java также можно использовать с Unity. Я расскажу о движке Unity в разделе C#. Просто знайте, что можно выучить Java, вместо C# и использовать с Unity, а затем перейти к разработке, с помощью Android Studio.

Совсем недавно Kotlin стал официальным языком программирования для платформы Android. Некоторые предполагают, что он может стать чем-то вроде языка Swift, но для Android.

Kotlin, как и Java, компилируется в байт-код JVM. Он полностью совместим с Java, то есть мы можем взять любой Java-код, написанный раньше, и вызвать в Kotlin, либо же наоборот. Отличие заключается в том, что Kotlin требует гораздо меньше шаблонного кода “boilerplate code”, поэтому его синтаксис читается легче. Также, в отличие от Java, Kotlin null-безопасен, то есть при попытке присваивания или возвращения null-код не скомпилируется. В общем, если вы только учитесь разрабатывать приложения под Android, Kotlin — замечательный выбор.

Kotlin определенно заслуживает звания отправного языка программирования для начинающих, а тот факт, что с ним можно использовать Android Studio — большой плюс. Но в то же самое время C# вкупе с Unity — более подходящий выбор для новичков. К тому же комьюнити Kotlin только недавно начало сформировываться. Выбор за вами.

Справедливости ради скажу, что новичкам все же не стоит выбирать этот язык, в качестве первого для Android-разработки. Android Studio предлагает поддержку языка C/C ++, но только при использовании Android NDK (Native Development Kit). Это означает, что код, написанный на C и C++ нельзя выполнить на JVM, но можно выполнить непосредственно на самом устройстве, что дает больший контроль над такими вещами, как, например, память. Для требовательных приложений это поможет выжать из устройства максимум производительности. Кстати, вы сможете использовать библиотеки, написанные на C или C++.

Минусом является трудная настройка Android NDK, большое количество ошибок и низкая гибкость C и C++ (сложно добавлять к существующей программе новые функциональные возможности). Если вы хотите создать компьютерную игру, вам лучше воспользоваться готовым игровым движком.

C# — это более простой, более удобный объектно-ориентированный аналог языков C и C++, разработанный компанией Microsoft. Он сочетает в себе мощь C++, удобство Visual Basic, а также многие особенности синтаксиса Java. Как и в Java, в C# реализована функция сборки мусора (garbage collection), которая периодически освобождает память, удаляя объекты, не востребованные приложениями, поэтому вам не придется беспокоиться о таких вещах, как утечка и освобождение памяти.

Если вы хотите быстро и без особых усилий начать разработку приложений под Android — я рекомендую сочетание C# и Unity. Unity — это и игровой движок, и IDE. Unity — это бесплатный инструмент, который позволяет за считанные часы и несколько строк кода создать полноценную игру. Без преувеличения. Помимо легкости в использовании, Unity очень мощный движок, именно поэтому его используют многие игровые студии в Google Play Store. Кстати, забыл упомянуть про его кроссплатформенность. Помимо всего прочего, разработка приложений, с помощью C# и Unity, поможет вам лучше понять объектно-ориентированное программирование (поскольку “объекты” на самом деле являются объектами большую часть времени).

Каковы же минусы? Unity — идеальный вариант для разработки игр, но для создания стандартных Android-приложений, типа калькулятора, плохо подходит, особенно если вы собираетесь соответствовать материальному дизайну (material design) от Google. Если вы планируете стать профессиональным Android-разработчиком, вам лучше на время забыть про C# и Unity, так как это ограничит ваши возможности для трудоустройства, однако если ваша цель стать именно разработчиком игр — C# и Unity ваш путь в будущее.

Не заинтересованы в Unity? Тогда вам стоит рассмотреть Unreal Engine (графика в разы лучше, чем у Unity, но данный движок мало подходит для разработки мобильных игр) или же донельзя упрощенный движок GameMaker Studio.

C# также можно использовать, при помощи Xamarin через Visual Studio. Данный способ очень похож на традиционный способ разработки Android-приложений (при помощи Android Studio), но с добавлением функции кроссплатформенности (один и тот же исходный код для Android и iOS). C# и Xamarin — бессмысленный вариант для новичков в сфере разработки приложений под Android, но для небольшой компании, желающей создать приложение и для iOS, и для Android — это имеет смысл, поскольку большое количество информации в Интернете по тем или иным вопросам, а также сплоченное комьюнити поможет в этом нелегком деле.

BASIC (Beginners All-Purpose Symbolic Instructions Code) — это невероятно приятный в использовании язык, который идеально подходит тем, кто только начал свое знакомство с программированием.

Плохая новость заключается в том, что BASIC не поддерживается Android Studio, а также вы не сможете писать на нем в Unity или Xamarin. Но без хорошей новости мы вас не оставим — писать Android-приложения на BASIC все таки можно. Как? С помощью B4A от Anywhere Software. Аббревиатура расшифровывается как “BASIC 4 Android” и означает она, как вы уже поняли, разработку на BASIC для Android. Данный язык, конечно, не очень популярен для разработки приложений, но попробовать что-то новое всегда полезно.

B4A — это среда разработки, основанная на концепции RAD или Rapid Application Development (Быстрая Разработка Приложений). В B4A реализовано множество креативных решений для более легкой разработки приложений. Кроме того, у данной среды разработки очень сплоченное комьюнити, которое не оставит вас без помощи в трудную минуту.

BASIC и B4A — это отличный способ научиться программировать, к тому же он неплохо подходит для создания мощных и полезных приложений. Однако данный метод не совсем годится для создания высококлассных игр, потому что при нем теряется множество функций из-за того, что он является “неофициальным” вариантом для создания приложений и игр, и ему сложно соответствовать спецификациям материального дизайна от Google. В общем, вам будет сложно работать профессиональным разработчиком, используя один только BASIC. Другим большим недостатком является то, что B4A — единственный вариант в списке, не являющийся бесплатным.

Corona предлагает пользователям гораздо более простой, по сравнению с Android Studio, способ разработки приложений под Android, при этом предоставляя солидную мощность и полный контроль над процессом. Вы будете писать на языке программирования LUA, синтаксис которого намного проще, чем у Java. Кроме того, вместе с Corona идет Corona SDK (набор инструментов для упрощения и ускорения разработки приложений), что позволит еще больше упростить вашу работу. Corona поддерживает огромное множество нативных библиотек и кроссплатформенность. В основном он используется для создания игр, но может быть использован и в ряде других способов. Для написания кода вам нужно будет использовать текстовый редактор, например Notepad ++, затем вы сможете запустить его на эмуляторе, без необходимости компиляции. Когда будете готовы создать и задеплоить APK-файл, воспользуйтесь Corona Simulator.

Corona потребует от вас базовых навыков в программировании, но взамен предложит приятный и легкий процесс разработки приложений. В то же самое время возможности Corona и LUA несколько ограничены, поэтому попасть на “территорию настоящих разработчиков приложений” будет трудно. Данный способ разработки больше подходит для тех, кто хочет создавать простенькие приложения и не заботится о развитии своих профессиональных навыков. Кстати говоря, если захотите использовать в своем приложении функцию встроенных покупок — нужно будет заплатить комиссию. То же самое касается использования нативных API Android.

Наконец-то мы подошли к последнему варианту разработки приложений под Android. Поприветствуйте, PhoneGap! Данный фреймворк, основанный на Apache Cordova, позволяет создавать приложения, используя те же языки, которые мы обычно используем для создания веб-сайтов: HTML, CSS и JavaScript. Движок PhoneGap расширяет API браузера и предоставляет доступ к некоторым основным функциям телефона или планшета, вроде доступа к акселометру, камере, списку контактов, файловой системе и т. д.

По сути это ненастоящая разработка приложений под Android. Единственное, что здесь осталось от настоящего программирования — это JavaScript. Данный способ подойдет для выполнения многих базовых задач, но если вы хотите стать “настоящим, а не игрушечным” Android-разработчиком — наберитесь смелости и выберите другой вариант из данного списка.

Выбор за вами! Лично я бы хотел, чтобы был удобный способ разработки приложений под Android при помощи Python, но увы. Тем не менее мы убедились в том, что существует много интересных, легких и функциональных вариантов разработки Android-приложений!

Независимо от того, что вы выберете, изучение языков программирования — невероятный опыт, который откроет для вас массу дверей. А изучение разработки приложений на Android — идеальный вариант, чтобы начать. Удачи!

Перевод статьи Adam Sinicki: I want to develop Android Apps — What languages should I learn?

Создание игры для Android с нуля с помощью LibGDX(box2d) | by JetRuby Agency

Индустрия мобильных игр растет с каждым годом. По данным Newzoo, доход от мобильных игр в 2018 году оценивается в $57,9 млрд, поэтому неудивительно, что все больше людей привлекает идея разработки собственного приложения. К счастью, современные технологии предлагают массу способов сделать это. В сегодняшней статье мы покажем вам, как создать игру для Android, используя простую, но надежную библиотеку под названием libGDX(box2d).

С помощью libGDX(box2d) вы также можете разрабатывать игры для других платформ, включая Web, iOS, Windows, Linux, MacOS и даже Blackberry, а не только для Android. Код кроссплатформенный, поэтому вам не нужно писать несколько приложений. Вы можете создать его, и он будет работать на всех платформах, что позволяет значительно сэкономить время с помощью libGDX(box2d).

Что касается технической стороны, то libGDX(box2d) состоит из нескольких модулей, которые могут предоставить вам такие интересные функции, как возможность управлять поведением света, создавать игровых персонажей на основе ИИ, использовать различные типы ввода и т. д. более. Благодаря высокой производительности вы также можете создавать 3D-игры с помощью libGDX(box2d).

Тем не менее, давайте рассмотрим основные этапы разработки 2D-игры с использованием libGDX(box2d).

(В конце этой статьи мы также включили список ссылок, которые помогут вам начать работу с библиотекой).

Во-первых, вам нужно создать проект. Загрузите и запустите SetupApp, который доступен по следующей ссылке:

https://libgdx.badlogicgames.com/download.html

Здесь вы можете выбрать платформы и библиотеки, которые будет поддерживать ваша игра. Однако для этого конкретного проекта вам понадобится Box2d: 9.0003

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

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

Для отображения на экране вы будете использовать количество пикселей на метр, так как Box2D работает с метрами. В этом случае количество пикселей должно быть установлено равным 32. Таким образом, на один блок (метр) будет приходиться 32 пикселя.

В результате должен получиться белый экран:

Далее вам нужно создать объект слова, в котором вы зададите вектор гравитации:

После этого создайте объект игрока.

Чтобы увидеть границы объекта Player, добавьте Box2DDebugRenderer в класс MyGdxGame, который будет отображать объекты Body.

В методе Update обновить объект мира

Когда это будет сделано, привязать камеру к координатам Игрока

Вот как должно выглядеть полное содержимое класса MyGdxGame:

Далее вам нужно создать класс Player. Создайте BodyDef и объявите его положение и поведение DynamicBody:

Создайте PolygonShape, квадратной формы и с заданным размером:

При создании Player вы переносите в него объект World:

Также необходимо указать путь к изображение и начальная позиция:

Вот как должно выглядеть полное содержимое класса Player:

В результате вы должны увидеть на экране красный квадрат:

Теперь пришло время добавить в игру несколько текстур. Добавьте картинку cat.png для плеера в папку assets:

В классе Player укажите путь к текстуре; путь к изображению указан относительно папки Assets:

Создадим SpriteBatch, объекты Texture:

В методе render() нужно отрисовать текстуры:

Поменяем цвет экрана на более приятный :

Для пакетной обработки настройте матрицу проекции:

Вот как должно выглядеть полное содержимое класса MyGdxGame:

В результате вы должны увидеть игровой объект с привязанной текстурой:

Для создания карты необходим набор тайлов. Вы можете найти его или создать самостоятельно в графическом редакторе. Также вам понадобится Tiled для создания карты из тайлов. Доступен по следующей ссылке:

http://www.mapeditor.org/download.html

После создания новой карты необходимо нарисовать отдельные слои:

  • плитки — слой текстур;
  • bounds — слой линий, границы мира;
  • земля — слой линий, объект, от которого можно отталкиваться;
  • опасностей — слой линий, опасных участков, при соприкосновении с которыми наносятся повреждения.

В итоге у вас должен быть файл с картой GameMap.tmx, файл с тайлами Tiles2d.tsx и файл, в котором хранятся тайлы — Tiles2d.png

Для загрузки карты создайте класс MapParser который создаст объект для каждой строки, содержащей Body (Ground, Bounds, DangerZone), и добавит его в World:

Теперь Bounds Class:

Ground Class:

DangerZone Class:

В классе MyGdxGame нужно указать путь к файлу с картой:

В методе onCreate() создать:

Добавить в метод update():

Добавить в метод render():

Не забыть добавить в метод dispose():

Чтобы отключить отрисовку границ объектов, удалить:

Вот как после этого должен выглядеть полный код класса MyGdxGame:

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

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

Вызвать intputUpdate() в методе update()

Для отслеживания касания с поверхностями в методе onCreate() установить WorldContactListener:

Create WorldContactListener:

Чтобы сохранить состояние прыжка и жизни в Player, необходимо добавить:

Перейти к методу ввода. Там нужно создать метод PlayerUpdate() для проверки жив ли еще игровой объект и, в обратном случае, удалить его из Мира и создать новый объект Player:

libGDX documentation ;

Вики libGDX ;

libGDX на GitHub ;

В этом посте мы показали вам, как разработать 2D-игру для Android с помощью libGDX(box2d). Как видите, даже такая сложная задача, как создание мобильной игры, может быть относительно легкой; вам просто нужно разбить его на более мелкие шаги.

На данный момент мы использовали эту библиотеку только для разработки 2D-игр, но, возможно, у кого-то из вас уже есть опыт создания трехмерных приложений с помощью libGDX(box2d)?

Также, если вам понравилась статья, поддержите ее хлопками и кнопкой подписки!

Настройка проектов Unreal Engine для разработки Android

См. также

На этой странице

В этом кратком руководстве вы найдете все необходимое для настройки Unreal Engine 4 (UE4) для разработки игр для Android, включая следующие темы:

  • Настройка тестового устройства и компьютера для разработки игр для Android.

  • Настройка новых проектов для мобильной разработки.

  • Настройка Unreal Editor для упаковки сборок Android.

  • Настройка редактора для предварительного просмотра с уровнями функций мобильного рендеринга.

  • Тестирование вашего проекта на устройстве из редактора.

  • Упаковка автономной сборки вашего проекта.

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

1 — Предварительные требования для разработки Android

Чтобы создать и развернуть проект Android, вам необходимо установить несколько предварительных требований для разработки Android, включенных в Unreal Engine, и убедиться, что ваше устройство готово к тестированию.

  1. Следуйте инструкциям в разделе Настройка Android SDK и NDK для Unreal, чтобы установить Android Studio и настроить необходимые компоненты SDK для разработки Android в Unreal.

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

  3. Найдите Параметры разработчика в настройках вашего устройства, затем включите

    Отладка по USB .

    Нажмите, чтобы увеличить изображение.

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

  5. Разрешите компьютеру установить все необходимые драйверы для вашего устройства.

Выполнив эти шаги, вы будете готовы к разработке новых проектов Android.

  • Дополнительные сведения о настройке устройства см. в нашем руководстве по настройке устройства Android для разработки.

  • Сведения об установке дополнительных пакетов Android SDK для определенных устройств и функций см. в разделе Установка дополнительных пакетов Android SDK.

2. Создание проекта

В следующем разделе мы создадим новый проект UE4, который будет использовать шаблон Blueprint от третьего лица, чтобы показать, как быстро вы можете запустить проект UE4 на устройстве Android.

  1. Запуск Unreal Editor . В браузере Unreal Project используйте следующие настройки для создания нового проекта:

    • Категория проекта: Игры

    • Шаблон: Сверху вниз

    • Целевое оборудование: Мобильный телефон/планшет

    • Уровень качества: Масштабируемый 3D или 2D

  2. Назовите свой проект AndroidQuickStart и нажмите кнопку Create Project , чтобы завершить создание проекта.

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

3 — Настройка Unreal Editor для Android

Далее нам нужно убедиться, что наши Настройки проекта в Unreal Editor настроены для сборок Android APK.

  1. Нажмите Редактировать > Настройки проекта , чтобы открыть окно Настройки проекта.

  2. В окне настроек проекта перейдите к Платформы > Android .

  3. В разделе APK Packaging появится предупреждение «Проект не настроен для платформы Android». Нажмите кнопку Configure Now , чтобы автоматически настроить проект для записи необходимых файлов платформы.

  4. В поле Имя пакета Android укажите соответствующую компанию и название проекта.

    В нашем случае мы используем com.EpicGames.AndroidQuickStart .

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

Теперь ваш проект сможет создавать сборки Android и запускаться на устройстве Android.

4 — Настройка редактора и PIE для предварительного просмотра на мобильных устройствах

Вы можете установить режим Unreal Editor Play-In-Editor (PIE), чтобы обеспечить предварительный просмотр того, как ваша игра будет выглядеть в мобильном рендерере.

  1. На панели инструментов нажмите Настройки > Уровень рендеринга , затем выберите один из доступных уровней рендеринга для Android.

    Нажмите, чтобы увеличить изображение.

  2. Нажмите раскрывающийся список

    рядом с кнопкой воспроизведения на панели инструментов . Выберите один из доступных режимов Mobile Preview , соответствующий выбранному уровню рендеринга.

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

Дополнительные сведения о настройке Mobile Previewer см. в справочнике по программе Mobile Previewer.

5 — Запуск на Android-устройстве

Чтобы проверить свой текущий уровень на Android-устройстве, вам необходимо сделать следующее:

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

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

  3. В меню Запустить в разделе Устройства выберите свое Android-устройство из списка, щелкнув по нему.

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

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

    Нажмите, чтобы увеличить изображение.

6 — Упаковка сборок Android

Описанные выше шаги позволяют упаковать и немедленно запустить проект на устройстве. Чтобы упаковать автономный APK для распространения и тестирования, выполните следующие действия:

  1. Нажмите Файл > Проект пакета > Android > Android (Мульти:ASTC,PVRTC,DXT,ATC,ETC2,ETC1) .

    Нажмите, чтобы увеличить изображение.

  2. Когда появится диалоговое окно Package Project , выберите каталог, в котором вы хотите его сохранить. Здесь мы сохраняем его в AndroidQuickStart/Build .

    Нажмите, чтобы увеличить изображение.

  3. Щелкните Выберите папку , и Unreal Editor начнет упаковывать ваш проект. Дождитесь окончания упаковки.

Если вы перейдете в папку, в которой вы выводите свою сборку, папка будет содержать файлы APK и OBB, необходимые для установки вашей игры на устройстве Android. Также есть пара файлов .bat , которые можно использовать для автоматической установки или удаления сборки на подключенном устройстве.

Нажмите, чтобы увеличить изображение.

Для получения более подробной информации о настройке параметров упаковки для сборок Android см. справочную страницу по упаковке проектов Android.

7 — Самостоятельно

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

  • Справочник по разработке Android — Общая справочная информация для разработчиков Android в UE.

  • Требования к разработке для Android — Ссылка на совместимое оборудование, а также требования к SDK и ОС для использования определенных версий UE.

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

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