Как реализовать НЕ рентгеновское зрение «врагов» в игре?
Не нужно ничего вырезать. 
Берёте все ключевые точки в области видимости (врагов, друзей, лут, ещё что-то) и проверяете есть ли препятствия на линии между ними и ботом. Т.е. проверяете, пересекает ли линия какое-либо препятствие. Если пересекает, то бот точку не видит.
Мне кажется, что вам нужно нужно научиться вырезать один многоугольник из другого. Сначала у вас есть треугольник. Берем первую стену, которая есть в треугольнике. Пусть это будет отрезок. Отрезок закрывает некоторую область для противника (понятно какую, да?) Вот эту область нужно вычесть из треугольника. Дальше берем следующую стену внутри видимой области и снова вычитаем из нее т.д.
По сути нужны две операции. Определить, пересекаются ли отрезок и многоугольник, и научиться вычитать один многоугольник из другого. Вот, может, эта библиотека поможет: https://pypi.python.org/pypi/Shapely
В любом случае рекомендую искать готовое решение.