implemented and cleaned up shadowcasting FOV code from Python example on RogueBasin(http://www.roguebasin.com/index.php?title=PythonShadowcastingImplementation)