It matches the world perfectly, and when I do about 9 raycasts in circle around the characters and average them, I get a smooth response.
I will have to see if performance really is going to be an issue later on. If so, I have some ideas to fix it. One would be to do fewer ray casts each frame, and blend in the new light intensities over a few frames. This would solve the problem of strobing when moving along a shadow border area. I don't get strobing when I do 9 samples, but if I did less, I might.
Another idea would be to prioritize the various characters and not do them all every frame.
Still another idea would be to cache the raycasts from frame to frame, and re-use results from nearby points.
Here is a screen with the good lighting back, and also some blast marks. Note the two blast marks on the arch. One is static, and the other dynamic.
That reminds me, I have to make it so static decals never are deleted when the game runs out of decal space.
Maybe later I'll describe my system for deciding how to replace decals when too many are created at once.