An ethereal wisp glides through a fantasy forest and then vanishes, only to reappear at your side a few seconds later. Dozens of beetles and rats creep across the floor of a decaying,decrepit building, scurrying away whenever you get near. A hideous, scaly beast chases you up hills and across regions, dodging anything that gets between it and dinner.
These experiences are possible because Linden Lab is about to unveil a new, robust pathfinding system that will allow objects to intelligently navigate around the world while avoiding obstacles.
Pathfinding is a new set of LSL calls and Viewer tools that allow for smoother and smarter movement for non-player characters and objects in Second Life. These new tools will allow Residents to create objects that move around corners, climb inclines and cross region boundaries. Newly created functions such as “pursue,” “patrol,” “wander,” “evade,” and go to a specified point — all of which are particularly useful for pet, NPC and enemy behavior — will allow for non player movements and behaviors never before possible in Second Life.
Pathfinding is efficient because it allows creators to place a much larger number of moving objects in a particular area without affecting server performance. Because the algorithmic complexity is on the server side, Residents can easily script with short and intuitive LSL functions that make creating a pet that follows you around as simple as rezzing a box.
As part of the pathfinding project, Linden Lab will also introduce new Viewer-side tools that will allow Residents to more efficiently create, visualize, test and debug Pathfinding-enabled characters. These tools are not required to create pathfinding behaviors but are particularly useful to builders and experience creators in second life.
Additional pathfinding tools, and the ability to generate your own pathing data, will be put in Beta in the coming weeks. Linden Lab will begin releasing these tools to all Residents in the next several months. You can try out the new LSL functionality in select regions for which we have prepared pathfinding data on the Wiki page: http://bit.ly/wDrWhC .
Content Creation Best Practices Guide and FAQ Now Available
As many of you are aware, we recently released the pathfinding server code that enabled all pathfinding behaviors and LSL calls grid-wide. In the next few weeks, we will also be releasing the viewer tools for changing pathfinding attributes and visualizing the navmesh. While these tools are not necessary to create a pathfinding-enabled character, they are extremely helpful in making new content or retrofitting existing builds to work with pathfinding. You can have early access to the viewer tools by downloading the beta viewer from here.
In addition, there are many helpful pathfinding best practices articles at the Good Building Practices wiki hub. Here you will find tips and tricks about how to build and optimize content in Second Life using mesh, scripting, pathfinding, textures, and animations. Over the next several months, the Lab will continue to add additional guides, as well as a series of builder-oriented tutorial videos!
The Lab would also like to take this opportunity to answer some of the common questions that have been asked about pathfinding here. We have been very impressed by some of your pathfinding-enabled creations and can’t wait to see what else you will create once the viewer tools are released!