Обновить
0
0

Пользователь

Отправить сообщение

Программирование автомобилей в играх

Уровень сложностиСредний
Время на прочтение26 мин
Охват и читатели11K

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

С самого детства я играл во множество гоночных и транспортных игр. Я всегда старался находить новые гонки. Но со временем я понял, что меня не просто впечатляют новые машины или трассы; меня привлекала уникальность каждого игрового процесса и поведения машин, несмотря на то, что по сути своей все они были легковыми автомобилями.

Здесь важно сказать следующее: игры — это не физические движки, а впечатления. И гоночные игры больше других намеренно манипулируют реальностью, чтобы дать нам эти впечатления. Например, мы ожидаем от шутеров определённого поведения; пуль, летающих по прямой, отдачу при выстрелах, перезарядку. Если эти ожидания не оправдываются, игра начинает казаться «не такой». Но в случае транспорта степень допущений может быть огромной.

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

На противоположном краю спектра находятся такие реалистичные симуляторы, как iRacing и Assetto Corsa. В них игровой процесс тщательно отточен, чтобы передавать все нюансы и трудности реального автоспорта. Люди тратят тысячи долларов на оборудование, позволяющее воссоздать ощущение нахождения за рулём. Тем не менее, в основе всех этих игр лежит программирование автомобилей. Они лишь по-разному расставляют приоритеты аспектов игрового опыта.

Читать далее

Проект Смотритель — удаленно управляемый робот на ESP32-CAM

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели15K

Разрабатываем робота с нуля - от ИИ-дизайна до полного проектирования и реализации всех компонентов устройства.

Зачем? Ради фана, конечно - этот проект практически квинтессенция моих увлечений - электроника, 3d-печать, программирование микроконтроллеров, ИИ и в целом все, что можно включить в сферу DIY.

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

Поехали

Звуки музыки Sega Mega Drive

Уровень сложностиПростой
Время на прочтение25 мин
Охват и читатели8K

Сегодня в центре нашего внимания Sega Mega Drive, она же Genesis — называйте как хотите, всё равно все понимают, что речь идёт о некогда популярнейшей в наших краях 16-битной консоли. Comix Zone, Sonic the Hedgehog, Ultimate Mortal Kombat 3 — вот это вот всё. Но речь пойдёт не о платформе в целом, а об одной специфической её части: звуковой системе и звуках, которые она издавала. Изучим железную и программную части, вспомним холивары, послушаем кое-какую музыку.

Как обычно, я занимаюсь не простым пересказом сомнительных источников, а сложным: пропускаю их через личный опыт. Когда-то давно я разработал несколько homebrew-игр для этой платформы, а также пару музыкальных редакторов — ныне забытых, но в определённый исторический период сыгравших свою роль. Этот бэкграунд даёт мне возможность сорвать покровы и рассказать всю правду о некоторых не самых очевидных моментах. Приступим!
Читать дальше →

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

Время на прочтение27 мин
Охват и читатели37K

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

Своим постом автор Jenny Jam* пытается заполнить этот пробел. Он рассуждает, когда C — идеальный выбор, а когда лучше обратиться к другим языкам. Описывает, как настроить среду разработки и выбрать инструменты, разобраться в версиях, особенностях сборки и тонкостях работы с библиотеками.

Цель статьи — упорядочить представление о языке C и его экосистеме, и, конечно, дать практические советы, которые пригодятся в реальных проектах.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

Читать далее

Запускаем Yolo на пятирублёвой монете или Luckfox Pico Mini

Уровень сложностиСредний
Время на прочтение29 мин
Охват и читатели20K

В данной статье речь пойдет про использование очень маленькой Luckfox Pico Mini. Я расскажу про особенности платы, её настройку, а также о том как запускать на ней нейронные сети для детекции объектов с камеры.

Мне удалось добиться скорости детекции в 15 FPS (или даже 50!), результат, который по силам далеко не каждому одноплатнику.

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели51K

Самое простое представление двумерного клеточного автомата основано на двух характеристиках: клетки имеют всего 2 состояния; правила изменения состояния зависят только от количества живых соседей из окрестности Мура первого порядка (8 окружающих).

Такая категория КА называется «Life-like», по названию самого известного автомата с такими характеристиками – «Conway's Game of Life». Игра «Жизнь» Конвея работает на правиле B3/S23, т.е. для рождения клетки требуется ровно 3 живых соседа, для выживания – 2 или 3. Во всех других случаях клетка умирает (или же остаётся пустой).

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

Сегодня взглянем на самых интересных представителей.

?

Пятничные клеточные автоматы: 10 удивительных правил с нотацией Хенселя

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели8.6K

Продолжим знакомиться с вариациями клеточных автоматов. Ранее мы рассмотрели базовую «life-like» конфигурацию и добавили к ней поколения.

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

?

Система противораскачивания груза (Anti-Sway Control)

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.1K

В сфере грузоподъемной техники система противораскачивания довольно популярная и полезная штука. Эта система полезна тем, что, к примеру, оператор крана не обязан корректировать движение крана самостоятельно, чтобы не происходило раскачивание груза и не было рисков возникновения аварийных ситуаций. Многие производители предлагают свои системы на базе ПЛК (программируемых промышленных контроллеров) либо на базе ПЧ (преобразователей частоты). Мы в нашем инженерном центре тоже решили не стоять в стороне и делать свою систему. Погружение в теорию привело нас к пространству состояний. Таким образом целью статьи является рассказать, как возможно решить задачу противораскачивания груза в пространстве состояний.

Читать далее

Электронный конструктор, не бьющий током

Время на прочтение13 мин
Охват и читатели60K

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

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

Игра «Жизнь» — как собрать произвольный шаблон всего из 15 глайдеров

Время на прочтение18 мин
Охват и читатели20K

В сообществе игры «Жизнь», изобретённой Джоном Конвеем, отмечали знаковое достижение, совершённое 9 ноября 2022 года. Идея, на воплощение которой ушли годы – проект «обратный шестометатель» — наконец дошла до той стадии, когда в наличии имелись все компоненты для этой сущности, позволявшие достичь заявленной цели.  

Цель проста. Выбираем любой шаблон, который можно собрать в «Жизни» - например, Тихоходку. Начинаем с небольшого количества шаблонов (пока 15), так, чтобы в пустой вселенной для «Game of Life» присутствовали только они. С течением времени из этих глайдеров должен собраться данный шаблон. Никакого остаточного мусора, разбросанной основы – только чистый синтез того, что вы выберете. Данный пост рассказывает, как устроен этот механизм, как мы до него дошли, и почему это так круто.

Читать далее

Меньше точно не бывает! Делаем вольтметр на ATTINY10

Время на прочтение4 мин
Охват и читатели24K

В продолжение к прошлой статье решил пощупать и Attiny10. Ну меньше уже точно ничего нет. Если и есть такое извращение с 4 ногами, я о нем не знаю, точнее не нашел.

Тут у нас полноценный МК, в корпусе SOT-23! И задачи на нем решать можно вполне серьезные. Собрав схему на макетке, с МК на адаптере и модулем дисплея я было обрадовался, но готовая плата работать отказалась...

Читать далее

Меньше, еще меньше! Делаем вольт-ампер-ватт метр на Attiny85

Время на прочтение4 мин
Охват и читатели20K

Ну вот наконец добрался до Attiny85, все хотел чего-нибудь сделать на них. А тут коллеги решили с гальваническими покрытиями поиграться. Путем нехитрых доработок блок питания для светодиодных дисплеев на 5В 60А стал регулируемым. А вот контролировать такие токи нечем. Шунт на 75мВ при 50А в местных магазинах мы нашли, а вот головку к нему нет, а стоять считать чего там милливольты показывают на мультиметре- такое себе.

Читать далее

Как мы ищем дефекты оборудования ультразвуковыми микрофонами

Время на прочтение6 мин
Охват и читатели11K
Бывает, чтобы заглянуть в подшипник, нужно разобрать полстанка, и всё это — ради профилактики дефекта. Зачастую бывает, что до того, как что-то реально поломается, узел начинает издавать определённый звук. Замечали, что опытные водители на любую нетипичную вибрацию реагируют чутко и с подозрением? Точно так же и сотрудники наших производств знают, как должен «звучать» станок. Ещё из далёкого прошлого нам достался вполне рабочий метод преобразования ультразвука в слышимый звук с помощью доски: бывает, рабочие со стажем лет так в 30 прикладывают обычный деревянный брусок на полметра к узлу и внимательно вслушиваются.

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

Решение выглядит вот так:



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



Результаты получились очень интересные.
Читать дальше →

Адаптивная антенна на беспилотном летательном аппарате или как одновременно увеличить дальность связи и подавлять помехи

Время на прочтение12 мин
Охват и читатели23K

Можно ли одновременно увеличить дальность связи с беспилотным летательным аппаратом (БЛА) и подавлять помехи без увеличения габаритов, массы и энергопотребления бортового модема? В настоящей статье мы рассмотрим как это можно сделать с помощью адаптивной антенной системы. Статья написана для разработчиков и эксплуатантов БЛА и является продолжением цикла статей автора про связь с БЛА.

Читать далее

Проверяем Архитектурные стили на движке Factorio (часть 2, SOA)

Время на прочтение27 мин
Охват и читатели32K

Все снова большой привет, спустя полгода! Сегодня мы будем продолжать работать на движке Factorio в попытках разобраться, какой же Архитектурный стиль по каким аспектам является хорошим или плохим!

Welcome!

Сегодня мы рассмотрим SOA и даже сравним его с Monolith-архитектурой!

Читать далее...

Водяная линза и не только

Время на прочтение12 мин
Охват и читатели14K
Картинка Pikisuperstar, Freepik

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

Как увидеть реверберацию или передача видео звуком через воду — 2

Время на прочтение8 мин
Охват и читатели11K

Привет, глубокоуважаемые!



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

Если в вашей душе от этих слов что-то колыхнулось, добро пожаловать под кат, в темные воды нашего пруда!


Читать дальше →

Дизерпанк — статья о дизеринге изображений, которую мне хотелось бы прочитать

Время на прочтение18 мин
Охват и читатели35K

Мне всегда нравилась визуальная эстетика дизеринга (dithering, псевдотонирование, псевдосмешение цветов), но я не знал о том, как он применяется. Поэтому я провёл кое-какие изыскания. Эта статья может содержать отголоски ностальгии, но в ней не будет никаких следов Лены.

Читать далее

Проверяем Архитектурные стили на движке Factorio (часть 1)

Время на прочтение28 мин
Охват и читатели59K

Добрый день всем, дорогие читатели!

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

Если вы хотя бы чуть-чуть имели неудачу пообщаться с Архитекторами, то знаете, что в их понимании не существует идеальной архитектуры ПО и вся их работа состоит во взвешивании плюсов и минусов того или иного Архитектурного стиля. И поскольку Архитектурных стилей много и каждый имеет свои преимущества (даже Монолит) и недостатки (даже Микросервисы) - работа архитектора состоит в попытках применения данных стилей на конкретный продукт и попыток предугадать, что из этого получит в итоге для бизнес-части.

Как сказал мой добрый друг-программист про Factorio: "Эту игру создали программисты для программистов" и эти слова плотно въелись в мою память. И реально игра в эту игру очень сильно напоминает процесс разработки ПО: можно просто строить как попало и прийти к полностью запутанной и сложнообслуживаемой системе, а можно подойти к вопросу с умом изначально и в итоге получить производительную и легкую в обслуживании систему (Прям как в жизни!)

Читать далее...
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность