The guy you controll is actually on a 2d canvas (where the shadows are)
so its basically a 2d game from this perspective.

But the 2D world is generated by the shadows (objects and angle
of light) of the 3D world.
What you need to be able to do is determine where on the wall
(the 2D gamecanvas) there is light, and where is shadow.

I guess he can directly extract that information out of the
rendered texture (shadows) of the wall in the back.
In gamestudio you could do this for example also
(workaorund)
by using a lot of traces from the light to the wall for a "internal" shadow.
-or by directly grabbing that info from the shadow-shader