Pull to refresh
0
0
Брылев Олег @BrOleg5

Робототехник

Send message

Культурный феномен клипа Bad Apple и мой BAD AON

Level of difficultyEasy
Reading time20 min
Views13K

Уже десять лет на демосцене существует довольно странная, но интересная традиция. Нет, в баню с друзьями ходят без неё, но очень многие делают конверсии популярного видеоклипа Bad Apple на различные маломощные платформы прошлых лет. Как-то: ZX Spectrum, Game Boy, Sega Genesis, БК-0011М, и чем дальше, тем страньше и страньше. Это одновременно и упражнение в реализации цифрового видео в условиях крайне ограниченных ресурсов, и в адаптации контента под возможности максимально хардкорных ретро-платформ.

Сегодня рассмотрим само явление Bad Apple — откуда оно взялось и какое отношение имеет к компьютерам, а также мою новейшую разработку в этой области, демонстрацию BAD AON. В прошлом я уже делал подход к этому снаряду с версией для 8-битной NES, а в этот раз сделал адаптацию для, смею надеяться, одной из наиболее необычных платформ. Разглядеть клип будет трудновато, но если хорошенько прищуриться (я серьёзно), он всё ещё вполне узнаваем.
Читать дальше →
Total votes 129: ↑129 and ↓0+171
Comments34

Геймдев, про который мы забыли: как работали 2D-игры на кнопочных телефонах нулевых

Level of difficultyMedium
Reading time11 min
Views14K
image

Друзья! А вы помните, какими были мобильные игры в 2000-х годах? Помните, как разработчики умудрялись уместить целые миры в устройство с небольшим дисплеем, аппаратной клавиатурой, весьма слабым железом и парой сотен килобайт памяти? Но задумывались ли вы, как в своё время работали эти сами игры «под капотом»? В сегодняшней статье-ретроспективе предлагаю вспомнить мобильный геймдев нулевых и узнать, как же работали 2D Java-игры, какие API были доступны и что из себя представлял средний телефон тех лет! Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 67: ↑64 and ↓3+76
Comments62

«Невозможный» аудиокодек для Sega MD

Level of difficultyHard
Reading time25 min
Views13K

Вступительный текст про легендарную консоль, вода, бла-бла-бла. Искрой для появления статьи послужил неожиданный факт: ЦАП мегадрайва способен воспроизводить звук с качеством 26 килогерц 8 бит. Что? Хочу такое! Но… Максимальный размер картриджа 4 Мб, этого хватит на 2.5 минуты такого звука, с распаковкой современных кодеков старый процессор не справится. Качество против количества. Нерешаемое противоречие, но если сильно хочется, то всё получается.
Читать дальше →
Total votes 111: ↑111 and ↓0+129
Comments29

Графика древности: пятая волна. Sega Saturn и Sony PlayStation (часть 2/4)

Level of difficultyMedium
Reading time25 min
Views13K

В предыдущей части мы начали знакомиться с игровыми консолями пятого поколения, настоящим некстгеном своего времени. Сам этот термин пошёл в массы именно тогда: только-только выходящим на рынок новым консолям был посвящён американский видеоигровой журнал Next Generation, позже переименованный в NextGen.

История успеха консолей пятого поколения началась в 1993 году с консоли 3DO, но настоящая битва за внимание геймеров была впереди. Пятое поколение не только определило саму форму современных игр, но и смену главных действующих лиц — компаний, задающих тренды.

Сегодня рассмотрим две главнейшие платформы поколения, Saturn от некогда великой, но начинающей стремительно терять полимеры Sega, и PlayStation от новичка в индустрии видеоигр — Sony. Заодно узнаем кое-что про концептуальное противостояние квадов и треугольников, а также про необычные сложности в реализации эффектов полупрозрачности.
Читать дальше →
Total votes 57: ↑56 and ↓1+77
Comments19

Графика древности: пятая волна. Новые технологии и 3DO (часть 1/4)

Level of difficultyMedium
Reading time24 min
Views9.2K

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

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

Как и пиксель-арт до этого, раннее 3D теперь приобрело новое прочтение. В последнее время авторы современных игровых проектов всё чаще целенаправленно обращаются к этой забытой визуальной эстетике полигонального минимализма. Поговорим о том, как всё это начиналось, как было устроено и к чему привело.
Читать дальше →
Total votes 60: ↑60 and ↓0+60
Comments9

Цифровая музыка на микрокомпьютерах (часть 2/2)

Level of difficultyEasy
Reading time31 min
Views6.8K

В первой части статьи мы узнали про существование такого явления, как цифровая музыка, то есть состоящая из оцифрованных кусочков звучания реальных инструментов, на маломощных 8-битных микрокомпьютерах 1980-х годов, а затем углубились в детали этой истории в рамках горячо любимой на постсоветском пространстве платформы ZX Spectrum в реалиях 1990-х годов.

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

Настало время где-то узнать, а где-то вспомнить об этом поподробнее, а заодно и послушать побольше музыкальных примеров. И начнём мы не с зарубежной, а с другой, близкой многим местным компьютерным энтузиастам платформы.
Читать дальше →
Total votes 61: ↑60 and ↓1+82
Comments51

Интерпретатор Brainfuck на Brainfuck

Level of difficultyHard
Reading time25 min
Views13K

Когда-то давно, году в 2013-м, на глаза мне попался следующий код:

>>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++
++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[
[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]
<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+
<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+
>>-[<<+>++>-[<->[<<+>>-]]]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>
]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>,>>>]<<[>+>]<<[+<<
]<]

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

Мне всегда было безумно интересно узнать, как он работает. И теперь я решил наконец-то это сделать!

Читать далее
Total votes 95: ↑93 and ↓2+116
Comments20

Цифровая музыка на микрокомпьютерах (часть 1/2)

Level of difficultyEasy
Reading time25 min
Views9.7K

Сегодня, когда любой школьник имеет возможность сочинять модные биты на своём домашнем компьютере или смартфоне, идея применения компьютерных устройств для создания музыки никого не удивляет. Кажется, что эти технологии с нами уже очень давно. Однако, массовому пользователю возможность составления мелодий из фрагментов реалистичных звуков на компьютере стала доступна лишь немногим больше четверти века назад. Поговорим о том, как это устроено, о первых шагах цифровых музыкальных редакторов в дома обычных людей, и о неожиданной запинке, приключившейся на этом пути в странах запаздывающего технического прогресса.
Читать дальше →
Total votes 89: ↑88 and ↓1+116
Comments77

На помойку? Никак нет! Пишем нативные приложения для дешевых китайских телефонов

Level of difficultyMedium
Reading time23 min
Views18K
image

Если сейчас приехать в пункт приема металлолома, то можно обнаружить просто огромные кучи различных телефонов и прочих электронных «отходов», которые стоят под открытым небом и ждут, когда придёт их черёд окончательного разложения. Однако при ближайшем рассмотрении выясняется, что многие девайсы оказываются полностью рабочими даже после недельного лежания под палящим солнцем и проливными дождями, а сдали их в чермет по причинам «не нужен, надоел, купил новый» и т. п. Я не считаю это правильным, ведь даже в простые кнопочные звонилки имеется возможность вдохнуть новую жизнь, если знать один интересный, но малоизвестный факт: для них можно писать нативные приложения на C и использовать железо телефона в своих целях. А это, на минуточку, как минимум: дисплей с подсветкой, вибромотор, динамик, клавиатура и GSM-радиомодуль с возможностью выхода в сеть. Сегодня мы с вами: узнаем, на каких аппаратных платформах работают китайские телефоны, какие существуют программные платформы и где взять для них SDK, а в практической части мы напишем 2D-игру с нуля, которая будет работать на многих китайских кнопочниках. Интересно? Тогда жду вас под катом!
Читать дальше →
Total votes 93: ↑91 and ↓2+115
Comments86

Система статусов для проектов в Obsidian

Level of difficultyMedium
Reading time25 min
Views14K

Статья о том, как внедрить и как продуктивно использовать систему статусов в персональных проектах.

Гайд предназначен для пользователей Obsidian. Однако, если вы к таковым не причисляетесь, то можете ознакомиться только с описанием системы статусов. Возможно, что вам сам подход понравится и у вас впоследствии получится адаптировать его в своих инструментах.

Obsidian и проекты – это мощь!
Total votes 15: ↑15 and ↓0+15
Comments12

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 2/2)

Level of difficultyMedium
Reading time24 min
Views7.3K

Продолжаем обстоятельный разговор про «мапперы» — устройства управления расширенной памятью на игровых консолях Famicom, NES и Денди. Во второй части статьи рассмотрим особенности нескольких основных видов мапперов и их влияние на содержание игр, сложности программирования, а также ситуацию с мапперами на других платформах.
Читать дальше →
Total votes 48: ↑47 and ↓1+65
Comments20

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 1/2)

Level of difficultyMedium
Reading time17 min
Views14K

Примерно раз в десятилетие на русскоязычных около-компьютерных ресурсах кто-нибудь поднимает тему такого элемента архитектуры 8-битной Денди и её прародителей, как «маппер», пытаясь на пальцах объяснить, что же это такое. И каждый раз у меня возникает ощущение, что рассказчики сами не вполне знакомы с сюжетом. К тому же практически всегда речь идёт о чисто технических моментах, совершенно не затрагивая историю вопроса: откуда взялось, как развивалось, чем было полезно для фактических игр — что, на мой взгляд, может быть интересно гораздо более широкому кругу лиц.

Так сложилось, что я имею довольно глубокий, примерно по локоть, практический опыт взаимодействия с этими самыми «мапперами», также могу рассказать кое-что и за их историю, и, разумеется, обладаю уверенностью, что уж я-то точно понимаю всё как есть, и расскажу так, что все вздрогнут. Поэтому под катом — всё, что вы когда-либо хотели или не хотели спросить про мапперы, но боялись или вовсе даже и не собирались спрашивать.
Читать дальше →
Total votes 75: ↑72 and ↓3+95
Comments19

Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal

Level of difficultyHard
Reading time29 min
Views88K

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

Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.

Подобные условия пользования, само собой, порождают внутреннее недовольство пользователей:

За интернет они платят? — Да.

Раздача как-либо использует ресурсы провайдера сверх нормы? — Нет.
Читать дальше →
Total votes 233: ↑231 and ↓2+294
Comments91

Про FPV-квадрокоптеры. Введение

Level of difficultyEasy
Reading time30 min
Views48K

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

Почему, спрашиваю, у тебя же есть уже аппарат для съемки, чего не хватает? Что, там у FPV камера лучше?

Камера‑то хуже, но вот зато он может очень точно маневрировать очень близко около объектов съемки. Пролететь впритирку к дереву или к скале, залезь в любую дырку, кадры снять подинамичнее, поинтереснее.

Я и до этого заметил во время той видеосъемки, что управлять‑то DJI Mavic несложно. Но вот управлять тонко, точно вовсе не так уж и просто.

Слова того человека о точном маневрировании с квадрокоптером FPV мне понравились и я начать курить ту тему... Очнулся уже будучи владельцем нескольких квадрокоптеров FPV.

Поразило 2 аспекта: как это удивительно дешево (ну для опытного ИТ‑разработчика с соответствующей зарплатой) и как же трудно научиться им управлять (зато когда научишься, то ого‑го).

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

Удивительные клеточные автоматы: обратные и расширенные поколения

Level of difficultyEasy
Reading time7 min
Views3.3K


👾, Хабр!
Давно не виделись.

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

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

Дополнение поколений является самым популярным, среди всех модификаций стандартной модели, и даже, фактически, оно стало частью правила по умолчанию, наравне с B/S, используясь практически во всех прочих расширениях, хотя использование поколений, конечно, опционально.

Со временем участники сообщества начали предлагать дополнения и к этому варианту конфигурации. На поверхности лежали многие вариации, как ещё возможно изменить или переставить состояния клеток. Одним из них были и обратные поколения, a.k.a. snoitareneG, с которых мы и начнём.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments10

Графика древности: палитры, часть 1/2

Level of difficultyEasy
Reading time21 min
Views15K

Хотя пиксельная графика прошлых лет полна нюансов, несомненно, одной из её главнейших характеристик, наряду с разрешением, является палитра — ограниченный набор цветов, которым нарисовано пиксельное изображение. Уникальное сочетание цветов, доступное на отдельно взятом старом компьютере или игровой приставке, часто позволяет даже беглым взглядом отличить графику для одной платформы от другой. Техники работы с палитрами и подбор оттенков также являются визитной карточкой многих пиксельных художников прошлого и современности. Но палитра — это не просто случайный набор цветов. Это результат технических ограничений и инженерных решений, в результате которых родились необычные техники рисования, анимационные спецэффекты, и особая визуальная эстетика.
Читать дальше →
Total votes 91: ↑90 and ↓1+126
Comments38

Как я пишу на C по состоянию на конец 2023 года

Level of difficultyMedium
Reading time9 min
Views27K
Этот год выдался переломным для моих навыков по программированию на C. Можно сказать, что я пережил слом парадигмы, что побудило меня пересмотреть привычки и весь стиль программирования. Это была крупнейшая метаморфоза моего личного профессионального стиля за долгие годы, так что я решил написать этот пост в качестве «мгновенного снимка» моих нынешних суждений и профессионального существования. Эти перемены во многом пошли на пользу моей продуктивности и организованности, поэтому, при всей субъективности того, что я скажу, в посте наверняка будут описаны и вполне объективные вещи. Я не утверждаю, что на С нужно писать именно так, как рассказано ниже, а я сам, выступая контрибьютором некоторого проекта, придерживаюсь того стиля, который там заведен. Но описанные ниже приёмы, как оказалось, очень пригодились мне при работе.
Читать дальше →
Total votes 38: ↑26 and ↓12+24
Comments91

Не спеши, Маша! Разбор примеров из книги Хэррис Д.М., Хэррис С.Л. Цифровая схемотехника и архитектура компьютера

Level of difficultyMedium
Reading time12 min
Views16K

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

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

Итак, начнем...

Читать далее
Total votes 40: ↑37 and ↓3+42
Comments106

Ускоряем программу для 50-летнего процессора на 180000%

Level of difficultyHard
Reading time36 min
Views46K

В прошлом году я написал программу, вычисляющую 255 цифр числа π на самом первом микропроцессоре от Intel - 4004. В той статье я упоминал рекорд ENIAC'a - 2035 цифр [^1], но побить его не смог. Настало время закрыть гештальт. В этот раз возьмём одного из преемников от Intel - 4040.

Читать далее
Total votes 225: ↑223 and ↓2+285
Comments41

Демосцена

Reading time26 min
Views13K

"… особую пикантность придаёт тот факт, что всё это по сути бессмысленно..."
/ sq/skrju /



из демо 'We are demo' для Commodore 64, 2020 год)

Чаще всего, попытки объяснить людям, что такое «демосцена», начинаются со слов «компьютерное искусство...». Однако, даже по вопросу о том, что такое искусство, во все времена не было единого мнения. Явление, о котором пойдёт речь, называют искусством скорее в том смысле, в каком говорят об искусстве токаря или плотника, а не скульптора или художника. Что, конечно, не означает, что одно хуже другого.

Слово «демосцена» («demoscene») мало того, что не переводится на русский язык, но даже и на английском имеет не вполне очевидный смысл. Если со словом «demo» всё интуитивно понятно — оно происходит от слова «demonstration» («демонстрация»), то со словом «scene» всё куда сложнее. Своим появлением оно обязано вовсе не театру, как могло бы показаться, а возникшей в конце 1970-х практике нелегального распространения и взлома программного обеспечения, главным образом — компьютерных игр.

Total votes 23: ↑23 and ↓0+23
Comments17
1
23 ...

Information

Rating
Does not participate
Location
Баргузин, Бурятия, Россия
Date of birth
Registered
Activity