Что такое «хакерство с боковой прокруткой» в старых играх?

Я слышал, что в старых аркадных играх с боковой полосой прокрутки использовался специальный программный прием, позволяющий производить боковую прокрутку с высокой производительностью.

Я понимаю, что несколько лет назад машины не были достаточно мощными, чтобы перерисовывать весь экран каждый кадр, как это делается сейчас. Существуют методы, такие как грязные прямоугольники , которые позволяют минимизировать площадь экрана, необходимую для перерисовки, когда фон неподвижен и движутся только спрайты.

Вышеупомянутый подход работает только тогда, когда фон не изменяется (и, следовательно, большинство пикселей экрана остаются неподвижными).

В играх с вертикальной прокруткой , таких как олдскульные стрелялки, немного сложнее, когда фон меняется каждый кадр из-за прокрутки. Однако можно воспользоваться способом, которым пиксели подаются на дисплей (построчно). Я предполагаю, что можно было бы использовать буфер большего размера и сдвигать указатель данных на несколько строк «вниз» каждый кадр, чтобы он перерисовывался, начиная с другой позиции, создавая впечатление плавной прокрутки. По-прежнему нужно будет перерисовывать только спрайты (и немного фона на краю экрана), что является серьезной оптимизацией.

Однако для игр с боковой прокруткой все не так просто и очевидно. Тем не менее, я знаю, что кто-то где-то в прошлом задумал оптимизацию, которая (с некоторыми ограничениями) позволила старым машинам прокручивать фон по горизонтали, не перерисовывая его каждый кадр.

IIRC он использовался во многих старых играх, в основном в beat'em up 80-х, а также в демосценах.

Можете ли вы описать эту технику и назвать ее автора?

15
задан Bart 31 October 2012 в 15:30
поделиться