- Home /
Characters contending for same position
I'm using the Arongranberg's A* pathfinding project to move my characters. However, it appears that my characters are contending for a position on the terrain when they are told to move together to a same position.
For example, I have 5 characters being told to move to PositionA
. They will move together based on their waypoints to PositionA
. One of the characters, call it CharacterA
, will reach PositionA
before the rest. Now, the other 4 characters who arrived later will continue to keep walking and "sliding" around CharacterA
. They seem to stop only when CharacterA
moves away from PositionA
so that they could reach their destination to break out of the loop. Even so, only one character can be in PositionA
while the rest will continue to contend for the place.
How can I get the characters and objects to know that they have reached their destination and should stop beside the other characters instead of contending for the same place?
Answer by iwaldrop · Mar 26, 2013 at 12:32 AM
One thing you could do is to break out of the loop if one of your characters collides with the other within a certain radius of the target position. This way all of your characters will end up within x meters from your target, but won't endlessly bump up against each other until they do.
There are a lot of other ways to stop units from moving as well, but the basic idea is that you setup conditions that you check periodically (or each frame) in order to break the movement loop! Basically, just check one flag in your movement loop and use various other conditionals to set that flag to false if the 'break loop' condition is met.