Войти

Или войди с помощью

Dev Story Doozzle. История про головоломку

Dev Story
В тетрадную клеточку
Информатор avatar |
Doozzle. История про головоломку

ТЕКСТ: ОЛЕГ ДЕМЧЕНКО Меня с детства интересовала разработка игр. Свои первые игры – а это были простейшие текстово-экранные лабиринты с бегающими монстрами – я начал писать приблизительно с 13 лет. Причём писал на Бейсике карандашом в блокнотике, так как доступ к советским БК 0010Ш – популярному школьному компьютеру для обучения в конце 80-х годов прошлого столетия – был весьма ограничен, школьные уроки по программированию были только в двух предвыпускных классах, а в те редкие минуты, когда всё-таки удавалось посидеть за этим волшебным устройством, хотелось скорее собственно играться, чем что-то писать. До сих пор сидят в голове въевшиеся в память «blo tt emt» – загрузка программы с учительской ЕС. Хотя перенос придуманного с блокнотика на компьютер всё-таки был, как правило, успешным.

Затем были студенческие годы, первые попытки создать свой бизнес – от программирования я отошёл на долгие годы.

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

Изначально была идея купить два смартфона, один жене – iPhone, второй себе – на Android, чтобы освоить обе архитектуры и идеологии. Однако после покупки iPhone 4 жене весной 2011 года я просто влюбился iOS, и до Андроида дело не дошло.

К осени я приобрёл iMac, iPad 2, докупил два свежевышедших iPhone 4s и начал думать над идеей первого приложения. К тому моменту айдевайсы были оккупированы двухлетним сыном. Львиную долю купленных в Appstore приложений составляли детские игры и развивающие программы. Идея пришла сама собой – нужно красивое, интересное приложение для детей. Это достаточно несложно для того, чтобы я написал его сам, и, если игра будет востребована – можно будет набирать команду для следующего шага.

Мысль о том, что это будет за игра, пришла ко мне, как обычно, ночью. Я встал, взял фотоаппарат и пошёл в соседнюю комнату. В 4:18 утра родилась такая фотография:

Идея была проста – представим тетрадь, в которой ребёнок нарисовал картинку, раскрасил её фломастерами, а затем её вырезали ножницами и разрезали на кусочки. Вот из этих кусочков и нужно собирать пазлы в исходное состояние. Картинки имели вид популярного для iOS игр стиля doodle, поэтому название пришло в голову само собой, чуть позже трансформировавшись в Doozzle. После сборки – это достаточно важная деталь – картинка должна была оживать. Машинки уезжать, самолёт улетать, животные убегать.

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

И я засел за книги. Русскоязычные книги, найденные мной, отставали по актуальности операционной системы iOS и среды разработки XCode года на полтора – что является вечностью, с учётом скорости развития технологий, поэтому пришлось садиться за англоязычные оригиналы. Были прочитаны:

Conway J., Hillegass A. – iOS Programming/ The Big Nerd Ranch Guide – 2011
Fairbairn C. – Objective-C Fundamentals – 2011
Strougo R., Wenderlich R. – Learning Cocos2D A Hands-On Guide to Building iOS Games with Cocos2D, Box2D, and Chipmunk – 2011

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

Я пообщался со своим будущим партнёром, идея ему понравилась, и мы принялись за реализацию. Привлекли программиста с опытом разработки C++ и Objective-C, а также художника.

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

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

Работа шла с перерывами, а дьявол, как всегда, скрывался в деталях. Так, от изначальной идеи, что картинка складывается из самих деталей, пришлось отказаться – при совмещении кусочков пазла, с учётом масштабирования для разных устройств, между фрагментами местами появлялись малозаметные, но портящие вид щели. Поэтому был применён другой метод – на фоновом изображении находилась полная картинка, а сверху накладывались белые контуры фрагментов, закрывающих её. Как только фрагмент пазла перемещали на правильную позицию, он вместе с фрагментом контура исчезал, и на экране отображалась исходная картинка, находящаяся на заднем фоне. По мере установки фрагментов на правильные места контуры над картинкой постепенно убирались, и в итоге оставалась только сама машинка/зверюшка, или что там было задумано художником.

Кроме того, с учётом ретина-разрешения всей графики и анимации, игра начала занимать внушительные 160 мегабайт. Частично проблему удалось уменьшить, воспользовавшись методом, предложенным на одном популярном ресурсе, но размер игры всё таки находится на достаточно высоком, по моему мнению, уровне – 110 Мб. Данную проблему можно было бы решить, перейдя на векторную графику – но нормальной библиотеки, позволяющей загружать вектор в Cocos2d (да простят меня читатели, не разбирающиеся в деталях разработки, за это нагромождение странных слов), найти пока не удалось. Хотя к следующему проекту мы планируем решить эту загвоздку.

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

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

Дописав игру до стадии, когда её можно было выпускать, мы вплотную подошли к вопросу – а кто же именно должен её выпускать? Начались поиски издателей. Как оказалось, издателей довольно много. Но все они хотят выпускать взрослые игры. Ниша детских приложений среди издателей оказалась довольно непопулярна. В итоге была найдена одна довольно известная калифорнийская компания, которая заинтересовалась в выпуске игры. Однако после того, как была заключена устная договорённость об издании под их маркой, а также финансовых условий, скорость их реакции, и до того достаточно невысокая, начала резко падать. В итоге, после потраченного месяца на получение пары ответов, мы решили отказаться от издателя и выпускаться самим.

Первым местом, до выпуска игры, куда я отписал с просьбой об обзоре, был iPhones.ru. Возможно, я был одной из причин возникновения этой статьи — в общем, в размещении статьи мне было отказано, в том числе в платном варианте. Это была принципиальность Артура Малосиева, в результате чего градус моего уважения к iPhones.ru в целом значительно повысился, так как в современном рунете принципиальность — вопрос, стоящий на несколько позиций ниже финансового.

В итоге, игра прошла рассмотрение в первую же подачу в Appstore, и появилась там в Чёрную Пятницу, 23 ноября.

Продажи до раскрутки не радуют воображение — в первый день было 18, потом пошла серия по 3-6 продаж за день. Без дополнительной раскрутки приложения выйти на окупаемость представляется сложным – новые предложения действительно быстро растворяются в сотнях тысяч имён, хотя при прочих равных условиях, по результату первого дня чётко вырисовалась перспективность американского рынка – наиболее количество продаж было именно там, хотя как раз в американском AppStore приложение было быстрее всего вытеснено новыми продуктами, стремительно опускаясь в списке New.

На данный момент игра состоит из 48 пазлов – 24 технических и 24 из мира животных. Приложение универсальное, поддерживает iPhone 4 и выше, а также iPad-ы всех поколений.

iPhone + iPad: [iTunes link]

30
Логотип iPhones.ru
iPhones.ru
В тетрадную клеточку

30 комментариев

Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик из TikTok
Котик из TikTok
Котик из TikTok
Котик из TikTok
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем

Какие правила в комментариях
  1. Алексей avatar
    Алексей 3 декабря 2012
    0

    И что же изменило решение Артура?

    По игре: почему страницы перелистываются целиком? Это же блокнот :) Плюс как-то логичнее сдвиг экрана справа-налево при старте игры, так как сейчас по привычке кажется будто возвращаемся назад.

    Алексей avatar
    Алексей3 декабря 2012
    0

    @Алексей, Да и смысл этого экрана? Два блокнота? Смысл сдвига понял? но перелистывание все-равно коробит.

    Алексей avatar
    Алексей3 декабря 2012
    0

    @Алексей, *понял. Не освоюсь еще с клавой мака.

    OlegDemchenko avatar
    OlegDemchenko3 декабря 2012
    0

    @Алексей, Ну Артур своего решения не поменял – обзорной статьи не вышло. Данная статья – в рамках Dev Story, а тут, как и было обещано при открытии раздела, демократия.

    cd_racer avatar
    cd_racer3 декабря 2012
    0

    @OlegDemchenko, я б не сказал, что в Dev Story прямо уж демократия, так что поздравляю с публикацией :)

    Олег Демченко avatar
    Олег Демченко3 декабря 2012
    0

    @cd_racer, Спасибо :)

    OlegDemchenko avatar
    OlegDemchenko3 декабря 2012
    0

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

    А насчёт сдвига при старте игры не понял. Сейчас мы “накладываем” на блокнот лист с выбранным пазлом, кажется никакого эффекта возврата не чувствуется. Или о чём вы?

    Алексей avatar
    Алексей3 декабря 2012
    0

    @OlegDemchenko, я имел в виду в начале при выборе блокнота сдвигается вправо либо влево, тут понял, у вас просто 2 блокнота.

    OlegDemchenko avatar
    OlegDemchenko3 декабря 2012
    0

    @Алексей, А, ну да. Основное окно по центру, два блокнота с пазлами – справа и слева от него.

    Войди на сайт, чтобы ответить
    Ответить

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.