Опыт создания игры для 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).
Подводя итоги, скажу, что игра до сих пор в небольшом минусе. Но ожиданий от первой игры особых и не было, а опыт получил ценный и интересный.
Если мой рассказ получился сумбурным, задавайте вопросы, уточню, что смогу.
Создание Java-игры: с чего начать
Все, ну почти все, любят видеоигры. Поэтому, даже если вы не собираетесь быть профессиональным разработчиком игр или просто не знаете наверняка, выучить язык программирования на практике и создать свой собственный проект видеоигры — отличная идея. Кроме того, это может быть хорошей мотивацией для вашего обучения.
Эта статья адресована всем, кто думает о создании собственного проекта Java-игры и не знает, с чего начать.
Java плоха для GameDev? .. Мифы и реальность
Если вы прочитаете некоторые форумы и статьи о разработке игр, у вас может сложиться впечатление, что Java не является хорошим выбором для разработки игр. Однако это мнение несколько устарело и неточно. Мир видеоигр очень разнообразен. Условно вы можете разделить игры на следующие категории:
- «Большие» игры. Такие как 3D-шутеры, масштабные экшн-приключения/action RPG. В эту категорию также входят проекты уровня AAA. Обычно это высокобюджетные игры, предназначенные для массовой аудитории, такие как Red Dead Redemption 2, Assassin Creed Origins и так далее. Игры такого типа обычно написаны на C ++ и сопровождаются игровыми движками. Java является редким гостем в разработке игр такого типа из-за особенностей JVM. Точнее, его можно использовать, например, для создания внутренних деталей.
- Инди-игры. Один геймер относится к инди-проектам с презрением, а другой любит их со страстью. Инди-игра означает независимую игру, созданную небольшой командой или даже одним разработчиком.
Среди инди много любительских проектов, некоторые из них не приносят денег своим создателям. Инди больше о оригинальной идее и игровом процессе, хороших сценариях и субъективном видении, а не о производительности и высококачественной графике.
Тем не менее, такие инди-проекты прорываются на рынок и становятся мегапопулярными. Хорошим примером такой игры является Minecraft, изначально созданный одним человеком, Маркусом Перссоном. По состоянию на май 2019 года было продано более 176 миллионов копий Minecraft. Это делает ее одной из самых продаваемых видеоигр всех времен. В 2014 году Microsoft купила Minecraft и Mojang за 2,5 миллиарда долларов США. Кстати, Маркус Перссон является Java-разработчиком, поэтому он написал свое выдающееся детище на этом языке. Так что, да, Java действительно хорош для инди-проектов.
- Мобильные игры. Этот огромный рынок продолжает расти вместе с количеством и производительностью смартфонов. Почти каждый играл в игру на своем мобильном устройстве. Хороша ли Java для разработки мобильных игр? Ответ твердое «да». Доля рынка Android-смартфонов сейчас составляет 80%, и на Java написано очень много мобильных игр.
Выводы: Java хорош для разработки мобильных игр и инди-проектов (эти рынки несколько пересекаются) и для разработки серверной части высоконагруженных онлайн-игр.
Более того, Java является универсальным языком. Он используется при разработке на стороне сервера, в больших данных, мобильных и веб-приложениях, торговых приложениях, встроенном пространстве и т.д. Java Developer может свободно менять свою роль в программировании. Следовательно, Java дает вам свободу выбора, может быть, даже больше, чем любой другой язык программирования.
Может ли новичок-программист создать свою собственную игру? Как это сделать?
На самом деле, даже самую простую видеоигру не так просто написать, особенно для тех, у кого туго с опытом программирования. К счастью, мы живем в эпоху открытой информации, поэтому мы можем найти различные пошаговые инструкции и курсы для разных уровней.
Обсудим три варианта создания игр на Java для начинающых.
Вариант 1. С нуля, используя пошаговые инструкции. CodeGym, Games section
Эта функция подходит для начинающих. Вы можете создать свою версию 6 классических игр с основами знаний Java. Раздел игр на CodeGym не входит в основной курс и доступен бесплатно для всех пользователей.
Раздел CodeGym Games позволяет вам создавать свои собственные версии легендарных видеоигр, таких как Minesweeper, 2048 или Snake (Space Invaders, Moon Lander и Racer находятся в разработке).
Каждая игра представляет собой задание с двумя десятками подзадач и пошаговыми инструкциями. Студент получает подзадачу и советы, пишет код, а затем проверяет с помощью автоматической системы CodeGym. Если код работает правильно, студент переходит к следующему шагу. Весь код пишется непосредственно на сайте CodeGym или в IntelliJ IDEA через специальный плагин, который вы можете получить на CodeGym.
Завершив последний шаг, у вас есть готовая к использованию игра, вы можете опубликовать ее на сайте, настроить ее в соответствии со своим виденьем и поделиться с друзьями.
Что вы должны знать для кодирования этих игр? Это уровень первых программ на Java: начальные знания о классах и объектах, базовые примитивные типы данных, String, циклы и ветки, а также массивы и начальные знания о структуре ArrayList. Авторы CodeGym рекомендуют пройти первые 5 уровней курса, чтобы получить такие знания.
Вариант 2. Для не совсем новичка в Java, который любит Minecraft
Если вам нравится Minecraft, то стоит попробовать сделать некоторые модификации с Java. Большинство модов добавляют некоторый контент в игру, чтобы изменить игровой процесс или дать игроку больше возможностей в том, как они взаимодействуют с миром Minecraft. Например, вы можете закодировать новый, более точный лук или что-то в этом роде. Некоторые люди создают мини-игры прямо в Minecraft.
Даже если вы не большой поклонник этой игры, каждому новичку было бы полезно работать с декомпилированным кодом, пытаясь понять его и изменить его для себя. Позже вы можете играть в Minecraft с вашими собственными режимами.
Чтобы начать с моддинга, у вас должны быть установлены IDE и JDK, а также инструмент для моддинга. Forge — один из самых популярных инструментов для моддинга Java. Есть множество учебных пособий и курсов по моддингу Java Minecraft.
Вот некоторые из них:
Что нужно знать для моддинга Minecraft с Java?
Это зависит от сложности режима, который вы хотите сделать. Вы должны знать хотя бы Java-классы и объекты, основы структур данных, однако было бы гораздо полезнее, если у вас есть более или менее солидные навыки использования ООП, ознакомления с потоками и коллекциями Java.
Случай 3. Я хорошо знаю Java Core, я готов к собственному игровому проекту.
У вас есть идея для независимого кроссплатформенного или мобильного проекта? Может быть, вы знаете, как создать свою собственную версию популярной игры? Что делать, если вы знаете Java Core и больше ничего не знаете о разработке игр? Написание игры на сыром Java — довольно сложная перспектива, но есть действительно интересные и полезные фреймворки и библиотеки, которые помогут вам воплотить вашу идею в жизнь.
Из чего состоит игра?
- Графика
- Физика (способ взаимодействия объектов в игре)
- ИИ (он представлен не в каждой игре, но довольно часто)
- Графический интерфейс пользователя
- Звук
OpenGL — это кроссплатформенный интерфейс прикладного программирования (API) для рендеринга 2D и 3D векторной графики. В Java вы можете использовать функции OpenGL с некоторыми библиотеками — Java3D , JOGL (Java OpenGL) и LWJGL (облегченная библиотека игр Java). Все они кроссплатформенные, бесплатные и с открытым исходным кодом.
Самый популярный — последний, LWJGL. LWJGL предоставляет вам доступ к графической библиотеке OpenGL и содержит все необходимое для создания 2D и 3D игр. LWJGL также поддерживает мощный кроссплатформенный API для создания музыкальных и звуковых эффектов OpenAL и поддерживает OpenCL, стандарт для кроссплатформенного параллельного программирования.
libGDX — это фреймворк LWJGL для кроссплатформенных игр. Он содержит полезный движок Box 2D, который позволяет создавать игровую физику, множество графических классов, инструменты для работы со звуком.
libGDX состоит из нескольких модулей, поэтому вы можете использовать его для создания персонажей на основе AI, управления светом, звуком и физикой.
С помощью libGDX и box2d вы можете разрабатывать игры для разных платформ, таких как Android, iOS, Windows, Linux, MacOS и Web. Вам не нужно заново создавать код для каждого из них, написать его один раз, и он будет работать на любой системе из-за кроссплатформенности.
Поэтому неплохо бы изучить libGDX для начинающего разработчика Java-игр.
Что-то еще?
Разработка игр — это не только программирование. Если вы планируете работать со своим проектом самостоятельно, вам также следует:
- Сделайте некоторые пиксельные рисунки, текстуры, спрайты персонажей. Вам нужен редактор изображений для этого. Например, Pinta или Paint.Net
- Левел-дизайн. Чтобы создать карту, вам нужен набор плиток. Вы можете создать его в графическом редакторе. Для создания карты из плиток вы можете использовать редактор карт Tiled.
- Создайте текстурные атласы. Текстурный атлас — это одно большое изображение, которое содержит все спрайты. Атлас определенно ускоряет процесс разработки. Вы можете использовать бесплатный сервис Sprite для этой задачи.
- Создать графический интерфейс. Используйте, например, Overlap2D
Даже если вы абсолютный новичок, вы можете попробовать создать видеоигру, используя некоторые веб-учебники и инструменты, такие как CodeGym Game Section.
Вы также можете попытаться создать несколько режимов для существующих игр, и Minecraft (версия для Java) вместе с Forge.
Если вы достаточно хорошо знаете Java Core, то libGDX Framework — хороший выбор для изучения и использования в вашем первом игровом проекте.
Мобильная реклама – лучшее решение для монетизации игр
Ищете оптимальный способ монетизации мобильной игры? Разместите в ней рекламу, чтобы пользователи играли бесплатно, а вы все равно получали доход. Читайте дальше, чтобы узнать, почему разработчики выбирают монетизацию с помощью рекламы, и ознакомиться с рекомендациями по реализации рекламы в мобильной игре.
Почему разработчики монетизируют игры с помощью мобильной рекламы?
Пользователи любят бесплатные игры
Разработчики привыкли использовать для игр самые разные стратегии монетизации: от подписок до покупок в приложении, когда пользователи оплачивают какие-то функции, чтобы играть эффективнее. Однако статистика показывает, что только небольшая часть пользователей мобильных приложений тратят там деньги хотя бы раз в месяц. В результате всё больше разработчиков переключаются на мобильную рекламу, чтобы получать доход.
Реклама выгодна для всех
Далеко не каждый пользователь готов оплачивать подписку или делать покупки в приложении. Но если вы разместите в приложении рекламу, ее будут смотреть все. Вот почему этот вариант монетизации так популярен. Реклама выгодна всем: разработчикам, пользователям, рекламодателям. Разработчики получают доход и могут заниматься любимым делом, создавая новый контент. Пользователи играют в любимые игры бесплатно, что повышает их вовлеченность и лояльность. А рекламодатели привлекают новых клиентов благодаря показу релевантных объявлений своим целевым аудиториям.
Вы можете использовать и другие модели монетизации
Реклама в приложении позволяет не только делать игры бесплатными для пользователей, но и подключать другие источники дохода, например покупки в приложении. Всё больше разработчиков сочетают эти две стратегии и увеличивают доход. Объявления с вознаграждением тоже популярны. С их помощью можно показать пользователям, какие возможности есть в приложении. Иногда после этого пользователь решает что-то оплатить. За последний год так называемая гибридная монетизация стала применяться более чем на 50 % чаще 1 . Читайте дальше, чтобы узнать, как другие разработчики используют рекламу для монетизации игр.
История успеха Avid.ly: сочетание мобильной рекламы и покупок в приложении
Китайская компания Avid.ly хотела увеличить доход. Для этого нужно было найти способ монетизировать аудиторию, которая не платит за игры. У Avid.ly более 50 мобильных игр, которые привлекают более 2 миллионов активных пользователей каждый день, но только малая часть этой аудитории что-то покупает в играх. Реклама стала для компании новым источником дохода. Специалисты компании добавили в несколько приложений статические баннеры и межстраничные объявления, а также разработали стратегию, в которой покупки в приложении сочетались с рекламой.
Летом 2016 года в Рекламе в приложении появились объявления с вознаграждением. В Avid.ly тут же заинтересовались этой новой возможностью. Сначала специалисты беспокоились, что такая реклама повлияет на доход от покупок в приложении, но результаты оказались прямо противоположными. Для одной из игр средний доход на пользователя вырос на 40 %, доход от покупок в приложении – на 18 %, а продолжительность сеанса – на 20 %. Сейчас Avid.ly использует объявления с вознаграждением во всех своих мобильных играх.
Как выбрать формат объявлений для игры
Вы готовы добавить мобильную рекламу в свои игры? Мы предлагаем целый ряд эффективных форматов объявлений, которые адаптируются к приложению и не раздражают пользователей.
Баннеры легко настраиваются и отлично подойдут для начала. Межстраничные объявления разворачиваются на весь экран. Объявления с вознаграждением дают пользователям дополнительные преимущества и повышают вовлеченность. Нативные объявления адаптируются к дизайну вашей игры. Какой бы формат вы ни выбрали, это решение повлияет на процесс игры. Воспользуйтесь нашими ресурсами, чтобы протестировать разные форматы объявлений и проанализировать их эффективность. Ниже мы подробнее расскажем о каждом из вариантов.
Баннеры: легкая настройка и широкий охват
Что такое баннеры? Это прямоугольные объявления, которые показываются в пустом пространстве в верхней или нижней части экрана. Они также могут отображаться на приветственной заставке или после прохождения уровня. Баннеры бывают текстовыми, графическими и видео.
В чем преимущества баннеров? Баннеры очень просто добавить в приложение. Они прекрасно подходят для казуальных и одноэкранных игр, поскольку там несложно выделить часть экрана под рекламу. Баннеры показываются прямо во время игры, но не мешают играть. Благодаря этому увеличивается охват аудитории. Рекламные места обновляются автоматически. Оптимальная частота обновления подбирается с учетом статистики, так что пользователям постоянно показываются новые интересные объявления, не мешающие игровому процессу. В Рекламе в приложении также доступны смарт-баннеры, размер которых автоматически адаптируется к различным устройствам. Такие баннеры занимают всю ширину экрана, а высота рассчитывается с учетом пропорций устройства и ориентации экрана.
Рекомендации по добавлению баннеров
- Баннер можно расположить у верхнего или нижнего края экрана в приложении. Его должно быть легко отличить от остального контента. Например, можно разместить рекламу подальше от интерактивных элементов и добавить визуальную границу.
- Если баннер зафиксирован в верхней или нижней части экрана, воспользуйтесь функцией «смарт-баннер», чтобы система автоматически меняла размер объявления с учетом размера и ориентации экрана. Тогда ваша реклама будет отлично смотреться на смартфонах, планшетах и других устройствах как при горизонтальной, так и при вертикальной ориентации.
- Если вы хотите задавать размер баннеров вручную, очень важно выбрать наиболее эффективный вариант. Как правило, на небольших экранах с фиксированным рекламным местом лучше всего смотрятся баннеры 320 х 50, а для планшетов подойдет размер 728 х 90.
- Крупные баннеры можно разместить на главном экране или на заставке, если там есть место. В таких случаях наиболее эффективным будет вариант 300 х 250.
- Наконец, включите оптимизированную частоту обновления, чтобы система выбирала ее с учетом статистики эффективности. Это поможет вам повысить доход.
Интерактивные межстраничные объявления: взаимодействие с игроками
Что такое межстраничные объявления? Это реклама, которая занимает весь экран. Наш сервис поддерживает все форматы таких объявлений, в том числе интерактивную и видеорекламу. Пользователь может закрыть межстраничное объявление.
В чем преимущества межстраничных объявлений? Межстраничные объявления просто добавить в приложение, и они не влияют на контент в игре, поскольку занимают весь экран. Это идеальный вариант для игр, где есть перерывы или переходы между уровнями. В эти моменты удобно показывать рекламу. Межстраничные объявления, как правило, получают меньше показов, чем баннеры, но цена за тысячу показов у них выше, так что доход заметно растет.
Рекомендации по добавлению межстраничных объявлений
- Проанализируйте процесс игры. Межстраничные объявления можно добавлять между уровнями или во время пауз.
- Обеспечьте предварительную загрузку объявлений, чтобы они вовремя попадали в кеш и были готовы к показу, когда пользователь переходит на другой уровень или делает перерыв.
- Заранее подумайте о том, как пользователи воспримут вашу рекламу. Убедитесь, что объявления не будут их раздражать. Например, не рекомендуется показывать рекламу в те моменты, когда пользователь только перешел на новый уровень и ожидает, что игра продолжится.
- Не перегружайте игру рекламой. Настройте ограничение частоты показов, чтобы пользователи видели только определенное количество межстраничных объявлений за указанный период времени. Начните с небольшого количества и постепенно повышайте его, чтобы найти оптимальный вариант. Так вы не оттолкнете пользователей и у них будет время привыкнуть к рекламе.
Нативные объявления: единство контента и рекламы
Что такое нативные объявления? Это объявления, дизайн которых автоматически адаптируется в зависимости от оформления и контента вашей игры. Как правило, в них есть основное изображение или видео, а также текст, соответствующий цели кампании.
В чем преимущества нативных объявлений? Такие объявления визуально органично сочетаются с контентом в приложении. Пользователей это реже отталкивает, поэтому их ценность в перспективе растет. Нативные объявления подходят для большинства приложений, от вас требуется только обдумать места показа.
Рекомендации по добавлению нативных объявлений
- Учитывайте стиль своего контента. Настройте объявления так, чтобы они визуально сочетались со страницей, но все-таки выделялись цветом, шрифтом или тенями. Для всех нативных объявлений нужно добавить пометку рекламы и значок «Выбор рекламы». Кроме того, они не должны быть похожи на элементы навигации.
- Добавьте четкий призыв к действию и сделайте так, чтобы пользователям было легко взаимодействовать с объявлением.
- Воспользуйтесь MediaView для отображения основного объекта нативного объявления. Это обеспечит успешную обработку как видео, так и изображений.
- Подумайте о том, как разместить объявления. Нативные объявления лучше всего воспринимаются, когда пользователь читает контент, а не играет в игру. Поэтому в играх такую рекламу чаще всего размещают в меню, на заставке перед началом игры или на странице между покупкой в приложении и установкой обновления.
Объявления с вознаграждением: подкрепляйте интерес пользователей
Что такое объявления с вознаграждением? Это объявления, с которыми пользователь взаимодействует, чтобы получить какие-либо бонусы в приложении, например дополнительные жизни или функции, которые иначе доступны только за деньги. Объявления с вознаграждением могут быть в формате видео или интерактивной игры.
В чем преимущества объявлений с вознаграждением? Пользователи сами решают, взаимодействовать ли с объявлением, чтобы получить вознаграждение. Это очень популярный формат в игровой индустрии, поскольку такая реклама стимулирует вовлечение и повышает доход разработчиков. За прошлый год количество приложений, где есть объявления с вознаграждением, выросло в 4 раза 2 . Эффективная цена за тысячу показов у этого формата обычно выше, чем у других. Рекламодатели отмечают, что такая реклама повышает вовлеченность игроков. Но поскольку количество показов непосредственно зависит от коэффициента участия, объявления будут эффективны, только если вознаграждение действительно привлекательно и актуально.
Рекомендации по добавлению объявлений с вознаграждением
- Подумайте, где и когда пользователям будет удобнее взаимодействовать с объявлениями, чтобы получить вознаграждение. Решите, каким будет само вознаграждение. Например, можно показывать видеорекламу, когда пользователь «умирает» в игре. Если он посмотрит видео, то получит дополнительную жизнь – и ему не придется проходить уровень с самого начала. А в игре, где надо что-то развивать, можно давать пользователям бонусы-ускорители.
- Объявления с вознаграждением прекрасно дополняют покупки в приложении. Некоторые разработчики предлагают в качестве бонусов то, что обычно продается. Пользователи, которые попробовали премиум-версию, потом с большей вероятностью тратят деньги в приложении.
- Поэкспериментируйте с разными вариантами и объемом вознаграждений, чтобы найти оптимальный вариант. В этом вам поможет надежное решение для A/B-тестирования, такое как Firebase Remote Config.
- Как и в случае с межстраничными объявлениями, здесь важно обеспечить предварительную загрузку, чтобы перед показом объявление уже было в буфере.
Сочетайте разные форматы объявлений
Многие разработчики игр сочетают разные форматы объявлений, чтобы получать максимальный доход. Например, можно разместить баннеры в нижней части экрана, показывать межстраничные объявления между уровнями и раздавать дополнительные жизни или бонусы через объявления с вознаграждением. Google Реклама в приложении поможет вам повысить доход и заниматься любимым делом – разработкой игр.
Готовы попробовать Рекламу в приложении? Вперед!
Данные Google Play, все страны, январь 2017 г. и январь 2018 г.
Данные Google Рекламы, iOS и Android, все страны, апрель 2017 г. – январь 2018 г.
Создание игры на Android
Unity – это движок, на котором строится большая часть современных игр на разных платформах. Посредством движка реально создавать игры, ориентированные на запуск на компьютерах (Windows, Linux, MacOS), мобильных телефонах, планшетных компьютерах (Android, iOS) и даже игровых приставках PlayStation, Xbox, Nintendo.
Как создавать игры в Unity?
В основе Unity лежит компонентно-ориентированная концепция. По сути, любая игра состоит из массы объектов, разбавленных дополнительными компонентами. Для примера, во время создания платформера мы создаём GameObject, к нему дополнительно прикрепляем графическую составляющую, что отвечает за отображение персонажа, и управляющий компонент, он обеспечивает управление персонажем за счёт мыши, клавиатуры, джойстика или тачскрина. Движок не накладывает ограничения на количество подобных модулей. К GameObject можем добавить столько компонентов, сколько будет необходимо. Вся работа на движке строится на том самом создании GameObject и применение к ним подходящих компонентов.
Новичков может ввести в заблуждение видимая простота процесса, хотя это не так. Для создания уникальной и популярной игры придётся с нуля писать массу компонентов. Если точнее, в среде Юнити это называется скриптом. Родной язык создания скриптов – C#, но ещё частично используется JavaScript и Boo (обрезанный вариант Python). Создать собственные компоненты нелегко, можно даже сказать – это сложная процедура, напрямую завязанная на классическом программировании. Без наличия достаточного уровня знаний в программировании придётся несладко.
Поддерживаемые платформы
Многие крупные проекты предпочитают Unity из-за огромного списка платформ совместимых с движком. Готовое приложение реально запустить на любой компьютерной операционной системе, популярных мобильных платформах и SmartTV. Что уж говорить, даже браузерные игры и приложения для специфических платформ (вроде Tizen OS) преимущественно разрабатываются на Юнити.
Однако, здесь не всё так гладко. При необходимости можно писать специфические алгоритмы, основанные на низкоуровневом коде, под тот же самый Андроид нужно иметь доскональные знания Java.
То же самое справедливо и в отношении iOS. Ещё одна особенность iOS, что под неё разрабатывать возможно только с компьютера или планшета от Apple. При отсутствии Macbook или аналогичного устройства выпуск игры быстро застопорится и Unity здесь вовсе не причём, Apple сама накладывает подобное ограничение. Вывод прост: если в планах есть iOS-разработка, заранее следует подобрать подходящее устройство для сборки.
Как и где разработать игру на движке?
Длительный процесс разработки игр можем проводить как в рамках Windows, так и Mac OS X. Уже существуют версии редактора под Linux, но рассчитывать на стабильную их работу пока что не приходится. Большую часть времени по созданию игры разработчик проводит внутри редактора Unity. Ещё приходится много времени писать код скриптов, его создавать можем либо в стандартном MonoDevelop, либо в любом редакторе стороннего разработчика. Сейчас активно пользуются Visual Studio, а также Sublime Text, но только при должной настройке.