Pull to refresh
7
0
Antonio de Mysterious @Mysterious

User

Send message

Проект Neon от Samsung: цифровые банкиры, телеведущие, компаньоны

Reading time 5 min
Views 13K

Суперреалистичные цифровые люди из проекта Neon – настоящие. Ну, вроде того. И да, не спрашивайте у них прогноз погоды…

Загадочная компания, выросшая из Samsung Technology и Advanced Research Labs (STAR Labs), показала себя на выставке CES 2020 в Лас-Вегасе с 7 по 10 января. Они презентовали технологию Neon – «виртуальное существо, которое выглядит и ведет себя как человек, проявляет эмоции и разумность». По сути, Neon создает видеочат-ботов (далее – неоны), которые выглядят как настоящие люди; это не всезнающие ассистенты, андроиды, заменители или копии людей, Они не расскажут вам о погоде или когда умер Авраам Линкольн. «Неоны – это не ИИ-ассистенты, они больше похожи на нас. Это независимые, хоть и виртуальные, существа, которые учатся на собственном опыте. Они не знают всего на свете и они – не интерфейс для доступа в Интернет, чтобы уточнять, какая погода за окном или включать вашу любимую музыку», – говорят в компании.
Total votes 33: ↑31 and ↓2 +29
Comments 16

Из ESP8266 сделали аналоговый телевизионный передатчик

Reading time 2 min
Views 56K


Признаться, когда я читал статью об этом проекте на Hackaday, не раз посмотрел на календарь — уж не первое апреля ли?

Автор проекта, Чарльз Лор, выступающий под ником CNLohr на Github, взял обычный трёхдолларовый модуль ESP8266, который многие из нас используют для «Умного дома» и прочих IoT поделок, и разогнал его. Он заметил, что при этом I2C на модуле остаётся работоспособным и прекрасно работает на частоте 80 мегагерц. Автор вспомнил, что эта частота близка к частотам аналогового телевидения и, вспомнив Найквиста (Котельникова) смог заставить ESP8266 выдать сигнал на частоте около 60 мегагерц — частоте третьего канала аналогового ТВ.

Ему осталось только припаять к «ноге» модуля длинный провод, который послужил передающей антенной и вспомнить устройство видеостандарта NTSC. Впрочем, видео — лучше тысячи слов:

Читать дальше →
Total votes 52: ↑52 and ↓0 +52
Comments 35

Невидимая фотография

Reading time 4 min
Views 72K


О чём речь?


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

Поскольку лучше один раз увидеть, чем сто раз услышать, то вот вам небольшая демка. С 15-ю предметами. Здесь они в видимом спектре, а дальше мы на них посмотрим в других диапазонах:

[Видимый свет, 400-750 нм. F/6.3, 1/2500 сек, ISO 200, стеклянная 35-мм линза Nikkor. Снято на модифицированный Nikon D90 с удалёнными внутренними ИК/УФ фильтрами через светофильтр видимого света Kolari Vision Hot Mirror UV/IR Cut filter.]
Читать дальше →
Total votes 309: ↑307 and ↓2 +305
Comments 96

Циклическая генерация подземелий на примере Unexplored

Reading time 2 min
Views 8.5K
image

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

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

В dungeon crawler'е Unexplored использован фундаментально иной подход (см. рисунок 1). Вместо линейных путей в качестве самой базовой структуры он изначально использует циклы. Разница оказывается поразительной: при старом подходе хорошие и интересные циклы могли возникать случайно, а в Unexplored они являются запланированной особенностью результата работы генератора.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 0

Генерация звука на микроконтроллерах AVR методом волновых таблиц с поддержкой полифонии

Reading time 12 min
Views 31K
Микроконтроллеры AVR довольно дешевы и широко распространены. Наверно, с них начинает почти любой embedded разработчик. А среди любителей правит балом Arduino, сердцем которого обычно является ATmega328p. Наверняка многие задумывались: как можно заставить их звучать?

Если посмотреть на существующие проекты, то они бывают нескольких типов:

  1. Генераторы квадратных импульсов. Генерация с помощью ШИМ или дергать пины в прерываниях. В любом случае, получается очень характерный пищащий звук.
  2. Использование внешнего оборудования типа MP3 декодера.
  3. Использование ШИМ для вывода 8 битного (иногда 16 битного) звука в формате PCM или ADPCM. Поскольку памяти в микроконтроллерах для этого явно не достаточно, то обычно используют SD карту.
  4. Использование ШИМ для генерации звука на основе волновых таблиц, подобных MIDI.

Последний тип для меня был особенно интересен, т.к. почти не требует дополнительного оборудования. Представляю сообществу свой вариант. Для начала небольшое демо:



Заинтересовавшихся прошу под кат.
Читать дальше →
Total votes 60: ↑59 and ↓1 +58
Comments 71

Онлайн игра с реальными RC роботами в Чернобыле. Часть 2

Reading time 9 min
Views 62K
Это продолжение статьи «Как мы запустили роботов в маленький Чернобыль» про игровую концепцию Remote Reality.

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

Выход на Kickstarter


Как вы помните, в предыдущей статье, построив 10 готовых роботов, мы решили выйти на краудфандинговую платформу «kickstarter». Изначально мы понимали, что «кикстартер» это не наш «формат». Нам нечего было предложить покупателям, кроме игрового времени, но это был замечательный повод заявить о себе и, как оказалось, мы не ошиблись. Рассказывать о «кикстартере» можно долго. Мы были «наивными детьми», которые верили, что увидев наш проект, люди сразу оценят его по достоинству и начнут платить нам деньги. Мы наняли консультанта, который много времени уделил оформлению страницы и подаче материала, не рассказав нам, что с «кикстартером» не все так просто.

image

За неделю до начала кампании мы запустили рекламу на фейсбуке, сделали рассылку анонса «по друзьям». В общем, сделали все, как советовали статьи в Интернете. Также, мы «вычитали», что первый и второй день на «кикстартере» приносят максимальный результат. Первый день нам не принес… ничего, второй… тоже ничего и к концу недели мы так и не собрали ни одного доллара. Аналитика показывала, что причина банальна — к нам на страницу просто никто не заходит. Позже мы узнали, что для успешной кампании нужны солидные расходы на маркетинг, рассылки по базам бэкеров итд.
Читать дальше →
Total votes 260: ↑254 and ↓6 +248
Comments 283

Создание динамических PDF-файлов с использованием React и Node.js

Reading time 8 min
Views 33K
Материал, перевод которого мы сегодня публикуем, посвящён созданию динамических PDF-файлов с использованием HTML-кода в качестве шаблона. А именно, речь пойдёт о том, как сформировать простой счёт на оплату неких товаров или услуг, динамические данные, включённые в который, берутся из состояния React-приложения. База React-приложения создана с помощью create-react-app, серверная часть проекта основана на Node.js, при её разработке использован фреймворк Express.



Автор этого материала отмечает, что он подготовил видео, в котором демонстрируется разработка проекта. Если вы решите и посмотреть видео, и прочитать статью, то рекомендуется поступить так. Сначала бегло просмотрите статью, потом включите видео и воссоздайте у себя рассматриваемую там систему. А после этого просто прочитайте статью.
Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Comments 4

Курс Молодого Геймдизайнера: как считать баланс персонажей и снаряжения без математики

Reading time 6 min
Views 54K


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

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

Статья будет полезна тем, кому надо заняться балансом, но не знает с чего начать, а также начинающим геймдизайнерам, которые будут выбирать специализацию. Ну и всем, кто просто интересуется, чем занимаются ГД, когда не придумывают новые виды лутбоксов.
Читать дальше →
Total votes 69: ↑67 and ↓2 +65
Comments 38

Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32)

Reading time 11 min
Views 16K


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

Так как большинство программ для микроконтроллеров пишется на С/C++, то для этих целей обычно используют абстрактные классы, предоставляющие интерфейсы к низкоуровневым сущностям (в случае, если проект пишется только с использованием C, то зачастую используются структуры указателей на функции). Данный подход предоставляет требуемый уровень абстракции над железом, однако чреват надобностью в постоянной повторной компиляции проекта с последующим программированием энергонезависимой памяти микроконтроллера бинарным файлом прошивки большого объема.

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

В качестве скриптового языка я выбрал Lua.
Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Comments 44

Разработка под Docker. Локальное окружение. Часть 2 — Nginx+PHP+MySql+phpMyAdmin

Reading time 6 min
Views 50K
Для лучшего понимания нижеследующего материала сначала рекомендуется ознакомится с Предыдушим постом

Рассмотрим пример развертки локального окружения состоящего из связки Nginx+PHP+MySql+phpMyAdmin. Данная связка очень популярна и может удовлетворить ряд стандартных потребностей рядового разработчика.

Как и в прошлом посте акцент будет смещен в сторону утилиты docker-compose, чем докера в чистом виде.

Итак, поехали!
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 16

Генерация подземелий в Diablo 1

Reading time 15 min
Views 53K
image

Diablo 1 — это классический roguelike 1996 года в жанре hack and slash. Это была одна из первых успешных попыток познакомить широкие массы с roguelike, которые до этого имели нишевую графику в виде ASCII-арта. Игра породила несколько сиквелов и множество имитаций. Она известна своей тёмной, мрачной атмосферой, сгущающейся по мере спуска игрока в подземелья, располагающиеся под городом Тристрам. Это была одна из первых для меня игр с процедурной генерацией карт, и возможность генерации столь правдоподобных уровней просто потрясла меня.

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

Благодарю Дэвида Бревика и команду Blizard North за создание такой потрясающей игры, а также galaxyhaxz и команду Devilution за их удивительную работу по восстановлению читаемого исходного кода проекта.
Читать дальше →
Total votes 75: ↑75 and ↓0 +75
Comments 29

Поделки из нерабочих HDD — мини-помпа

Reading time 6 min
Views 98K


Понадобилась мне как-то для будущих самоделок водяная помпа. Да не простая — с ограничениями по габаритам — толщина до 25мм, ширина до 50мм (длина — уже можно варьировать). Из желаемых характеристик — напор 1м и расход 100л/ч. Не найдя в продажах желаемого (в основном — по габаритам), по своей упоротойупорной натуре приступил к реализации своего решения данного вопроса!

Внимание — много фото!
Total votes 89: ↑88 and ↓1 +87
Comments 103

Библиотека Symbols GOST для DipTrace

Reading time 2 min
Views 15K
Ниже на скрине представлена часть символов библиотеки. В общей сложности библиотека содержит около трехсот УГО выполненных по стандартам ГОСТ (ЕСКД).



Библиотека разрабатывается и поддерживается мной. Все предложения, пожелания по добавлению символов (УГО) или компонентов, а также разработке посадочных мест, прошу оставлять тут в комментариях.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 65

OpenCV на STM32F7-Discovery

Reading time 7 min
Views 13K

Я один из разработчиков операционной системы Embox, и в этой статье я расскажу про то, как у меня получилось запустить OpenCV на плате STM32746G.


Если вбить в поисковик что-то вроде "OpenCV on STM32 board", можно найти довольно много тех, кто интересуется использованием этой библиотеки на платах STM32 или других микроконтроллерах.
Есть несколько видео, которые, судя по названию, должны демонстрировать то, что нужно, но обычно (во всех видео, которые я видел) на плате STM32 производилось только получение картинки с камеры и вывод результата на экран, а сама обработка изображения делалась либо на обычном компьютере, либо на платах помощнее (например, Raspberry Pi).

Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 9

Как устроена изнутри ролевая игра в реальном мире для гостей Армении с поездками по половине страны

Reading time 14 min
Views 20K


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

Игромеханически это выглядит так:

  1. Есть 10 точек: достопримечательности и места ночёвок.
  2. На каждой точке добавляется театрально-игровой блок: условно, место подготовлено для мини-представления, актёры что-то вам показывают, вы делаете пару выборов действиями или бездействием.
  3. Потом вам достаётся головоломка квестового типа, для решения которой надо побегать, например, пособирать куски плитки по лабиринту пещер или расшифровать координаты и доехать (лучше на лошади) до точки.
  4. На выходе вас ждёт второй сюжетный блок, чаще всего — встреча с актёром, который даёт новую информацию, видеопослание или что-то ещё.
  5. Плюс «случайные встречи» по дороге, как в классике RPG.

Чтобы превратить целую поездку в спектакль — чуваки сделали очень крутую работу. Особенно офигенные моменты старта следующего переезда, когда звучит что-то вроде: «мы знаем, где они — это пещерный город!» — и вы садитесь в машины, чтобы поехать атаковать чужую базу через 200 километров.

Сейчас расскажу, как это было у нас, и как это бывает у адекватных людей. Плюс добавлю игромеханический анализ. Забегая вперёд: это очень хорошая обёртка вокруг классического туризма, и это повторяемо в любом регионе. В теории.
Читать дальше →
Total votes 94: ↑89 and ↓5 +84
Comments 29

5 отличных способов анимировать React-приложения в 2019 году

Reading time 9 min
Views 23K


Анимация в приложениях React — популярная и обсуждаемая тема. Дело в том, что способов ее создания очень много. Некоторые разработчики используют CSS, добавляя теги в HTML-классы. Отличный способ, его стоит применять. Но, если вы хотите работать со сложными видами анимаций, стоит уделить время изучению GreenSock, это популярная и мощная платформа. Также для создания анимаций существует масса библиотек и компонентов. Давайте поговорим о них.
Читать дальше →
Total votes 23: ↑19 and ↓4 +15
Comments 14

Система генерации ландшафта лабиринта с улучшенным визуальным реализмом [перевод статьи Jinmo Kim]

Reading time 9 min
Views 5.1K

Привет, Хабр!


В этой публикации я расскажу о статье автора Jinmo Kim: "Maze Terrain Authoring System in Immersive Virtual Reality for New Visual Realism". Она была опубликована 4.04.2019. Полный текст статьи можно посмотреть здесь.


Краткое описание системы


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


Предложенная система генерации ландшафта лабиринта состоит из трех основных функций:


  • функция автоматической генерации сетки лабиринта различных размеров и узоров, реализованная с помощью классического алгоритма генерации лабиринта;
  • функция генерации кругового лабиринта;
  • функция преобразования лабиринта из ручного эскиза в 3D объект с помощью алгоритма обработки изображений.

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

Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 3

Большой механический дисплей с кулачковым механизмом в качестве дешифратора

Reading time 2 min
Views 19K


Перемещением сегментов в этом дисплее управляют два кулачка, поворот которых синхронизирован зубчатыми колёсами. Все сегменты, кроме центрального, возвращаются в исходное положение резиновым кольцом, центральный перемещается в обоих направлениях кулачками.
Читать дальше →
Total votes 69: ↑68 and ↓1 +67
Comments 39

Динамический импорт в JavaScript

Reading time 2 min
Views 32K

В начале прошлого года было предложено ввести в JavaScript возможность динамического импорта. Если кто не знает, то сейчас в JavaScript нативно поддерживается только статическая импортизация и для этого есть причины, но это тема отдельного разговора. Предложение было реализовано и включено в список ближайшего обновления ECMAScript. Google Chrome с 63 версии уже поддерживает эту возможность. Я немного расскажу что это такое и где это может пригодиться.

Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 14

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

Reading time 4 min
Views 24K
Вы пока не разбираетесь, почему ReLU лучше сигмоиды, чем отличается Rprop от RMSprop, зачем нормализировать сигналы и что такое skip connection? Зачем нейронной сети нужен граф, и какую он совершил ошибку, что она распространяется обратно? У вас есть проект с компьютерным зрением или, может быть, делаете межгалактического робота для борьбы с грязными тарелками, и хотите, чтобы он мог сам решать, отмывать или и так сойдет?

Мы запускаем открытый курс «Нейронные сети и компьютерное зрение», который адресован тем, кто в этой области делает первые шаги. Курс разработан экспертами Samsung Research Russia: Исследовательского центра Samsung и Центра искусственного интеллекта Samsung в Москве. Сильные стороны курса:

  • авторы курса знают, о чем говорят: это инженеры московского Центра искусственного интеллекта Samsung, Михаил Романов и Игорь Слинько;
  • есть как теория с задачками, так и практика на PyTorch
  • приступаем к практике сразу после освоения минимальных теоретических знаний.
  • лучшие студенты будут приглашены на собеседование в Samsung Research Russia!


Читать дальше →
Total votes 40: ↑39 and ↓1 +38
Comments 17

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity