SIGHT & LIGHT – How to create 2D visibility/shadow effects for your game