changed to a Sonic-style ball jump. makes it easier to add all kinds of mechanics. βšͺπŸ’¨

it looks better too in my opinion. what do you think?

#GameBoy #GameDev #PixelArt #RetroGaming #Nintendo #ProjectWhiskers

new map screen. gives a good sense of what the size of the world will be. πŸ—ΊοΈ

the unvisited tile looks a bit like Tetris blocks. may change it later...

#GameBoy #GameDev #PixelArt #RetroGaming #Nintendo #ProjectWhiskers

the minimap now shows room exits. so you can see the path you've traced. only for visited rooms, so it doesn't give away any secret exits. :)

this was a lot of work... the room exit directions are generated into some spare bits of the world data at compile time.

it's still very slow, but haven't looked at optimisations yet. maybe I'll keep it this way and create a scroll unroll effect instead? πŸ“œ

#GameBoy #GameDev #PixelArt #RetroGaming #Nintendo #ProjectWhiskers

got a bit carried away with this one... πŸƒπŸ±βœ¨πŸ“œ

toggling the leaves at certain y-values makes it seem like they go behind the popup. the animation adds to the effect. :)

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

I want to improve the room draw time.

because of the limited ROM size only the bump map is stored and the room is decorated when switching rooms.

however this has a noticable delay (~20 frames). found this interrupt snippet so I can print how many frames were dropped and I can measure progress. πŸ‘

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

alright! got about 25% speed improvement! πŸ’ͺ

there's a small bug, but too tired to fix that now...

the screen transition already feels better. need to iterate over 360 tiles, so I would be happy to get it close to 10 frames...

then I might load the next room in chunks in the leftover processing time as you're walking towards it and make it feel instant. 🀯

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

11! πŸ₯³

it's very smooth now, will post a before/after recording later. :)

lessons: was using a modulo-% somewhere. removed many function calls inline and simplified the calculations. moved stuff out of loops that didn't have to be recalculated.

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

7! πŸ™ƒ

had some redundant index/row/col calculations, and removed their reliance on non-powers-of-2 multiplications.

didn't think I could get it below 10. :D

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

@hbons I don’t understand much of game dev but would this game theoretically run on a physical game boy? And which programming language are/were used to develop game boy games back then?

@lontrachen yes, already got it running on real hardware. :)

back then it was done in assembly, but I think they also used C at the end.

I'm using C, but you need to be really careful about how it translates to assembly to not make it too slow. it's kind of fun!

https://mastodon.social/@hbons/110730683061192892

@hbons Ah, ok. Very nice! I was reading a bit about ROMs and emulation and started wondering about it.
@lontrachen I'm using the SameBoy emulator for development. it's super accurate. only pop it into the real GB sometimes to check the colours.
@hbons I'll take a look on that. I'm more interested in decompiling a game and seeing how it works on the inside. But I assume it would be more assembly?