Pull to refresh
0
0
Send message

Поиск пути среди круглых препятствий

Reading time9 min
Views14K

Навигация по лесу


Алгоритм поиска пути A* — это мощный инструмент для быстрой генерации оптимальных путей. Обычно A* демонстрируют при навигации по картам из сеток, но он может использоваться не только для сеток! Он может работать с любыми графами. Можно использовать A* для поиска пути в мире круглых препятствий.


В оригинале статьи все изображения интерактивны.

Как один алгоритм решает обе эти задачи? Давайте начнём с краткого описания того, как работает A*.

Алгоритм A*


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

На каждом шаге алгоритма A* оценивает множество частичных путей и генерирует новые пути, расширяя наиболее многообещающий путь из множества. Для этого A* хранит частичные пути в очереди с приоритетами, отсортированном по приблизительной длине — истинной измеренной длине пути плюс примерное оставшееся расстояние до цели. Это приближение должно быть недооценкой; то есть приближение может быть меньше истинного расстояния, но не больше него. В большинстве задач поиска пути хорошей преуменьшенной оценкой является геометрическое расстояние по прямой от конца частичного пути до конечной точки. Истинный наилучший путь до цели от конца частичного пути может быть длиннее, чем это расстояние по прямой, но не может быть короче.
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments15

Я у мамы не инженер

Reading time14 min
Views65K
intro

Я уже сбился со счёта часов, которые я потратил на то, чтобы сделать “небольшую коробочку” и вдруг я поймал себя на мысли, что я очень зауважал инженеров — людей, который умеют и могут проектировать и создавать новые вещи. В голове сразу нахлынули воспоминания об устройствах, который я разбирал в детстве (да и не только). Эти забавные ситуации, когда при откручивании последнего болтика, как чёрт из табакерки, вылетало несколько мелких пружинок и деталек, которые было совершенно невозможно упаковать обратно.

Однажды я решил сделать небольшое устройство (“Security Access Tuner” из игры Alien: Isolation) — контроллер, экран, пара элементов управления, да упаковать это всё в небольшой корпус, который планировалось напечатать на 3d принтере. Тогда я ещё и подумать не мог, сколько же времени потребуется, чтобы все эти мелочи собрались в одно целое…
Читать дальше
Total votes 181: ↑181 and ↓0+181
Comments143

Штормгласс – кристаллы предсказатели

Reading time10 min
Views27K
Однажды мне в журнале «ЮТ для умелых рук» №1, 1989 г. попалась статья с названием «Загадочная ампула», рассказывающая о необычном старинном метеорологическом приборе – штормглассе (stormglass, camphor glass, weatcher glass, склянка Фицроя, штормовая склянка), изготовил прибор по предложенной рецептуре, стал изучать дальше, некоторыми сведениями и своим опытом, в основном практического плана, далее и поделюсь.

Есть информация, что штормгласс использовался уже в XVIII веке, но самое известное упоминание связано с Робертом Фицроем, капитаном судна Бигль, на котором путешествовал Чарльз Дарвин, ему же (Р. Фицрою) часто ошибочно приписывают изобретение прибора. Классический штормгласс представляет собой герметичный вытянутый стеклянный сосуд, заполненный почти доверху прозрачной жидкостью с бесцветными кристаллами разнообразной формы. По изменению внешнего вида, положению и высоте этих кристаллов полагается судить о погоде на следующие часы и дни. В своё время его применяли совместно с барометром, а в настоящее время штормгласс рассматривается больше, как необычное украшение для интерьеров, многие современные исследователи пришли к мнению, что основную свою функцию прибор не выполняет, но исследования и споры вокруг него всё ещё ведутся. Даже если штормгласс и не реагирует ни на что кроме температуры, всё равно это интересная и красивая вещь, которая вполне может выполнять роль украшения. Можно, конечно, купить готовый, в сети довольно много предложений (особенно на eBay и AliExpress), но в таком случае отсутствует информация о том, как и из чего прибор был изготовлен, а также удовольствие от вещи, сделанной своими руками.

Читать дальше →
Total votes 69: ↑64 and ↓5+59
Comments53

Скупой не платит дважды – настраиваем память на платформе AMD B450 и получаем бесплатную производительность

Reading time11 min
Views141K
Нельзя отрицать, что компания AMD покоряет рынок процессоров семимильными шагами. Началось всё с появления новинок на базе архитектуры Zen, которые получили имя Ryzen. Да, старт был не таким гладким, как хотелось бы, но шороху производитель навёл немало. В чём секрет успеха второго поколения? Почему энтузиасты обратили особое внимание не на «топовый» чипсет? Правда ли, что в сети есть программы-калькуляторы для настроек памяти? И даже в играх производительность заметно вырастет после тонкой настройки? А что, бывает разная память и какая-то может даже не заработать?


Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments40

Оружие для VR — [ RAILGUN TUTORIAL]

Reading time7 min
Views6.2K
image

Вступление

Задача для оружия была сформулирована одновременно с задачей о персонажах. Оружие изготовлено для sci-fi сетевого шутера под VR платформы. Стиль оружия был выбран под впечатлением дизайна 90-х годов, c небольшим уклоном в Retro design. Проект является VR экспериментом и находится в разработке.
Total votes 23: ↑20 and ↓3+17
Comments5

Энциклопедия освещения художника Naughty Dog

Reading time8 min
Views7.5K
Джои Ленц из Naughty Dog подробно рассказал нам об освещении в UE4: о значениях, источниках, световой температуре, освещении в PBR, ресурсах, по которым можно изучать освещение, а также обо многом другом. На официальном сайте Джои polyplant.co есть множество полезных советов о работе с освещением.


Про PBR


PBR (physically-based rendering, основанный на физике рендеринг) благодаря использованию замеренных данных реального мира предоставляет удобные средства для создания материалов/освещения с предсказуемыми, неизменными результатами при разных условиях освещения. Для студий разработки игр это означает, что их художники могут тратить меньше времени на итерации создания контента и его переработку для создания «корректного» внешнего вида в разных уровнях. В свою очередь, это экономит студиям деньги. На освоение PBR художникам, привыкшим к старым методологиям, потребуется какое-то время. Иногда сложнее всего им избавиться от привычки добавления в albedo-текстуры информации об освещении/затенении. Однако как только они освоятся с этим рабочим процессом, то быстро понимают, что им гораздо проще управлять, чем традиционными средствами рендеринга текстур.
Total votes 15: ↑14 and ↓1+13
Comments1

И снова о втором мониторе из планшета…

Reading time3 min
Views36K
Оказавшись обладателем среднего такого планшета с нерабочим сенсором (старшенький сынуля постарался) долго думал, куда приспособить. Гуглил, гуглил и нагуглил (раз, два, Хакер №227), а так же много других рецептов с участием spacedesk, iDispla и некоторых других. Вот только незадача — у меня Linux. Погуглив ещё, я нашел несколько рецептов и путем несложного шаманства получил приемлемый результат.

Читать дальше →
Total votes 72: ↑65 and ↓7+58
Comments35

OBD2 reader — диагностика автомобиля

Reading time6 min
Views68K
При создании приложения мы столкнулись с множеством выборов, проблем и так далее, с которыми попробуем ознакомить вас в этой статье. Как оказалось с автомобилем можно вести диалог, причем довольно таки продуктивный. Естественно для того чтобы организовать общение с автомобилем необходимо «установить контакт», «задать правильный вопрос» и правильно понять «ответ», полученный от автомобиля. Соответственно статья и будет нацелена на то, чтобы доступным языком объяснить организацию диалога, а также рассказать вам какие ошибки могут встретиться вам на пути и как с ними бороться.
Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments59

Разработка hexapod с нуля (часть 4) — математика траекторий и последовательности

Reading time8 min
Views15K

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

Этапы разработки:
Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments32

Самый маленький компьютер

Reading time3 min
Views101K

Игровой.
Но это не точно


Он, конечно, не претендует на звание «самого», но явно компактнее собратьев.

Представляю вам пошаговую инструкцию +заметки для сборки вполне себе компактного игрового ПК. Сразу говорю, что понятие «игровой» широкое, а я не богатый, так что тут не будет Core i9 и GTX 1080Ti, я собрал довольно скромную систему, впрочем, она мощнее, тише и меньше старой раз в 10.

Вместо вступления


У меня был средненький 7-летний компьютер, и в какой-то момент он перестал мне нравиться, тогда я решил собрать новый. С удивлением обнаружил, что вышли новые камни у обоих производителей и решил: «наконец-то соберу mini-ITX.» И собрал. Немного заморочившись с питанием (относительно, конечно, но по меркам сборки ПК, где «купил и поставил», заморочился) получил очень компактный ПК. Сами посудите: 210*170*95 мм.
Читать дальше →
Total votes 164: ↑160 and ↓4+156
Comments217

iRobot Scooba: опыт использования и решение часто встречающихся проблем моющего робота-пылесоса

Reading time7 min
Views23K

iRobot Scooba (модели 5800, 380 и аналоги выглядят практически идентично)

Когда я впервые услышал о роботе-пылесосе, мне сразу же захотелось такой приобрести, чтобы опробовать в “полевых условиях”. Прочитал я о них где-то в 2010, и через некоторое время мне удалось исполнить свою маленькую мечту. Тогда я случайным образом познакомился с менеджером компании-дистрибьютора продукции iRobot, и мне предложили с хорошей скидкой забрать стендовый Scooba 5800.

Недолго думая, я согласился, привез новинку домой, опробовал и … робот полностью оправдал мои ожидания. Он мыл полы просто идеально, во всяком случае, гораздо лучше, чем это делаю я, даже когда очень стараюсь. Под катом — еще немного воспоминаний, опыт работы с роботом и решение нескольких распространенных среди всех Scooba «железных» проблемы, которые приводят к неработоспособности устройства.
Total votes 32: ↑32 and ↓0+32
Comments28

Duality — легкий и быстрый движок для игростроя под Windows (Доп.)

Reading time4 min
Views7.2K
Приветствую, читатель.

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

Разработчиками является объединение энтузиастов под руководством Adam's Lair.

Как нам говорит официальный сайт: «Duality — это модульный игровой 2D-движок, поставляемый вместе с собственным редактором. Он легко расширяем, написан на C# и использует OpenGL для вывода графики.» Для написания логики в Duality применяется популярная компонентно-ориентированная архитектура. Написали компонент, прикрепили к игровому объекту и все работает, полностью избавляя программиста от рутины. Еще одним преимуществом является поддержка плагинов, которые любой желающий может создавать и подключать к своим проектам.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments18

Искусственный интеллект Horizon Zero Dawn: индивидуальное поведение

Reading time9 min
Views13K
В первой части исследования ИИ Horizon Zero Dawn я рассказал, как игра создаёт стада управляемых искусственным интеллектом животных-машин. Для этого требуется сложная система иерархии агентов, в которой каждая машина может принимать решения о том, как вести себя, пользуясь планировщиком сети иерархических задач, а групповые агенты совместно назначают машинам роли и обязанности как частям стада. Всё это является частью системы под названием «The Collective», которая поддерживает экосистему всех машин в мире, когда пользователь находится в игре.


В этой заключительной статье мы подробнее рассмотрим системы, которые отдельные машины могут использовать как часть своего базового поведения. В них включены системы сенсоров, навигация для наземных и летающих машин, а также тесная связь ИИ-поведений с системами анимаций, обеспечивающая каждой машине опасное, но в то же время реалистичное поведение.
Total votes 36: ↑36 and ↓0+36
Comments1

Искусственный интеллект Horizon Zero Dawn

Reading time10 min
Views27K
Horizon Zero Dawn находится в списке одних из лучших эксклюзивов для Playstation 4. В роли охотницы Элой игроки путешествуют по постапокалиптическим ландшафтам будущего, чтобы раскрыть тайны её прошлого и узнать о причинах разрушения мира. Упадок человечества привёл к расцвету «машин» — роботов разных форм и размеров, свободно живущих повсюду. Эти животные-роботы умны, скоординированы и смертельно опасны: чтобы выжить, нужно быстро думать, чтобы уничтожить их — тщательно готовиться и планировать.


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

Предупреждение: в статье присутствуют спойлеры сюжета Horizon Zero Dawn.
Total votes 38: ↑37 and ↓1+36
Comments25

Как создать приложение дополненной реальности с помощью ARCore

Reading time9 min
Views70K

Как создать приложение дополненной реальности с помощью ARCore


В этом гайде вы узнаете, как добавить 3D-модели в реальный мир. Библиотека ARCore от Google позволяет добавлять на 2D-изображение (картинка или видео) полноценные 3D-модели.


Вам необходимо предоставить системе некое опорное изображение, которое ARCore будет искать в реальном мире, чтобы на его основе добавить на изображение 3D-модель. Дополненная реальность уже широко используются, например, в книгах, газетах, журналах и т.д.

Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments0

Создание вашего первого ARCore-приложения

Reading time8 min
Views22K

Создание вашего первого ARCore-приложения


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


Если вы ещё не читали её, я настоятельно рекомендую это сделать, прежде чем перейти к этой статье и начать разработку ARCore-приложений.

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments0

Генератор подземелий на основе узлов графа

Reading time11 min
Views28K
image

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

Введение


Алгоритм был написан как часть работы на получение степени бакалавра и основан на статье Ma et al (2014). Целью работы было ускорение алгоритма и дополнение его новыми функциями. Я вполне доволен результатом, потому что мы сделали алгоритм достаточно быстрым, чтобы использовать его во время выполнения игры. После завершения бакалаврской работы мы решили превратить её в статью и отправить на конференцию Game-ON 2018.

Алгоритм


Для создания уровня игры алгоритм получает в качестве входных данных набор полигональных строительных блоков и граф связности уровня (топологию уровня). Узлы графа обозначают комнаты, а рёбра определяют связи между ними. Цель алгоритма — назначить каждому узлу графа форму и расположение комнаты таким образом, чтобы никакие две формы комнат не пересекались, и каждая пара соседних комнат могла соединяться дверьми.
Total votes 51: ↑51 and ↓0+51
Comments11

Исходный код Quake III

Reading time13 min
Views43K
image

[Примечание переводчика: перевод первой части этой статьи уже есть на Хабре, но её автор почему-то не завершил работу.]

Рендерер Quake III


Рендерер Quake III стал эволюционным развитием рендерера Quake II с аппаратным ускорением: классическая часть построена на архитектуре «двоичного разбиения»/«потенциально видимых наборов», но добавлены два новых заметных ключевых аспекта:

  • Система шейдеров, построенная поверх фиксированного конвейера OpenGL 1.X. Это было большим достижением для 1999 года. Она обеспечивала большое пространство для инноваций в эру до повсеместно распространённых сегодня вершинных, геометрических и фрагментных шейдеров.
  • Поддержка многоядерной архитектуры: клиент-серверная модель OpenGL блокирует некоторые методы и система потоков частично решает эту проблему.
Читать дальше →
Total votes 99: ↑97 and ↓2+95
Comments13

Снежинки в стилистике StarWars своими руками (upd. 2018)

Reading time1 min
Views19K

A long time ago in a galaxy far, far away... И вот опять наступил конец года… декабрь… Думаете Антонио Эррера решил нас порадовать новыми паттернами снежинок, выполненных в стилистике StarWars? И вы абсолютно правы. В прошлом году Антонио сделал всего два паттерна с Поргами (кстати в подборку этого года они так же вошли).
Так что же Антонио придумал на этот раз?
Total votes 23: ↑20 and ↓3+17
Comments11

Information

Rating
Does not participate
Registered
Activity