Письмо второкурсника: как я создал Crazy Box Fall — игру в «падающий квадратик» для iOS
Меня зовут Юра, недавно мне исполнилось 18 лет, учусь на втором курсе Политехнического института на программиста. Я открыл для себя мир разработки под iOS почти год назад, в мае. Помню, тогда набрел на статью, что создатель Flappy Bird по примерным подсчетам получает от рекламы $50 000 в день. На тот момент все, что я умел — это писать простые программы в консоли на Pascal. Так что я сразу принял решение начинать копать тематическую литературу и развиваться в сторону iOS.
Как возникла идея игры
Сама идея появилась еще в конце августа. Каждый день я качаю около десятка приложений из разных категорий, которые вышли в топ — так я пытаюсь понять, что сейчас нравится людям и какие необычные программки и игрушки пробиваются на первые строчки в App Store. Так вот, скачал я тогда игру, где нужно было ехать квадратиком и перепрыгивать касаниями через преграды. А после 10 уровня он начинал падать с горизонтальными преградами. Приложение показалось мне довольно интересным, но я хотел убить того дизайнера, который рисовал эту игру. Она была ужасной — дизайн отвратителен, я ее удалил в тот же день. Но идея осталась в моей голове. Где-то через пару дней я прикинул, что до начала учебы осталось 3 недели и можно успеть создать и выбросить в App Store какую-нибудь игрушку. Тогда я и вспомнил про квадратик. Решил следующее: заставить его падать с препятствиями и по ходу разработки прикрутить что-нибудь еще.
В отличии от других своих «шедевров», я решил создать Crazy Box Fall по всем правилам, соблюдая все шаги. Начал с модели на бумажке. Потратил буквально 15 минут, хотя это сэкономило мне часы разработки — получилось довольно просто и понятно. По опыту, сначала решил создать все картинки для игры, а только потом начинать писать код. Как-то спонтанно в голову пришла идея, что квадратик должен быть не одноцветным, нужно его оживить и добавить эмоции. Рисовать я не умею, поэтому открыл Pages и начал пробовать. Хотел сделать его каким-нибудь простым и веселым. Внизу — изображение моего лучшего из 20 вариантов. Как мне кажется, он какой-то больной получился.
Я понял, что проще купить за пару долларов хорошие картинки, а не насиловать зря компьютер. Зато все остальные изображения сделаны полностью мной в программе Pages.
После создания всех изображений, начался самый долгий и нудный, хоть местами и достаточно веселый этап: нужно писать код, просто писать очень много строк кода. Я понимал, что игрушка получится немаленькой, поэтому с первых строк пытался делать код читабельным и логичным. Где-то до 2000-й строчки у меня получалось… Во время разработки минимум несколько сотен раз все идет совершенно не так, как нужно, и я не преувеличиваю. И тут два варианта развития событий:
- Ты знаешь, где облажался, но все равно смотришь, как не работает программа, потому что часто результаты непредсказуемы и иногда довольно забавны.
- Ты не знаешь, где облажался, но все равно смотришь, как не работает программа, потому что у тебя безысходность и больше нечего делать.
Большую часть времени я был во втором состоянии, но иногда возникали интересные ситуации, как та, что ниже на скрине:
Я планировал закончить писать игру за 3-4 недели, но все затянулось на три с половиной месяца. После завершения я был приятно удивлен своим результатом, потому что мне реально часто хотелось в нее играть. Даже не смотря на то, что я ее запускал несколько сотен раз во время разработки и тестирования. Потом начал тестировать на своих одногруппниках. Особенно понравилось, что после проигрыша я очень часто замечал ту же злость, что и от Flappy Bird — люди проигрывали, матерились, но снова начинали играть, чтобы заработать яблочки и разблокировать следующую оболочку для коробочки. Когда мои одногруппники бесились от проигрыша, меня переполняла радость — я понимал, что это успех.
Отдельно пришлось уделить много внимания иконке. Ведь когда вы листаете список с приложениями, вы судите приложение именно по иконке, потом уже читаете описание, смотрите скриншоты, отзывы… Но все начинается именно с иконки. Я решил не доверять своему вкусу (и правильно сделал), создал 4 прототипа и выложил голосование в ВК. Вообще я хотел изначально установить иконку под номером 4, но как оказалось, она вообще оказалась на последнем месте, а итоговой иконкой моей игрушки стала картинка под номером 1.
Для iPhone и iPad я использую одинаковые изображения очень высокого качества, поэтому игрушка получилась аж на 16 Мб, но я просто обожаю играть на iPad и смотреть, как это все выглядит на Retina-дисплее.
Поскольку человек всегда воспринимает цифры и картинки с бОльшим интересом, чем текст, хочу привести вам несколько фактов в цифрах о моем приложении:
- Весь объем игры — 5700 строк. Плюс-минус 300 строк на комментарии к коду.
- Финальная версия имеет 53 предупреждения в коде. Это не ошибки, с ними программа будет работать, но это значит, что в этих местах Apple хотели от меня немного другого.
- На создание магазина коробочек и встроенные покупки я потратил больше двух с половиной месяцев, то есть в несколько раз больше, чем на всю остальную игру.
- Изначально я назвал свою игру Crazy Box, но потом оказалось, что это имя уже занято. Поэтому в самом App Store написано «Crazy Box Fall», но под иконкой старое название.
- Все изображения я создавал не в графическом редакторе, а в текстовом — в Pages.
- Когда опубликовали iOS 8, мне пришлось переписать всю игру с нуля, потому что до этого я тестировал приложение на 7-й версии, а на 8-й оно даже не запускалось.
- Каждое яблочко появляется с вероятностью в 25%.
- Мой личный рекорд — 134. Ни у кого из знакомых не получалось набрать больше 117.
- Уже готово обновление ко Дню Святого Валентина с 5 новыми коробочками.
- Каждый месяц я буду добавлять 10-20 новых оболочек для коробочки, вас ждет много сюрпризов.
Если вкратце, как то так и проходил весь процесс разработки этой игрушки. Очень надеюсь, что она вам понравится и вы будете злиться после каждого проигрыша, а потом пробовать еще и еще.
Комментарии | 22
кто то слышал про эти коробочки ?
За желание не сидеть на месте и что то пробовать +1, в целом удачи и пусть Вам повезет!
Приятно читать такие статьи. Простым и человеческим языком. Удачи в этих начинаниях!
Может не скромно, но где деньги? 🙂
+ за 18 и рвение.
на своих знания тоже можно заработать , при чем с нуля : http://vk.cc/3d9v60
Пацан разработал простую игруху, которую установило 23 однокурсника. АИН — а давай ты будешь постить ВСЕ институтские курсовые по программированию? И бесплатный контент и Оруджалиева отвлекать вообще не будете, лол
Что вы так — где-то 100-200 установок из магазина у игрушки есть — это успех 🙂
у вас Андроид? :)))
У меня чтопопало 🙂
Но предпочитаю андроид, да
Пока что 2500 установок.
Поздравления и на этом — выпуск продукта — это уже хорошо и позитивно 🙂
Ну мы разберемся и без ваших оскорбительных советов, что нам постить, ок?
Артур, но это ведь не стартап, а просто человек учиться.. таких у нас тысячи. ну кароче такое..
Кто такая Валентина Чухлиб? 🙂
Я регистрировал аккаунт разработчика, когда мне было 17, поэтому на имя родителей.
У вас хороший слог. Пробуйте писать еще статьи.
Как то не вижу смысла статьи.. ну сделал парень апп, ок.. и? Денег заработал? Диплом получил? Вообще что? Статья без конца, уже не говоря о том, что по уровню не понятно что она здесь делает.
Пацан молодец, работай дальше и не останавливайся.
Это рубрики «Истории стартапов». Каждый может написать такую статью про молодой проект, если редакции покажется чем-то интересным — публикуем.
Надо было закончить статистикой скачиваний и заработанным баблом. Иначе не так интересно
Очень приятно увидеть статью своего выпускника на ain. Юрий поздравляем с публикацией и ждем в гости в Web Academy )))
1. Всех интересует заработал ли ты что-то.
2. Советую найти дизайнера или просто человека со вкусом, такого же самоучку как ты (без обид) и дела пойдут лучше.
3. Качаю. Молодец.
молодец! хороший старт у парня!