Update: Linden Lab have made an initial annoucement regarding pathfinding.
In his December 2011 address, Rodvik touched on some of the work Linden Lab would be continuing through the early part of 2012 – such as performance and stability – and outlined some of the new features we can expect to start seeing in 2012. Of the latter, he particularly highlighted pathfinding, by saying, “For creators our first new feature for 2012 will be pathfinding. Because worlds feel most vibrant when they are full of life, one of our next focuses for Second Life is the ability to make high-quality “life” within it. So in 2012, we will be rolling out more advanced features that will allow the creation of artificial life and artificial people to be much smoother. For starters, in Q1, we’ll unveil a new, robust pathfinding system that will allow objects to intelligently navigate around the world while avoiding obstacles.”
Details of this new capability, aimed towards what are popularly referred to as Non-player Characters or NPCs, is now beginning to emerge.
Rand Linden has updated the pathfinding overview page on the SL wiki to provide initial information, together with an outline pathfinding API page. There is also a set of alpha release notes which suggest that people will be able to start testing the new capabilities on the Beta grid and include a bullet list of currently known issues.
The API and overview pages give insight into the LSL commands that are to be associated with pathfinding – most notably llCreateCharacter, described as, “Convert the current linkset to an AI character. By default, the character’s shape will be an upright capsule approximately the size of the linkset, adjustable via the options list. The linkset must use mesh accounting”, as well as associated commands intended to assist in various modes of movement (and evasion).
The overview page is interesting in that it gives more information on the fact that pathfinding will not itself animate an NPC:
Pathfinding is not an animation system. It does not provide a way to animate a biped or quadruped in conjunction with the new movement functionality. You must use existing methods to animate characters. Nevertheless, pathfinding enables more dynamic movement and provides a better system for controlling character movement than was previously possible. For more information on creating animations, see Animation.
The alpha release notes provide a list of the Aditi test regions however, at the time of writing none appear to be open to public use as yet – I was unable to access any of them earlier today, either via the World Map or via the use of the Address Bar within the Navigation Bar of the Viewer. The four regions in question are (SLurls):
- PathTest1 (secondlife://Aditi/secondlife/PathTest1/131/101/23)
- PathTest2 (secondlife://Aditi/secondlife/PathTest2/100/170/26)
- PathTest3 (secondlife://Aditi/secondlife/PathTest3/103/127/23)
- PathTest4 (secondlife://Aditi/secondlife/PathTest4/127/194/29)
Given they are on the Beta grid, the most obvious way of accessing them is to log-in to Aditi and use the World Map to locate them prior to teleporting.
According to the alpha release notes, the pathfinding commands will only be available on these regions, which appear to include various obstacles and courses NPCs using the functions can attempt to negotiate.
A pathfinding tutorial is also in the offing, although the page for it is currently little more than a placeholder at present – again, expect more updates as they become available.There is also a wiki index page for a category of pathfinding, which should be of assistance in quickly locating the broader information on the subject as well as details of specific dedicated or associated LSL commands.
From this, it would appear that LL are pretty much keeping to the schedule outlined by Rodvik at the end of last year and that by the time you read this, the pathfinding test regions on Aditi may well already be open to public access. For those who are keen to get involved in the project, the updated wiki pages are worth keeping an eye on in lieu of more direct information coming through other channels, such as the blog or technology forum.