Прекрасное. Было бы интересно посмотреть на всякие классические игровые заставки. Втч какой-нибудь кринж должен получится из заставок, типа PSSST и Atic Attac.
Да, игр где были скроллинги по обоим осям и так то было меньше остальных, а чтобы еще и монолитный статус-бар — это был своего рода высший пилотаж и вообще редко обычно в шедеврах. :)
Блин сижу читаю как в первый раз а уже прокомментировать успел когда то, память совсем дырявая. Я имел виду третью часть, но сейчас сообразил, что все вертикальные уровни не пересекаются с горизонтальными и разделены дверьми. Такая же схема и в Power Blade 2. Только Battletoads and Double Dragon приходит на ум где совмещены оба направления без разрывов.
Ещё одно предложение по спрайтам от Monster^Sage с последующей доводкой introspec
Если коротко то формат спрайта меняется на байт маски+уплотненный байт спрайта, в конверторе генерируем маску зная где у нас прозрачный пиксел а где нет. вывод такой:
pop bc ;берём маску в с и уплотненный байтик в b
ld a, (hl) ;берём байт
and c ;накладываем маску
or b ;орим
ld (hl), a ;кладем в экран
Итого 32т на две точки. По итогу сумасшедшее ускорение от моего первоначального варианта.
Я постараюсь всё это оформляю в отдельный опенсорсный движок-TSU, будет 8 спрайтов против 6 в Ringo, размер вырастет на две линии в высоту и плюс ещё 16 маленьких спрайтов 5х5. Также полностью доступны два нижних бордюра на код игры.
Хотя нет. Написал, а потом уже подумал. Не получится, т.к. у нас по-горизонтали только два возможных цвета. Этот трюк работает только в пределах целого знакоместа. Жаль.
Наверняка уже кто-то предложил, потому что вещь совершенно очевидная, но что если битовую область экранов 0 и 1 замостить «шахматкой». Т.о. можно повысить цветовое разрешение картинки добавив цветовых полутонов. А если бы экраны переключались каждый кадр, то на экран можно 1 поместить такую же «шахматку», но инвертированную и получить, фактически, не сильно моргающий гигаскрин.
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
Если коротко то формат спрайта меняется на байт маски+уплотненный байт спрайта, в конверторе генерируем маску зная где у нас прозрачный пиксел а где нет. вывод такой:
Итого 32т на две точки. По итогу сумасшедшее ускорение от моего первоначального варианта.
Я постараюсь всё это оформляю в отдельный опенсорсный движок-TSU, будет 8 спрайтов против 6 в Ringo, размер вырастет на две линии в высоту и плюс ещё 16 маленьких спрайтов 5х5. Также полностью доступны два нижних бордюра на код игры.
Игра расчитана под любой размер монитора/тв, чем больше размер тем дальше отодвигаться надо )
Получается ты сначала пробовал накодить движок и уже потом прикидывал стиль игры, графику, геймплей?
Под какой размер монитора/тв расчитана игра?