I looked at your code. Looks like there is a lot of AI generation going on there but I'll still weigh in.
Firstly background.gd - you're instantiating all those dark and light grey cubes and then offsetting their location each frame. That's _one_ way to do it, but it seems complex. Godot gives us a bunch of ways to achieve that effect. You could use a repeating texture on a canvas with a scroll script, and given that simple pattern the image only needs to be 2x2 squares wide so quite small. You could rig it all up by hand in the editor, and these days I tend to do that more and more - you can add an animation player, keyframe the background and set the animation to loop.
I was specifically interested in how you made the numbers jump out because that's an effect that is used heavily in juicing up games. I tend to use tweens for this but I don't _really_ like them, and I also lean towards animating frame by frame in code. Your approach is tidy, breaking each vector of animation out into functions that you call in order each frame.
For the health bar itself you've found the ColourRect node and are playing with it which is cool, but once you are comfortable with the basics you should look into the things that Godot has already built. I did a similar health bar recently using two ProgressBars which gives easier access to styling and theming.
Mainly I just wanted to stop in and say, "hey that looks cool". Good idea just building a single prototype and not shackling yourself to an entire game project.