Если препятствия с углами и нет прямого пути то на первый взгляд кажется что бот должен двигатся по углам. Значит можно представить углы препятствии как вершины графа (бот и игрок тоже вершины) и найти путь от вершины где находится бот до вершины игрока. Пути между вершинами могут иметь стоимость (длинна пути), некоторые пути могут быть заблокированны (например другими ботами исли они там долго будут стоять)