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 месяца назад, наконец, решился. Первым вопросом был – что, собственно говоря, разрабатывать – хотелось создать программу, которая будет пользоваться хотя бы небольшим спросом, причём полностью самостоятельно, чтобы пройти лично через все стадии создания нового продукта: от идеи до релиза. Предшествовавший...
Прокомментировать

🙈 Комментарии 11

  1. pro100admin avatar
    pro100admin30 марта 2012
    0

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

  2. upsoft avatar
    upsoft30 марта 2012
    0

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

  3. Kir de Vah avatar
    Kir de Vah30 марта 2012
    0

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

  4. alleader avatar
    alleader30 марта 2012
    0

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

  5. AlexDuche avatar
    AlexDuche30 марта 2012
    0

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

  6. dddsssd avatar
    dddsssd30 марта 2012
    0

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

  7. ArTiKo avatar
    ArTiKo31 марта 2012
    0

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

  8. Rezon avatar
    Rezon31 марта 2012
    0

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

  9. iam83 avatar
    iam8331 марта 2012
    0

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

  10. DangeRsE avatar
    DangeRsE31 марта 2012
    0

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

  11. RiddiM99 avatar
    RiddiM991 апреля 2012
    0

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

Вы должны авторизоваться или зарегистрироваться для комментирования.

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

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

Как установить аватар в комментариях?

Ответ вот здесь