![](https://habrastorage.org/getpro/habr/post_images/17c/ebd/10d/17cebd10d9cac285c31d25c3e0f442bd.png)
Я предыдущих статьях я рассказывал, как мы запускали игру на Google Play и в социальных сетях. Следующей платформой должна была стать iOS, но опять возникли заминки и было принято решение опробовать пока Windows Phone 8. На портирование игры ушло несколько недель, и еще столько же на одобрение в маркете. В статье я расскажу, что мы проделали и что из этого вышло.
Подготовка всего необходимого для разработки
Первый делом, понадобился девайс на WP8, на котором можно было бы проводить тесты. Выбор пал на бюджетный Nokia Lumia 520 за 190$. Я никогда раньше не использовал эту ОС и не думал, что понравится, но поюзав телефон пару дней, понял, что все не так и плохо. Отсутствие свободы действий конечно печалит, но с другой стороны радует, что приложения на WP8 не подлежат взлому. Еще были переживания на счет мощности, думал будут лаги в играх – но нет, все работает быстро.
Далее установил Windows 8.1. Поначалу долго плевался – программы вне рабочего стола запускать очень неудобно, да и отсутствие пуска пугало. Сильно выводила моя привычка периодически нажимать кнопку «windows» на клавиатуре. Если в предыдущих версиях открывалась панель пуска, то в восьмой версии перекидывает из рабочего стола на экран с квадратами в стиле метро. Напрягало.
Очень порадовало, что Windows 8.1 и Visual Studio 2013 были бесплатны на протяжении многих дней и за это время я успел сделать все что надо.
Чтоб приступить к разработке, не обязательно иметь аккаунт разработчика. Нужно только разлочить телефон через Windows Phone Developer Registration. После этого можно билдить приложение на девайс и тестировать.
![](https://habrastorage.org/getpro/habr/post_images/82f/ca1/e05/82fca1e05faf7a3a1c0696aa8ec68243.jpg)
Аккаунт разработчика понадобится потом, когда нужно будет выложить игру на маркет. Покупать мне его не пришлось, т-к я работаю через издателя (HeroCraft).
Особенности портирования игры на Unity3d под WP8
Сборка под Windows Phone чем-то напоминает iOS. Сначала создается промежуточный проект, который открывается через VS 2013, а уже только потом можно сбилдить финальный *.xap файл.
Для этой платформы не доступны многие библиотеки. Вот что у меня перестало работать:
- System.Security.Cryptography.MD5CryptoServiceProvider. Шифрование через MD5, был найден альтернативный скрипт, который позволяет генерировать md5.
- `System.Runtime.Serialization.SerializationInfo`. Десериализция через Json.FX перестала работать. В итоге пришлось по старинке через string.Split.
Не обошлось и без багов. Подвеска у автомобиля перестала работать, колёса летали в воздухе. Оказалось, что WheelCollider.GetGroundHit криво работает, в итоге я переделал на Physics.Raycast.
Немного неудобный переход по ссылкам. Стандартный метод Application.OpenURL() не подходит. Надо создавать специальный метод в решении VS, который потом будет вызываться по ивенту через Unity3d.
Неприятно, что пока нет дебага, хотя говорят в версии Юнити 4.3 должен появиться.
Также нужен пак из нескольких квадратных иконок разных размеров.
Еще пришлось переделать несколько фич от СДК издателя. Мы от него полностью отказались для этой платформы. Рейтинг игроков был собран на php+mysql, а окошко «Rate me» пересобрали с новым интерфейсом и другой реализацией.
Корректировка баланса и монетизации
По сравнению с Android, для WP8 мы ужесточили баланс и ввели бензин, который расходуется с каждым заездом и постепенно восстанавливается. Подобная схема сейчас довольно популярна.
В окне доната монеток мы скорректировали цены, минимальный платеж повысили до 2$, а максимальный – до 30$. Также для более крупных платежей, пишем сколько дополнительных монеток игрок получит относительного первого платежа в процентах.
![](https://habrastorage.org/getpro/habr/post_images/34d/ed9/ee3/34ded9ee3e92b6c83a4e5237dfdfee9c.jpg)
Внутриигровые покупки
Игра фримиумная, потому пришлось разбираться с платежкой. Радует, что есть достаточно примеров, которые хорошо помогли понять, как все работает. Чтоб тестировать платежи, нужно заливать игру на маркет, но только как БЕТУ! Мы первый раз случайно закинули в релиз, в итоге долго ждали пока модераторы посмотрят сырую версию и отклонят игру. Потом перезалили в бету и игра стала доступна для теста течение дня. Вроде, еще можно развернуть виртуальную машину для обкатки платежки, но этот способ похоже куда сложнее. Товары делятся на две категории – Comsumable (расходники, монетки и т д) и Durable (открытие доп. контента и т д).
Если делать самому лень, то на Asset Store есть готовые плагины для интеграции микроплатежей. Стоимость в районе 30$.
Внутриигровая реклама
Да, в игре есть реклама. Появляется она в окнах паузы и результатов, а также на экране локскрина. Я хотел вставить привычный admob, но его не было для WP8, в итоге пришлось вставлять рекламу от NAX (Nokia Ad Exchange). Проблем никаких не возникло, на хабре есть статья про внедрение этой сети. Кстати, после того как я внедрил NAX, вышел и SDK admob для WP8, но уже было поздно пересобирать проект.
Залив игры в маркет
Модерация жесткая и долгая, но весьма качественная. Очень сильно долбят за системную кнопку Back. В любых ситуациях, она должна работать. Мы несколько раз стопорились из-за этой кнопки. Удивило, что Microsoft работают хорошие тестеры. Присылают отчеты, как положено – в pdf-формате, четко расписывают как повторить баг, пишут, как должно быть, а как в игре. Молодцы.
![](https://habrastorage.org/getpro/habr/post_images/4a5/0c4/794/4a50c47943fb7d18c049e0ad11b64c4a.jpg)
Печалит длительность проверки. Дорелизные проверки по 5 дней – это ок. Тут все нормально, но вот с послерелизными фиксами очень тяжко. Так вышло, что когда я исправлял баг с кнопкой back, то создал новый, который фризил (стопорил) игру в некоторых местах. Фикс сделал быстро, нужно было всего лишь в одном месте поменять значение переменной. Но в итоге, проверка заняла около 5 дней, в то время как игра очень активно набирала обороты. С моей точки зрения, это не очень правильно. Должна быть возможность ускорения заливки критических фиксов, а то за 5 дней игру можно «слить». Неприятная ситуация получилась. Вы, наверное скажете, что нужно сразу все делать как надо… Да, но не всегда так выходит.
Пиар
С раскруткой дело обстоит довольно приятно, она очень условная, т-к ресурсов очень мало. По идее, если купить обзор на 4pda, то отдача несомненно будет, учитывая, что Россия – большой рынок Windows Phone, но мы этого не делали. Вообще платных обзоров совсем не покупали. Издатель делал рассылку по своим каналам, после чего появились обзоры на игру, что тоже приятно. Также, Microsoft и Nokia, подтвердили, что нашу игру поставят в промо.
В любом случае, я считаю, что за счет небольшой конкуренции, на этой платформе с раскруткой проблем быть не может.
Релиз и статистика
![](https://habrastorage.org/getpro/habr/post_images/f80/94a/411/f8094a41150ffb4fcdb73d28483f766e.png)
Игра быстро вышла в топ и повалило много скачек, даже больше чем на Android после релиза. Критический баг, который пробыл в маркете 7 дней, все подпортил, но надеюсь основная часть аудитории не утеряна.
Закачек за первые 10 дней – 100к (на Android – 50к). ARPU тоже в два раза выше.
Полезные ссылки
- Доступные уроки для новичков по WP 8 SDK
- Внутриигровые покупки (основы и тестирование)
- Внедрение рекламы от NAX
- Переход по ссылке через Unity3d