Лого vc.ru

Разработчик слотовой игры Scatter Slots о создании проекта с помощью технологий Unity и WebGL

Разработчик слотовой игры Scatter Slots о создании проекта с помощью технологий Unity и WebGL

Платформа для разработки Unity вместе с vc.ru публикует истории разработки игровых проектов, созданных на базе популярной технологии. Расскажите о своём кейсе, чтобы попасть в рубрику.

Сегодня в выпуске — рассказ технического директора игровой компании Murka Анатолия Гениса о разработке культовой слотовой игры Scatter Slots на Unity и WebGL.

Поделиться

Murka — это слоты

Murka была основана в 2011 году. Первая выпущенная нами игра Slots Journey сразу же сорвала овации пользователей и надолго закрепилась в топах мобильных магазинов. Однако мы понимали, что успех одного проекта должен найти логичное продолжение в новых продуктах. Так появилась идея хардкорных слотов для мужской аудитории — Scatter Slots, которые и стали нашим первым проектом на Unity.

Предыстория

Scatter Slots были запущены в декабре 2014 года. От идеи до софт-лонча на iOS прошло всего три месяца. Уже в апреле игру увидели пользователи Android. А недавно список мобильных платформ пополнила Amazon Fire OS.

Первые трудности появились, когда пришло время релиза Scatter Slots на веб-платформы. Так как в компании уже был опыт запуска тестового проекта на Unity WebPlayer, мы имели представление о главных подводных камнях:

  • проблемы с быстродействием;
  • проблемы с корректным отображением графических элементов;
  • низкий уровень конверсии кликов в установки из-за необходимости загрузки Unity Web-Player, что делало большинство источников трафика нерентабельными.

В добавок ко всему, Google заблокировал NPAPI (Netscape Plugin Application Programming Interface, программный интерфейс подключаемых модулей) в Chrome. Так как Chrome является основным браузером для подавляющего большинства нашей аудитории, вариант реализации игры на Unity WebPlayer был сразу отброшен. Так было решено использовать WebGL.

И понеслась…

В целом на разработку web-версии со всеми оптимизационными моментами ушло около месяца.

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

Scatter Slots изначально рассчитаны на возможность прохождения в режиме офлайн при помощи синхронизации данных игрока с сервером. Однако в случае с веб пришлось перенести часть логики на сервер, так как хранить данные на компьютере пользователя на данный момент невозможно (из-за дополнительных мер безопасности, которые применяют браузеры к исполняемому контенту из iframe).

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

Логику работы с AssetBundle (ресурсами) оставили абсолютно такую же, как и на мобильных устройствах. Единственным отличием было то, что скачанные ресурсы кешировались браузером, а не сохранялись на диске. Максимальный размер одного скачиваемого ресурса уменьшили до 10 МБ, чтобы все поддерживаемые браузеры точно закешировали его.

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

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

В браузере же это было логичным и необходимым исправлением.

Решение нашлось быстро — всего пять строчек кода на JavaScript, и в игре появились полноценные и понятные кнопки. В этом нам немало помогло то, что взаимодействие с JavaScript происходит напрямую. Это очень упрощает создание небольших методов для взаимодействия Unity (WebGL) с «окружающей средой».

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

Некоторое время попытки найти оптимальное решение были тщетны. За поддержкой обратились к Unity Support, которые посоветовали сжать проблемные анимации методом Crunch, добавленным в Unity 5.1. Это дополнительно уменьшило размер атласов (коллекций спрайтов) в два раза с незначительной потерей качества (до 10-15% от исходного). Как результат, мы смогли оптимизировать анимации более чем в четыре раза, и они стали работать так же стабильно и качественно, как и на мобильных версиях приложения.

Что имеем

В сентябре Scatter Slots на WebGL были выпущены на Facebook.

Графика (а это наша особая гордость) на мониторах выглядит просто шикарно. Игра работает быстро и стабильно. Как результат и главное выражение пользовательской любви — через две недели после релиза Scatter Slots прочно закрепились в Top Grossing на Facebook.

Удалось оптимизировать и воронку установки.

При первом запуске пользователям не надо загружать дополнительный плагин, что увеличило конверсию кликов в установки на 20% по сравнению с предыдущим опытом c WebPlayer.

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


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

Статьи по теме
Разработка игровой карты War Commander: Rogue Assault на движке Unity — рассказ одного из разработчиков игры04 ноября 2015, 11:28
Руководитель игровой студии Krivorukoff об истории компании и проекте Real Tank Battle — танковой игре «в реальном мире»29 октября 2015, 14:59
Оптимизация сцены и работа со светом в Unity 5 — советы 3D-художника студии Rammen Speed23 октября 2015, 17:25
Популярные статьи
Показать еще
Комментарии отсортированы
как обычно по времени по популярности

Посмотрел отзывы ваших приложений - в какой-то момент вы все ломаете и пользователи становятся поголовно недовольны - вы не думали ребятам из отдела тестинга поставить правильные KPI?

Понимаете, это все гемблинг. Всегда есть пользователи, которым меньше везет. Таким людям кажется, что мы специально у них забираем все монетки. Но это не так.
Да и если вы сделаете игру слишком лёгкой, в неё никто не будет играть.
Средний рейтинг тех же Scatter Slots на Google Play и App Store составляет 4.6, что выше всех наших конкурентов. Значит люди довольны игрой.

Поделитесь пожалуйста ценной информацией по поводу Top Grossing, примерные результаты:

1) Какие нужны показатели, чтобы вообще попасть в Топ ( на 204 место )
2) Какие - попасть выше 150 места
3) Какие, чтобы оказаться около 100 места, если вам известно

0

Могу поделиться информацией, которая есть в открытых источниках. Thinkgaming бесплатно показывает свою оценку Top Grossing iPhone в USA. Доступ к информации по другим рынкам и платформам уже за деньги.
Вот ссылка: thinkgaming.com/app-sales-data/

0

Я имел ввиду про facebook top grossing, о нем нет никаких данных нигде

0

его можно открыть просто и посмотреть ручками)

0

Я думаю, что вам эта информация ничем не поможет. Трафика из top grossing facebook практически нет, на каком бы месте вы не находились.
Первые места — сотни тысяч долларов в день, top 50 - десятки, дальше по нисходящей

0

Я про то, что на тот момент были отзывы - "все сломалось", "игра не запускается", "после обновления слетел прогресс" и т.п.

0

Возможность комментирования статьи доступна только в первые две недели после публикации.

Сейчас обсуждают
Τамара Ρодионова

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

Креативный директор «Афиши» сообщил о закрытии журнала
0
Artem Prokopenko

Хорошая история, только почему bankir, с доменом com должно быть banker) однако не понятно, в чем ценность для работников. Проф сообществ полно, но они микроскопические

Основатель «Банки.ру» Филипп Ильин-Адаев объявил о запуске социальной сети для банкиров — Bankir.com
0
Михаил Коренев

И что? А в офис к работодателю можно ходить, когда настроение хорошее?) и уходить, когда вдруг захотелось?

Штаб-квартира: Гамбургский офис сервиса для отзывов Yelp
0
Georgy Bukov

P.s. Не только военных, ведь там завязаны и химическая промышленность, машиностроение и т.д. И частенько компании с государством не разлей вода.

«Через 50 лет стран не будет — останутся только города»: основные тезисы лекции Кьелла Нордстрема о будущем
0
Рашид Галиулин

Ну натырились квартирами в 2014 на панике, с тех пор они упали в цене на 10%. А можно было купить акции и получить доходность выше 50% годовых в течение двух лет или в банке за два года примерно 30%. Ну выростит цена на квартиру в течение пару лет на 20%, доход от возможной аренды за два года 10%, в итоге возможный доход 31—32% в течение пару лет. Так пока пройдут эти два года на депозите с учетом сложных процентов свыше 45% и при этом не надо париться. А вдруг квартиросъемщики зальют соседей?

«Никому не выгодно, чтобы у вас скапливались деньги»
0
Показать еще