Как лучше искать путь среди окружностей?
Достаточно легко доказать что пути будут лежать по общим касательным и дугам между точек касания для непроходимых сфер. Можно строить динамический граф и использовать A*.
C тормозящими кругами может быть сложнее. Если они не могут пересекаться с препятствиями, то их выгоднее обходить по дуге, которая не более чем в pi/2 (~1.5) длинее хорды.
Если могут, то если аналитическое решение найти трудно, я бы добавил несколько точек на границе медленных зон в граф и искал приближенное решение.
Про непроходимые круги: https://redblobgames.github.io/circular-obstacle-p...
- Окружности не постоянны, т.е. могут возникать или исчезать со временем
Возможны варианты что окружность может возникнуть вокруг персонажа, и он вообще не сможет двигаться?
Или группа окружностей создадут вокруг персонажа непроходимый контур?