Цитата Сообщение от svofski Посмотреть сообщение
Я к тому, что может быть просто рисовать как рисуется и все, не думать пока о мелочах. Нормально обогнать луч тяжело. Ты еще устанешь от этого, а потом переделаешь что-то в игре и все придется заново придумывать.

Meanwhile, такая безумная идея -- что если пожертвовать 8К для слоя маски? На самом деле меньше, потому что не весь экран ведь задействован. Жирно конечно, но открываются дополнительные возможности пятачка

Назовем его слой Ъ. Вначалѣ Ъ пустъ.

Кадр 1.

Затираем группу спрайтов 1 в предыдущей позиции. Затираем только те биты, которые не установлены на соответствующем месте в слое Ъ (в первом кадре это все биты)
Рисуем группу спрайтов 1 в новой позиции и OR-им маску в слой Ъ.

Кадр 2.

Затираем группу спрайтов 2 в предыдущей позиции. Затираем только те биты, которые не установлены на соотв. месте в слое Ъ (тут мы обходим стороной то, что было отрисовано в первом кадре)
Рисуем группу спрайтов 2 в новой позиции и OR-им маску в слой Ъ.

... так продолжается столько, сколько предусмотрено промежуточных фаз ...

Кадр X межфазный. Чистим слой Ъ и все начинается сначала.

Интересно. Если я правильно понимаю, то если чистить слой ъ целиком, то спрайты в кадрах 2,3 и остальных межфазных кадрах потеряют возможность быть корректно сбленджеными так как при новой фазе могут быть стёрты. Или я что-то упустил?

- - - Добавлено - - -

Цитата Сообщение от jerri Посмотреть сообщение
ага дельта тайминг. разумно.
Но я обычно вешаю обработку на прерывание.

8к много - столько не нужно.
используй блоки 8*8 для маркировки освежения местности.
В прерывании держать апдейт для меня означает что я не смогу ничего нарисовать когда луч вверху экрана в области бордюра.
Сейчас обработчик выполняется в середине кадра. В начале кадра рисуется то что в нижних позициях, а после апдейта рисуется то что нужно в верхних позициях. Таким образом я избавляюсь от пересечения с лучем.

- - - Добавлено - - -

По поводу моего метода разделения области отрисовки на 4 вертикальные области.
svofski, да, ты прав что спрайты могут скучковаться в одной области. Но для меня будет ок такие случаи имхо. На msx и nes тоже есть подобное ограничение. Спрайты начинают моргать. Если не получится это излечить, то думаю это ок.