Thursday Turn Out - 01/08/2026
I have an hour-long commute to and from work every morning. Those two hours are spent listening to podcasts and occasionally thinking my way through coding problems. Such was the case Tuesday morning, when I was trying to figure out why my “infinite scrolling” code wasn’t working.
The Place Just Beneath (Just Beneath the Holler’s version of A Link to the Past’s Dark World) is meant to feel alien: part of that feeling comes from the fact that it’s a continuous surface. Think of how the world map in old Final Fantasy games would circle back, left-to-right and top-to-bottom, and you get the idea.
The trick to the infinite scrolling technique is that I created a map, then copied it on the top, bottom, sides, and corners. Then, I used four one-pixel-wide Area2Ds (with their corresponding CollisionShape2Ds) to create a bounding box around the original map. Each box would “teleport” Zel to the other side of the map. It worked the last time I did it, but it was jittery during the teleport: Zel would skip a few pixels. It wasn’t terrible, but it wasn’t perfect.
I’d only planned to add the scene for the Place Just Beneath, along with its nodes, signals, and scripts, and come back to it next week to fix. But on the drive to work Tuesday morning, I began thinking about where the bounding boxes should be, and where Zel should teleport. I’ll save the details for Sunday, but I broke out the graph paper as soon as I got to work and wrote this:

I edited the CollisionShape2Ds and code during my lunch break, and now the looping is seamless and without jitter. I guess that makes me a little ahead of where I thought I’d be. Neat.
Just don’t get used to it.
Now that the week’s coding problem is finished, I can devote the rest of the week to adding to, and polishing, “Silver and Gossamer”. Maybe that’ll be just as easy?
Sure, why not?
See you Sunday! Which would be a whole lot easier if you subscribed!