Pathfinding Events Change

About the 6th of September Maestro Linden updated the Pathfinding Events. See the Wiki page: Event path_update. I hadn’t looked at the page for some time. So, I had not noticed until now.

Events are triggers for scripts. They are sort of thing that says: this just happened. You then have a chance to have the script do something in response. The Pathfinding events now include these things:

  1. PU_SLOWDOWN_DISTANCE_REACHED
  2. PU_GOAL_REACHED
  3. PU_FAILURE_INVALID_START
  4. PU_FAILURE_INVALID_GOAL
  5. PU_FAILURE_UNREACHABLE
  6. PU_FAILURE_TARGET_GONE
  7. PU_FAILURE_NO_VALID_DESTINATION
  8. PU_EVADE_HIDDEN
  9. PU_EVADE_SPOTTED
  10. PU_FAILURE_NO_NAVMESH
  11. PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED
  12. PU_FAILURE_PARCEL_UNREACHABLE
  13. PU_FAILURE_OTHER

The green items are new.

Being able to detect when a region has disabled Pathfinding allows the scripter to move the character out of the area and restart it. That will stop PF Characters from piling up at the borders of disabled regions.

When I looked at the page the links from these items had not been added yet. So, we don’t have detailed information on each event. For instance at what distance does PU_SLOWDOWN_DISTANCE_REACHED trigger? Can one set the distance?

Eventually the pages will get written and appear. Until then we’ll just have to go with the short descriptions provided on the path_update page.

 

Pathfinding Update Week 38

Yesterday late in the day Lorca Linden made a post about Pathfinding (PF) in the SL Forum. You can see it here: Pathfinding FAQ.

Pathfinding

Included in the information is the estimate that the Pathfinding Tools will be in the release viewer by the end of September. The release delay has been due to a viewer memory leak issue that has delayed all viewer releases. The leak is not in the PF code. But, the PF code is in the batch of updates with the leaky code. They are currently trying to separate the PF code from the other code and get the PF Tools released.

Read more

#SL Pathfinding Update Week 35

It seems some viewer problems are holding up the Pathfinding Project’s formal release into Second Life™. Along with that are some server side problems too. But, the viewer is the main hang up.

A World with Critters

If you have been using the LL Development Viewer, you know it is horrible. Of course it is the job of a development version to reveal problems and it certainly is doing that. The problems are not really related to Pathfinding or the Pathfinding tools. But, a decision to allow the PF Tools and a number of other viewer changes to be rolled together means they are now stuck going through QA together. It seems we are past the point of no-return for that ship.

Read more

Scripting News Week 34

Working with Pathfinding I’ve needed to do some things I don’t normally do. Basically I avoid doing rotations as much as possible because I just have not gotten my brain around idea of Euler-Quaternion and why gimbal lock is a problem.

The new task I needed to accomplish is how to get my Pathfinding AI Character to look at someone in the area. We have lots of new functions that can be used to assist with that.

My Pathfinding Character

I looked at llLookAt(). This function points the positive Z-axis toward an agent or object. That creates an immediate problem because the llCreateCharacter() points the Z-axis up. I think one can rotate the Character to make the Z-axis horizontal, but that doesn’t work for my character that needs to be taller than it is wide.

Read more

Pathfinding Costs

This posting showed up on the SL forum:

BlackMagi Darkwatch wrote:

So, I created a simple character using the new LL pathfinding functions and watched it merrily wander around – I won’t be leaving the object out though as my simple 1 prim cube had a LE of 15!  Not sure if the LE values are going to tweaked – I do hope so as I feel that is way too costly. 


All pathfinding characters have a fixed physics weight of 15. Adding prims will not cause this weight to go up and the weight is not affected by the physics shape type parameter. Streaming and script costs are computed are for any other object and the total land impact remains the max of all weights. So yes, a simple 1 prim cube has a LI of 15, but a much more complex character may still only have a LI of 15 (unless dominated by streaming or scripts, in which case the physics weight is irrelevant).

Falcon Linden

So, there is a surprising cost to the AI Characters. At least it surprised me.

The Lindens have been gearing the SL system to associate costs with the resources used. From outside the Lab we have no way to know if the cost is equitable or not. Fortunately SL runs from a free market and users are free to use AI Characters or not. That won’t make the entitlement folks happy, but that’s life.

Adding Prims to Control Navmesh – Click Enlarge

I have a 2-prim and 1-sculpty AI Character. My edit panel shows it as 1 object and 3 Land Impact. I can’t get the More Info to show the Physics cost. That is probably and issue with the development viewer.

Read more

Pathfinding Meeting Week 32

Thursday we had a meeting with Lorca, Falcon, and Stinson Linden. We got some questions answered. Motor Loon had a good whine about Pathfinding, the keyword being good.

Performance

The Lindens have a couple of days of stats to look at now. The result is the average performance of the grid has not changed. This means that while most regions are NOT optimized, they are not pulling down performance.

Pathfinding User Group

The Process

Falcon pulled up the Pathfinding code and explained what the code is doing in English. What he said follows.

Read more