Всем привет.
Хочу рассказать вам историю о том, как мы разрабатывали свою первую игру под iOS на языке Swift, подводные камни и пиар.

image


Предыстория
Вообще, я ActionScript-программист, но flash технология потеряла свою актуальность и пришлось переходить на что-то новое «современное». Выбор пал на мобильные технологии. К сожалению, под мобильные ОС я никогда ничего не писал. Решил писать под iOS, так как считаю, что пользователи яблочной продукции более склонны приобретать приложения в отличии от пользователей других мобильных ОС. На android сильно развито пиратство, а с window phone не имел дела. Язык выбрал Swift, так как он самый современный для iOS девайсов и прост в освоении.

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

Идея
С моим другом дизайнером, мы решили написать игру «Game Zero». В голову пришла идея, написать игру про цифры, чтобы нужно было каким-то образом получить число 0. Как получить ноль, какие взаимодействия игровых элементов должны быть между собой, как должна выглядеть игра — мы не имели понятия.
Игровое поле решили создать из плиток, размером 4 х 4, в дальнейшем поле увеличили до 5 х 5. Числа в игровом поле были с знаками " — " и " + ". Над игровым полем расположили 3 числа, так называемыми «тасками». Цель игры получить 3 ноля в тасках, выполняя простые математические операции в игровом поле.

Например: если в тасках 3 числа [6] [11] [-2] и в игровом поле мы нажимаешь на число [+2], то к таскам прибавляется это число и получается [8] [13] [0]. Первый ноль мы получили, больше это значение не изменится, аналогично должны избавиться от других двух чисел в «тасках». при получении [0] [0] [0] в тасках, генерируется новый уровень.

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

Мы добавили в игру таймер и стартовое время в игре составило 180 секунд. Это время дается на всю игру, но за каждый пройденный уровень добавляется +10 секунд и за каждый полученный ноль +2 секунды.

Реализация
Чтобы написать игру на Swift, нужна Mac OS. В наличии есть, только ноутбук Lenovo Y500, после танцев с бубном и попыток установки Mac OS, как вторую операционную систему, установить ОС не удалось. Нашел виртуалку VMware Workstation, но никогда раньше не работал с ней. Разобраться, настроить и запустить Mac OS, через VMware Workstation не составило особого труда.

Несмотря на не знание нового языка Swift, пригодились знания и навыки из ActionScript 3.0 и Java. Игра была написана недель за 5-6, а полностью проект был готов за два месяца.

Пощади себя, используй AutoLayout!
Про эту технологию я слышал, но нарочно игнорировал. Я решил, что для первого проекта на iOS и так хватает трудностей и не было желания разбираться с AutoLayout. Есть как сторонники, так и противники этой технологии. Кто-то убеждал меня в том, что AutoLayout работает очень криво и с ее использованием возникает больше проблем, чем если задавать для каждого разрешения свои координаты и размеры объектов, что я и сделал.
Подгонять каждый элемент интерфейса под разрешение каждого девайса iOS, было невыносимо утомительно. Что и создало проблему в будущем.
Игровой интерфейс
image

Игровой дизайн переделывался десятки раз. Нет предела совершенству.
Дизайн игры 1
image

Дизайн игры 2
image

Дизайн игры 3
image

Дизайн игры 4
image

Дизайн игры 5
image

Дизайн игры 6
image

Дизайн игры 7
image

Дизайн игры 8
image

Дизайн игры 9
image

Дизайн игры 10
image

К игре был подключен Game Center (таблица рекордов и достижения). После испытания игры на людях друзьях, убедились, что нужно добавить в игру обучалку. Обучалку сделали в виде слайдера.

Слайд 1
image

Слайд 2
image

Слайд 3
image

Слайд 4
image

Слайд 5
image

Публикация в AppStore
Чтобы протестировать на своем iphone и опубликовать игру пришлось купить сертификат разработчика за 99$, заказ обработали в течении 3 дней.
После большой работы разработки игры, прохождения пути от тетрадного листа с проектированием игры до полностью рабочей версии, настал момент публикации приложения в AppStore. Как создать сертификаты, подписать игру и отправить ее в AppStore, мне помогла эта статья и это видео.

21 мая 2015 года, игра была загружена, но она должна пройти проверку и по данным сайта appreviewtimes.com эта процедура занимает около 10 дней.
3 июня игру просмотрели и одобрили. В AppStore выложил игру вручную 6 июня. Как только игра стала доступна по прямой ссылке, я скачал ее и был шокирован!

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

Первая версия игры
image

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

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

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

Соответственно, все координаты и размеры были подписаны под определенные размеры экрана девайса (определенная ширина и высота). И возникала проблема при запуске игры держа iPad горизонтально. Как оказалось в файле Info.plist нужно было прописать установки ориентации для iPad.

Залил обновление в Itunes Connect, и пришлось ждать еще 10 дней!

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

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

Пиар
После 13 дней ожидания проверки игры, 3 дней подготовки к релизу и публикации в AppStrore, 10 дней ожидания одобрения рабочей версии игры, наконец настал момент пиара игры. Теперь можно поделиться игрой с друзьями.

Сделали описание игры.
Пламенный привет из России всем хардкорным геймерам и не только им!
У нас для вас есть горячие новости!
Знаете ли вы, что вышла новая, классная, увлекательная игра в жанре головоломки?
Этот проект – “GAME ZERO”, был написан российским программистом Юрием Андрюшиным.

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

Эта игра просто бесценна для вас как идеальный убийца
времени, для всех случаев – когда Вы стоите в очереди, едете в метро, сидите на скучной лекции в институте или офисной встрече, застряли в пробке, или просто выдалось свободное время, Вы сидите дома и сходите с ума от скуки и однообразия.
Если всё это про вас, тогда наш лучший ответ вам: “GAME ZERO”!

Загружайте наше приложение из AppStore на ваш iPhone, iPad или iPod touch!

Мы уверяем, Вы не пожалеете об этом, игра очень увлекательная и подарит вам много незабываемых часов удовольствия и радости!

Из России, с любовью!
Команда разработчиков RootFunGames.

Опубликовали наш ролик на YouTube.

.

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

Обзор игры на испанском языке



Обзор игры на английском языке



Воспользовался списками форумов и контактов из статьи «Мой опыт размещения игры в App Store», спасибо автору поста, за подборку.

Заключение
Если вам понравилась статья или заинтересовала игра, не буду лукавить, буду рад каждому новому игроку в игре «Game Zero».
Качайте игру и оставляйте отзывы в AppStore.

Если вы скачаете себе игру, напишите в отзыве пожалуйста, модель вашего девайса и хорошо ли работает у вас игра.
Так как, у меня в наличии только iPhone 5s, а у друзей андроиды и проверить на других реальных девайсах нет возможности.


Пишите, если хотите более подробного рассказа.

Буду рад вашим отзывам и комментариям!
Спасибо, за внимание!

Комментарии (11)


  1. ZloyDyadka
    19.06.2015 17:14
    +8

    Мне кажется не хватает тега «я пиарюсь»


  1. Boten
    19.06.2015 21:00
    +1

    На случай, когда возникает такая ситуация, как у Вас — т.е. в зарелизившемся приложении найден критический баг, и фикс к нему необходимо срочно выкатить, в App Store предусмотрена возможность ускоренной проверки (expedited app review).
    Вот страница, на которой можно отправить запрос. Вот только часто этим заниматься не рекомендуется. Сам я этой возможностью уже воспользовался, работает, приложение проходит очередь проверки в течение суток.


    1. lifo Автор
      19.06.2015 21:06
      -2

      эх, где вы были раньше…


  1. Prosto
    19.06.2015 21:20

    А почему не разместили «три нуля» внизу, под полем? Это логичнее: считаем столбиком сверху вниз = результат.


    1. lifo Автор
      19.06.2015 21:27
      -1

      с точки зрения дизайна, так выглядит лучше


  1. spbvasilenko14
    20.06.2015 14:23
    -1

    Странно, что с таким пиаром приложение скачали всего 38 человек :) Или просто я чего-то не дочитал?)


    1. lifo Автор
      20.06.2015 14:42

      Видеозаписи с иноязычными обзорами выложены вчера. До этого люди качали сами по себе.


  1. Duke565
    20.06.2015 23:14
    +1

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


    1. goooseman
      21.06.2015 12:39

      полностью согласен. к тому же в видео на английском звук просто ужасен.


      1. Kostyanych
        21.06.2015 20:19

        Не то что ужасен… Просто ничего не возможно понять.


  1. petyamorozov
    27.06.2015 11:19

    > Воспользовался списками форумов и контактов из статьи «Мой опыт размещения игры в App Store», спасибо автору поста, за подборку.

    Можно еще обратиться в специализированные компании, например ispreadnews, у которых база достигает 9 сотен контактов, и они разошлют анонс не только англоязычным и русскоязычным редакторам, и не только емейлами, но и через контактные формы. Заплатить таким фирмам небольшую сумму намного выгоднее, чем тратить пару недель на нуднейшую работу по сбору контактов, заполнению этих контактных форм на итальянском, да с капчами.

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