[sldev] Victory Conditions

Paul Cook warkirby3333 at hotmail.co.uk
Thu Apr 17 03:31:37 PDT 2008








My own thoughts as to "Victory Conditions" on the two most hated bugs

SVC-85: The friends list bug

Due to the nature of being able to hide online status, part of this will never be resolved, I think.. But there are definitive problems with the friends list as is.

1. The list simply fails to load, showing waiting/loading/hippos permanantly. It is acceptable, and even expected, that this would appear on there temporarily, The problem occurs when one has been online for several minutes, and still nothing shows.

I think the best solution to this, if it is not already implemnented, is to add a timeout. If the friends list hasn't loaded x seconds after logging in, try again. Keep trying until it works, or there's a fairly certain conclusion that it won't work.

Now, as o that latter part, there are occasionally service problems that make things not work properly. Problems with the friends list often leave it in limbo permanantly. Instead, I think the friends list should be replaced with an error message in such times. Something to let the user know that there is a current service problem, and apologise for the inconvenience.

Now farther to that, there is another problem. Oftentimes, the friends list will permanantly stick at loading, but if the user logs out and back in again, it works as expected. This would generally indicate that it could work if the viewer just retried, perhaps ?

So, Victory conditions for this part

1. Make the friends list never fail to display, as long as there it not a widespread service problem.
2. If there is a problem, replace it with an error message informing the user of such


Now, the second part of this, presence. In my experience, this most notably manifests itself as the system being confused as to the online status of an agent. This seems to occur in a few ways.

1. An agent shows as offline. Sending them an IM will force an update, though, and suddenly, the friends list says they've just come online.
2. An agent shows as online, according to the friends list, but it actually not. Sending an Im updates it, and makes it appear that the agent has logged out at the exact time they recieved the message.
3. And this one is most important, IMO. An agent shows as online, and IS in fact online, but upon IMing, the friends list suddenly decides they're offline. Giving the (x is offline, message will be stored and delivered later) and showing them offline in the friends list. The agent will often respond, unaware of this. I've observed, in this case, the friends list actually flipping back and forward with each IM, showing a user as online, then offline, then online, etc. When they have in fact been online the whole time.


Given the above, I suppose the third victory condition, is simply

3. Make presence work properly.


That's all for that issue, I think. Now,...

SVC-472 - Region Crossings

This is a much more vague and unspecific issue. I break it down into these problems.

1. Attachments messing up on region crossing.. 

This frequently and annoyiingly happens. The avatar's attachments often simply vanish, or move to odd locations like the waist. Hud devices especially, simply vvanish.


2.  Unseating
A problem which most often affects cases where multiple avatars are sitting on the same object. They seem to randomly get unseated.. This makes passenger vehicles a nightmare to use. In my experience, additional avatars beyond the first are sometimes getting unseated.


3. Sinking into surfaces

This is most often seen  when crossing regions on foot, less so when flying. The avatar seems to move without colliding with things on the other side of the crossing for a few seconds. In addition, the avatar's trajectory seems to get altered. Theoretically, walking across a straight bridge between sims should be alright, but in actuality, the avatar starts moving diagonally downwards, instead of contonueing straight forwards as they were when the crossing started. I think this part could be solved by simply keeping the avatar/object's trajectory intact, so that if they cross a sim walking in a straight line, they'll be at the same altitude on the other side. 

Another problem with this area, is the lack of collision with stuff. When falling through things at sim borders, this is often not just a clientside effect, but the avatar will actually end up under or inside objects when the crossing completes.


4. Constant motion 

Also a notable problem, quite related to the previous, the avatar keeps moving when crossing a sim, while the next siim loads them. When things are going good, this helps t prevent breaking the flow of motion, and is nice. But when sim crossings are going slowly, he user often ends up walking or flying in a straight line for several seconds, or even minutes. No new data seems to be downloaded during this time, and so it's quite possible, and likely, that the useer will walk outside of theiir own draw distance, and just be moving around in endless sea and sky until the crossing finishes.

To remedy that, I'm thinking some sort of timeout for that continued motion. After which, the avatar should just stop, and stay still until  the crossing finishes.



5. slowness.

Ultimately, the worst problem. Simply the time it takes for a region crossing to complete. This is affected by attachments and scripts in the user, as we know. But it does also seem to depend a lot on the performance of the sim. Aside from upgrading the hardware of every sim, the only solution I can think of for this, is preemptively loading the avatar for neighboring sims, before a crossing begins. To minimise the excess load this would cause, there should be some intelligence in doing so. Like preloading based on the avatar's proximity, and direction of motion. If an av is 30m away from a sim border, and moving towards it steadily, it's not unreasonable to expect them to attempt a crossing, and would be a good situation for preloading.

Where multiple avatars are sitting on one object, they should be treated as a single entity for deciding preloading, and all preloaded at the same time when necessary.

Hopefully, doing that will greatly speed up sim crossings.



So, Victory conditions

1. Prevent attachments messing up at all costs.
2. Prevent unseating, and load multiple avatars on the same object together.
3. Implement preloading of avatar data to hopefully speed up crossing time overall.


WarKirby Magojiro

_________________________________________________________________
Win 100’s of Virgin Experience days with BigSnapSearch.com
http://www.bigsnapsearch.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20080417/48054307/attachment-0001.htm


More information about the SLDev mailing list