Em vez de resolver o seu problema, aqui está uma maneira de pegar os limões e fazer limonada.
Muitos anos atrás, um amigo meu estava trabalhando em um FPS muito conhecido, que tinha precisamente o problema que você descreve: uma área restrita teria vários caracteres de IA que tinham determinadas posições desejadas, e o algoritmo de localização de caminhos os esbarrava constantemente. um no outro. Em particular, o jogador, por exemplo, jogaria uma granada em uma pequena sala cheia de inimigos, e os personagens da IA na área tentariam correr para a saída, mas se chocariam e acabariam parando, virando, bater em alguém, dar a volta e assim por diante. Isso parece muito irreal.
Tentativas de criar um algoritmo melhor de busca de caminhos que pudesse ser executado com êxito, devido ao orçamento computacional apertado, falhou. Então, em vez de resolver o problema de busca de caminhos, meu amigo adicionou um cheque muito barato à IA: se uma IA colidiu com outra AI duas vezes em um curto período de tempo, pare de tentar encontrar a saída e se proteja. Então agora o que acontece é que o PC joga a granada e vê um monte de inimigos correndo pelas saídas. Aqueles que se batem, se viram, e parece que eles percebem que não podem sair, então eles abaixam e cobrem a cabeça antes de explodir. Isso é realista e altamente satisfatório para o jogador.
Existe alguma maneira semelhante de transformar a desvantagem do seu algoritmo de produção de colisões e transformá-lo em uma vantagem?