7 бубей iOS разработчика игр

от автора

Долгих лет жизни читающему эти строчки.
В статье обобщен трехлетний опыт создания iOS игр для личного пользования.
Примеров программного кода не будет. За примерами программного Вы идите на stackoverflow.com.

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

Лентяям предлагаю посмотреть видео-ролик.

Остальных приглашаю в мир букв и забавных событий.

Разработка игры для iPhone состоит из 7 камней. Идея, Картинки, Иконка, Звуки Му, Программирование, Help, Описание.

Туда 7 драгоценных камней Google переводит как 7 diamonds.
Обратно 7 diamonds Google переводит как 7 бубей.
Итак, 7 бубей моей iOS разработки.

Идея

Идея игры Five Diamonds (по-русски Брюлики) выросла из мега-хита Lines. 1989 год, съедаются 5 и более шариков одного цвета, выстроенных в линию.

Первым делом я проверил наличие аналогов в appStore. По запросу Lines нашлось более 500 игр, все хорошие, но убогие.
Понятно почему. Классический Lines имеет слишком большую доску размером 9х9 клеток. iPhone же комфортен на полях 6х6. Это предел для тыканья пальцем в экран.
Как разрешить проблему? Либо уменьшить размер доски, либо не пачкать экран. Я реализовал оба варианта.
Сперва я уменьшил доску для Lines до размера 6х 6 и число сгорающих шариков в линии сократил до 4-ех. Игра стала интересной, но тупой.
Как раз для американского рынка.
Мне не хотелось на американский рынок, мне хотелось играть самому.
Я вернул сгорание 5-и предметов, но добавил возможность собирать фигурки не только по цветам, но и по форме. 4 цвета, 4 формы. 4х4. Мне повезло.
Это решение оказалось оптимальным вариантом для новой игры.

Картинки

Картинки я взял из интернета по запросу gems icon.

Остальные, оттуда же, из google.com.
Apple и Xcode 4.5 кладут с прибором на поддержку старых алюминиевых iPhone и заставляют разработчиков делать три splash картинки.

Default.png размером 320x480. Default@2x.png  размером 640x960. Default-568h@2x.png  размером 640x1136. 

Прочие картинки для игры я делаю в хорошем разрешении. Например, для кнопки размером 60х60 пикселей, создаю картинку размером 240х240. Не экономлю чужие мегабайты. Но экономлю энергию экрана.
Фон для пасьянсных игр должен быть черным, с легким светлым градиентом к центру.

Иконка

Иконку надо создавать на финише разработки. Поиграть в игру. Проникнуться атмосферой. Должна быть гармония между настроением и изображением.
Драфт-иконку я выбрал из интернета по запросу free template ios app icon.
Кстати, там есть ссылки на хабр. Каюсь, взял без спросу.
Необходимо чуть-чуть знаний фотошопа для модификации иконки.

Иконка должна быть тупой, контрастной и простой.
Магазин завален яркими иконками, на которых не останавливается взгляд.
Мой 4-летний сын имеет 20 приложений. 20 гонок. Хорошие приложения. Но я их не отличаю по иконкам друг от друга.
Как будто под копирку сделаны — клетчатые флаги, кричащие цвета.
Выделяется лишь кармагеддон — красная 4-битная морда EGA разрешения. В нее и играю иногда. Хотя управление поворотами там сделано плохо — не используют гироскоп, странные ребята.
Apple и Xcode 4.5 заставляют делать три иконки под iPhone.

 Icon.jpeg размером 1024x1024   Icon@2x.png размером 114x114  Icon.png размером  57x57  

Звуки и мелодия

Звуков на freesound.org полно. Главное условие- длительность звучания не более 1 секунды.
Фоновую мелодию для экрана меню можно наиграть самому на гитаре. С рабочим шумом из соседних кубиков. На удивление приятно получается. Хотя это личное мнение. Мне все таки 50 лет, а не 20.
Для Five Diamonds я скачал альбом старого советског ВИА «Зодиак» под управлением Яниса Лусенса. Надо напомнить миру о нем.
Мелодия играет на всех экранах, кроме игрового. Я уважаю тишину и пользователя. Продолжительность звучания должна быть секунд 30, чтобы не весить толще 500 килобайт. Хотя я обещал не экономить память, здесь сэкономил.
Авторские права? пиратство?
Я написал автору композиции 02-Pasifik.mp3 Янису Лусенсу письмо с просьбой разрешить использовать его мелодию в игре.
Ответила секретарь
— 500 евро, и песня Ваша.
500 евро за 5 минут стерео?
— Отлично, -ответил я, — Я беру первые 30 секунд из Вашей композиции. 50 евро. Превращаю их в моно. 25 евро. Сохраняю в сигнал с битрейтом 128. Итого — 10 евро, согласны?
Что-то ответа до сих пор нет. Видимо, согласны.

Программирование

Я мыслю, как 8086 процессор. Поэтому не могу Вас научить современному программированию.
Мало того, я категорический противник использования чужих популярных frameworks типа Unity3d.
Стандартными средствами делают стандартные приложения. Они могут быть классными, но никому не интересными. Поезд ушел, парни, рынок заполнен. Идеи правят миром и оригинальная реализация.
И, конечно, я ем только чистый Objective-C. Вкус этого языка я не мог распознать полгода. Но мозг перевернулся, я полюбил его и с ужасом смотрю на С++, Java и PHP.
Для символического зарабатывания денег я вставил рекламу. Рано или поздно я опубликую игру. Думаю в декабре.
Для зарабатывания на рекламе я использую стандартную связку iAd+AdMob.
В Америке и окрестностях работает iAd, в России и прочем мире AdMob. Связывает их воедино сервис adwhirl.com.
Хотя google с этого года ввел новый сервис admob mediation, но я консерватор, на новые рельсы не перешел.
В новом Xcode появилась поддержка iPhone 5. Приходится дублировать xib файлы и визуально размещать элементы для двух разрешений экрана.
А в теле главного viewController я использую код для определения типа экрана

CGRect screenBounds = [[UIScreen mainScreen] bounds]; if (screenBounds.size.height == 568) {        iPhone5 = 1;     } else {        iPhone5 = 0;    } 

Чорт, это все таки был код?

Help

Help должен быть хорошим. Не более одной текстовой строки на экран. Анимация и расчет на тупых.
Help 100 крат важней иконки. Проверено на личном опыте. В приложение Five Diamonds дети только ради страницы Help и заходят.
Похелпят и дальше мультики смотрят. Хороши интеллектуальные подсказки, которые следят за реакцией игрока. Для новичка выкидывают подсказки, для опытных молчат в тряпочку. Такой Help требует больше программирования, чем сама игра.

Описание

Описание для appStore включает текст, скриншоты и видео. Видео нужно исключительно для Хабра.
Из приложения и магазина на youtube никто не заходит!!!
Например, у меня в игре Чапай 95 000+ игроков и кнопка посмотреть видео внутри приложения. До публикации статьи на Хабре было 60 просмотров. После публикации статьи на Хабре — 7000 просмотров.

Как играть, не тыкая пальцем в экран, я напишу в другой статье. Если интересно.
Спасибо за внимание.

ссылка на оригинал статьи http://habrahabr.ru/post/158585/