Let's talk about scrolling

In Lore of the Ember, the camera follows Alaric everywhere, the world scrolls around him, and if that scrolling catches, hops or shakes, the whole game takes on a wonky air, even when everything else is polished.

That is why I have spent a lot of time on this detail. Smooth movement is what lets you sink fully into the game, until all you see is the character and the world around him. That is exactly the effect I'm after.

Two families of machines

Lore of the Ember is made for Atari, and Atari released several models over the years. For our purposes here there are two big families: the STf and the STe, its slightly beefier version.

The difference comes down to two small things the STe has and the STf does not. The first is hardware scroll: the STe can shift the displayed image on its own, smoothly, without the game having to redraw anything. The second is the blitter, a dedicated chip that copies pieces of image at high speed, far faster than the processor would. On the STf, neither: it's the processor, and therefore my program, that has to do everything.

I was determined that Lore of the Ember should run well on both. There is no way I'm reserving the game for the STe and leaving out everyone who stayed on an STf.

On the STe, I lean on the machine

On the STe, I let the hardware work for me. The hardware scroll moves the scenery smoothly, the camera sticks to the hero, and the world unrolls without a single snag. Meanwhile, the blitter draws the characters and the animated elements.

The small improvement I'm happiest with is recent: instead of starting the blitter and then waiting for it to finish, I now let it draw while the processor is already preparing what comes next. The two advance at the same time. I put that scavenged time to use: more enemies on screen at once, headroom for the second player, without the movement losing a scrap of its smoothness.

That is the version I show first, because it's where Lore of the Ember is closest to what I have in mind: a smooth walk through a world going bad, where nothing breaks the immersion.

Scrolling on the STe: the scenery moves pixel by pixel.

On the STf, I do everything by hand

On the STf I have neither of those safety nets. No hardware scroll: every small step of the scenery is an entire image my program has to redraw, shifted, by hand. No blitter either: the processor alone carries the weight of everything moving on screen. The classic trap is to end up with choppy scrolling that lurches forward.

That is where the real challenge was: getting scrolling on the STf that is steady and pleasant, that never feels like a limited game or a cut-price version. I turned the problem over every which way so that the movement stays constant, without stutter, from the beginning to the end of a move. Today it rolls, and I'm proud of it: that is what makes all the difference with a joystick in hand.

Scrolling on the STf: everything is recomputed, and it stays steady.

What comes next

The movement is in place and smooth on both sides. The next step is to put it in other players' hands and see whether this scroll produces the right effect: sinking fully into the game.

To see where the game is at, see the homepage.