Recently encountered this path finding problem while doing a role play. I use the Godot engine and the course with A * and small cells. I've also been looking for another algorithm or another technique, like flowfield or navmesh, but it seems to me that A * with small cells is an easier approach. In order to avoid obstacles such as teammates or enemies looking for a specific target in a fight, I update the weight in A * points, as every 0.5 seconds when a unit is standing or not, using a ray scattering system to detect an obstacle and a new trajectory. problem below:
- narrow pass. if two units are close and there is a narrow passage
between the A * would return the way through the narrow square
which is impossible to overcome because of the collision.
- path search with volume. this would allow an agent of different size to
navigate. but this may require changing the code A *. If can path
find with the volume the first problem could be solved. the
Workaround to the 1st problem that I think could be detect narrow ones
pass at the time of execution and update the weight. I do not know if it's a good
- the Vector3 Vector position to the grid, sometimes if the position of two units is
convert to the same grid the return path by A * would be blocked
especially in the crowds, think that a small network can solve this problem
Overall, I feel that my implementation is a bug and not a good practice, checks some games that direct artificial intelligence, they seem to have rules such as when units form a formation, extinguish the collision or push another unit to engage an enemy, do not know if or how they do it with volume and the impression that if changing these rules, like turning off the collision, would need to change other codes, like for example to avoid overlap. I am now quite confused as to how to achieve a solid pathogenic AI, and not for a large group of people, which may be excessive for an RPG game.