Post-mortem.
Well, this is pretty much what I learnt:
NEVER EVER IMPLEMENT SCROLLING DURING THE COMPO EVER AGAIN.
I basically had 6 hours to make a game. Totally reusing this engine for next time, so I’ll have the whole 48, instead of spending a whole day on the bloody scrolling.
But aside from a few last-minute hacks, it’s a fairly solid engine. It maintains a linked list of all entities, allows for adding and removing said entries, has a roughly O(n^2) collision detection method, scrolls a 128×128-tile (64×64-chunk) virtual playfield in a 64×64-tile VDP playfield (I hope to extend this to double the size in each direction), has slopes (I COULD NOT RELEASE THIS WITHOUT SLOPES THAT WOULD BE WRONG), and that’s pretty much it.
Oh yeah, I pretty much spammed twitter during the compo. I cannot guarantee the whole lot will make sense.

So there we go!
Yes, scrolling was the hardest part for me too – even though I don’t need to load anything because everything is in memory. It was about 5 hours including the 2 hour bug hunting…