The squash on the square was actually really simple, how it works is that it has a node that is a child of the player and this node is the parent of the square sprite, this way it can be rotated freely towards the movement direction and I can set the global rotation of the sprite to 0 so it doesn't rotate with the parent. Then it's just a matter of scaling this object to some ratio (I think I used 0.75x1.25). As for the lighting it's actually really simple, it's called Bloom and it's a post processing effect, in Godot it's in the environment node and in Unity under the Postprocessing object. Now generally bloom is made for existing lights to make them glow more and somewhat replicate the real life experience of looking at a bright light, but if you decrease the bloom treshold then everything with enough brightness on the texture will become slightly emissive.