Кремлевские девойки

7cd8a4292fb64831bebe4cc57955849a.png

Октябрь? На душе пусто, а в магазине приложений Apple дым стоит коромыслом. Чего тут только нет. Местная ЧК чистит полки и разработчикам приходят письма.
Дорогой друг
Ваше приложение King Towers устарело и мы удаляем его из нашего магазина

И так по письму раз в неделю. Приложения, дорогие мне как память о далеком Obj-C, я попытался быстро переписать на Swift. Но и здесь очередное коромысло ждало героя. В дом вошел Xcode 8 с новой супругой Swift 3.0. Из старого птичьего кода ничего более не работало. Сточив две мыши, я смог сократить текст в два раза (я становлюсь программистом?) и освоил птичий язык в третий раз, но новая беда — все перелицованные приложения не запустились. Знаете почему?

Картинки-вирусы


Потому что нельзя быть счастливой такой. Apple решил, что jpeg и png файлы хранят в себе скрытую угрозу в виде исполняемого кода. Каково?! Поэтому необходимо почистить атрибуты файлов-картинок из старых и новых проектов.

Для этого я использую команду (пришлось стать чуть-чуть Unix-оидом)

find . -type f -name '*.png' -exec xattr -c {} \;

Использую до сих пор — Фотошоп не знает об инновациях Apple и сохраняет файлы по старому. А ведь на носу 2017. Они, что Хабр не читают? Юзают до сих пор npm?

Ок, вернемся к удаленным играм. Есть и хорошие новости — выброшенные приложения могут быть обновлены! Я загрузил новые версии старых программ. Признаюсь, не все версии были одобрены — Review Team стала активно не пропускать новые варианты забаненых приложений. Но 3 раза мне таки удалось опубликовать полностью переделанные программы.

Переход на Swift 3.0


Старый swift-код автоматически конвертируется в новый язык; Xcode спрашивает вашего согласия для данной операции. Я не буду приводить примеры, как все поменялось. Ладно, один покажу:
// Swift from 20 century
groundObama.layer.borderColor = UIColor.redColor().CGColor
// Swift 3.0
groundTrump.layer.borderColor = UIColor.red.cgColor

Не сложно, но иногда впадаешь в недоумение. И даже бываешь обескуражен. При этом… ладно, тут открывается широкая тема, а я хотел про новую игровую идею рассказать.

Скажу лишь, что новый язык мне нравится.

Google наносит ответный удар


С 1 октября гугл обрадовал нас другим письмом — все ваши игры со старым adMob.framework отныне не приносят денег создателю. То есть, если вы сделали бесплатное приложение с рекламой от Google и ему стукнуло 2 года — все, кранты, финиш, фиаско — этот продукт более не приносит денег. Это невероятно! То есть Гугл сам отказался от 30% доходов от данных приложений. Я не верил, но факт — вместо 50 долларов в день с 1 октября я стал получать лишь 20. Катастрофа. Я срочно бросился обновлять старые успешные программы. Не спал 2 ночи. сломал 18 клавиш. А тем временем доходы вернулись почти на прежний уровень. Не 50, но жить можно. Тем не менее, я всем рекомендую перепрыгнуть на новый движок adMob.

И вот, пока я лихорадочно переписывал старые игры, мне пришла в голову новая идея.

Новая идея


Не надо ржать, я придумал классную игру. Думаю вам тоже понравится. Зачем я пишу здесь про игру? Копирайт, братья, копирайт. Я ненавижу авторские права и все мое — твое.

Но иногда неплохо застолбить идею, чтобы хвастать былыми заслугами перед девчонками в пивном баре. Или зануда какой-нибудь на хабре вдруг начнет сомневаться в твоей гениальности.

В советские времена я использовал для копирайта трюк с почтой СССР- посылаешь заказное письмо сам себе — в письме дискета с кодом и листингом. Письмо не вскрываешь и через 20 лет его выбрасываешь (дискета рассыпалась в пыль, наверняка). Но, в случае чего (привет Клинтону), в суде можно доказать, кто настоящий отец.

Сейчас все проще — публикуешь статью на Хабре и вуа-ля, спокойно спишь. Мне один раз помогла публикация на Хабре (ноябрь 2011 года) и дело было выиграно. Коньяк выпит.

Так вот, рассказываю про новую идею игры-головоломки. Сначала просто посмотрите видео геймплея.

Игра называется Kremlins и сделана мной в стиле русских матрешек. Матрешки складываются друг в друга, цель — собрать все 6 матрешек и решить очередную головоломку. Собранная матрешка снимается с доски. Правила складывания матрешек изумительно просты — можно перекладывать друг на друга матрешки одного цвета. Несложно, правда? Хороших вам выходных.

Получилось неплохо, я нагенерил миллион раскладов, подготовил сервер с двумя mysql таблицами и парой пхп-скриптов для хранения лучших результатов.

Игру сделал быстро, попытался выложить под именем одного из удаленных приложений —, но Review Тим не пропустили очередную версию. Типа, слишком много изменений. Выпускай под новым именем. Я и выпустил. Кстати, если вы Андроид-разработчик — можете выпускать клон игры ничтоже сумняшеся.

Большой плюс в современном магазине яблока — приложения рассматривают очень быстро и одобряют за день. Никаких недель ожидания. Первую версию игры я сделал платной и даже получил 30 покупок, что невероятно! Обычно 0. Приношу прощения покупателям.

Потому что сегодня одобрена новая бесплатная версия, и я осмелился опубликовать сей опус. Всем удачи и хороших выходных!

У нас +22, бабье лето.

Комментарии (1)

  • 16 октября 2016 в 03:16

    0

    А зачем на матрешках цифры, если порядок складывания в вашем движке не важен?

© Habrahabr.ru