Field of View algorithm for a roguelike game