If thats the case occurs whereby the actual goal hasn’t been reached and there are no valid paths, then increase the search diameter…
Age of Methodology introduces the idea of “uni weights” whereby the units are infact allowed to overlap (very slightly), but the unit with the lesser weight during a collision moves out of the way. I suppose the weight is dynamically calculated by the number of units selected, formation, how hard it is for the unit to move (cannon VS soldier)…etc
You could always treat the local lines that intersect with the current diameter of search as “rays” and collide those rays with the rays from the current target, where a point of collision occurs, then recalculate the path for that “ray” (i.e. put a kink in that ray making it two rays or something…). If there is no way around that (i.e going through a valley or a door way), then recalculate for the rays that are before and after the current ray…etc.
IMO, this looks more natural as you can see the object coming towards you, you know your going to hit it, but you only alter the path of movement until you actually collide with the object! Give the dudes some intelligence, they can clearly see a cannon coming towards them, so move out of the way before the cannon hits you…
DP