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


Найдено 427 сообщений
Cообщения с меткой

мобильные игры - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

Опыт Alawar: как увеличить eCPM рекламы в игре на 150%

Среда, 24 Августа 2016 г. 17:38 (ссылка)

Компания Alawar существует с 1999 года. Она известна своими hidden object games (игры про поиск предметов) – в аккаунте компании в Google Play доступно более 40 таких приложений.







Игры Alawar выходят во всех ключевых мобильных сторах (Google Play, App Store, Windows Store, Amazon, Samsung), продаются в Steam и распространяются через партнерские программы. Ниже история о том, для чего и как использовать рекламу в freemium-играх.



Задача




  • Alawar готовился к запуску новых проектов и хотел попробовать в них новые монетизационные решения.



На 2016 год Alawar планировал выпуск нескольких новых игр и обновление уже существующих проектов. Это был идеальный момент для того, чтобы обновить монетизационную стратегию, и с августа 2015 года компания начала поиск новых партнеров для размещения рекламы в своих играх.




  • Новый партнер должен помочь добиться максимального eCPM и fill rate.



Игры этого жанра обычно распространяются по freemium-модели: игрок скачивает пробную часть и, если ему нравится, за деньги открывает полную версию. Схема “Бесплатная пробная версия + платная полная игра” хорошо работает для проектов Alawar, но всегда есть пользователи, которые не готовы платить. Они играют только в пробные версии, и таких игроков компания монетизирует именно через рекламу.



Евгений Капустин, менеджер по монетизации Alawar: «Основная цель любой рекламы в игре – увеличение общего дохода за счет монетизации тех, кто не совершает покупки в приложении. В нашем же случае были дополнительные трудности из-за особенности модели распространения. Транслировать рекламу мы могли только в бесплатной части игры, а после покупки полной версии игры реклама отключается. Подобные ограничения сильно урезают потенциальное количество показов рекламы одному пользователю. Поэтому нам было важно найти партнера с максимально высоким показателем eCPM».




  • Игры Alawar выходят по всему миру, поэтому компания искала решение, которое позволило бы показывать рекламу в максимальном количестве стран при минимальных усилиях.



У Alawar был долгий опыт работы с разными сетями и сервисами медиации, среди которых AdMob, AdToApp, Chartboost, Fyber, Supersonic и различные поставщики видеорекламы (AdColony, UnityAds, Vungle, Applovin и др.). Но так как в этот раз требовался партнер, который объединил бы в одном решении высокий eCPM, хороший fill rate и стабильное покрытие во всех странах, компания начала искать новые сервисы.







Решение



Поиск оптимального решения начался с августа 2015 и продолжался почти несколько месяцев.




  • Новым партнером должен стать сервис медиации.



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




  • Максимальное упрощение и автоматизация.



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




  • Прежняя стратегия монетизации в сочетании с новыми инструментами: Rewarded video и полноэкранные баннеры



Монетизационная стратегия осталась прежней – она была давно отработана и просто нуждалась в обновлении. В играх Alawar используются два рекламных формата – Rewarded video (видеоролики, за просмотр которых игрок получает вознаграждение) и полноэкранные баннеры. Видео с наградой не вызывают раздражения у игроков, и их часто используют для восстановления подсказки во время игры.







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



После всех тестов Appodeal оказался лучшим вариантом и по fill rate, и по eCPM, и по простоте интеграции.



Результаты



Главный результат – доходы от рекламы в играх выросли в целом по миру и особенно на целевых рынках.



Евгений Капустин, менеджер по монетизации Alawar: “Во-первых, Appodeal показал объективный, честный fill rate, по которому можно судить о рекламном охвате. В целом по миру наш fill rate теперь составляет 84%, а в целевых странах – 94,8%. Во-вторых, понять динамику можно, сравнивая eCPM в играх, в которых рекламные сети были заменены на Appodeal, например, в Snark Busters: All Revved Up! и Weird Park: Broken Tune. Раньше в этих играх были разные сетки – Chartboost, MoPub, Fyber, AdMob, теперь встроено одно решение для всего Ниже в таблице – сравнение динамики доходов от рекламы по ключевым для нас странам.







Кроме того, удобно следить за производительностью каждой сети. Мы увидели, например, что во Франции в наших проектах лучше всего работает видеореклама от Applovin, а в России и Великобритании – от Vungle. В целом, если бы мы хотели достичь такого результата своими силами, нам пришлось бы интегрировать каждую игру минимум с семью рекламными сетями, затем проводить тесты, определять эффективные комбинации для каждого региона, настраивать и постоянно анализировать работу сетей. Теперь мы практически не тратим время на работу с рекламой. Встроил – и всё, периодически заглядываем в админку посмотреть, все ли в порядке, иногда запускаем кросс-промо кампании. Раньше на оптимизацию рекламы уходило от 10% до 40% рабочего времени человека, занимающегося дополнительной монетизацией.”



Новый подход к работе с рекламой не просто увеличил доходы Alawar, но и позволил команде полностью сконцентрироваться на разработке игр и улучшении своих продуктов.
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/308444/

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Семь этапов создания игры: от концепта до релиза

Понедельник, 22 Августа 2016 г. 20:17 (ссылка)

Как создать свою игру? Сколько на этом можно заработать? Какая нужна команда? Каковы ключевые этапы разработки и что нужно делать команде на каждом этапе? Ответ на эти вопросы – в открытой лекции по геймдизайну в рамках программы «Менеджмент игровых интернет-проектов», которую разместили наши партнеры — открытая система электронного образования Универсариум. Вот здесь можно посмотреть открытую лекцию:





А под катом вы найдете краткое текстовое описание.







Лекцию веду я, Константин Сахнов, директор игрового департамента компании Rocket Jump, научный руководитель образовательных программ подготовки кадров для игровой индустрии Высшей школы бизнес-информатики НИУ ВШЭ.



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







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



1. Концептирование (Concept)



На этом первом шаге команда придумывает концепцию игры, и проводит начальную проработку игрового дизайна. Главная цель данного этапа – это геймдизайнерская документация, включающая в себя Vision (развернутый документ, описывающий игру, как конечный бизнес-продукт) и Concept Document (начальную проработку всех аспектов игры).



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







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



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



2. Прототипирование (Prototyping)



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







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



3. Вертикальный срез (Vertical Slice)







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



4. Производство контента (Content production)



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



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



5. Friends & Family / CBT (закрытое бета-тестирование)



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



6. Soft Launch / OBT (открытый бета-тест)



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







На этом этапе полностью завершается разработка новых фичей. Происходит feature freeze, программисты перестают реализовывать что-то новое, а полностью переключаются на отладку и тюнинг имеющихся фичей. Геймдизайнеры, продюсер и аналитики делают выводы из собранной на CBT статистики и проверяют эффективность монетизации.



При этом, к началу этапа должна полностью функционировать инфраструктура проекта: сайт, группы соц. сетях, каналы привлечения (User Acquisition), поддержка пользователей.



7. Release



Ключевая цель – это получение прибыли. Базовый применяемый для оценки прибыльности критерий: количество денег, принесенных в среднем одним игроком за все время (LTV aka lifetime value), должно превосходить расходы на привлечение этого игрока (CPI aka cost per install).



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







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



Итак, хотите знать больше? Тогда смотрите полную лекцию, ссылки на которую даны во введении к статье.



Кстати, 21го сентября планируется следующая открытая лекция в рамках нашей программы «Менеджмент игровых интернет-проектов», которая также будет являться аналогом «боевого занятия». На этот раз про монетизационные акции от директора программы Уточкина Вячеслава viacheslavnu. Посещение ее как всегда бесплатно, но обязательна предварительная регистрация в связи с ограниченным количеством мест и входом по списку. Регистрация и подробности про новую лекцию ТУТ.



Задавайте вопросы по теме лекций в комментариях, будем рады ответить.
Original source: habrahabr.ru.

https://habrahabr.ru/post/308286/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Монетизация Pokemon Go или прикосновение Мидаса

Понедельник, 25 Июля 2016 г. 17:55 (ссылка)





Pokemon Go – не только самая популярная мобильная игра в истории США, она побила все рекорды по показателям удержания пользователей и монетизации. Это подтверждают данные нового отчёта SurveyMonkey.



В США игра загружается в среднем 4-5 миллионов раз в день. Ежедневно покемонов отлавливают чуть менее 21 миллиона активных пользователей. Показатели удержания аудитории и дохода из расчёта на одного пользователя у Pokemon Go более чем в два раза превышают средний уровень по отрасли.



Около 7 из 10 пользователей, загрузивших приложение, возвращаются к нему на следующий день, что является очень высоким показателем. В среднем 3 из 10 человек возвращаются к игре после первого дня её использования.



Средний доход на активного пользователя в день (ARP/DAU) у Pokemon Go составляет около $0,25 – в два раза больше, чем у так называемых casual games – небольших игр с яркой красочной графикой и простыми правилами, ориентированных на обычных пользователей.



В исследовании аналитической компании 7Park Data говорится, что за первую неделю после выхода игры Pokemon Go пользователи провели за ловлей покемонов в среднем 75 минут. Аналитики считают этот показатель очень высоким.







Они также сделали вывод, что пользовательская аудитория игры стала проводить меньше времени в Facebook и YouTube. Однако общее время использования мобильных приложений в США выросло на 4,1%. Более того, исследователи подтверждают общую тенденцию – люди все больше используют свои мобильные устройства.



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



Несмотря на небольшую аудиторию среди пользователей iPhone, игра набрала рекордное за последние 8 лет количество скачиваний в Apple App Store за первую неделю. Apple не раскрывает данные о выручке своего магазина от закачек игры. А вот 30% за счёт In-App Purchase яблочная компания срезает.





Изображение сайта searchengines.ru



Это еще больше впечатляет, если учесть, что в первые 7 дней игра была доступна только для жителей США, Австралии и Новой Зеландии. А после этого игра начала распространяться по всему миру.



По оценке SensorTower, к середине июля по всему миру игра зарабатывала более $1,6 миллиона в день.

6 июля, в день выхода игры, капитализация японского производителя видеоигр Nintendo выросла более чем на 100%. Nintendo является инвестором разработчика игры Pokemon Go.



Однако позже представители компании объяснили, что вклад Nintendo в заслуги игры не велик. Pokemon Go cоздана компанией Niantic, а выпущена The Pokemon Company, в которой Nintendo принадлежит только 33% голосов. Несмотря на то, что Nintendo принадлежат доли в каждой из этих компаний, её «эффективное участие» в Pokemon Go cоставляет только 13% от проекта. Об этом аналитик Macquarie Securities Дэвид Гибсон рассказал агентству Bloomberg.



Компания Nintendo разрабатывает видеоигры и производит консоли. На рынке игр для смартфонов компанию представляют партнеры. Например, японская DeNA сейчас разрабатывает для нее пять игр.



Большинство игр по вселенной Pokemon выпускает Nintendo, однако издателем Pokemon Go стала именно The Pokemon Company.



Помимо акций Nintendo, на торгах в понедельник упали котировки партнеров Pokemon Go: стоимость ценных бумаг японской McDonald's, которая запустила первые спонсорские покестопы (pokestops) в игре, упала на 11%. Акции Hosiden Corp., чья Mitsubishi UFJ Financial Group Inc. собиралась выпускать устройства Pokemon Go Plus, упали на 10%. При этом, согласно правилам Токийской биржи, акции самой Nintendo не могут упасть ниже 18% за день. Инвесторы обманулись самостоятельно и по собственному желанию, на почве огромного и стремительного роста популярности мобильной игры.



Pokemon Go – бесплатная игра, но пользователи могут купить себе монеты, которые можно обменять на услуги и артефакты, например, для ускоренной прокачки монстров.





Изображение сайта independent.co.uk



Кроме того, известно, что компания Niantic сотрудничает с ретейлерами, ресторанами и прочими заведениями. Если они хотят, чтобы магазин или офис стал одной из локаций в виртуальном игровом поле, пусть платят за то, чтобы виртуальные герои игры – покемоны находились в их помещениях. Спонсорские места обеспечат Niantic новый источник дохода, заявил ее гендиректор Джон Ханке. Ретейлеры, в свою очередь, получат приток посетителей, так как, по правилам игры, игроки должны будут заходить к ним в поисках покемонов.



Некоторые рестораны даже вывесили объявления: «Охотники за покемонами должны заказать что-нибудь, прежде чем играть».



Аналитики пока не готовы оценивать в цифрах доходы от монетизации игры. Несмотря на ажиотаж вокруг Pokеmon Go, Nintendo остается консервативной компанией, которая умело управляет лояльностью фанатов, говорит аналитик Macquarie Securities в Токио Дэвид Гибсон. Она осознает, что может разочаровать пользователей, если поспешит включить в игру много коммерческих опций, уверен он.

Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/306368/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Грязные трюки мобильной разработки от J2ME до Android

Понедельник, 20 Июня 2016 г. 18:22 (ссылка)

Сколько помню разработку игр для мобилок, всегда приходилось изобретать какие-то ухищрения, чтобы все достойно работало. Сталкивались с этим 15 лет назад, когда писали игры еще под черно-белые телефоны, сталкиваемся и сейчас. Уверен, что огромный набор подобных трюков существует в разработке игр для десктопов и, тем более, консолей. Но я занимаюсь именно мобилками, поэтому речь пойдет о них.





J2ME



Самый грязный трюк в разработке под J2ME – поставить внутрь основного цикла игры один общий try-catch.



public void run()
{
while(isGame)
{
try()
{
gameField.Update();
}
catch (Exception ex)
{
}
}
}

https://habrahabr.ru/post/303686/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Даёшь все ресурсы на первую игру

Пятница, 06 Мая 2016 г. 12:55 (ссылка)

ноль рублей на разработкуМногие разработчики игр, рано или поздно, развиваются до этапа выпуска своей инди игры. К этому этапу я подошел достаточно давно, но, как и большинство, столкнулся с нехваткой материального обеспечения. В конечном итоге, недавно, в App store и в Google Play появилась моя первая игра «Жевастик», на разработку которой не ушло ни одной копейки. В этой статье я изложу свой подход к разработке игры, при отсутствии денег, и надеюсь кому-то этот материал поможет в разработке своих проектов.





Подход к «Жевастику»

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


  • Идея игры, состоит в том, что ктулху «Жевастик» поедает заполонивших интернет котиков, пушистиков, панд и прочих няшных созданий;

  • Оригинальное управление – всегда большой плюс для казуальной игры. Врагов надо пережевывать пальцами (об алгоритме пережевывания здесь);

  • Хорошо знакомый тип игр, в случае «Жевастика» это вертикальный скроллер.



Совет: Хорошенько проштудируйте весь материал написанный более опытными коллегами, и на основе прочитанного выработайте свой подход, который вы сможете реализовать.



Разработка игры

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

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

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



Звуковое оформление

В моем случае, о доступности этого ресурса я знал заранее и рассчитывал на него. В юности очень много времени уделил музыке. От этих бурных времен у меня остался Fender Jazz Bass American Deluxe (знающие люди оценят), который не просто пылится в кладовке, а очень даже часто применяется по назначению. Так же, на данный момент у меня отличное хобби, как оказалось еще и полезное. Никогда бы не подумал, что музыка пригодится мне в работе.

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

О музыкантах
Отдельное спасибо Олегу Аникину – музыканту из старшего поколения, которых мы в юности называли «дэдушки рокенрола». На его студии мы записывали звуковые эффекты.



Ну а музыку я записал с двумя замечательными музыкантами:

Тимур Пантелеев – старый боевой друг, с которым мы вместе долгое время играли в коллективе «Тимур и его команда».

Александр Обыденник – один из лучших музыкантов с которыми мне приходилось играть.

Наше совместное видео, где я все еще на сцене:







Совет: Используйте по максимуму все ваши нематериальные ресурсы: хобби, увлечения, приобретенные навыки, полезные знакомства.



Дизайн

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

Мама по образованию архитектор, их всех в ВУЗе учили рисовать, к тому же хорошо знает «автокад», который, на мой взгляд, от «иллюстратора» мало отличается. Это все что я знал, когда спрашивал о возможности помочь, а вот уже по ходу работы выяснил, что мама в детстве ходила в художку, и персонажи ей хорошо удавались. В итоге получился отличный результат, если учесть, что:


  • Маме 55 лет;

  • Первый опыт прорисовки персонажей;

  • «Иллюстратор» изучался по ходу;



Скрины из Жевастика
Иконка ЖевастикаИнтро ЖевастикаЖевастика атакуютРазгар драки Жевастика





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



Заключение

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

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





Жевастик IOS

Жевастик Android



Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/283060/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Создавая игру Good Cat Gone Bad

Среда, 27 Апреля 2016 г. 16:31 (ссылка)

Целевая аудитория: начинающие инди-разработчики игр.



Введение







В основном это список приемов и бесплатных инструментов, которые я использовал при создании мобильного endless runner’а Good Cat Gone Bad, который выйдет в Google Play 4 мая 2016 г.



Игра разрабатывалась как проект-хобби, используя Unity 5, и заняло все это дело около 4 месяцев на постоянной основе (полный рабочий день).



Дизайн



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



Компоненты:




  • game over меню

  • уровень

  • зона уровня (трасса, парк, жилой район)

  • игрок

  • коп

  • очки

  • здоровье



Game over меню:




  • показывается при смерти игрока

  • пункт Играть Заново

  • пункт Воскресить

  • пункт Выйти



Уровень:




  • может быть пройден

  • чтобы пройти, нужно набрать X очков

  • чем больше уровень, тем больше требуется очков

  • генерируется процедурно

  • вид напоминает столбец

  • состоит из бесконечного списка зон



Игрок:




  • гигантский кот

  • идет всегда вперед

  • может смещаться влево, вправо

  • уничтожает все на своем пути

  • имеет здоровье

  • имеет очки



Коп:




  • стоит на месте

  • стреляет в игрока

  • дает очки при смерти



Я использую Google Keep для хранения этих записей и прочей ерунды.



В целом, вы видели большую часть документа с начальным дизайном. Этого было достаточно для того, чтобы начать разработку. Позже я улучшил дизайн, используя такие штуки, как Core Loop, Subversion, Bartle Test.



Архитектура



Проект состоит из модулей. Модуль — это набор компонентов (логика) и asset’ов (текстуры, звуки и т.д.), относящихся к какой-то фиче или к части инфраструктуры.



Assets/Src/Catzilla

+-- AppModule

+-- CommonModule

+-- GameOverMenuModule

+-- LevelAreaModule

+-- LevelModule

+-- LevelObjectModule

+-- MainMenuModule

+-- MarketingModule

+-- PlayerModule

+-- SkillModule



Компоненты и asset’ы внутри модуля структурированы по типу.



Assets/Src/Catzilla/LevelObjectModule

+-- Animation

+-- Config

+-- Controller

+-- Materials

+-- Mesh

+-- Model

+-- Prefab

+-- Sound

+-- Texture

+-- View



У каждого модуля (кроме модулей, состоящих сугубо из asset’ов, например Marketing) есть компонент, отвечающий за инициализацию модуля (регистрация сервисов, конфигурационных значений, обработчиков событий и т.д.).



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



Все это дело основано на библиотеке Zenject, которая, помимо этого, предоставляет гибкое внедрение зависимостей.



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



Графика



На протяжении уровня, в каждом кадре < 5 тыс. вершин и < 20 вызовов отрисовки (draw call).



Все эти хипстерские модели я делал в Blender. Каждая модель содержит < 200 треугольников. Большинство моделей состоят из отдельных частей (например, ноги, руки, голова, тело), чтобы их можно было разрушить.





Коп. Куча кубиков.





Начало трассы. Обычная плоскость.





Некоторые люди не верят, что это Impala 64.





А некоторые думают, что эта пальма не с Майами.



Текстурирование было сделано с помощью техники Hyden’а, и текстуры всех обьектов уровня были объединены в одну большую (256х256) текстуру, в качестве оптимизации.





Объединенная текстура всех обьектов уровня.



Для зон уровня (например, парк, трасса) я использовал материал с шейдером Mobile / Unlit (Supports Lightmap), а для обьектов уровня — шейдер Mobile / VertexLit (Only Directional Lights).



В игре только 1 направленный (directional) источник света и нет теней.



Эталонное разрешение (reference resolution) компонента Canvas Scaler = 480x800, что покрывает большую часть устройств. Кстати, кто-нибудь знает о существовании этой страницы?



Цветовая палитра игры была сгенерирована в Paletton.



Для текста я использовал шрифт Press Start 2P, который можно найти в Google Fonts.



Для плавающего текста (например, очки над обьектом) я использовал Text Mesh, вместо UI Text в режиме world space, в качестве оптимизации.



Иконки для UI (например, здоровье, умения) были позаимствованы у пакета 64 Flat Game Icons.



Анимация



Анимация была сделана в Unity (Mecanim). Всего 3 типа обьектов уровня анимированы: игрок, гражданский и бонус (например, вращающаяся штука, похожая на доллар).





Бегущий гражданский. 5 кадров.



Аудио



Звуки были сгенерированы в Sfxr, мне показалось, что у него это получается лучше, чем у Bfxr.



Компоненты Audio Source используют 2D режим (spatial blend = 0). У каждого обьекта уровня свой Audio Source, кроме игрока, у которого их 2, для большего числа одновременных звуков. Но для UI всего 1 общий Audio Source.



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



Материалы для маркетинга



Иконка. Настоящий шедевр. Была сделана отдельной сценой в Unity, путем размещения одной из зон уровня и игрока, и подогнав камеру.





Вы уже догадались что это. Иконка.



Я использовал Icon Slayer для того, чтобы добавить к ней крутых эффектов (скругленные уголки) и получить нужные размеры.



Следующий кусок… всмысле шедевр — это Feature Graphic (баннер, промо, не важно), которая сделана тем же способом, как отдельная сцена.





Может, мне стоит снимать блокбастеры, вместо всего этого?



Трейлер был сделан в iMovie, используя один из его шаблонов — Блокбастер.







Уверен, Стивен Спилберг поставил бы ему палец вверх.



Веб-сайт



Frontend сайта сделан с помощью Boostrap 3. Серверной логики на backend’е нет, просто HTTP сервер Nginx. Расположено все это дело на DigitalOcean. Для развертывания я использовал Vagrant.



Разное



На проекте используется пакет Smart Localization (вы уже догадались для чего).



Для контроля версий я использовал Git. Исходный код хранится в Bitbucket.

Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/282618/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<мобильные игры - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda