Smooth Scrolling Fixed! Now my collision checker needs updating, gahhh!

So, tonight, I fixed up my scrolling code, it turns out I wasn’t too far out with what I had done before a few nights ago, but little bits of code logic were incorrect and, after I noticed that my main issue was that my test level length wasn’t divisible by 32, which was causing the second scrolling loop to become maligned by 4 rows each time through, the rest came together pretty easily.

Now that’s working though, I’ve bugged out my rather basic background collision routine, which now needs to sync up with the scrolling background rather than simply integer divide the y position.

Basically, it needs an offset or two to get working again, which should be okay, as long as it accounts well for overflows should they occur, that’s for tomorrow though now.

Background collisions and more visual debugging #1GAM

BKG Layer Collision in GBDKYay! Turns out it wasn’t too tough to get the collision working there, man, does visual feedback help out a shit ton with coding, I’m loving all the features in BGB, A really great Gameboy Emulator, they really help me out here.

So yeah, hopefully, that GIF will animate and you’ll see the friction applied to the car when it goes off-track. Simple stuff but hey, it’s working well and fairly quickly (I’ve got around 90% of CPU left per frame when the debugging is removed and roughly 70% with debug info being output every frame (not optimal, I know)

I’m going to need some animation frame for the car at some point, so it can at least have some appearance of turning, maybe 2 frames of animation. I can get away with only 8 tiles for that with sprite flipping, which is going to prove to be a great bonus when I get around to sparks and explosions further along the month!

Soo, yeah, next up animation frames and making other collision objects stop the car / explode it into tiny pieces, ohh rahh!

Before I sign off on this update, I should note some other systems I’ll put in ,obvoius control schemes for controlling using A and B for gas and brakes, with the D-Pad for steering, pressing up could use some sorta Turbo maybe. That would be pretty cool to figure out.

There’s still Scrolling, Music, SFX and maybe some rudimentary homing A.I. to add here, but I think the code loops should be tight enough to keep the gameboys 60fps with some cunning compression, I could make some super long levels also.

#1GAM Racing game on the Gameboy – Day 3

A few more developments on the racing game were begun tonight and a change of focus seemed to serve me well for once.

I was having a few issues with the background layer scrolling new tile row correctly last night and they were still occurring today so I just commented out the scrolling code for the moment and instead started on some quick sprites and getting some debug info to help me determine which tiles the car is colliding with currently, all whilst keeping variable usage down (so yeah, I’m reusing variables inside loops more now, yay RAM efficiency!)

Nothing too tough tonight but it’s good to have some more data and in-game debugging more of a possibility!

I’ll probably use the white lines as restore points should you explode off-track. They’ll need regular spacing, but that shouldn’t be too tough to sort out tomorrow perhaps? Updated screeny below, with sprites and X ‘n’ Y coordinates in the window (first 3 characters per line).

Racing game sprites and in-game debugging