In this version the updates occur synchronously, so if adding an obstacle results in a lot of updates, the pathfinder becomes unresponsive to queries. The new version I've linked to from here only updates a few squares at a time, so continues to be responsive at the cost of sometimes using out of date information to respond.
It's pure LSL. The pathfinding script stores the distance from each point to the exit as 2 hex digits in a string. Agents query the pathfinding script to ask where to move. Squares tell the pathfinding script that they've become an obstacle when they're clicked on. The pathfinding sets the distance from the obstacle to FF and then updates the squares around it. If any of these squares are updated, the update region expands and more squares are updated.
Hehe cool making man TOP
Yorty111 1 year ago
In this version the updates occur synchronously, so if adding an obstacle results in a lot of updates, the pathfinder becomes unresponsive to queries. The new version I've linked to from here only updates a few squares at a time, so continues to be responsive at the cost of sometimes using out of date information to respond.
JimPurbrick 4 years ago
It's pure LSL. The pathfinding script stores the distance from each point to the exit as 2 hex digits in a string. Agents query the pathfinding script to ask where to move. Squares tell the pathfinding script that they've become an obstacle when they're clicked on. The pathfinding sets the distance from the obstacle to FF and then updates the squares around it. If any of these squares are updated, the update region expands and more squares are updated.
JimPurbrick 4 years ago
Very cool demo. A* or something else? And is this pure LSL or does it call out to a separate server?
jhurliman 4 years ago