Прекрасное. Было бы интересно посмотреть на всякие классические игровые заставки. Втч какой-нибудь кринж должен получится из заставок, типа PSSST и Atic Attac.
Отличная тема и интересные результаты, спасибо за затаскивание этого всего на спектрум.
  • avatar Vinnny
  • 0
2023 Undefined Winter (18-19 February) photos.app.goo.gl/gfc73XCB6qMRRKjo9
  • avatar nodeus
  • 1
Теперь есть!
  • avatar nyuk
  • 0
Что-то нет ссылки на DiHalt 2023
  • avatar aa-dav
  • 0
Да, игр где были скроллинги по обоим осям и так то было меньше остальных, а чтобы еще и монолитный статус-бар — это был своего рода высший пилотаж и вообще редко обычно в шедеврах. :)
  • avatar Bugrim
  • 0
Блин сижу читаю как в первый раз а уже прокомментировать успел когда то, память совсем дырявая. Я имел виду третью часть, но сейчас сообразил, что все вертикальные уровни не пересекаются с горизонтальными и разделены дверьми. Такая же схема и в Power Blade 2. Только Battletoads and Double Dragon приходит на ум где совмещены оба направления без разрывов.
UPD(20.12.2022) Исходники оптимизированного рендера доступны на GitHub
Ещё одно предложение по спрайтам от Monster^Sage с последующей доводкой introspec
Если коротко то формат спрайта меняется на байт маски+уплотненный байт спрайта, в конверторе генерируем маску зная где у нас прозрачный пиксел а где нет. вывод такой:


pop bc ;берём маску в с и уплотненный байтик в b
ld a, (hl) ;берём байт
and c ;накладываем маску
or b ;орим
ld (hl), a ;кладем в экран


Итого 32т на две точки. По итогу сумасшедшее ускорение от моего первоначального варианта.

Я постараюсь всё это оформляю в отдельный опенсорсный движок-TSU, будет 8 спрайтов против 6 в Ringo, размер вырастет на две линии в высоту и плюс ещё 16 маленьких спрайтов 5х5. Также полностью доступны два нижних бордюра на код игры.
да, часто тоже так хочется )тут или stellar mode или делать широкие пиксели 8х4.
  • avatar PheeL
  • 0
Хотя нет. Написал, а потом уже подумал. Не получится, т.к. у нас по-горизонтали только два возможных цвета. Этот трюк работает только в пределах целого знакоместа. Жаль.
  • avatar PheeL
  • 0
Наверняка уже кто-то предложил, потому что вещь совершенно очевидная, но что если битовую область экранов 0 и 1 замостить «шахматкой». Т.о. можно повысить цветовое разрешение картинки добавив цветовых полутонов. А если бы экраны переключались каждый кадр, то на экран можно 1 поместить такую же «шахматку», но инвертированную и получить, фактически, не сильно моргающий гигаскрин.
Да, в этот раз сначала движок, потом уже стиль под него. Хотя я примерно знаю свои возможности как игрового художника.

Игра расчитана под любой размер монитора/тв, чем больше размер тем дальше отодвигаться надо )
  • avatar TmK
  • 2
Вот это вы сейчас не по правилам сыграли, этож сколько тактов освобождается! Не зря говорят что все гениальное просто :)
Спасибо, всегда интересно почитать статьи из серии how it works и history of making.

Получается ты сначала пробовал накодить движок и уже потом прикидывал стиль игры, графику, геймплей?
Под какой размер монитора/тв расчитана игра?
Проверил, работает )

Вообще я думал про конвертор (всё равно 255 для прозрачности требует в него лезть). Но да, нопы тоже можно пустить в дело, прикольно! :)
Поступило ещё одно шикарное предложение от Monster^Sage, пока ещё не пробовал закодить т.к. по времени плотно, но обязательно попробую и доложусь )

зачем переключать экраны каждые 4 строки? ведь можно это делать каждые 8 строк, по «середине» атрибута ?

MACRO SPRITE_LINE_FAST
pop de : ld a,(hl)
inc e : jp nz,1f
jr 2f
1:
dec e : and b : or e
2:

;17+14+12=43t

inc d : jp nz,1f
jr 2f
1:
dec d : and c : or d
2:
ld (hl),a
;14+12+7=33t
ENDM
; overall: 76t