Shadows are one of those graphical aspects that only get noticed when they're not there. It's like we're so used to seeing shadows to give a perception of depth, that when they're not shown, graphics look flat and artificial.
With that in mind, I've started writing my "shadow algorythm", which sounds a lot more grand than it really is, but never-the-less is slightly more complicated than I thought it would be. I originally thought it was a simple case of adding a "parallelogram" shadow shape to the side and top of all "wall"-type squares, but this doesn't take into account all the possible combinations of walls. The image below will show you what I mean, but I've got a fair bit of work left to do on this.
You'll need to zoom in to see the shadows; they are the grey bits next to the walls.