iPhones.ru

Dev Story Солнечная Стрела. История о достижении цели

Информатор avatar | 11
FavoriteLoading В закладки

ТЕКСТ: ДМИТРИЙ СИНЕВ. Достаточно давно хотел попробовать себя в разработке под мобильные устройства и 4 месяца назад, наконец, решился. Первым вопросом был – что, собственно говоря, разрабатывать – хотелось создать программу, которая будет пользоваться хотя бы небольшим спросом, причём полностью самостоятельно, чтобы пройти лично через все стадии создания нового продукта: от идеи до релиза.

Предшествовавший опыт был, мягко говоря, раздробленный: все курсовые в институте представляли собой небольшие игрушки или простые демонстрационные программы по физике, написанные на C# и иногда задействовавшие OpenGL или DirectX; на работе же занимался разработкой сайтов. Поэтому, в ходе данного проекта, багаж знаний, а главное, практических умений был весьма расширен.

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

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

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

Собственно о разработке

Для начала следовало разобраться в Objective-C и особенностях платформы. Здесь большую помощь оказали habrahabr.ru со множеством статей о разработке под IOS, а также lookapp.ru/sdk/, где находятся разобранные примеры программ, всячески модифицируя которые, я более-менее освоил Objective-C. Кстати, регистрация разработчика каких-либо затруднений не составила, в Интернете масса подробных описаний того, что и как делать, а что нет, хотя многие отзывы о ней наводили на мысли о жуткой тягомотине.

Теперь предстояло заняться самой программой. Весь процесс был строго итеративным – сначала была сделана сама стрельба и отлажена физика, затем добавлено Солнце с его комментариями, последовательно добавлялись новые функции, отлаживались, затем переходили к следующим. Самой сложной для меня, как для программиста, была оформительная часть: дизайн и звуковое сопровождение.

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

Когда большая часть проекта была готова, пришла мысль: «А почему бы ни сделать приложение универсальным, чтобы оно работало на iPad не только в режиме “iPhone с учетверённым экраном”, а как родное?». В итоге пришлось создавать отдельно графику под iPad с его соотношением сторон (4:3 против 3:2) и слегка другим расположением объектов, но, в результате, всё стало выглядеть лучше, чем было.

Следующим важным шагом была локализация под основные европейские языки, на английский удалось перевести всё самому, а с остальными помог сервис onehourtranslation.com. Должен отметить, что всё довольно дружелюбно к клиенту, переводчики стараются, например, для некоторых надписей на кнопках просили разъяснить, какая именно будет реакция при нажатии, чтобы перевести точнее.

В течение всех предшествовавших этапов периодически проводил тестирования с использованием Instruments, в процессе которого значительно уменьшил использование памяти программой, причём некоторые источники высокого потребления ресурсов меня удивили – уменьшение размера фоновой картинки на 150 Кб приводило к сокращению использования памяти на 4-6 Мб, что довольно странно. Что порадовало – никаких проблем с утечками памяти, которые часто упоминались в статьях других начинающих разработчиков, у меня не было.

Кстати, перевод в универсальные приложения и локализация (за счёт локализации некоторых картинок) удвоили вес программы.

Когда программа была готова, предстояло отправить её на Review. Это оказалось самым напряжённым временем, поскольку сроки, как я узнал из разных статей, могут быть совершенно любыми – от пары дней до двух-трёх недель. В моём случае программа была в стадии «Waiting for review» ровно неделю, после чего в «On Review» всего 20 минут (судя по сообщениям о смене статуса на почте). Меня это, мягко говоря, удивило, но и обрадовало, что никаких проблем не найдено.

Что в итоге?

Какие выводы можно сделать обо всём процессе разработки?

Создать небольшую, но хорошую с технической точки зрения программу для iPhone/iPad не так уж сложно – было бы желание. Документация хорошая, примеров масса, инструменты для тестирования удобны – разобраться во всём более чем реально.

Гораздо сложнее на самом деле – получить в итоге привлекательную для людей игру. Тут огромное количество нюансов, включая дизайн, музыку, звуки.… Здесь требуется команда, поскольку одиночка крайне маловероятно является «мастером на все руки».

Самое главное же – верить в себя.

iPhone + iPad: $0.99 [iTunes link]

Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (Проголосуйте первым за статью!)
undefined
iPhones.ru
ТЕКСТ: ДМИТРИЙ СИНЕВ. Достаточно давно хотел попробовать себя в разработке под мобильные устройства и 4 месяца назад, наконец, решился. Первым вопросом был – что, собственно говоря, разрабатывать – хотелось создать программу, которая будет пользоваться хотя бы небольшим спросом, причём полностью самостоятельно, чтобы пройти лично через все стадии создания нового продукта: от идеи до релиза. Предшествовавший...
Здесь можно оставить комментарий! Для этого авторизуйтесь или зарегистрируйтесь на iPhones.ru.

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

Форум →
  1. pro100admin avatar
    pro100admin 30 марта 2012
    0

    Эту игру за 0,99$ продавать, это шутка такая?

    Войди на сайт, чтобы ответить
    Ответить
  2. upsoft avatar
    upsoft 30 марта 2012
    0

    и главное при чем здесь солнце )

    Войди на сайт, чтобы ответить
    Ответить
  3. Kir de Vah avatar
    Kir de Vah 30 марта 2012
    0

    А я люблю типо “бесконечные” игры на мобиле. Потому что нет желания и времени играть во что-то серьёзное.

    Войди на сайт, чтобы ответить
    Ответить
  4. alleader avatar
    alleader 30 марта 2012
    0

    Ну что тут скажешь?…

    Войди на сайт, чтобы ответить
    Ответить
  5. AlexDuche avatar
    AlexDuche 30 марта 2012
    0

    Это реальное убожество еще и платно?

    Войди на сайт, чтобы ответить
    Ответить
  6. dddsssd avatar
    dddsssd 30 марта 2012
    0

    жаль что промо няма(

    Войди на сайт, чтобы ответить
    Ответить
  7. ArTiKo avatar
    ArTiKo 31 марта 2012
    0

    Просто абзац… Очередная перделка, вид сбоку… :(

    Войди на сайт, чтобы ответить
    Ответить
  8. Rezon avatar
    Rezon 31 марта 2012
    0

    А я вот хочу поздравить уважаемого автора программы с дебютом! :) Скажем прямо: уровень игры не очень высок, но лиха беда начало :) Интерфейс хоть и прост (с точки зрения оформления), но не перегружен. Единственное – меня, как пользователя, смущает надпись “ВКЛ бонус за рикошеты”. Возможно, стоит просто включить их по умолчанию, а при обучении сообщить, что за рикошеты дают бонусы? Плюс, можно добавить уровни, где попасть в мишень можно только рикошетом (а лучше – несколькими).
    Получилось очень позитивно) Опять же плюс) Единственное (субъективное мнение) – солнышко без лучей на иконке похоже на колобка. Или на скинхеда. Нужное подчеркнуть))
    В общем, уже сейчас можно выделить определенные плюсы :)
    Как Вы совершенно верно заметили, самое главное – верить в себя, и у Вас получится замечательное приложение :)

    Войди на сайт, чтобы ответить
    Ответить
  9. iam83 avatar
    iam83 31 марта 2012
    0

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

    Войди на сайт, чтобы ответить
    Ответить
  10. DangeRsE avatar
    DangeRsE 31 марта 2012
    0

    Автор молодец. Конечно можно было бесплатно раздавать, но то что довел дело до конца – уже хорошо (я уже год все не могу с места сдвинуться)

    Войди на сайт, чтобы ответить
    Ответить
  11. RiddiM99 avatar
    RiddiM99 1 апреля 2012
    0

    Автору респект полюбэ. За смелость, упорство и статью. Купил в поддержку. Молодец, не бросай, все получится.

    Войди на сайт, чтобы ответить
    Ответить
Помни о правилах — если начал оффтопить, то не удивляйся потом.

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

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