Thanks for the feedback! I'm glad you enjoyed it. If you're interested in playing again without lag, they let me reupload the Windows build as a bug fix, which shouldn't have the same issues the browser version. The boss fight is on level 6 by the way.
Regarding the minimap, your position should appear as a cyan dot, but I might've made it too small. Additionally, I probably should've explained this in the tutorial, but the gun automatically begins reloads whenever you don't shoot it for 4 seconds, even if it isn't empty. The different difficulty curves are a little strange, but the jump from normal to hard is probably a fair bit bigger than the jump from easy to normal.
I can't seem to find the exact tutorials I used to get the shadows working, but it was a lot easier than I expected:
- Use a Light2D node with a grayscale texture and shadows enabled (they are disabled by default). Then in my tilemap I set the occlusion of wall tiles to be a rectangular shape. If you want shadows on nodes that aren't tilemaps, give them LightOccluder2D child.
- Use a CanvasModulate to set the default color of anything not touched by light. I used fully black, which perfectly balanced the white light emitted from the player.
- For different colored lights, you can change the color property on the Light2D node (this is how I got blue lighting in the boss fight using the same grayscale texture as on the player).
Note that I used Godot 3.5 for this, but I think it's a pretty similar process in Godot 4 if not more streamlined. Also, it's important to have a background that isn't just the environment background, because light has to be cast onto nodes (I just used gray floor tiles that had no collision nor occlusion shapes).