I have been reading Doom Guy by John Romero. It is an excellent book which I highly recommend. In the ninth chapter, John describes being hit by lightning upon seeing Adaptive Tile Refresh (ATS). That made me realize I never took the time to understand how this crucial piece of tech powers the Commander Keen (CK) series.
During my research I was surprised to learn that ATS only powered the first CK trilogy. The second trilogy turned out to use something far better.
I’ve played all the Commander Keen games as a child over and over again, but being quite young at the time (I’m from 1984, so do the math), it never dawned on me just how much of a technological marvel these games really were.
I’m surprised they didn’t figure this out in commander keen 1 and invented a far more convoluted method originally. I’ve used this method myself and IMHO it’s kind of obvious for people familiar with low level graphics programming from that era. Still it’s fun to go down memory lane!
Some of these techniques were in-use for 8-bit games for a long time before this – similar smooth scrolling techniques were used in C64 games, and especially machines like the NES. Selective tile redrawing was common in NES games, and even multiplexing of sprites. Making it work in EGA of course was new, and I did learn something about the (lack of) bandwidth to writing to VRAM. I assume things like VLB, AGP, and even PCI fixed the need for some of these tricks.