Pull to refresh
1
0
Send message

Дневник альтруиста. dfu-util

Level of difficultyEasy
Reading time19 min
Views1.6K

В данной статье я рассмотрю подключение утилиты dfu‑util, написанную на языке С, к С++ проекту на CMake в виде сабмодуля.

Одна из главных целей статьи — это подключение старого и типового кода на С к своему проекту. Здесь приведены проблемы генерируемых файлов, борьба с кодом незнакомого разработчика (особенно если это разработчик на Си), особенности портирования окружения на Windows и т. д.

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

* Превью сгенерировано с помощью Adobe Firefly

Читать дальше ->
Total votes 6: ↑5 and ↓1+6
Comments7

Зачем Программисту Микроконтроллеров Линейная Алгебра (или Как Найти Угол Между Векторами?)

Level of difficultyEasy
Reading time7 min
Views13K

В программировании микроконтроллеров часто возникает задача найти угол между векторами.

Это всяческие встраиваемые системы, где есть подвижные, вращающиеся детали: PTZ камеры, поворотные платформы для радаров, турели, ветрогенераторы, солнечные панели, SDR обработка и прочее.

В данном тексте я приведу простое и понятное решение задачи вычисления угла между векторами на языке программирования Си.

Читать далее
Total votes 21: ↑18 and ↓3+21
Comments105

Как пытались (пере)программировать мозги, и что из этого получилось? Часть 1: проект «Артишок»

Level of difficultyEasy
Reading time10 min
Views21K

Во все века разведчики, шпионы и спецслужбы полагались в своей работе на разные вещества и психологические уловки. Тёмные рыцари плаща и кинжала травили врагов всевозможными ядами, усыпляли стражу, подсылали убийц-фанатиков с промытыми пропагандой и веществами мозгами — как легендарные ассасины времён Крестовых походов, чьё название происходит от неумеренного накачивания одноразовых киллеров гашишем. Развитие науки и техники в ХХ веке только подстегнуло энтузиазм шпионских ведомств. Если в СССР секретная токсикологическая лаборатория №12 при КГБ занималась в основном ядами для ликвидации врагов трудового народа, то в США к боевым токсинам из закрытого центра Форт-Детрик добавлялись безумные во всех смыслах эксперименты ЦРУ по взлому чужих (и даже своих!) мозгов посредством веществ и гипноза. Это привело к грандиозному скандалу в 70-е годы, породило немало теорий заговора, а также отсылок в массовой и не очень культуре. Впрочем — обо всём по порядку.
Читать дальше →
Total votes 70: ↑54 and ↓16+58
Comments21

Как работает физика в играх

Level of difficultyMedium
Reading time17 min
Views20K

В мире видеоигр игровая физика играет важную роль, определяя реалистичность и взаимодействие игрового мира с игроком. Что же происходит под капотом? Какие алгоритмы и подходы используются в современных движках? И что же значит «застрять в текстурах»? (спойлер: чушь полнейшая)

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

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

Как я сделал ремастер всех серий Том и Джерри в 2к всего за пару месяцев

Level of difficultyEasy
Reading time8 min
Views87K

Улучшение Том и Джерри из 480p в 1440p

С чего всё началось? Как-то я решил в третий раз с детства пересмотреть всю оригинальную коллекцию "Том и Джерри", но я, в отличие от маленького ребёнка, не потребляю любой контент вне зависимости от его качества. И вот я собрался посмотреть самую доступную версию, а там вот это цветошоу с постоянными царапинами на всём экране.

Мур-мур-мур
Total votes 347: ↑342 and ↓5+387
Comments193

Дизайн уровней в DOOM 1993: игра, на которой можно учиться

Reading time5 min
Views14K

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

Читать далее
Total votes 12: ↑11 and ↓1+13
Comments24

30 лет DOOM: новый код — новые баги

Level of difficultyMedium
Reading time19 min
Views21K

Сегодня первой игре из серии DOOM исполняется ровно 30 лет! Мы не могли обойти стороной это событие и в честь этого решили посмотреть, как же выглядит код этой легендарной игры спустя годы.

Читать далее
Total votes 53: ↑52 and ↓1+70
Comments24

Проклятые Земли. Изменяем движок игры! Подробности + ПРИМЕР реверсинга движка

Reading time21 min
Views15K

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

Наверняка многие играли в Проклятые Земли и аддоны к ним лет 15, а то и все 23 года назад. При всех достоинствах этой игры, её графика считается устаревшей, а некоторые моменты уж очень спорно реализованы. Я покажу на своём примере как можно сделать любимую игру лучше.

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

FIFO очередь asyncio в Python

Level of difficultyMedium
Reading time19 min
Views5K

Очереди в Asyncio могут быть полезны для создания программ, в которых используются паттерны производитель-потребитель, где одна или несколько корутин производят элементы и помещают их в очередь, а одна или несколько корутин потребляют элементы и обрабатывают их из очереди.

В этой статье на примерах вы узнаете как работает асинхронная очередь asyncio.Queue.

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

Пишем компилятор C в 500 строках Python

Level of difficultyMedium
Reading time20 min
Views12K

Несколько месяцев назад, закончив пост об SDF-пончике, я поставил перед собой задачу написать компилятор C в 500 строках Python1. Насколько сложна эта задача? Оказалось, что довольно сложна, даже после отказа от достаточно большого количества возможностей. Но в то же время она была довольно интересной, а результат оказался на удивление функциональным и вполне простым для понимания!

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

Создание библиотеки Python: полный гайд

Level of difficultyMedium
Reading time7 min
Views29K

Создайте свою библиотеку для Python и загрузите на PyPi, сейчас!

В этом туториале я максимально понятно и подробно расскажу о том, как создать свою библиотеку для Python и загрузить её на PyPi, для того, что бы её мог использовать любой!

Читать далее
Total votes 9: ↑7 and ↓2+8
Comments13

Фильтрация избыточных вершин в геометриях 3D моделей

Level of difficultyMedium
Reading time6 min
Views2.5K

Всем привет! Меня зовут Евгений, я backend‑разработчик в компании Bimeister. Сегодня я хотел бы продолжить рассказ о нашем 3D движке Spatium. В статье речь пойдет еще об одном из алгоритмов оптимизации - поиске и удалении избыточных вершин из 3D моделей.

Материал может представлять интерес для инженеров, связанных с проектированием и разработкой в области 3D.

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

Инструкция по сборке бинарной версии UE 4.27

Level of difficultyEasy
Reading time6 min
Views3.4K

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

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

Инженерия эмоций в видеоиграх

Level of difficultyEasy
Reading time8 min
Views4.8K

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

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

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

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments13

Как коммитить в open source. Пошаговый гайд

Level of difficultyEasy
Reading time2 min
Views8.7K

Инструкция написана для сервиса github. Вам нужно войти в свой аккаунт или зарегистрироваться.

Все команды вводятся в терминале.

Шаг 1

Делаем fork (копию) нужного проекта. Переходим в свой аккаунт и заходим в только что созданный fork.

Читать далее
Total votes 35: ↑29 and ↓6+32
Comments23

Вопросы на собеседовании к вакансии Middle Unity-разработчик + полезная информация

Reading time9 min
Views27K

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

Читать и радоваться
Total votes 9: ↑7 and ↓2+8
Comments43

Information

Rating
Does not participate
Registered
Activity

Specialization

Game Developer, 3d Modeler
Intern
From 50,000 ₽
Reverse development
Python
Design games
Blender
3ds Max
GIMP