[DevStory] Приложение Winx: Rainbow + Apps Ministry

от автора

Не прошло и пол года, как мы смогли согласовать и договориться с Rainbow и Apple, и выпустить приложение Winx для iOS и Winx для Android. Под катом — небольшая девстори от разработчиков…

Пост генерального директора в Facebook очень ëмко охарактеризовал весь процесс согласования:

Идея и тех. задание

Максим:
Изначально планировалось делать приложение для просмотра двух сериалов — Winx и PopPixie. В начале декабря мы сделали приложение, в котором удобно совместно сосуществовали два этих чудесных мультсериала, но…

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

… политика Rainbow — максимальное разделение этих брендов! Пичалька, а раньше сказать никак нельзя было?! В итоге, мы переделываем приложение уже без ПопПикси и публикуем его на наш аккаунт Neoline LLC.

Совет 2:
Если у вас схожие приложения в одном аккаунте разработчика в App Store, вероятность того, что Apple зареджектит следующее — 90%!

У нас уже были подобные (но не идентичные) приложения: NeoFilm, НеоМультик, и Маша и Медведь. И мы схлопотали реджект (см. совет 2).
Отсылаем запрос на пересмотр в app review board. Но после звонка «от туда» понимаем, что с этим приложением в данном аккаунте нам ничего «не светит» (со слов генерального, говорили что-то про схожесть «юзер експириенса» и «политике предотвращения однотипности» в App Store).

Что ж, хорошо что мы уже зарегистрированы, как отдельное юр. лицо, и можем выступать уже от своего имени (а не как стартап) — заводим новый аккаунт на компанию Apps Ministry (давно пора), переделываем приложение, переносим инапы нехитрыми манипуляциями с помощью iTMSTransporter (очень даже удобно создавать инапы именно в нем), впиливаем игру и активно тестим приложение перед отправкой на ревью. 2-ве недели и приложение успешно проходит ревью и появляется в App Store

Программирование и Дизайн

Сергей:
Хотелось бы сказать пару слов о создании приложения WinX с точки зрения программиста. Благодаря этому проекту пришлось узнать много нового — кто такая Блум или Флора; и я на память теперь смогу спеть эндинг — и это все несмотря на то, что не являюсь девочкой 4-14 лет (которые, по мнению всезнающих интернетов являются основной аудиторией сериала). Не говоря уже о том, что это первое мое приложение в котором практически все розовое =)

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

Про экран с персонажами, с точки зрения реализации, сказать особо нечего. Для реализации карусели использовалась уже проверенная библиотека: github.com/nicklockwood/iCarousel
Анимация девочек и миров — покадровая, сделанная при помощи обычного UIImageView. Эффект для скроллинга текста — красивое уезжание за верхнюю или нижнюю границу, — сделан с использованием маски, по которой из заднего фона вырезалась часть изображения, под которую уже помещался UIScrollView.
Аналогично, никаких особенностей не было при реализации экрана с видео — скриншоты декодируются асинхронно, для скорости; для анимации перехода между сезонами используются две вьюхи, которые подменяются.

А вот у творческой части коллектива, в лице Наташи, всё было не так просто, как казалось в начале. Итальянская сторона не просто медлила с пересылкой всех необходимых для отрисовки материалов (итальянцы — такие итальянцы), но и прислала в конечном итоге совсем не то. Как говориться, графика, вроде бы и есть, но вроде бы её и нет – ведь в её основе лежат внимательно отобранные и высланные… черновики итальянских дизайнеров. Это был тот еще epic fail — приходится начинать перерисовывать сначала!

Совет 3:
Всегда уточняйте, последняя ли у вас версия брендбука и предоставлены ли релизные версии персонажей (в Winx персонажи в каждом сезоне в другой одежде, и это тоже было важно для Rainbow)

В процессе перерисовки выясняются подробности с PopPixie (Rainbow против продажи этих мультсериалов в одном приложении) и становиться понятно, что Apple в таком виде (very simple) приложение не пропустит — так и появляется идея создать игру. И это заслуживает отдельного упоминания.

Сергей:
Во-первых, для отрисовки игрового поля используется OpenGL, в частности, применяется движок cocos2dx. Во многом это сделано для последующего портирования игры на Android. При этом сам экран сделан при помощи стандартного UIKit. Как их одновременно использовать, можно почитать, например, здесь jpsarda.tumblr.com/post/24983791554/mixing-cocos2d-x-uikit

Обратите внимание, что нужно очень внимательно подумать, нужно ли такое объединение в вашем проекте. Ведь очень прилично проседает производительность, в данном случае FPS упал процентов на 20. Для облегчения работы с памятью использовался yasper (http://yasper.sourceforge.net/) — простой умный указатель. По большому счёту, у него есть альтернативы, но не все из них были бы удобны при экспорте на Android. Звук воспроизводится не средствами «кокоса», а самописной библиотечкой, которую мы использовали в других проектах. Заметим, что смешивать код, написанный на C++ и Obj-C, оказалось довольно просто.

Повозиться с адаптацией приложения под Android пришлось всем. Переделывать пришлось не только структуру, но и дизайн. Огромное количество как телефонов, так и планшетов попортили нервы как программисту с дизайнером, так и отделу QA — большинство из них были связаны со слабыми техническими характеристиками устройств и различным разрешением экрана. Но большинство шишек уже были набиты во время разработки и тестирования iOS версии, так что и с этими проблемами мы тожесправились!

Все трудности позади, а значит, можно смело приниматься за просмотр Winx на своём планшете 😉

Собственно, то, что получилось в результате этой истории, можно посмотреть тут: Winx для iPhone/iPad и Winx для Android

ссылка на оригинал статьи http://habrahabr.ru/company/appsministry/blog/166277/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *