Письмо второкурсника: как я создал Crazy Box Fall — игру в «падающий квадратик» для iOS

6323
22

Меня зовут Юра, недавно мне исполнилось 18 лет, учусь на втором курсе Политехнического института на программиста. Я открыл для себя мир разработки под iOS почти год назад, в мае. Помню, тогда набрел на статью, что создатель Flappy Bird по примерным подсчетам получает от рекламы $50 000 в день. На тот момент все, что я умел — это писать простые программы в консоли на Pascal. Так что я сразу принял решение начинать копать тематическую литературу и развиваться в сторону iOS.

FOhsMR4P5OE

 

Как возникла идея игры

Сама идея появилась еще в конце августа. Каждый день я качаю около десятка приложений из разных категорий, которые вышли в топ — так я пытаюсь понять, что сейчас нравится людям и какие необычные программки и игрушки пробиваются на первые строчки в App Store. Так вот, скачал я тогда игру, где нужно было ехать квадратиком и перепрыгивать касаниями через преграды. А после 10 уровня он начинал падать с горизонтальными преградами. Приложение показалось мне довольно интересным, но я хотел убить того дизайнера, который рисовал эту игру. Она была ужасной — дизайн отвратителен, я ее удалил в тот же день. Но идея осталась в моей голове. Где-то через пару дней я прикинул, что до начала учебы осталось 3 недели и можно успеть создать и выбросить в App Store какую-нибудь игрушку. Тогда я и вспомнил про квадратик. Решил следующее: заставить его падать с препятствиями и по ходу разработки прикрутить что-нибудь еще.

crazybox2

В отличии от других своих «шедевров», я решил создать Crazy Box Fall по всем правилам, соблюдая все шаги. Начал с модели на бумажке. Потратил буквально 15 минут, хотя это сэкономило мне часы разработки — получилось довольно просто и понятно. По опыту, сначала решил создать все картинки для игры, а только потом начинать писать код. Как-то спонтанно в голову пришла идея, что квадратик должен быть не одноцветным, нужно его оживить и добавить эмоции. Рисовать я не умею, поэтому открыл Pages и начал пробовать. Хотел сделать его каким-нибудь простым и веселым. Внизу — изображение моего лучшего из 20 вариантов. Как мне кажется, он какой-то больной получился.

crazybox3

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

После создания всех изображений, начался самый долгий и нудный, хоть местами и достаточно веселый этап: нужно писать код, просто писать очень много строк кода. Я понимал, что игрушка получится немаленькой, поэтому с первых строк пытался делать код читабельным и логичным. Где-то до 2000-й строчки у меня получалось… Во время разработки минимум несколько сотен раз все идет совершенно не так, как нужно, и я не преувеличиваю. И тут два варианта развития событий:

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

Большую часть времени я был во втором состоянии, но иногда возникали интересные ситуации, как та, что ниже на скрине:

crazybox4

Я планировал закончить писать игру за 3-4 недели, но все затянулось на три с половиной месяца. После завершения я был приятно удивлен своим результатом, потому что мне реально часто хотелось в нее играть. Даже не смотря на то, что я ее запускал несколько сотен раз во время разработки и тестирования. Потом начал тестировать на своих одногруппниках. Особенно понравилось, что после проигрыша я очень часто замечал ту же злость, что и от Flappy Bird — люди проигрывали, матерились, но снова начинали играть, чтобы заработать яблочки и разблокировать следующую оболочку для коробочки. Когда мои одногруппники бесились от проигрыша, меня переполняла радость — я понимал, что это успех.

Отдельно пришлось уделить много внимания иконке. Ведь когда вы листаете список с приложениями, вы судите приложение именно по иконке, потом уже читаете описание, смотрите скриншоты, отзывы… Но все начинается именно с иконки. Я решил не доверять своему вкусу (и правильно сделал), создал 4 прототипа и выложил голосование в ВК. Вообще я хотел изначально установить иконку под номером 4, но как оказалось, она вообще оказалась на последнем месте, а итоговой иконкой моей игрушки стала картинка под номером 1.

crazybox5

Для iPhone и iPad я использую одинаковые изображения очень высокого качества, поэтому игрушка получилась аж на 16 Мб, но я просто обожаю играть на iPad и смотреть, как это все выглядит на Retina-дисплее.

crazybox6

Поскольку человек всегда воспринимает цифры и картинки с бОльшим интересом, чем текст, хочу привести вам несколько фактов в цифрах о моем приложении:

  1. Весь объем игры — 5700 строк. Плюс-минус 300 строк на комментарии к коду.
  2. Финальная версия имеет 53 предупреждения в коде. Это не ошибки, с ними программа будет работать, но это значит, что в этих местах Apple хотели от меня немного другого.
  3. На создание магазина коробочек и встроенные покупки я потратил больше двух с половиной месяцев, то есть в несколько раз больше, чем на всю остальную игру.
  4. Изначально я назвал свою игру Crazy Box, но потом оказалось, что это имя уже занято. Поэтому в самом App Store написано «Crazy Box Fall», но под иконкой старое название.
  5. Все изображения я создавал не в графическом редакторе, а в текстовом — в Pages.
  6. Когда опубликовали iOS 8, мне пришлось переписать всю игру с нуля, потому что до этого я тестировал приложение на 7-й версии, а на 8-й оно даже не запускалось.
  7. Каждое яблочко появляется с вероятностью в 25%.
  8. Мой личный рекорд — 134. Ни у кого из знакомых не получалось набрать больше 117.
  9. Уже готово обновление ко Дню Святого Валентина с 5 новыми коробочками.
  10. Каждый месяц я буду добавлять 10-20 новых оболочек для коробочки, вас ждет много сюрпризов.

crazybox1

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

Оставить комментарий

Комментарии | 22

Поиск