I can only think up an A* algorithm that uses path nodes for 1 entity. If I were to expand on this by increasing the number of active entities within a set world boundary, there will be many different A* algorithm generated paths for the entities to follow. Each path then will have to share the same nodes within the world, otherwise all the entities must wait until the active entity finishes its path, clears its path nodes, and it's the other's turn to start walking the other entity's own path.
I'm trying to solve the problem where two paths share some common path nodes. I can't have one node of one path have a parent of another node of another path; in other words, I can't have two path nodes have their parents intertwined together, otherwise it would be catastrophic, but much less than more than 2 entities active.
I could make one entity move until the entity reaches its target, wipe the path nodes in the world clean, then recalculate a new A* path for the other entity, but that wouldn't be realistic. I have also thought upon having the A* algorithm be embedded inside the entity structure, but the path nodes problem easily hinders this.
How do you solve this? Or in other words, how do I solve the problem of sharing same path nodes for different A* paths?