Pull to refresh
0
0

User

Send message

Вороной, Манхэттен, рандом

Level of difficultyEasy
Reading time34 min
Views16K

Это история про то, как не довести дело до конца, но получить уйму опыта, и вообще ни разу не обломаться.

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

Осторожно, очень много картинок!

Читать далее
Total votes 160: ↑160 and ↓0+160
Comments53

Портативная Bluetooth колонка «Ламповичок» на радиолампах 30-х годов

Level of difficultyEasy
Reading time11 min
Views25K

Прочитав заголовок статьи, возможно, у вас возникли мысли: “Но зачем?!”, “КПД ламповых усилителей очень низкий!” или “Какой смысл подключать Bluetooth модуль к ламповому усилителю?!”и т.д. Нет никакого смысла. Устройство собирается ради устройства, развлечения ради. Я очень люблю ламповые радиоприёмники, мне нравится изучать их устройство, любоваться внешним видом и даже просто созерцать в сумерках магические огоньки за задней стенкой, излучающие тепло, уют, романтику и добрый душевный голос из громкоговорителя… Но к сожалению, в наше время возможно принимать в основном зарубежные станции и только ночью. Поэтому иногда я развлекался тем, что слушал музыку подключаясь к усилителю радиоприёмника. Так и возникла идея сделать портативную Bluetooth колонку в ретро стиле с ламповым усилителем без всяких претензий на High End.

Осторожно! Под катом много фото.

Читать далее
Total votes 133: ↑132 and ↓1+131
Comments58

2D магия в деталях. Часть третья. Глобальное освещение

Reading time13 min
Views26K

Глобальное освещение, динамический свет и декали (да, есть такое слово :) ) в действии.


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

Читать дальше →
Total votes 59: ↑58 and ↓1+57
Comments47

Устройство игрового движка для NES на примере игр «Capcom»

Reading time11 min
Views33K
В моей третьей статье про NES-игры я покажу техники, используемые для создания игровых движков, а именно реализацию скроллинга экрана, переключение банков памяти, организацию списка объектов, устройство системы анимаций персонажей, функции обновления игровых объектов (и обработку столкновений), устройство главной карты. Чтобы не быть голословным в описаниях, я буду приводить дизассемблированный код из конкретных игр (любимый всем «Darkwing Duck», с отсылками к «Chip & Dale» и «Duck Tales»), без него в этой статье не обойтись. В качестве примера рассматривается движок от «Capcom», на модификациях которого работает как минимум пара десятков игр.

Некоторые из рассматриваемых тем не связаны между собой, поэтому статья будет разбита на несколько разделов. Также, из-за обширности, материала хватило бы на небольшую книгу, поэтому иногда я буду давать ссылки на статьи для желающих разобраться в деталях, а описывать только общие вещи, касающие архитектуры движков.
Читать дальше →
Total votes 74: ↑74 and ↓0+74
Comments6

Использование инструментов исследования NES-игр на примере разбора формата компрессии игры Felix The Cat

Reading time9 min
Views7.2K
В этой статье я расскажу, как использовать описанные в прошлой статье инструменты для исследования игры Felix The Cat для NES. Моя первоначальная цель была, как обычно, разобрать формат уровней игры и добавить её в свой универсальный редактор уровней CadEditor, однако в ходе изучения игры обнаружилось, что описание уровней сжато (это редкость для NES-игр!), поэтому я также разобрал формат компрессии данных, и написал компрессор, позволяющий сжимать отредактированные уровни так же, как это делали разработчики игры.


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

Устройство спецэффектов для игр под NES. Часть 1

Reading time19 min
Views14K
Существует несколько серий статей про программирование под NES, одна из них уже даже переведена на русский язык на Хабре. Однако ни одна из них не заходит дальше обзора базовых возможностей консоли – рассматривается общая архитектура консоли, основы ассемблера, вкратце рассказывается, как выводить спрайты на экран, упоминается что-то о музыке и мапперах, и цикл заканчивается.

Я попробую продолжить рассказ о выводе графике игр для NES с того места, на котором заканчиваются другие туториалы. Разбираться самому, как программировать эффекты анимации, достаточно сложно, ввиду небольшого количества информации об этом, как на русском, так и на английском языке. Но не стоит расстраиваться, ведь в качестве документации можно использовать код из классических игр, которые сейчас легко найти в сети в виде ROM-файлов.

Поэтому перед тем, как запрограммировать что-нибудь, предстоит разобраться с тем, как устроены те или иные эффекты для NES, и статья будет посвящена тому, как это сделать. Существует множество статей из разряда «Игры, выжавшие из NES максимум», попробуем разобраться в том, как сделаны все основные эффекты в этих играх, а также создадим инструменты, которыми можно найти другие игры, не менее технологичные по эффектам.
Total votes 45: ↑45 and ↓0+45
Comments14

Строим бюджетный умный домашний кинозал с управлением в HomeKit

Reading time17 min
Views14K


Предисловие.

Давно хотел cделать кинотеатр в доме, так как являюсь большим поклонником кинематографа во всех его проявлениях. Наконец появилось время реализовать задуманное и я приступил к реализации.

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

Смотреть далее
Total votes 17: ↑17 and ↓0+17
Comments19

Освещение растений белыми светодиодами — расчет светильника и grow box

Reading time3 min
Views24K

Тоже интересно, как сэкономить на фитолампе и бродят мысли что-то сделать своими руками? Здесь можно найти теоретический расчет эффективности использования светодиодных ламп на цоколе Е27, а также узнать, во сколько обойдутся материалы, если дело дойдет до эксперимента.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments37

Малышка на миллион. Сковиллей

Reading time13 min
Views35K

Или, на что годятся монстрики Meklon'а?




Пишу эту заметку по мотивам инженерного мануала Гидропоника. Выращиваем сверхострый чили и заставляем всех его есть. Так получилось, что я один из тех, кого Meklon счел своим долгом «накормить и посмотреть что с ними станет». Я же, в свою очередь, считаю своим долгом рассказать об этом бесчеловечном эксперименте, на мой взгляд, в статье уделяется слишком мало внимания самому перцу. А он заслуживает большего!

Ко всему прочему, я совершенно в этом уверен, после его статьи должно появиться множество гидропонщиков-неофитов, ибо тема не менее интересная, чем профитроли, а это значит — что через несколько месяцев, в разных уголках земного шара, где читают Хабр, вырастет энное количество экстремально острого перца, с которым надо будет что-то делать. Проблема в том, что одна средняя семья не в состоянии самостоятельно употребить весь урожай Scorpion Trinidad. А это значит, что перцами будут интенсивно делиться, но не все будут понимать — для чего может пригодиться такой экзотический фрукт и что с ним делать.

Об этом — и будет мой рассказ, как приготовить из адских перчиков что-то съедобное и не сильно пострадать в процессе.
Total votes 143: ↑138 and ↓5+133
Comments220

Как создавать необычно красивые линии? Изучаем поле течений

Reading time7 min
Views9.4K

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

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

Осторожно, много тяжелых красивых картинок
Total votes 51: ↑50 and ↓1+49
Comments9

Пересадочный узел для птиц: раскаты Волги посреди пустыни

Reading time12 min
Views18K
Привет! На нашей офигенной планете есть такое место — низовья Волги. Если бы не Волга, там была бы натуральная пустыня, как в Монголии. Но там есть река, и течёт она не просто так, а по дну бывшего древнего моря.

В России далеко не все знают про это место, а вот для орнитологов всего мира это натуральная Мекка. Почему? Потому что тут огромный трансферный узел для птиц, и это роль места в планетарном масштабе. Птица, она как и самолёт, требует дозаправки. Если вы думаете, что они просто летят в тёплые края, то нет — им нужно где-то останавливаться, отдыхать, есть несколько дней (или даже недель) и лететь дальше. И обычное дерево на даче не подходит: нужно, чтобы было много места и много корма, и при этом хищники не особенно злобствовали. Чтобы вы понимали масштабы узла — просто знайте, что тут за год «пересаживается» около 20 миллионов особей.

Нормальные реки разбиваются на 2-3 протока, а вот Волга разбивается сначала на сотни, а потом вообще превращается в огромную водную поверхность глубиной около метра. Представьте: взяли кусок пустыни размером в полтора Кипра (13 900 км2) и залили его водой. Получилось вот так:



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



Вокруг птиц построили астраханский биосферный заповедник. На его примере я хочу показать, как офигенно работает наука с местными жителями. А то я прошлый раз прямо восхищался, как в Намибии дружат со слонами и леопардами, а у нас под носом происходят не менее интересные вещи.
Total votes 115: ↑114 and ↓1+113
Comments53

Солнце в коробке

Reading time17 min
Views25K
«Это мой лучший друг: всегда в хорошем настроении и не задаёт лишних вопросов» — Леон о растении.


Не секрет, что зеленые друзья расползлись по подоконникам многих из нас, вот и мне захотелось вырастить у себя что-нибудь. Да не просто «что-нибудь», а что-нибудь плодоносящее. К сожалению, в квартирных условиях обеспечить необходимые для этого условия весьма непросто. Однако попытаться стоит. Так, и взбрела мне в голову мысль разработки устройства для решения этой задачи — умного гроубокса. Конечно, идея не нова, но найти что-нибудь интересное, да еще и настольного формата среди готовой продукции мне не удалось и захотелось соорудить кое-что своё. Дело дошло до версии 2.0 и вот, я готов поделиться полученными результатами.
Total votes 66: ↑66 and ↓0+66
Comments110

Процедурная гидрология: динамическая симуляция рек и озёр

Reading time15 min
Views7.9K
Примечание: полный исходный код проекта выложен на Github [здесь]. В репозитории также содержится подробная информация о том, как читать и использовать код.

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

Я исследовал уже существующие методики процедурной генерации рек и озёр, но найденные результаты меня не устроили.

Основной задачей многих методов является создание систем рек (очень красивых) при помощи различных алгоритмов (иногда на основании заранее созданной карты высот или обратной задачи), но им недостаёт сильной реалистичной связи между рельефом и гидрологией.

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

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

В своём методе я стремлюсь одновременно и к простоте, и к реализму ценой небольшого повышения сложности базовой системы эрозии. Рекомендую прочитать мою предыдущю статью об этой системе [здесь, перевод на Хабре], потому что новая модель строится на её основе.
Total votes 22: ↑22 and ↓0+22
Comments4

20 платформ для заработка на тестировании

Reading time7 min
Views273K
Чтобы протестировать веб-сайты из дома, вы должны быть знакомы с интернетом и хорошо говорить по-английски. Вам также понадобится базовое оборудование, такое как компьютер с микрофоном и камерой и стабильное подключение к Интернету. Большинство тестов занимает от 5 до 25 минут, и в среднем компании платят 10 долларов за тест.


Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments17

Как я данные с BLE-градусника от Xiaomi забирал

Reading time6 min
Views41K
Предыстория: в качестве одного из хобби у меня случился «Умный дом». Хочется красивых устройств, но при этом ещё хочется свободы и приватности. Поэтому занимаюсь скрещиванием ужика Xiaomi с ёжиком Home Assistant.

Для поддержания комфортных условий нам нужно знать, а что вообще у нас дома происходит. Короче говоря, нужны сенсоры. Их у Xiaomi есть много разных, но больше всего мне понравился квадратный градусник на электронных чернилах. Вот только он совсем не умный, в том смысле, что не предоставляет вообще никаких интерфейсов, кроме графического – ни тебе WiFi, ни BLE, ни ZigBee. Зато батарейки CR2032 хватает на несколько лет. Есть ещё версия с блютусом, но она чуть менее изящная – эдакий толстый блинчик.

И вот в начале весны был анонсирован новый датчик температуры/влажности, на электронных чернилах, с BLE, да ещё и с часами. Часы мне не особенно-то и нужны, а вот всё остальное немедленно подавило все рациональные доводы и градусник был заказан на одном из популярных интернет-магазинов, по предзаказу. Ехало оно ехало, и наконец приехало.



В приложение MiHome датчик добавился без проблем (у меня англоязычный интерфейс везде, с русской версией MiHome, говорят, были трудности перевода). Показывает текущие значения и историю изменения показаний.

А вот с интеграцией в Home Assistant приключились сложности. Имеющийся компонент для датчика температуры ни в какую не хотел забирать данные с устройства и жаловался на неверный формат данных. Ну, делать нечего, достаём лопату и начинаем копать.

Первой мыслью было ознакомиться с устройством протокола BLE, но оценив размер документации, было принято решение переходить к методу народного тыка.
Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments42

Моноколесо: два сезона опыта

Reading time10 min
Views43K
2300 пройденных километров, один серьезный ремонт, зимовка, четыре достойных упоминания падения — таковы численные результаты двух моих сезонов на моноколесе. А еще это опыт, которым я бы хотел поделиться. Может быть, несколько не вовремя рассказывать о нем в первый день зимы. Действительно, я хотел подготовить материал к годовщине знакомства, но, увы, постоянно находились более важные дела. Впрочем, есть своя логика в том, чтобы готовить сани летом, а моноколесо — зимой.


Total votes 35: ↑34 and ↓1+33
Comments85

Сверхбыстрое распознавание речи без серверов на реальном примере

Reading time10 min
Views331K

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

Прикручиваем Pocketsphinx к своему Андроиду
Total votes 185: ↑182 and ↓3+179
Comments87

Полезные книги о разработке мобильных игр на Android и iOS

Reading time8 min
Views41K

image


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


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


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

Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments3

Самодельный Bluetooth усилитель АБ класса с автоматизацией управления питанием

Reading time7 min
Views26K
Всё началось с лени.
А точнее, с Веги 50у-122с, доставшейся в наследство вместе с акустикой Электроника 25ас-033. И вначале всё было хорошо. А потом, споткнувшись за провод, был убит ноут. После этого, в Веге появился BT модуль, а сама Вега научилась включаться по подключению устройств к этому модулю.

Время шло и качества стало мало. Тогда был проведён Веге первый апгрейд. Потом второй. Потом акустике. Потом… Потом пришло понимание что надо делать что-то качественно новое. Ну а когда Вега стала хрипеть и замаячила перспектива полной перепайки всех электролитов…

И началось строительство…
Кому лень читать технические подробности и хочется просто посмотреть как это работает — можно прокрутить в конец, там сокращённая видео версия для моего канала.

image

Далее много текста и фото
Total votes 26: ↑25 and ↓1+24
Comments64

Делаем трехосевой фрезерный станок с числовым программным управлением

Reading time10 min
Views35K
Идея сделать станок дома руками не нова. Каждый кто задумывается над реализацией такого оборудования в домашних условиях, должен руководствоваться своим мотивом создания. Мне это необходимо, потому, что от природы у меня не на столько ровные руки, чтобы сделать хорошие, даже более или менее габаритные, детали, а часто возникает задача изготовить точную сложную деталь, с чем станок хорошо справится. Всегда хватает новых идеи и задумок для реализации, а времени не очень много.


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

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Registered
Activity