Обновить
-3
3.5
Евгений @Zara6502

ATARI XL/XE, ретро-ноутбуки

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

Arduino ZX Spectrum AY Player

Время на прочтение8 мин
Количество просмотров36K
Автономный проигрыватель мелодий с компьютера ZX Spectrum на Arduino с минимальным количеством деталей.


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

Arduino AY player с экраном и кнопками

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

Конструируем музыкальный плеер PSG-файлов на чипе AY-3-8910 с OLED-экраном, кнопками управления и дополнительной памятью, а также подключаем выходные и входные сдвиговые регистры и прочие устройства с интерфейсами I2C и SPI к Arduino.

Читать далее

Движок для игры от первого лица в 265 строках Javascript

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров27K
image

Сегодня окунёмся в мир, который можно потрогать. В этой статье мы исследуем, как с нуля, быстро и без особо сложной математики написать движок для игры от первого лица. Для этого мы воспользуемся приёмом под названием «бросание лучей» (raycasting). Возможно, вы видели примеры такой техники в играх Daggerfall и Duke Nukem 3D, а из более свежего – в статьях из «ludum dare» от Нотча Перссона. Что ж, для Нотча это неплохо, но не для меня! Вот демка (управление стрелками и тачпадом) [источник].
Читать дальше →

Разработка — всё? Действительно ли нас всех заменят роботы

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров12K

Александр Пряхин, руководитель разработки юнита в Авито Работа, рассказал, так ли мрачно выглядит будущее для разработчиков «из плоти и крови» на фоне активного развития No Code, Low Code и нейросетей.

Читать далее

Алгоритмы поиска подстроки на JavaScript

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров13K

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

Как говорит Википедия «Поиск подстроки в строке — одна из простейших задач поиска информации», но это не совсем так, ниже я расскажу про разные алгоритмы решения и покажу примеры их реализации. Начнем!

Читать далее

Как игре Pitfall для Atari удалось поместить 255 комнат в картридж на 4КБ

Время на прочтение10 мин
Количество просмотров7.9K
Игры для Atari 2600 разрабатывались в условиях сильных ограничений. Когда Уоррен Робинетт продвигал идею, которая в дальнейшем станет игрой Adventure (в ней нужно исследовать мир из множества комнат и подбирать предметы, которые помогают игроку в пути), ему отказали, потому что посчитали, что её невозможно реализовать. И это было логично. Консоль появилась в конце 70-х; до Робинетта никто ещё не создавал игру с несколькими экранами. Это была эпоха Space Invaders и Pac Man, когда весь игровой мир постоянно находился у игрока перед глазами, поэтому то, что выпущенная в 1980 году Adventure состояла из 30 комнат, было весьма впечатляюще.


Первый экран игры Adventure. Игрок управляет точкой (которую Робинетт называл «человеком»).

Разработчикам даже пришлось объяснять эту концепцию в руководстве к игре:

Каждая область, показанная на экране телевизора, будет иметь один или несколько барьеров или стен, через которые вы НЕ можете проходить. Также там есть один или несколько проёмов. Чтобы перейти из одной области в соседнюю, «выйдите» с экрана телевизора через один из проёмов, и на экране появится соседняя область.

Наличие нескольких комнат было довольно большой инновацией, а то, что в Adventure удалось реализовать целых 30 комнат, стало настоящей революцией. Однако в созданной Дэвидом Крэйном и выпущенной в 1983 году Pitfall! таких комнат было 255, и каждая из них была более сложной (с точки зрения графики), чем любая комната Adventure. В статье я расскажу, как этого удалось добиться.

Примечание: в игре Superman было несколько комнат и её выпустили до Adventure, но она создавалась на основе кода Adventure.


Типичный экран Pitfall!

Tenebris: 7 кругов ада инди-разработки

Время на прочтение6 мин
Количество просмотров4.7K

Друзья, меня зовут Пётр, и в этой статье я попробую рассказать о нашем уже трехлетнем опыте в разработке инди-игры  —  Tenebris: Terra Incognita. Через какие сложности мы прошли и чего добились.

Работа над игрой началась в мае 2019 года, про старт я написал ранее в первой статье. Сегодня мы имеем на руках Альфа-версию игры и работаем над сборкой для раннего доступа.

Спросите: почему так долго? 

Отвечу: потому, что это наша первая игра, мы не имеем инвестиций и работаем на энтузиазме, в свободное от работы время. 

Читать далее

Роутинг и policy-routing в Linux при помощи iproute2

Время на прочтение6 мин
Количество просмотров289K
Речь в статье пойдет о роутинге сетевых пакетов в Linux. А конкретно – о типе роутинга под названием policy-routing (роутинг на основании политик). Этот тип роутинга позволяет маршрутизировать пакеты на основании ряда достаточно гибких правил, в отличие от классического механизма маршрутизации destination-routing (роутинг на основании адреса назначения). Policy-routing применяется в случае наличия нескольких сетевых интерфейсов и необходимости отправлять определенные пакеты на определенный интерфейс, причем пакеты определяются не по адресу назначения или не только по адресу назначения. Например, policy-routing может использоваться для: балансировки трафика между несколькими внешними каналами (аплинками), обеспечения доступа к серверу в случае нескольких аплинков, при необходимости отправлять пакеты с разных внутренних адресов через разные внешние интерфейсы, даже для отправки пакетов на разные TCP-порты через разные интерфейсы и т.д.
Для управления сетевыми интерфейсами, маршрутизацией и шейпированием в Linux служит пакет утилит iproute2.
Читать дальше →

Дельта компрессия и квантизация объектов в C#

Время на прочтение11 мин
Количество просмотров13K

Cтатья затрагивает тему сериализации данных, которые передаются по unreliable каналам.

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

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

Читать далее

Простой расчет контрольной суммы

Время на прочтение12 мин
Количество просмотров234K
При передачи данных по линиям связи, используется контрольная сумма, рассчитанная по некоторому алгоритму. Алгоритм часто сложный, конечно, он обоснован математически, но очень уж неудобен при дефиците ресурсов, например при программировании микроконтроллеров.



Чтобы упростить алгоритм, без потери качества, нужно немного «битовой магии», что интересная тема сама по себе.
Читать дальше →

Пишу фреймворк LDL на С++ с поддержкой старых систем

Время на прочтение6 мин
Количество просмотров6.3K

Приветствую хабравчане!

Рассказываю как разрабатываю аналог библиотеки SDL2 на С++ под лицензией boost. Мемы присутствуют:)

Loading

Отрисовка в браузере большой анимации или как я ушел с mp4 к своему формату видео

Время на прочтение17 мин
Количество просмотров59K

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

Читать далее

Информация

В рейтинге
1 158-й
Откуда
Новосибирск, Новосибирская обл., Россия
Зарегистрирован
Активность

Специализация

Специалист
Средний