• Взрывы в Box2D

      Мой телеграм канал: https://t.me/winc0de.
      В этой статье мы рассмотрим несколько видов взрывов в физическом движке Box2D.
      Симуляция взрыва сводится к нахождению тел, которые находятся в радиусе действия взрывной волны и применении силы к ним, чтобы отбросить их от центра взрыва.

      Мы расмотрим три вида взрывов разной сложности:
      • Нахождение тел в радиусе взрыва
      • Raycast – нахождения тел в радиусе лучей
      • Частицы – распространение многих маленьких тел от эпицентра взрыва

      Читать дальше →
    • Мой путь инди-разработчика, итоги нескольких лет

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

      image
      Читать дальше →
    • Как мы внедряли INDE в наше Android приложение


        Применение готовых библиотек в приложениях освобождает программистов от непроизводительного труда по изобретению велосипедов, сокращает время выхода приложения на рынок и благотворно сказывается на его функциональности. Все эти тезисы мы можем проиллюстрировать на своем собственном примере. В этой статье мы опишем процесс внедрения библиотеки Intel INDE (Integrated Native Developer Experience) для работы с видео в Android в наше существующее приложение Together Video Camera, приведем примеры реализации функционала в соответствии с конкретными нуждами приложения и опишем сложности разработки до и после INDE.
        Читать дальше →
        • +14
        • 6,1k
        • 1
      • Алгоритмы поиска путей на JavaScript



          Поиск оптимального маршрута юнита к цели на неизвестной карте — одна из самых сложных задач при разработке игры. К счастью, существует некоторое количество алгоритмов, которые решают эту задачу. Есть и отличная библиотека PathFinding.js с поддержкой 11 таких алгоритмов.
          Читать дальше →
        • Сверхбыстрое распознавание речи без серверов на реальном примере

          • Tutorial

          В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
          Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
          К статье я также прилагаю все исходники программы и саму сборку под Android.

          Прикручиваем Pocketsphinx к своему Андроиду
        • Libgdx: экран загрузки и загрузка шифрованных ресурсов

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

            Простая gif анимация загрузчика для привлечения внимания

            Во многих приложениях экран загрузки используется только при старте (или не используется совсем), при этом загружаются сразу все изображения, которые могут понадобиться. Это удобно, если ваша игра «Flappy Bird» и имеет при себе несколько десятков картинок, упакованных в атлас размером 1024х1024. Если же приложение крупное, такое как «Cut The Rope», то загрузить все ресурсы разом не получится, да и неободимости загружать «лишние» ресурсы нету, так как пользователь их может даже не увидеть.
            Читать дальше →
            • +15
            • 12,7k
            • 7
          • RippleDrawable для Pre-L устройств

            • Tutorial
            image

            Доброго времени суток!


            Те, кто следил за Google IO/2014, знают о новом Material Design и новых фишках. Одной из них является пульсирующий эффект при нажатии. Вчера я решил его портировать для старых устройств.
            Читать дальше →
          • Прокачиваем Google Tasks с помощью стороннего сервиса: повторяющиеся задачи, совместный доступ, уведомления о сроках и другие возможности

              Недавно на Хабре мы публиковали небольшой обзор системы управления задачами, над которой работаем. Одна из ее возможностей — односторонняя и двусторонняя синхронизация с Google Tasks. Настроив ее, можно существенно расширить возможности по работе с вашими задачами в Google Tasks, к примеру, достаточно быстро реализовав следующие «плюшки»:
              • создание задач в Google Tasks по почте (причем каждая задача имеет свой адрес и можно отсылать подзадачи к любой задаче)
              • сделать повторяющиеся задачи в Google Tasks (к примеру, каждый вторник будет возникать задача «Проверить операции по карте»)
              • запланировать будущие задачи (т.е. они появятся в Google Tasks в нужную дату)
              • уведомлять о приближении срока (даты завершения, due date) задачи из Google Tasks по почте (один или несколько раз)
              • через некоторое время (к примеру, неделю) удалять уже выполненную задачу
              • предоставить доступ к своим задачам другим пользователям Google Tasks (грубо говоря, расшарить свой список, подробнее ниже)

              image

              Реализация всего этого сделана через синхронизацию с нашим сервисом, т.е. мы не говорим о каких-то «хаках» или недокументированных возможностях Google Tasks, а реализуем их через обработку ваших задач у нас. Поэтому если вы не согласны доверить ваши тасклисты сторонним сайтам, то наше решение не для вас.
              Читать дальше →
            • Простой USSD-запрос в Android 4.0+

              • Tutorial
              В Android до сих пор нет API для USSD-запросов. Баг висит уже 6 лет!
              Я находил разные способы создания и получения информации из USSD запросов, но в итоге ни один не устроил.
              Затем я нашел упоминания о том, что с помощью обновленных в Android 4.0 служб спец. возможностей можно легко получать содержимое окон и так получить текст из окна и результатом USSD запроса. Попробовал — получается отлично! Без перезагрузок и надежно.
              Читать дальше →
            • Работа с графическими объектами в Android


                Нажав кнопку «Далее», вы найдете перевод четырех небольших учебных материалов, посвященных различным техникам обработки и генерации изображений в Android; в трех из них имеется исходный код тестовых программ и справочный материал к нему. На наш взгляд, эти пособия могут оказаться полезными всем, кто занимается разработкой приложений и игр под Android.
                Под катом находятся следующие статьи:
                • Пример кластеризованного шейдинга в Android
                • Знакомство с RenderScript. Учебное пособие
                • Знакомство с OpenCL для Android. Учебное пособие
                • Тесселяция для OpenGL ES 3.1 на Android
                Читать дальше →
              • Алгоритм cтабилизации видео с помощью 3D-моделирования сцены

                  Исследователи из Microsoft Research разработали алгоритм для автоматической стабилизации видео «от первого лица», снятого с помощью наголовной или другой видеокамеры во время путешествия по маршруту. Например, при езде на велосипеде или скалолазании.



                  Примеры стабилизированных видеороликов можно посмотреть здесь, там же оригинальные (необработанные) видеоролики, для сравнения. Опубликован исходный код и пояснения по работе алгоритма. Скоро разработчики выпустят приложение для Windows, чтобы каждый мог попробовать технологию на собственных видеороликах.
                  Читать дальше →
                • Получаем бесплатный SSL сертификат

                  • Tutorial
                  Привет, хабр!

                  О StartSSL я узнал от небезызвестного lissyara, в связи с чем ему очень благодарен.

                  Для начала расскажу, что же за зверь это. Как известно, SSL сертификаты выдаются центрами сертификации, чьи корневые сертификаты хранятся в хранилище сертификатов браузера\ОС (либо другого ПО, использующего SSL). Цена на большинство сертификатов зашкаливает, и платить приходится за каждый сертификат. Но у StartSSL весьма интересный подход — сами сертификаты у них бесплатные, вы платите только за проверку вашей личности.

                  Так же не может не радовать наличие русскоязычной поддержки.
                  Читать дальше →
                • Полезные ресурсы для гейм-дизайнера



                    Доброго времени суток читателям. Предоставляю вашему вниманию список ресурсов и книг, которые могут быть полезны гейм-дизайнеру или любому, кто интересуется данной тематикой. Сразу скажу, что почти все ресурсы на английском языке, т.к. русских аналогов весьма мало, а полезных и того меньше.
                    Читать дальше →
                  • «The Kids Want Mobile!» Советы по продвижению детских приложений

                      image

                      Недавно я рассказывал о рекомендациях спикеров конференции «The Kids Want Mobile!» (Берлин, 2014) касательно разработки детских приложений для мобильных устройств. Эту статью можно назвать «10 заметок о продвижении приложений».

                      Дальше по пунктам о комплексном привлечении аудитории.
                      Читать дальше →
                      • –1
                      • 3,7k
                      • 7
                    • За что блокируют разработчиков Google Play



                        Главная идея статьи — собрать в одном месте как можно больше реальных прецедентов блокировок приложений и аккаунтов разработчиков. Для каждого случая подробно разобрать причины и последствия.

                        Тема очень серьёзная. Если гугл заблокирует вас однажды — обратно пути уже не будет. По всей видимости, отслеживается взаимосвязь аккаунта с вашим ФИО, IP, Mac-адресом и прочими личными данными. Испортите отношение с Google один раз — потом не отмоетесь никогда.

                        Чтобы не потерять аккаунт, зарегистрированный лично на вас — нужно следовать определённым принципам. Давайте попытаемся вместе их вывести.
                        Читать дальше →
                      • Knork: простейшая альтернатива ButterKnife в 160 строк кода

                          Хабрапривет!

                          Ниже речь пойдет о view injection, костылестроении, аннотациях, рефлексии, о жалкой попытке превзойти Джейка Уортона и о том, что свой велосипед ближе к телу.

                          Что же такое view injection? Это способ избежать вот такого рутинного кода:

                          Button button = (Button) findViewById(R.id.button);
                          button.setOnClickListener(new View.OnClickListener() {
                            public void onClick(View v) {
                              // ...
                            }
                          });
                          
                          

                          Если использовать view injection с помощью, скажем, ButterKnife, написанного Джейком Уортоном (Jake Wharton), то код становится прозрачнее:

                          @InjectView(R.id.button) Button mButton;
                          
                          @OnClick(R.id.button)
                          public void onButtonClick() {
                            // ...
                          }
                          
                          

                          Но при ближайшем рассмотрении оказывается, что и ButterKnife не идеален.
                          Читать дальше →
                        • ActivityRecognitionClient из библиотеки Google Play Services — «распознавание действий пользователя»

                          Предисловие


                          В одно из обновлений библиотеки Google Play Services прокрался новый компонент, который может быть очень полезен при реализации некоторого типа приложений. Имя этому компоненту — ActivityRecognitionClient.

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

                          Надеюсь понятно объяснил, но для наглядности предлагаю просмотреть 4-х минутный ролик представленный компанией Google:


                          Читать дальше →
                          • +12
                          • 5,8k
                          • 6
                        • «65К методов хватит всем» или как бороться с лимитом DEX методов в Android

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

                          Unable to execute dex: method ID not in [0, 0xffff]: 65536
                          Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

                          И вы в ступоре, вы неспособны создать DEX файл для APK. Вы не имеете ни малейшего представления о том, что это и как это исправить. И что бы вы не делали, оно будет приводить вас к самому логичному состоянию: ПАНИКА.
                          Что же произошло?
                          • +51
                          • 32,7k
                          • 7
                        • 25+ видеоуроков по Android для начинающих

                          • Tutorial

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