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


    Октябрь? На душе пусто, а в магазине приложений 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, бабье лето.
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 31

      +2
      А зачем на матрешках цифры, если порядок складывания в вашем движке не важен?
        +1
        Насколько я понимаю, большие на меньшие только можно. Цвета — масти, цифры — значения, вот и небезызвестный пасьянс получается по сути.
          +1
          Да, из поста в стиле «поток сознания» я не совсем понял чем идея отличается от пасьянса, в котором рубашки карт поменяли на матрёшки
            0

            Кажется, вся суть в том, что ничем.

              +1
              Суть в том, что японцы от такого кипятком ссуть!
              Вопрос лишь в том, как-бы там это дело по пиарить.
                0

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

            0
            Неправильно понимаете, в этом особенность. Размер не имеет значения. Просто, если большая матрешка кладется сверху меньшей — то вторая складывается в первую.
            +1
            судя по видео, я думаю, что это скорее не порядок, а размер. чтобы проще было понимать что 4 может «съесть» 3 (и 2 и 1), а вот 2 не может вместить 3
              0
              Разумный комментарий — размер матрешек не имеет значения для перекладывания — лишь цвет.
              0
              Просто узор, не отвлекающий внимания.
              0
              Спасибо за статью. А вы трафик не пробовали лить на свои приложения? Если да, поделитесь результатами
                0
                Нет, но рискнуть готов парой десятой тысяч долларов. Не своих, конечно.
                +2
                Я срочно бросился обновлять старые успешные программы

                В одной компании однажды догадались, что можно поменять номер версии, заставку и оформление кнопочек, выпустив новую версию программного продукта, немножко средств на PR… и… прорывная версия продукта вновь захватывает рынок.
                Угадайте, о какой компании речь?
                  +8
                  Да о любой!
                    +1
                    А Вы крайне способный человек, ответили почти точно.
                      0
                      Да, но MS лезет в голову первой ))
                      –1
                      Мелкософт.
                      Заодно портя совместимость драйверов, программ, браузеров и т.д.
                      Ещё начиная с Висты они добавили заподлянки типа «замутнения» и шифрования люксовых медиапотоков за счёт процессора пользователя. 10-ка затроянена логгерами и телеметрией.
                        0
                        Частный случай. В основном, думаю, 95 процентов программ — это ремейки.

                        Трудно и тяжко признать, что IT — сфера в плане настоящих новинок — себя исчерпала, но рано или поздно придется это сделать, так как нельзя же все время обманывать. Хотя дизайн, конечно, можно бесконечно переделывать.

                        В последние лет 10 какого-то существенно прорывного софта не появилось, а в связи с резким снижением качества программирования и подрывом фундаментальной науки уже и не появится.
                        Но, я думаю, наверное, это хорошо.
                      +6
                      Мне один раз помогла публикация на Хабре (ноябрь 2011 года) и дело было выиграно.
                      А можете рассказать, что это за история была? Интересно.
                        0
                        Судя по упомянутой дате и «что-то доказывать» — подходит только эта публикация.

                        Но зная, кто автор, первой в голову пришла вот эта.
                        +1
                        А шо там за серпы и молоты рассыпаются? В некоторых странах ЕС данная символика законодательно запрещена. Ж8-()
                          +1
                          Unicode говорит символике быть ☭
                            0
                            Ну тоже верно )
                              0
                              ЕС откажется от пророссийского юникода к 2038 г. (вангую) :)
                            0
                            В ЕС деньги разработчикам приносит лишь Германия. Там лишь свастика запрещена, а её я не показываю.
                            0
                            Судя по видео это любопытный рескин пасьянса косынка…
                            +3
                            Скример
                            image
                              +1
                              На моей планете два Солнца) Рисовал небрежно, да…
                                0
                                А если лицо над поверхностью тела (вытянутый цилиндр, что видно только на виде сбоку) — такая тень возможна?
                                  0

                                  Тень от лица вроде как правильно падает. Оно как раз и представляет собой цилиндр над телом.

                              Only users with full accounts can post comments. Log in, please.