die schatten im level sind eingebacken und nicht dynamisch. die schatten der entities hingegen sind dynamisch(sie bewegen sich ja auch).
Um die dynamischen schatten nach deinen lichtquellen zu richten musst du dynamische lichter benutzen (lightrange und farbe von einer entity setzen)
Du wirst es mit dieser art von schatten nicht erreichen können, dass die physikalisch korrekt sind (z.B. reagieren auf lichtquelle hinter einer wand)
Es gibt auch die möglichkeit die schatten mit hilfe eine post processing shaders zu blurren, sodass sie nicht so harte kanten haben.
In naher zukunft wird es auch (benutzbares) shadowmapping für die engine geben(s. forecast), was zur zeit die standart technik ist, um schatten zu werfen