Pathfinding Update Week 24

We are getting close to seeing a version of Pathfinding move to a release channel. Lorca Linden says the plan is to have Pathfinding in a release channel by mid July.

Pathfinding User Group

People are starting to try a back door approach to get an arrival date on the main grid. Their question is: How long does it take to go from RC to main channel? The Linden answer is: “Depends.” I’ve seen releases go from their first arrival in RC to the main channel a week later. I’ve also seen the Multi-Threaded Region Crossing code arrive in RC in February and just make it to the main channel this week. So, ‘depends’ is the only realistic answer.

Something like 120 or so main channel regions in AGNI, the main grid, are running a version of Pathfinding now. But, a release channel has something like 250 regions. The move to a release channel will triple the number of regions running Pathfinding. If there are any bugs, that should reveal them.

I think most of the sandboxes in the main grid now run a Pathfinding version.

The main grid Pathfinding regions run a week or so behind the versions running in the test grid ADITI. The latest and greatest is running in the PathTest regions of ADITI. It is hard to know which regions have been updated when. Fixes hit the regions when the team has fixes they want tested and time to do the roll outs.

At each meeting we are seeing some amazing NPC’s (non-player characters). Last week the cute polar bear cub, who can often still be found running around in PathTest1. This week we saw a knight that was very much an avatar like character that walked around. Very well done. It certainly caught Falcon Linden’s attention.

The Artificial Intelligence stuff people are starting to build with Pathfinding is impressive. llCastRay is seeing more use with NPC’s too.

Crashes

Those working extensively with Pathfinding in AGNI are finding it stable. No recent crashes. Falcon Linden says they have 4 crash modes they have yet to track down. Fortunately they are very rare.

Mæstro Linden says, “There are 2 or so crash modes that we see now which seem to be related to certain types of objects. But, we’re having trouble finding objects which do it reliably.

Sometimes it’s easy; if you see that the sim crashed immediately after a certain object was rezzed. But, the crashes right now seem to be caused by certain physical interactions between several objects, which sometimes randomly crash the sim.

Let Mæstro know if you see crashing that may be related. They could use some help tracking down the problem. If not, then they may not find it until the code goes into a release channel.

Big Change

The changeover to Pathfinding tsunami is being averted. Lorca announced that a major change is the removal of the need to UNFREEZE the Navmesh before editing things. This is a big deal.

Region owners will also be able to set all non-scripted objects to static or dynamic in a region via the console.

Falcon Linden says, “…update-Pathfinding-objects will be usable by anyone who can build and has objects on the region. Some of its functionality is reserved for higher permissions, though.

Lorca Linden says, “So smile, the need to freeze / unfreeze manually is going to go away. The server will detect when to put an area into the appropriate mode. That is the last major change / feature in development [for the initial release].

There is a problem with the detection code. In some cases the code misses a change when prims are changed and an unfreeze of the Navmesh is triggered. The region never rebakes the Navmesh so Havok never sees the change and paths never update. In simpler terms, if you move a wall Havok never gets told about the move. So, it can’t tell characters and they walk through the moved wall and avoid where the wall used to be.

There is a manual trigger for re-baking the Navmesh. One can trigger that for faster updates and to correct a failed unfreeze/freeze detect. For now you can avoid the ‘detect’ problem by pressing re-bake when you are done editing.

Andrew Linden said Friday that the server side of this change to eliminate the need to manually unfreeze and freeze the Navmesh is complete. He expects to be working on fixing Pathfinding bugs for the next 2 or 3 weeks.

Debug Versions

All the version of PF currently have a bunch of debug code in them. That reduces performance. There will not by any ‘debug code free’ versions until PF rolls out to the main channel.

Versions with a large amount of debug code are in DRTSIM-143D. The low debug content code is in DRTSIM-143. So, you can get an idea of which code you are running in.

PathTest4 is running DRTSIM-143, the low debug code version. PathTest1 to 3 are running the high debug code versions.

PATHBUG-129

PATHBUG-129 – Vehicles, Pathfinding, crossing regions in Agni: Computer out of control or other severe issues in Agni Pathfinding enabled regions (Stopover issue). Falcon Linden says they have been doing lots of work to fix this problem. They did nothing for a very long time and it resolved itself. …am I missing some irony or sarcasm here?

Beta Group

Those wanting to get into the Pathfinding Beta group on AGNI are out of time. That project stopped taking new regions this Friday.

They have not decided if they will move the current batch of Pathfinding Beta Regions to the release channel when Pathfinding is rolled out in RC or keep them separate. I am guessing they will be kept separate and moved back into the main channel when PF is released. But, one never knows. However it done, all the regions running Pathfinding will continue to run Pathfinding.

llGetStaticPath()

This feature in now mostly working. It does sometimes cause a crash. As far as I can tell this function is not yet documented in the Wiki. Look through Pathfinding in this blog to find out more about it.

llGetClosestNavPoint()

This function getting a boolean flag GCNP_GET_WALKABILITY. It adds the walkability for the character type specified to the end of the result list. You should be able to use this feature on ADITI now. But, Falcon was unclear whether it is or isn’t working in ADITI.

Mæstro Linden says neither GCNP_WALKABILITY nor GCNP_GET_WALKABILITY are defined as LSL constants yet.

PF Console

Region owners can type “help update-pathfinding-objects” and “set dynamic_pathfinding enabled/disabled“.

Region owners will also be able to set all non-scripted objects to static or dynamic in a region via the console.

Intersting

Lorca Linden mentioned a NPC Animation System. It is not in development and may not even be in planning. But, the Pathfinding team members are proponents of such a system.

(NPC =Non-Player-Character)

Falcon Linden said, “I hope our future is downloadable animations for NPCs. because, while this is exceedingly awesome in terms of quality, it would kill you if a region were full of them [as] lots and lots and lots of updates [are] being sent out.

FadeOut Razorfen is making some kind of animation system for NPC’s now. It cannot be as optimized as a built in system, but it should make programming NPC’s much easier. Whatch the Market Place for it once Pathfinding is released.

PF Classes

An avatar by the name Virtual Bacon will be teaching a 12 week Pathfinding  Character Development class. It is rumored the class costs L$80,000. O.O

Leave a Reply

Your email address will not be published. Required fields are marked *