creator cover shiru8bit
shiru8bit

shiru8bit 

Программист, музыкант, самоделкин, ретрогеймер

88subscribers

825posts

About

Программист программ, музыкант чиптюнов, самодельщик самоделок, коллекционер портативок, цифровой археолог и энтузиаст ретрокомпьютерного творчества. Ретрогеймер, радиолюбитель, диванный гитарист, автолюбитель с кабриолетом.
Делаю игры и музыкально-звуковые программы для устаревших и редких 8-16 битных компьютеров и приставок, а также эмуляторы. Сочиняю музыку для игр, старых компьютеров, приставок. Придумываю электронные самоделки. Публикую статьи на Хабре.
Здесь пишу инсайды по текущей разработке личных и сторонних программных и железных проектов, творческие планы, эпизоды из жизни ретрокомпьютерщика и ретрогеймера, и не только.
Ещё у меня есть страничка на ВК, сайт со складом релизов и YouTube-канал с демонстрациями некоторых из них. Доступен для фриланса в области моих интересов. PM или через профиль Kwork.

Реальные ИИ-пиксели

Хоть мне и удалось уговорить ИИ генерировать изображения примерно нужного пиксельного размера и стиля, и они выглядят как пиксельная графика, есть вторая огромная проблема: это вовсе не пиксельные изображения, которые можно взять, отредактировать, и задействовать в проекте.

Договорился с ИИ за пиксели!

Также продолжил воевать с нейропикселями, пытаясь уговорить ИИ сгенерировать спрайт именно в нужном размере и стиле. И мне таки удалось нащупать один трюк, иногда дающий практически ценный результат!
Нужно дать нейросети заготовку, состоящую из референсного спрайта в нужном размере и стиле, на которой разместить две копии этого спрайта. Далее нужно в свободной форме попросить один спрайт оставить полностью без изменений, а другой заменить на желаемый, сохраняя стиль и размер пикселей. Промпт не магический, я пробовал писать его разными словами. Главное суть:
Create a low resolution pixel art retro game character using source image as style guide. Put two sprites side to side: the original one at the left should be left without any changes, and the right sprite is replaced with an anthropomorphic robot enemy that is complimentary in design to the original character. Follow the exact same style, much similar palette. All pixels in the image should be of exact same size. 
https://pixie.haus хорошая нейронка для пикселей. С ней вроде так воевать не нужно
s1nka, это не нейронка, а агрегатор. В нём всё те же модели (Flux, Nano Banana, Grok, Seedream и т.п), обычные, не пиксельные, и пикселизатор поверх.

Шляпа Нипкова светится!

Изобрёл необходимые элементы для превращения LED-матрицы в источник света для моего проекта дисплея с механической развёрткой на базе диска Нипкова.
Смоделировал крепление. Это просто полукруг с выемкой для платы и диодов, с отверстиями для двух закладных гаек под винтики M3. Напечатал около четырёх раз, постепенно уточняя размеры.

Ковырялово со Steam

Долго ли коротко ли, после ввода в эксплуатацию нового компьютера я вспомнил про игры на ПК и Steam. Не то, чтобы на новом ПК можно было бы поиграть во что-то новое — видеокарты-то нет никакой — но на Windows 7 Steam давно перестал работать в принципе, а теперь-то у меня Windows 10. И вроде как настало время снова поиграть в мою самую любимую игру на ПК — «Космических рейнджеров», каковых я купил в Steam’е в староглиняные времена.
Клиент поставился успешно. Но, разумеется, за давностью лет я забыл пароль от аккаунта. Попытался его восстановить, и понял, насколько безнадёжно и дико сломаны сервисы Steam’а. Пошёл на страничку восстановления. Она говорит — введите капчу. Я ввожу. Она говорит — неправильно. Я делаю это второй, третий, пятый, десятый раз, совершенно точно правильно. Но нет, ответ — неправильно! Я бился об это несколько дней, пока не заметил, что если после прохождения капчи ещё раз кликнуть на галочку, тогда ответ засчитывается.
После прохождения квеста с капчей сайт сказал, что у меня два аккаунта. Действительно, я и забыл. Кажется, в очень далёком прошлом (2011-ый) я забыл пароль и также не смог его восстановить, когда он понадобился. А второй аккаунт я использовал для администрации, помогал Piko настраивать игры. Сайт показывает два аккаунта и зачем-то предлагает «найти» их. Я кликаю, но… аккаунт не найден. Это также повторялось из раза в раз.
Я уже забыл детали своих мытарств, но в целом они шли по схеме — на каждом шагу введите капчу, капча срабатывает один раз из десятков попыток, далее не срабатывает сам сервис: не видит аккаунт, не шлёт код, просто говорит, что восстановление временно недоступно. В итоге я выбрал вариант восстановления «аккаунт украли», и через несколько дней мне наконец-то сбросили пароль. И я зашёл в свой аккаунт.
Но не в тот! Оказалось, что «Космические рейнджеры» у меня были на другом, более новом. А я зашёл в старый. Пришлось пройти квест ещё раз и восстановить пароль от другого аккаунта тоже. Объединить их нельзя, но можно связать, чтобы играть в игры с обоих через один. Игр у меня там было три штуки — ещё подаренный давеча Portal 2 и какая-то непонятная индюха.
Ради интереса я попробовал купить игру. Это оказалось очень просто, оплатил из приложения банка, и всё. Купил Stardew Valley за 300. Поиграл пару дней, прикольно, потом забросил. Потом залип в Рейнджеров, но тоже пока забросил — как оказалось, в предыдущий раз я играл в них аж в 2019 году. А казалось, что недавно.
Очень печальная хрень

Реальные нейропиксели

В голову пришёл ещё один эксперимент, который я срочно провёл. Современные ИИ очень неплохо преобразуют изображения. Что, если дать им на входе готовую пиксельную сетку и палитру, с указаниями заполнить её графикой генерируемого объекта? Например, 16x16 и палитру NES.
Терроризировать своими запросами я стал Grok’а. И он превзошёл ожидания. Запрос:

Ковыряю нейропиксели

В недавнее время я получил доступ к разным ИИ моделям для генерации изображений, и решил провести эксперимент: как сейчас обстоят дела с генерацией пиксельной графики. Ведь прошло уже два года с моих прошлых экспериментов, должны же быть улучшения?
С помощью DeepSeek был составлен простейший запрос:
Pixel art sprite of a beat 'em up game character, full body, side view, athletic male, short blonde hair, white t-shirt, blue jeans, large fists, idle standing pose. Strictly 24x48 pixels resolution, exactly 16 colors. No shading gradients, no anti-aliasing, crisp hard pixel edges. Flat retro game style, arcade era. Solid color background.
Максимально простая задачка для пиксельного художника. Результаты таковы:

Свет для диска Нипкова

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

Плагин для подготовки изображений

При подготовке изображений для блога и статей мне очень часто требуется выполнить простую последовательность действий: свести слои, уменьшить до 1500 или 2000 пикселей в ширину, сохранить в JPG с качеством 80 или 70% с перезаписью файла. И каждый раз я делаю это вручную, и эти секунды давно уже сложились во многие часы. И это действие легко автоматизировать. Ведь легко? Есть нюанс: я сижу на GIMP’е.
Пользователи Photoshop’а будут долго ржать как кони, но в его всемогущем бесплатном аналоге до сих пор нет такой элементарной вещи, как «макросы», то есть записи повторяющихся действий для выполнения их одной кнопкой. Вместо них в типичном *nix-way есть два варианта программных скриптов: Script-Fu и Python-Fu. Fu здесь неспроста, обе системы мало того, что так себе, но с выходом GIMP 3 они ещё и сломаны. Кому-то очень зачесалось переделать архитектуру скриптов и переименовать функции.
У меня уже был опыт при работе над моим мультиком «Прогулка», когда для повторяющейся операции мне понадобился скрипт, а я в этих -Fu ни в зуб ногой. Я попросил написать такой скрипт ИИ, и он с диким скрипом, но справился. Проблема была в том, что API менялся, и Script-Fu был разным в момент обучения модели, в описаниях в интернете, и в актуальной третьей версии GIMP’а. А я сидел на второй. Но всё же рабочий скрипт был создан.
Вот и сейчас, готовя очередные картинки, я подумал — а не попросить ли ИИ помочь мне автоматизировать эту мою элементарную задачу? И попросил. Но теперь я сидел в GIMP 3. Долго ли коротко ли, это дело у меня заняло около четырёх часов. Большую часть работы сделал DeepSeek, а помог ему Grok. Они постоянно ошибались в названиях методов и параметров, предлагали миллион вариантов одного и того же, ничего не работало. Но всё же заработало. Думаю, в такой ситуации и человек бы провозился долго. Я — так точно.
Скрипт по коду вышел странным, но он работает. Вот он, вдруг кому такое надо.
scm
rescale_and_save.scm3.16 Kb

Новая статья

Краткая история звуковых карт AdLib и совместимых с ними, история звуковых чипов Yamaha, подходы к созданию музыки, обзор трекеров для OPL2 и OPL3.
https://habr.com/ru/companies/ruvds/articles/1029484/

Свет для механического ТВ

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

Микро 16

$0.23 per month
Просто потому что нельзя 8. Даже самая малая поддержка важна. Спасибо!

База 128

$1.83 per month
Для тех, кто просто хочет поддержать. Спасибо!

Супер 256

$3.7 per month
Для тех, кто хочет поддержать. Спасибо!

Кило 320

$4.6 per month
Для тех, кто сильно хочет поддержать. Спасибо!

Мега 640

$9.2 per month
Для тех, кто очень хочет поддержать. Спасибо!

Гига 1024

$14.6 per month
Для тех, кто крайне хочет поддержать. Спасибо!
Go up