Second Life PathFinding Tutorial

I’ve wanted to take time to play with the new Pathfinding feature now in alpha testing on the ADITI grid, also known as the Preview Grid. I took the time this weekend. I learned a few things. As you may imagine the documentation is incomplete at this stage. Not much point in writing lots of information that may change.

My First Pathfinding Bot

I’ll explain some of the problems I ran into with Pathfinding and then get into the script and how I fixed the problems. This is not a beginning tutorial for scripting. I am assuming you know about basic scripting with the Linden Scripting Language.

Simple

Writing Pathfinding scripts is way way simple compared to what was previously needed to create similar behavior. My first try was to create a follower. I have a Serge inspired character I made for OSGrid and decided to use that. My little bot is made from two prims and a sculpty. Because of the sculpties work I have to scale it to make it look right. That wacks the bounding box, which I was not over concerned with when I made it. Someday I’ll need to redo it in mesh.

The sculpty gave me my first challenge.  I needed to rebuild my bot here in SL. I rezzed the spheres I needed and put him together. Then wrote the script and tried him out. He promptly fell over on his side… 

Read more

#SL Server Scripting Update Week 9

Several interesting things were discussed in Friday’s Server Scripting meeting.

Video Memory Compression

In pre-meeting conversation I heard a new texture compression process is being tested for storing textures in video memory. The feature is in one of the project viewers. I’m unclear on which project. While there are some video artifacts it almost cuts memory use in half. There is a Debug Setting that turns it on. It is off by default. …and I don’t know the name of the setting.

Second Life Server Scripting Meeting
Second Life Server Scripting Meeting

It seems the current iteration of the feature also compresses the User Interface textures resulting in some oddities.

RC Roll Outs

Simon Linden says the new software packages rolled to the release channels Wednesday are working well. Another region crossing bug was found. So, they are planning to roll the Bug Fixes package to the main grid next week. I think that means the Le Tigre and Blue Steel will roll to the main channel and Magnum’s will stay on a release channel.

Read more

#SL Online Status Update

As many know the various online status boards, pagers, and subscription devices were expected to break and stop working when llRequestAgentData() was changed. That change was expected to roll to the main grid in a couple of weeks. That feature change is now on hold.

SVC-4823

This is the JIRA item where the details and issues of the change were being collected. The JIRA item now has quite a few legitimate use cases. There are still lots of people that have yet to figure out the JIRA is not a forum for discussion.

The large number of legitimate use cases apparently surprised the Lindens. They are now considering how to provide for the legit use cases and still disable the griefer aspects. See: SVC-4823. Oz Linden has made a couple of posts in the JIRA and several Lindens have been following it.

Read more

#SL Server-Scripting UG News Week 9

There is quite a bit of news this week. Some interesting stuff.

Encroachments

Andrew Linden has talked with the ‘land people,’ whoever they are, and the feature that allows one to return encroaching objects is ready. The feature has been in progress for weeks. Mesh objects created some problems apparently. The code is already rolled to the main grid and apparently has been there for some time. But, now it is ready to be enabled. Andrew is working on a script to go through and enable the feature on all the mainland regions.

Server Scripting Group

He is in process with the script. Exactly when it will be ready and the encroachment feature is enabled is not yet set. I would guess a week or two, but there is no way to know. However, once Andrew is sure his script works, he’ll tell the support team and give them an opportunity to make a blog announcement.

Read more

#SL Scripting UG News Week 9

Last week’s Monday was a holiday and there was no User Group meeting. This week Kelly Linden held his regular meeting.  The recent policy changes for Third Party Viewers affect the LSL function llRequestAgentData(). So, this was a big topic of discussion.

Kelly's Scripting UG

The function currently returns your online status. It does not bother with permissions. So, you can check the online status of anyone. It is how stalkers find out if their prey is online. Obviously it gets used for griefing. The complication comes from legitimate uses of the function.

Read more

#SL Server-Scripting News Week 8

None of the packages running in the release channels passed testing, so no packages were rolled to the main grid today. Also, in an oversight, blending the main trunk and release channels last week was missed. So, we will probably see the same packages running on the release channels with a few more fixes and blending with the main trunk running on the release channels next.

However, selected regions were restarted Tuesday. There are some problem regions that get a weekly restart whether there is a roll out or not. We will see the release channels restarting tomorrow as new software is rolled to them.

Map Tiles

Apparently there is a problem with some regions not generating Map Tiles for the World Map. SVC-7629 – Map tile generator not working.

llGetParcelMaxPrims(llGetPos(), TRUE)

There was some discussion about the fix for this function, SCR-121Entire sim (65,536sq.m.) owned by group, llGetParcelMaxPrims(llGetPos(), TRUE) Returning odd number. It still returns the parcel prim count times the region multiplier, but caps at 15,000 (or less if a Homestead/void). TehKellz says, ‘which is the behavior it had for any non-entire-region parcel.’

Read more

#SL Server-Scripting News Update Week 7

Oskar Linden says the voice package running on the Blue Steel and Le Tigre release channels was fixed to clean up extra voice information being sent during region crossings. With the fix crossings should be a hair faster.

Server Beta Meeting

Magnum got the Phase I region crossing change over to multi-threading.

Osker says they flubbed this roll. The main trunk code did not get rolled into the release channel packages before they were loaded into the release channels. So all the code running on the main channel is not part of the code in the RC’s.

Read more