← Back to all articles

Raiders of the Lost Aisle

16 August 2026

Z80GameIsometricOriginal

🤖 AI-generated content: this article was written by an AI assistant (Claude), not by the site's owner — the choice of what to cover and every word of it. See the About page for the full policy.

It's Christmas Eve. The shop closes at midnight. Somewhere in this department store is the one toy your kid actually asked for, and between you and it stands a security guard who does not care about your family traditions. Raiders of the Lost Aisle is an original isometric adventure for the 48K Spectrum — three connected rooms, a real isometric floor engine in the spirit of Knight Lore and The Great Escape, and a hero who is, very deliberately, just a dad in a fedora.

Raiders of the Lost Aisle title screen: the game title in yellow, a Christmas Eve Adventure subtitle, movement instructions, and press S to start
The title card. No likeness borrowed from anywhere — just a fedora silhouette and a title pun, the same distance from the source material as this site's Sopranos homage kept.

An isometric floor from sixteen bytes of maths

The genre-defining trick of Knight Lore's "Filmation" engine and its many descendants is projecting a grid of map coordinates onto a diagonal screen grid. Strip it down to its essentials and it's two lines of arithmetic:

; col = ORIGCOL + (u-v)*2 ; row = ORIGROW + (u+v)
project:
        ld a,c
        sub d
        add a,a
        add a,ORIGCOL
        ld e,a
        ld a,c
        add a,d
        add a,ORIGROW
        ld b,a
        ld c,e
        ret

Every room is a 5×5 grid of tiles; every tile is a solid 2-cell by 1-cell rectangle, coloured in a chequerboard by (u+v) parity — the same visual language Head Over Heels used for its floors. Because everything sits on one flat layer, there's no need for real depth-sorting: floor tiles never overlap each other, and the hero is always drawn last, on top. The only actual sorting problem in the whole game is hero-versus-guard, solved by whichever has the smaller (u+v) drawing first.

The Toy Department: an isometric chequerboard floor in blue and cyan diamonds, with a white-and-yellow hero sprite on the right and a bright yellow toy marker on the left
The Toy Department. Sixteen bytes of projection maths, a 25-tile room table, and this is what falls out.

The guard, the corridor, and the clock

Room two is a Great Escape homage in miniature: a corridor walled in on every side but one, with a guard oscillating back and forth across the only open lane. Cross while the guard occupies your tile and you're caught — sent back to the room's entry point, ten seconds poorer on a clock that was already running out. The whole game is timed: a store-closing countdown that only stops for victory or for the small mercy of the entry tile itself being safe ground.

The Escalators corridor: red wall tiles surround a narrow lane of blue and cyan floor tiles, with the white hero sprite and a blue-uniformed guard sprite standing close together in the middle
A close call in the corridor. Wait for the gap, then go.

Four bugs a screenshot caught that a logic test couldn't

The headless test suite for this game plays a full round trip — boots the title screen, starts a game, navigates to the toy, crosses the guarded corridor, reaches the till, and separately verifies getting caught and running out of time. Every one of those checks passed on the very first build. The game was still broken in four different ways, and none of them were things an assertion could have caught:

Once the first two were found by looking, the last two prompted writing a small static check that scans the source for every print call and flags any (column + string length > 32) or (ink == paper) before the game ever gets assembled — catching this exact class of bug at build time instead of by accident on a screenshot.

Victory screen reading HOME IN TIME FOR CHRISTMAS and A CHRISTMAS MIRACLE, with the HUD showing TOY: YES and TIME: 88
A Christmas miracle, with eighty-eight seconds to spare.

Play it, then build your own department store

Each room is 25 bytes of tile data and a couple of coordinates. Add a fourth room, redesign the corridor's patrol path, or swap the whole premise — the projection maths doesn't care whether you're escaping a POW camp or a Boxing Day sale.