- PVSM.RU - https://www.pvsm.ru -
Здравствуйте, я хочу рассказать о своем опыте создания недавно вышедшей мобильной игры на Android, в общих чертах описать способы эффективного вывода графики на экран мобильного устройства с использованием OpenGL и привести результаты моих экспериментов по интеграции рекламных сетей.
У вас в распоряжении может быть 2 типа оружия – меч и копья, которые можно менять в зависимости от ситуации. Передвижение по уровню не полностью линейное, то есть вы сами планируете, как лучше проделать свой путь для победы над всеми врагами. Есть разные типы врагов, в том числе те которые атакуют с ближней дистанции и те которые атакуют с дальней, соответственно нужно использовать разную стратегию боя для каждого типа монстров.
Игру решено было реализовать на собственно разработанном 2D движке на Java, так как был интерес изучить платформу Android и особенности работы с графикой на нем. В данный момент это решение можно считать спорным, так как использование уже готового игрового движка даст возможность сэкономить достаточно времени, которое можно использовать для создания более качественной игры. Еще один большой плюс современных мобильных игровых движков (есть и бесплатные) это кроссплатформенность, которая может обеспечить значительное увеличение количества игроков. Поэтому, я вам рекомендую сначала внимательно изучить все возможности готовых игровых движков, и если их достаточно для реализации вашего игрового проекта, то целесообразнее будет использовать уже существующий движок. И, конечно же, при выборе движка учитывайте такой важный параметр как кроссплатформенность.
А теперь подробнее про реализацию собственного графического движка если существующие вас не устраивают. В Android есть 2 способа вывода графики – с использованием Canvas или Open GL. Первый метод более простой в реализации, но обеспечивает низкую производительность, подходит для игр с не очень требовательной к ресурсам графикой. Работать с Open GL сложнее, но и производительность будет значительно выше, что необходимо для большинства современных мобильных игр.
В начале разработки, попробовав реализовать рисование графики с помощью Canvas, я решил, что это обеспечит достаточную производительность для моей игры. Но не тут-то было, так как игра довольно активная и с немалым количеством графических объектов то по мере разработки производительность, которую выдавал Canvas, все время падала. Потом стало ясно, что без Open GL не обойтись. Open GL технология достаточно серьезная, поэтому ее изучение следует начать с фундаментальных основ. Мне, например, для реализации подходящего вывода графики пришлось изучать книги и статьи, которые описывают как основы работы с Open GL, так и те которые рассказывают о специфике работы с Open GL в Android.
Про то, как реализовать игровой движок с использованием Open GL я детально писать не буду, в интернете можно найти достаточно информации по этому поводу, а напишу рекомендации, которые обеспечат хорошую производительность вывода 2D графики. И так, для отображения графических объектов с использованием Open GL можно воспользоваться такими способами:
Если вы хотите достичь максимальной производительности работы графического движка то вам, скорее всего, придётся реализовать все 3 способа вывода графики, и использовать каждый в отдельной ситуации. Но, следует учесть, что есть устройства на базе Android которые не поддерживают Vertex Buffered Object и Draw Texture Extension, хотя их количество очень малое.
Для монетизации игры Doughty Spartan используется популярная сейчас модель Free 2 Play и реклама внутри приложения, каждый желающий может скачать игру бесплатно. В игре сначала доступен 1 уровень, а для того чтобы открыть следующий нужно определенное количество монет, которые можно заработать проходя уровни и чем лучше вы их проходите (например выполняете скрытые атаки) тем большее количество монет вы получаете. Совершив внутриигровую покупку пользователь может сразу открыть все уровни и отключить рекламу.
Чуть более детально напишу об опыте интеграции рекламных сетей. Для того чтобы можно было заработать на рекламе она должна быть соответствующего качества. Нужно найти те рекламные сети, которые рекламируют действительно хорошие приложения. Если вы создаете игру, то можно интегрировать рекламу других игр, так как ваш потенциальный пользователь, скорее всего, любит проводить время играя на мобильном устройстве и есть шанс, что он кликнет на игровой рекламный баннер.
Также следует рассмотреть такой способ монетизации как мотивированная реклама, то есть игрок получает определённые игровые бонусы (внутриигровую валюту) если посмотрит видеоролик, кликнет на баннер, установит рекламируемое приложение и др. Некоторые рекламные сети сами способствуют такому методу монетизации, например Tapjoy.
В процессе разработки изучал следующие рекламные сети:
Детальные инструкции по интеграции каждой рекламной сети можно посмотреть на их официальных сайтах.
При реализации монетизации с помощью рекламы следует учитывать то, что в некоторых странах Fill rate может быть не достаточным. Поэтому лучше интегрировать сразу несколько рекламных сетей и показывать ту рекламу, которая доступна в данный момент. Целесообразным будет реализовать кэширование рекламы, например, в процессе загрузки игры и сразу после показа рекламы, чтобы полноэкранный баннер можно было отобразить в определённый момент без задержки на загрузку. Функция кэширования обеспечивается SDK рекламных сетей и в большинстве случаев выполняется вызовом всего 1 метода предоставляемого SDK.
Изначально хотел выпустить игру через издателя, но, к сожалению, игра их не особо заинтересовала, в основном, через то, что выполнена в необычном жанре и она не казуальная. Один русский издатель указал, что графику нужно сделать более «мультяшной» в то время как Chillingo наоборот понравилась стилистка игры, то есть видение того какой должна быть игра у разных издателей может значительно отличатся.
При выборе игры издатель также интересуется вашим опытом в индустрии разработки игр. У меня переписка с одним издателем закончилась на том, что он узнал, что это моя первая игра, и я работаю один. Также часто требуется, чтобы в игре присутствовала Free 2 Play модель монетизации.
Заявку на публикацию игры я отправил довольно большому количеству издательских фирм. На удивление, наибольший интерес проявили Chillingo, которым я отправил тестовый билд игры. Но, проанализировав ситуацию на рынке мобильних игр, они ответили, что в наше время игры жанра платформер сложно монетизировать, поэтому вынуждены отказаться. При отправке заявки давал ссылку на видео с геймплеем игры, чтобы издатели смогли быстрее принять решение насчет публикации. Также это видео используется на странице игры в маркете.
В данный момент продвижением пытаюсь заниматься самостоятельно путем размещения постов об игре на разных тематических сайтах, некоторые из них взял из этой статьи [1]. Ошибкой было то, что информацию об игре я начал размещать после ее выпуска в Google Play, а надо было на более ранних этапах разработки, так как можно получить довольно полезные комментарии об игре и, возможно, что-нибудь изменить до момента релиза.
Надеюсь, приведенная выше информация поможет вам в разработке собственного игрового проекта.
Автор: hippeistudio
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka-pod-android/61437
Ссылки в тексте:
[1] этой статьи: http://habrahabr.ru/post/188374/
[2] Источник: http://habrahabr.ru/post/225101/
Нажмите здесь для печати.