Thats mostly because I'm using a very simple algorithm for shadowing at the moment. The problem lays at how you draw shadowmaps in 3d-games.
Think of it as putting a second camera up into the sky where the sun is and rendering the sceneto another buffer, texture, image or whatever youwant to call it. That image is mostly of resolutions like 1024x1024 or 2048x2048 or something higher.
The point is: It stores the needed depth-values from the perspective of the sun into the pixels.
So what happens when you zoom out in a 3D-Game? The objects in the back of the scene are getting smaller, and use less pixels on your screen.
If you upscale that, which is what the shadow-draw-distance is basically doing, you get blocky artifacts.
There are algorithms which reduce this issue, like using multiple shadowmaps for different draw distances to get better resolution at the
front.
I'm planning on implementing such an algorithm, so that will help
