• Где взять аудиосемплы для ваших проектов: подборка из девяти тематических ресурсов

      В прошлый раз мы делали подборку ресурсов с полноценными музыкальными композициями для приложений, игр или видео. Сегодня рассказываем о площадках с библиотеками коротких звуков и семплов, распространяемых в основном по лицензиям класса Creative Commons.

      Читать дальше →
      • +29
      • 11.2k
      • 5
    • Горячие клавиши Unreal Engine, которые сделают жизнь левел-дизайнера проще

      • Translation
      Горячие клавиши используют все. Банальные Ctrl+C и Ctrl+V, а сколько раз выручал Ctrl+Z? Ну а Alt+F4? А если вспомнить количество негативных отзывов, когда в новых MacBook Pro добавили тачбар и вырезали ряд командных клавиш?

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


      Читать дальше →
    • Unity: отрисовываем множество полосок здоровья за один drawcall

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


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

      Я не буду никого стыдить за код, но достаточно сказать, что некоторые из решений были не совсем блестящими, например, кто-то добавлял к каждому врагу объект Canvas (что очень неэффективно).

      Метод, к которому я в результате пришёл, немного отличается от всего того, что я видел у других, и не использует вообще никаких классов UI (в том числе и Canvas), поэтому я решил задокументировать его для общества. А для тех, кто хочет изучить исходный код, я выложил его на Github.
      Читать дальше →
      • +26
      • 13.2k
      • 8
    • Простое объяснение алгоритмов поиска пути и A*

      • Translation
      image

      Часть 1. Общий алгоритм поиска


      Введение


      Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия.

      Цель данной статьи — объяснить поиск пути в целом и A* в частности очень понятным и доступным образом, положив таким образом конец распространённому заблуждению о том, что эта тема сложна. При правильном объяснении всё достаточно просто.

      Учтите, что в статье мы будем рассматривать поиск пути для игр; в отличие от более академических статей, мы опустим такие алгоритмы поиска, как поиск в глубину (Depth-First) или поиск в ширину (Breadth-First). Вместо этого мы постараемся как можно быстрее дойти от нуля до A*.
      Читать дальше →
    • Пиксель-арт: от черновика до игрового ассета

      • Translation
      imageimage
      В этой статье я постараюсь визуализировать общий подход к работе. Итак, вы решили учиться арту: вы скачали какое-то ПО, запустили его и увидели все эти опции, бесконечные цвета и многое другое, быстро всё закрыли, удалили программу и выбросили свой ноутбук в окно.

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

      Если вам это знакомо, то данная статья как раз для вас, так что продолжайте читать.

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

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

      Если возьмётесь за работу очень усердно, то, возможно, получите неплохие результаты через несколько месяцев.
      Читать дальше →
    • 6 полезных ресурсов и сервисов для потенциальных эмигрантов в США, Германию и Канаду



        С недавних пор я активно заинтересовался темой переезда за границу, и в связи с этим изучил существующие сейчас сервисы, которые оказывают помощь в переезде ИТ-специалистам. К моему удивлению, далеко не так много проектов помогают потенциальным иммигрантам. Пока что я отобрал шесть сайтов, которые показались мне интересными.
        Читать дальше →
      • 8 ошибок в произношении английских звуков, которые делает большинство русскоговорящих



          Во время изучения иностранных языков много внимания уделяют произношению звуков и слов. Правильное произношение ставят долго — за несколько занятий поймать правильное звучание слов практически невозможно.

          Причина очень проста. Звуки и звукообразование в разных языках отличается кардинально.
          В японском языке отсутствует звук [l]. И на первых этапах изучения английского языка они заменяют его звуком [r]. Все потому, что в японском звук [r] ударный, а не вибрационный. Во время произношения язык прикасается к нёбу лишь на долю секунды, поэтому на выходе получается что-то среднее между знакомыми нам [р] и [л]. Именно поэтому сложно понять, что имеет в виду японец: «law» или «raw».

          Конечно, при целенаправленных тренировках японцы начинают выговаривать звук [l], но крайне малая часть изучающих английский тренирует произношение настолько глубоко.
          Абсолютно на же ситуация с английским и русским языками. В английском есть ряд звуков, которые очень сложно даются русскоговорящим. Просто потому, что в русском языке их нет. А еще есть нюансы между схожими звуками, которые русское ухо просто не замечает.

          Нередко такие нюансы полностью меняют смысл предложения.
          И вместо «I like this beach» («Мне нравится этот пляж») собеседник услышит «I like this bitch» («Мне нравится эта девушка с пониженной социальной ответственностью»).
          В этой статье мы расскажем о 8 ошибках в произношении, которые часто встречаются у русскоговорящих, а также расскажем хитрости, которые помогут вам от них избавиться. Поехали.
          Читать дальше →
        • Где покупать радиодетали и компоненты? Часть I: Россия

            Давайте поговорим о покупке электронных компонентов в интернете. Я собрал список интересных отечественных и зарубежных магазинов:

            а) которые заточены под любителей DIY и делают свои собственные крутые продукты: конструкторы, модули, обучающие курсы и т.д.;

            б) для профи, с широкой номенклатурой электронных компонентов.

            Продолжение: Часть II: зарубежные магазины

            Кадр из к/ф «Иван Васильевич меняет профессию»
            Продолжение
          • Подборка: 4 полезных сервиса для потенциальных иммигрантов в США, Европу и другие страны



              Тема переезда в Европу, США или другие приятные регионы мира довольно часто поднимается на Хабре. Я решил собрать в одном месте список онлайн-сервисов, которые будут полезны тем, кто всерьез задумался об иммиграции. На удивление, «живых» и активных стартапов в этой сфере не так и много. Для статьи я отобрал четыре проекта.
              Читать дальше →
            • Работа с внешними ресурсами в Unity3D

                Введение


                Здравствуйте уважаемые читатели, сегодня речь пойдет о работе с внешними ресурсами в среде Unity 3d.

                По традиции, для начала определимся, что это и зачем нам это надо. Итак, что же такое эти внешние ресурсы. В рамках разработки игр, такими ресурсами может быть все, что требуется для функционирования приложения и не должно храниться в конечном билде проекта. Внешние ресурсы могут находится как на жестком диска компьютера пользователя, так и на внешнем веб-сервере. В общем случае такие ресурсы — это любой файл или набор данных, который мы загружаем в наше, уже запущенное приложение. Если говорить в рамках Unity 3d, то ими могут быть:

                • Текстовый файл
                • Файл текстуры
                • Аудио файл
                • Байт-массив
                • AssetBundle (архив с ассетами проекта Unity 3d)

                Ниже, мы рассмотрим подробнее встроенные механизмы работы с этими ресурсами, которые присутствуют в Unity 3d, а также напишем простые менеджеры для взаимодействия с веб-сервером и загрузки ресурсов в приложение.

                Примечание: далее в статье используется код с использованием C# 7+ и рассчитан на компилятор Roslyn используемый в Unity3d в версиях 2018.3+.
                Читать дальше →
                • +16
                • 27.8k
                • 7
              • Создание игровых 3D-моделей «для бедных»: путь инди

                • Translation
                Вы когда-нибудь задумывались о том, как работает небольшая инди-студия, занимающаяся разработкой видеоигр?

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

                Мы — небольшая команда из Польши. Нас всего три человека, но полный рабочий день занимаются проектом всего двое.


                Сегодня мы расскажем о процессе создания персонажей для нашей игры «The end of the Sun». Имейте в виду, что показанные в статье скриншоты взяты из проекта, который пока находится в разработке.

                Этот текст посвящён только статичным элементам персонажей: мы расскажем, как сканировали персонажа и одежду, как создавались дополнительные элементы, а также о том, как мы настроили движок Unity, чтобы получить такие скриншоты:
                Читать дальше →
              • На-click-ать известность, или как взбудоражить робота и … остальных



                Давным-давно, у фасада далекого-далекого магазина состоялся подслушанный разговор:
                NB: - А как привести много посетителей на свой новый сайт?

                GURU: - Ну можно ссылок «раскидать» на разных форумах и в соц. сетях. Поисковая оптимизация поможет и контент. Можно тизерные сети привлечь, а можно много раз посетить сайт через разные прокси ...

                NB: - И чем же помогут такие посещения, ведь это иллюзия живых людей?

                GURU: - Счетчик статистики от google или от yandex объяснит поисковикам, что сайт становится популярным. Да еще и реферер можно связать с посещаемыми сайтами по запросам. Подрастет позиция в поисковиках, а значит и подрастет поисковый трафик.

                NB: - А где же взять такое количество прокси?

                GURU: - Где?… Ну в интернете поищи...
                NB перестал спрашивать, видимо, опасаясь раздражать явно более опытного собеседника.
                GURU закатил глаза, как бы подчеркивая исчерпанность темы про прокси и замолчал…
                Читать дальше →
              • Тестирование самодельной термокружки на фазовом переходе



                  Первая часть

                  Термокружка — это не термос. Ее задача — не заваривать шиповник, а обеспечить комфортную температуру напитка. Это значит — быстрое остывание свежеприготовленного горячего напитка (с 95-80°С до 65-60°С). А затем удержание температуры как можно более долгое время.
                  Так как у воды очень большая теплоемкость, решение этой проблемы методом «массивности» приводит к избыточному утяжелению кружки. Решением может стать использование фазового перехода.
                  Читать дальше →
                • Как я перешёл из системного администрирования в Android-разработку


                  Несколько лет назад, я, как и другие начинающие Android-разработчики, решил найти работу в этой области. Если вы начинающий специалист, и не знаете, с чего начать изучение Android, или если вы уже обладаете определёнными знаниями в этой теме и планируете в скором времени устраиваться на работу, то этот материал для вас. По задумке, к данной статье вы будете возвращаться по мере накопления опыта: смотреть на каком этапе в данный момент находитесь и что изучать дальше.
                  Читать дальше →
                • 5 курсов, которые помогут начать свой путь в дизайне игр

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


                  Читать дальше →
                  • +18
                  • 31.4k
                  • 2
                • nodejs: SSO-авторизация через Kerberos

                  Всё гениальное просто. Но до этой простоты нужно перечитать тысячи мануалов. Поэтому, разобравшись, мне захотелось написать quick start по тому, как сделать прозрачную авторизацию в Web-приложении для пользователя, авторизованного в AD, и поделиться своим тестовым проектом. Интересен взгляд со стороны.


                  Читать дальше →
                  • +12
                  • 31.2k
                  • 5
                • Создание сеток шестиугольников

                  • Translation
                  image

                  Сетки из шестиугольников (гексагональные сетки) используются в некоторых играх, но они не так просты и распространены, как сетки прямоугольников. Я коллекционирую ресурсы о сетках шестиугольников уже почти 20 лет, и написал это руководство по самым элегантным подходам, реализуемым в простейшем коде. В статье часто используются руководства Чарльза Фу (Charles Fu) и Кларка Вербрюгге (Clark Verbrugge). Я опишу различные способы создания сеток шестиугольников, их взаимосвязь, а также самые общие алгоритмы. Многие части этой статьи интерактивны: выбор типа сетки изменяет соответствующие схемы, код и тексты. (Прим. пер.: это относится только к оригиналу, советую его изучить. В переводе вся информация оригинала сохранена, но без интерактивности.).
                  Читать дальше →
                • Мультиплеер в быстрых играх (Часть IV: Хэдшот! Путешествуем во времени)

                  • Translation

                  1. Части I, II (синглплеер с авторитарным сервером)
                  2. Часть III (Появление врага)
                  3. Часть IV (Хэдшот!)

                  Как повесить идеальный хэдшот если у тебя пинг 2 секунды? Вы узнаете в этой статье.

                  Текущий алгоритм работы мультиплеера


                  • Сервер получает команды с клиентов и времена их отправления
                  • Сервер обновляет состояние мира
                  • Сервер с некоторой частотой отправляет свое состояние всем клиентам
                  • Клиент отправляет команды и локально воспроизводит их результат
                  • Клиент получает обновленные состояния мира и:
                    • Применяет состояние от сервера
                    • Заново применяет все свои команды, которые сервер не успел применить.
                    • Интерполирует предыдущие состояния других игроков
                  • С точки зрения игрока, есть два серьезных последствия:
                    • Игрок видит себя в настоящем
                    • Игрок видит других в прошлом.

                  Обычно это отлично работает, но это становится большой проблемой для событий, которым нужна высокая пространственно-временная точность. Например если хочется разнести врагу башку!
                  Читать дальше →
                • Asus автоматически обновляет BIOS/UEFI по HTTP без верификации



                    Asus снова взялся за старое. Вы можете отправить любой исполняемый файл или даже прошивку BIOS на компьютер Asus под видом обновления — этот файл будет автоматически запущен на исполнение с максимальными привилегиями, а прошивка установлена, без каких-либо проверок. Ничего не нужно предпринимать — система взломает сама себя, автоматически.

                    Вкратце: компьютеры с материнскими платами Asus осуществляют запросы к удалённому серверу по HTTP на регулярной основе. Причиной является программное обеспечение LiveUpdate, которое предустанавливается на компьютеры Asus. Оно отвечает за скачивание новых прошивок BIOS/UEFI и исполняемых файлов. Обновления поступают в архивах ZIP по чистому HTTP, распаковываются во временную папку, а исполняемый файл запускается от имени пользователя. Не происходит никакой верификации файлов или аутентификации при их загрузке, что позволяет провести MiTM-атаку и банальную эскалацию привилегий до NT AUTHORITY\SYSTEM.
                    Читать дальше →
                  • Подборка: Более 70 источников по машинному обучению для начинающих



                      Индикатор кулачкового аналогового компьютера / Wiki

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