• avatar diver4d
  • 2
Заголовок мог бы быть: “ТАЙНЫ ИНТРО”
  • avatar nyuk
  • 4
Интры нужно писать так, чтобы потом не стыдно было использовать их в демо.
  • avatar G.D.
  • 4
Подожди. Это что, получается не перевелись еще у нас кодеры? Столько людей поучаствовало! Кто сделал все эти интры?
  • avatar diver4d
  • 3
Молодцы, что поддержали конкурс! Но ограничение на количество работ все же надо вводить :)
  • avatar bfox
  • 0
не верь, не бойся, не проси (с:)
  • avatar sq
  • 0
Вы вдвоём, 5 недель, 12 работ, по 256 байт, свой путь, не оглядываемся, бояться самовыражаться тоже не будем!
  • avatar sq
  • 0
Ещё раз для тех, кто до сих пор не понял:

Да, это мы (TmK и bfox ) за 5 недель сделали 12 работ по 256 байт каждая, выставив их в номинации ZX Spectrum Tiny Intro

Да все уже всё давно поняли, Олежа)
Отличный обзор, отличная акция! Сцене требовалась небольшая встряска, и вы её предоставили. Если мы так и будем действовать по уютному шаблону, посылая дежурные работы на каждое компо, то все закончится тускло и глухо. Всё правильно сделали, не только сами получили level up, но и подняли планку допустимого и ожидаемого на пати. Нужно иногда раскачивать порочный круг «низкая планка -> мало внимания зрителей -> меньше авторов -> ниже планка», иначе это становится дефолтным ожиданием, и вроде как незачем в следующий раз и стараться.
Мне тоже непонятно негодование в стиле «а как вы посмели оскорбить чувства Авторов» — считаю это временным всплеском воспаленного ЧСВ, которое как раз подобными проектами отлично лечится в конструктивной манере. Слишком много пиетета в отношении автора как бренда, иногда не вредно эти устои аккуратно пошатать.
Из всех интр больше всего нравится бамп.
  • avatar Weiv
  • 1
Спасибо. То есть, для sRGB смешивания двух уровней A и B (выраженных в целых числах 0..255) мы должны:
1) преобразовать оба уровня в линейный RGB:
A1=((A/255+0.055)/1.055)^2.4 * 255
B1=((B/255+0.055)/1.055)^2.4 * 255
2) найти среднее арифметическое линейных уровней
Mix=(A1+B1)/2
3) преобразовать его в sRGB:
sRGBmix = (1.055*(Mix/255)^(1/2.4)-0.055) *255

Или, если немного упростить:
1) A2=((A/255+0.055)/1.055)^2.4
B2=((B/255+0.055)/1.055)^2.4
2) Mix2=(A2+B2)/2
3) sRGBmix = (1.055*(Mix2)^(1/2.4)-0.055) *255

PS. проверил картинки из статьи на мониторе Samsung 931C с TN-film матрицей, и на нем всё совсем не так, как на моем Dell с IPS.
Во-первых, оттенки мерцания и смешиваний не совпадают. Во-вторых, на участках с сеткой идет дикое цветное мерцание.
Ну и в-третьих, для каждой из трех приведенных картинок результаты сравнения разные
1) черно-белая картинка с мерцанием намного ярче и pulsar, и sRGB смешивания
2) для картинки с лицом sRGB ближе к мерцанию
3) а для картинки с пляжем — ближе к мерцанию pulsar.
  • avatar FoxyLab
  • 0
Спасибо!
docs.google.com/spreadsheets/d/1TqRxixaD0JSzrV4FdLxBAFomDkxgT1dOy0HgHvScK94/edit?usp=sharing — пример расчета в xls, который можно забрать себе и попробовать разные значения.
  • avatar Weiv
  • 1
Статья интересная, на моем мониторе полученные в статье оттенки sRGB-смешивания выглядят гораздо ближе к мерцающим, чем у pulsar.

Но вот, пытаясь реализовать sRGB-смешивание в эмуляторе, столкнулся с тем, что собственно алгоритм смешивания и пример из статьи для меня невразумительны. В примере переводится отдельный серый цвет, а я бы хотел понять, как смешиваются два цветовых уровня A и B.

Вот формула смешивания в лоб: Mix:=(A+B)/2

Вот то, как я понял из статьи, должны смешиваться цветовые уровни по sRGB:
A1=A/255 B1=B/255
if A1=0 then A2=0 else A2=A1^(1/2.4)*1.055 — 0.55
if B1=0 then B2=0 else B2=B1^(1/2.4)*1.055 — 0.55
sRGBmix=(A2+B2)/2 *255

Но, судя по получаемым значениям, понял я неправильно. Отсюда у меня два вопроса:
1) как всё-таки правильно смешивать цветовые уровни по sRGB?
2) может ли кто-то из прочитавших статью (кроме автора) ответить на первый вопрос?
  • avatar Shiru
  • 2
Там КР580ВМ80, кастомное видео и звук на мелкой логике и ПЗУ. Конкретно в самолётах 2.5К ПЗУ кода (5 по 512 байт), 1К ОЗУ, графика в 5 ПЗУ по 256-512 байт, для звука ещё одно ПЗУ на 512 байт (но там не данные, а как бы делители частоты). Железо может показывать 4 спрайта (2 самолёта, 2 выстрела) и одну текстовую строку.
  • avatar FoxyLab
  • 0
Очень познавательная статья, спасибо! Интересно, а в игровых автоматах конца 80-х (например, два самолета, управлявшиеся двумя джойстиками, или машинка, объезжающая препятствия и управлявшаяся рулем — у нас такие в клубе военного городка в/ч 25522 стояли) какая была начинка?
  • avatar VBI
  • 2
Отличная находка! Зверь — дичайший, во всех смыслах.
Поздравляю с покорением этого дракона! :)
  • avatar Nuts_
  • 1
Ретро прислал фотку по первой работе, которую он сам сделал, может и вторую тоже пришлет
Любопытно! Реально похоже!
  • avatar Nuts_
  • 0
habr.com/post/421961/
коменты доставляют
  • avatar n1k-o
  • 2
спасибо, Дима, за помощь с «вниканием в детали», сам бы не стал искать какие-то формулировки для этого, а тут как с путеводителем)
  • avatar Nuts_
  • 1
нашелся «исходник» Cliff Sunset by Retro
goo.gl/maps/FCfEmEXE3Xz
Это автостоянка на улице W Cliff Drive в Санта-Крузе
Картинку правильнее было назвать LightHouse Sunset потому что до пляжа Cliff там далековато :)