animats

Vehicles vs. sim crossings, why it's so awful

Recommended Posts

The viewer fix definitely helps in cluttered environments. I've been testing in Kama City and on the Circuit de Corse route.

The Circuit de Corse roads are good for testing - they have frequent, well-marked rez zones, road signs, and go through interesting country. There are hills and curves. I just  rode a motorcycle around the circuit that starts at the above link, while using my modified Firestorm viewer and a stock bike. Took about 15 minutes. I didn't bother to slow down for sim crossings. There's a stall of 0.5 to 2 seconds at every sim crossing. Longer stalls usually mean a busier sim. Crossings hit off-angle produce a moderate sideways jerk.  (I'll look into that. Might be fixable.) But there's no flying off into space. I can relax, ride, and enjoy the scenery. It's much better than with a standard viewer.

The worst that happened was when I was trying to pass one of the Linden bubble cars (yes, I know they're phantoms and you can go through them) at a sim crossing. The avatar came loose and was re-seated, but not in the right place. That's a known problem in vehicle scripts.

The fixes I've described to viewers and roads make driving in SL fun, and usable as a way to get around. SL is great for sightseeing with this. I want to see this fixed for everyone.

  • Like 3

Share this post


Link to post
Share on other sites

More development and testing today. Found the cause of the "sideways jerk" problem and fixed that. The clipping code in the viewer must allow locations outside a region when the sim gives it such a location. This happens routinely just after a sim crossing, before the gaining sim takes over. The viewer just can't make guesses that go outside the region; the guesses will be awful. With this fix, hitting a sim crossing at an angle now works better. There's no "sideways jerk". I built a test road in an big sandbox to check that out. With the new code working in Firestorm, I went off to enjoy it.

For a pleasant evening, I started with a ride around the Circuit de Corse on a motorcycle. This has lots of off-angle sim crossings. No problems with those. The roads on the Circuit de Corse seem to have duplicated prims in the under-road layer that cross the sim boundary from both sides.  They have to, or the off-angle road crossings wouldn't work at all. At each sim crossing, there's a freeze for about one second. The motorcycle sound stops for a moment, then picks up. No jerk, no drama, no steering corrections needed at sim crossings.  Just drove around in Gear 3 of 6. Faster than that, and I can't keep it on the road. I made it around the circuit in about 20 minutes.

It's not bug-free yet. The "loss of animation permissions" problem came up several times. That's a known problem and can be worked around in vehicle scripts, but the bike I'm using doesn't have it. It'a stock bike, and does not have my "automatically slow down for sim crossing" code. I wanted to test without that.  At http://maps.secondlife.com/secondlife/Venostrate/11/3/28  I was thrown off the bike. I want to go back there and look closely at the road, but today I was just doing this for enjoyment.

I've been asked about other vehicles. So I started at my little cafe in Vallone, where i have a parking area for rezzing vehicles. I rezzed a VTOL aircraft and flew it over Kama City, trying to stay over streets to avoid hostile security orbs. (Security orbs need to be more tightly regulated. I've had aircraft shot down by zero-delay security orbs. That's griefing.) Flying worked fine. At each region crossing, there's the usual one second pause. This is made more annoying by bad camera control - the camera gains on the aircraft, then falls back once the aircraft gets moving again. Camera control with the motorcycle needs work, too. There's slow drift. The camera starts out behind the motorcycle, but after a few minutes, it's off-axis. Easy to fix, but annoying.

I went out to the edge of the world past Kama City, and banged against it as a test. (The same code that does region clipping does world edge clipping, so that needed to be tested.) Banging into the edge of the world works the same way it used to.

Then I flew along the coastline of the west edge of Zindra, looking for a rez area. I found one next to a dock, and landed the VTOL plane.  There I rezzed a power boat, got it into the water, and started cruising around the bays to the west of Zindra.  This worked fine. As usual, there's a one-second stall at every sim crossing. The engine noise stops, the flag stops flapping, and the water spray stops, which means the sim is telling the vehicle script that velocity is zero. Tried zooming around at 50 knots. Hit sim crossings. No problems. Tried zigzagging across sim crossings. No problems. Slowed down and went up the river in Zindra all the way to the dam. Nice sightseeing. Came out of the river, went north under the lift bridge, and around toward Horizons. Found a Linden dock on the Zindra side and docked. Stood up, and the Linden water area immediately de-rezzed the boat, dropping me in the water. (Come on, give people a minute on Linden land before you de-rez a vehicle.) Climbed out, and walked to a monorail station. Rode the monorail back towards Vallone. The monorail dumped me on the ground at a sim crossing. (That system needs work, not that anybody uses it.) Walked back to Vallone. Very slow sim crossings at some streets, as long as 8 seconds. Must be an overloaded server. Usual sink-into-the-ground Kama City intersections, as discussed previously. Back home at my cafe after about two hours. No teleports at any time.

Vehicles are about to become much more usable in Second Life.

Edited by animats
Fix typos.
  • Like 3

Share this post


Link to post
Share on other sites

Your work in progress is very interesting and hopeful the improvements will be incorporated in future versions of viewers.

It would though be nice, if you provided better information on vehicle.

  1. Stating gear number is of little use. Specify speed in MPH or KM/H much better.
  2. Further, there are several different vehicle scripts - information on type, for example KCP version 6.x, ACS v7.x etc, very useful information.
  3. And rather important LI/prims of vehicle in use.
  4. Gravity and density values also very useful.

Share this post


Link to post
Share on other sites
10 hours ago, Rachel1206 said:

It would though be nice, if you provided better information on vehicle.

  1. Stating gear number is of little use. Specify speed in MPH or KM/H much better.
  2. Further, there are several different vehicle scripts - information on type, for example KCP version 6.x, ACS v7.x etc, very useful information.
  3. And rather important LI/prims of vehicle in use.
  4. Gravity and density values also very useful.

Vehicles tried so far:

These are all L$10 and under, so feel free to buy your own to get further information.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

There are still sim-side problems. Like this one.

unseated2.thumb.png.288e6731a32ef743be50625fce3c19b9.png

This is on Circuit le Corse, at  http://maps.secondlife.com/secondlife/Pearl/-1/245/28.

I've had this happen here twice. The vehicle script reports animation permission errors.  The rider is unseated, but stuck. Cursor keys do nothing. It's hard to get out of this. Even after the bike times out and derezzes, the avatar doesn't get the cursor keys back. "Reset skeleton and animations" will restore the ability to rotate the avatar, but not to move it. I've seen this failure many times. Sometimes some of the cursor keys are returned to the avatar; sometimes none of them are.

This time it's so bad that nothing short of logging out will fix it. More later.

  • Like 3

Share this post


Link to post
Share on other sites

It's a Linden road hitting a sim corner at a 45 degree angle. One of the worst cases.

hitsimcorner.thumb.png.b3794504aaed48d1aebf04ddf786bf34.png

It's not the corner itself that causes the problem. it's two sim crossings very close in time. Somewhere there's a race condition in the software. I've tried this about thirty times now, with two failures.

This may be associated with "Unable to create pending connection" errors.

Edited by animats
More info
  • Like 2

Share this post


Link to post
Share on other sites
44 minutes ago, animats said:

Somewhere there's a race condition in the software

Corners like that, at speed, are the "Trying to leave a region before it's finished receiving you" problem I told you about back on page 1 of this awful thread, but you didn't bother to listen, because you are soooooo sure that you are the only person out of 50 million plus accounts over 14 years, who knows what's wrong.
 

  • Thanks 1
  • Haha 1

Share this post


Link to post
Share on other sites
23 minutes ago, Klytyna said:

Corners like that, at speed, are the "Trying to leave a region before it's finished receiving you" problem I told you about back on page 1 of this awful thread, but you didn't bother to listen, because you are soooooo sure that you are the only person out of 50 million plus accounts over 14 years, who knows what's wrong.

“People who say it cannot be done should not interrupt those who are doing it.”

If you are capable of doing so, build the Firestorm viewer from source and try my fixes.

There's an in-world support group for people who build the Firestorm viewer from source, "TPV Self Compilers". You can get help if you're stuck.

 

Edited by animats
Add info about building
  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, animats said:

“People who say it cannot be done should not interrupt those who are doing it.”

If you are capable of doing so, build the Firestorm viewer from source and try my fixes.

There's an in-world support group for people who build the Firestorm viewer from source, "TPV Self Compilers". You can get help if you're stuck.


 

You've shown a consistant failure to understand how clients and servers in SL interact.

Earlier in this pathetic thread, people a damn sight smarter and better informed than you, told you about "road prims overlapping sim boundries", you responded by saying they were obviously wrong, then you tried it on a premium sand box, and found they were right, then you DEMANDED that LL waste large amounts of time effort and money completely rebuilding an over blown Zindra road network that virtually nobody ever uses.

As for compiling my own version of Firestorm, I loath Firestorm, I refuse to use it, you couldn't PAY me to use it, I certainly wouldn't waste my time building my own copy of it.

And I've been using vehicles in SL for 6 years... I've seen the problems first hand. I've NEVER had the 'anim permissions bug" that you claim is so common, but then I tend not to use vehicles with bad scripts.

So before you use your VAST inexperience of SL to declare it's all just some simple client side fix, maybe, just maybe, you could climb down off your steam powered noob horse, and actually check up on how clients and servers interact during sim transitions.

Remember, you were the guy who accused the ENTIRE population of zindra of being "dummy avatars and npcs" because people chose not to reply to a 5 week old noob iming them and asking "r u a bot", you were the guy who couldn't understand why you couldn't roll a prim over a parcel boundry into an area set "no object entry" and insisted the "sim physics in SL must be broken".
 

Share this post


Link to post
Share on other sites
22 minutes ago, Klytyna said:

...LL waste large amounts of time effort and money completely rebuilding an over blown Zindra road network that virtually nobody ever uses.

Bit out of line this time Klytyna. Animats is putting his skill where it's well needed. Quite a lot of people use the road network, and sail, and fly, and drive trains... as for the cost, there are a lot of people who could and would be moles on this one.

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, Callum Meriman said:

Bit out of line this time Klytyna. Animats is putting his skill where it's well needed. Quite a lot of people use the road network, and sail, and fly, and drive trains... as for the cost, there are a lot of people who could and would be moles on this one.

I'd be more impressed if he was testing in the Blake maybe, talking to users of TWYC on Dex, or visiting Hollywood Airport, but puttering about in the semi abandoned ruins of Kama City?
 

Share this post


Link to post
Share on other sites
Posted (edited)

Mmm, or on the roads of hetero-cetera which has a lot of those 4 way corner roads - ugh. 

But this could be valuable work, sim crossings are such a huge terrible thing, and the patch from a cursory glance so far (I am compiling it later today) could help in many viewer-side cases.

Edited by Callum Meriman
hyphenated viewer-side
  • Like 2

Share this post


Link to post
Share on other sites

I've tried simple boats in the Blake Sea.  Launched from Hollywood Airport. Worked fine, the same way it does in the waters west of Zindra. No problems blasting around at 66 knots. Someone with larger and more complex boats should build Firestorm and see how it works for them. I'm not really into boats. Callum Meriman, please let me know how this works out.

Those 4-corner crossings in Kama City are awful. Too thin, no overlap, and a gap underneath.  But each intersection has only two different parts (one quadrant with manholes, one without) and all the intersections use the same parts. Get those two parts right, replace them, and that job is done. Tour de Corse is mostly good roads. Haven't tried the mainland roads with this viewer yet. Any suggestions for a good ride?

The fix is in the Firestorm JIRA, one of the maintainers seems to like it,  and it should show up in a Firestorm beta in due course. With this fix in, much of the minor bad behavior at sim crossings goes away. The remaining problems become much clearer, because they're less frequent and not hidden behind bad guessing by the viewer.

The big one is where the avatar(s) become unseated from the vehicle. Or worse, half-unseated; neither properly seated nor in a clean Stand state. I'm trying to find a way to replicate that bug on demand.

Share this post


Link to post
Share on other sites
Posted (edited)
46 minutes ago, animats said:

The big one is where the avatar(s) become unseated from the vehicle. Or worse, half-unseated; neither properly seated nor in a clean Stand state. I'm trying to find a way to replicate that bug on demand.

Large prim vehicles are clearly worse than others. I have a few in my collection that are quite prone to it, and others that never see it. Talking here about boats over 100 prims travelling more than 12 knots. A boat over 100 prims under 12 knots is quite unlikely to see it, although camera loss on those is common.

Although sometimes only one person will be unseated that's quite rare, It happens far more often with both people on a vehicle being dislodged. Both suffer exactly the same camera symptoms prior to ending up unseated and unmovable.

One thing I always notice, a precursor of being unseated, your body is thrown wildly one or two sims away from the vehicle for a period, and your yellow dot on the minimap travels in parallel to the vehicle, but the next sim over.

You can cam yourself, you can cam over to your vehicle in that period between body detach and being unseated and see you are not on your vehicle. You can edit the vehicle - which stops it moving. If you look at yourself you see yourself (before you are unseated) sliding along the ground parallel to the vehicle - then boom, you're unseated and the vehicle is still moving, the next sim to the left or right, or behind.

I've seen a few cases where I and my passenger can see each other sliding along the sea bed 1 sim away before both being unseated at the same time. Both of us ending up unable to move, but able to teleport. Teleporting sometimes fixes the lock, sometimes not.

What my partner and I do when we unseat, one will edit the boat to hold it, one will relog. Then the relog will go and sit on the boat/edit  it and the first relog, then both sit back on the vehicle and continue.

Edited by Callum Meriman
factual corrections as I recall them.

Share this post


Link to post
Share on other sites

To get 874d86d compiling at this point:

llworld.cpp:797

- clip_factor = -(region_coord.mV[VX] / delta_pos_mdV[VX]);
+ clip_factor = -(region_coord.mV[VX] / delta_pos.mdV[VX]); // maybe?

Now to see if that sends me to the moon on a region cross.

Share this post


Link to post
Share on other sites
Posted (edited)

Hmm, ok, I see what you do now, instead of the vehicle continuing to move interpolating it's current course, you stop it dead at the sim border while the handover happens, then resume. Similar to what the SLRR is doing in LSL on the trains.

This leads to a pause of 1 to 10 seconds.

Advantage, one can actively steer into a sim border and not spin out of control before the usual snapback.
Disadvantage, it completely breaks immersion for those who can pilot properly. Especially on high prim ships.

While it's good on roads, this is pretty immersion breaking on boats so it's going to be a matter of personal taste. Leaving motorbikes out of this for a moment, a decent skipper will cross a sim without sudden movements, so won't see the spin much anyway.

 

Test 1: Flying Shadow X - Broken completely. No longer works. I need to test more sailboats to find out why this has happened, but the Shadow X is a pretty unusual craft.

Test 2: Boss Jetski - Works

Test 3: Halob 8 Hovercraft - Works pretty well, the skid of a hovercraft could put you into a sticky situation all too often.

Test 4: Pride of Baltimore  (boat) - 7 second delay, this is a huge 193 LI schooner. Sim corssings are normally not noticed.

Test 5: N+K Falcon Frigate (boat) - this is a 512 LI ship, the biggest complexity possible, as it's so slow and big one never notices sim crossings. 10 second delay.

Test 6: SLRR SchienenMoped (train) - SLRR has a scripted delay already, this patch doesnt seem to hurt it.

Test 7: Manji Cat 7 (car) - works - for a car this pause is nice, but the third sim crossing was a 15 second pause, then I snapped 40 meters in. Network ralated I think.

Test 8: Wolf R1200 P EU 2 (motorbike) - works - for a bike the pause is nice.

Test 9: Teegle Horse Riding System - works, but fell over on second crossing - Like the car and bike this vehicle benefits from the pause. The falling over happens without the patch too.

More to come. 

Edited by Callum Meriman

Share this post


Link to post
Share on other sites
50 minutes ago, Callum Meriman said:

To get 874d86d compiling at this point:


llworld.cpp:797

- clip_factor = -(region_coord.mV[VX] / delta_pos_mdV[VX]);
+ clip_factor = -(region_coord.mV[VX] / delta_pos.mdV[VX]); // maybe?

Now to see if that sends me to the moon on a region cross.

Sorry, didn't update Github version properly. Try fetching llworld.cpp again. Thanks.

Share this post


Link to post
Share on other sites
23 minutes ago, Callum Meriman said:

hehe, you just want to make me calculate pi to 50 digits again :P 

(looks at the AMD threadripper and dreams)

You don't have to build with --clean after the first successful build. It only takes a few minutes to make a minor change.

Share this post


Link to post
Share on other sites
56 minutes ago, animats said:

You don't have to build with --clean after the first successful build. 

I know, I've been compiling viewers pretty solidly since 2014 :) It was a poor attempt at a joke based on the comment re: compiling in the firestorm wiki that I always found amusing.

Share this post


Link to post
Share on other sites
Posted (edited)
2 hours ago, Callum Meriman said:

Hmm, ok, I see what you do now, instead of the vehicle continuing to move interpolating it's current course, you stop it dead at the sim border while the handover happens, then resume. Similar to what the SLRR is doing in LSL on the trains.

This leads to a pause of 1 to 10 seconds.

Advantage, one can actively steer into a sim border and not spin out of control before the usual snapback.
Disadvantage, it completely breaks immersion for those who can pilot properly. Especially on high prim ships.

As this is pretty immersion breaking it's going to be a matter of personal taste. Leaving motorbikes out of this for a moment, a decent skipper will cross a sim without sudden movements, so won't see the spin much anyway.

Test 1: Flying Shadow X - Broken completely. No longer works. I need to test more sailboats to find out why this has happened, but the Shadow X is a pretty unusual craft.

Test 2: Boss Jetski - Works

Test 3: Halob 8 Hovercraft - Works pretty well, the skid of a hovercraft could put you into a sticky situation all too often.

Test 4: Pride of Baltimore - 7 second delay, this is a huge 193 LI schooner. Sim crossings are normally not noticed.

Test 5: N+K Falcon Frigate - this is a 512 LI ship, the biggest complexity possible, as it's so slow and big one never notices sim crossings. 10 second delay.

Test 6: SLRR SchienenMoped - SLRR has a scripted delay already, this patch doesnt seem to hurt it.

More to come. 

Try the new version; the one you have mis-clips when you cross a region boundary at an angle.

The immersion-breaking problem is a classic one. I tried a 60-knot boat in the release Firestorm browser. When you hit a sim boundary, you overshoot and are yanked back. The velocity extrapolation keeps you going while the sim is stopped during the transfer. Now your position in the viewer is ahead of where the sim thinks you are. So it gets yanked back on the next update from the sim. Try it where you have some nearby objects for a reference to see this.

But in open water, you don't notice the yank-back as much. Water mostly looks the same. This creates the illusion that you didn't stop. On land, you see the yank-back and it looks terrible.

This was named the "surreal time" problem by Randy Farmer and Chip Morningstar, who did Lucasfilm's Habitat decades ago and were the first to hit this problem. The rate of time flow is inconsistent between the sim and viewer in some situations. This comes up in most MMORPG systems. It affects shooting of moving targets, which is a much bigger deal in gaming than in SL. In some systems, inconsistencies like that are drifted back into sync. Let me see what I can do.

I tried a fix which keeps the velocity as seen by scripts nonzero while the vehicle is stuck at the sim crossing. This keeps the engine noise, etc. going while the vehicle is waiting for the sim crossing. That will need heavy testing to make sure it doesn't break something else. That might fix the Shadow-X. Its scripts are probably bothered by the velocity suddenly going to zero for no good reason.

The Flying Shadow-X is l$2500. Is there anything cheaper that breaks?

Edited by animats
Shadow pricing

Share this post


Link to post
Share on other sites

First off, please let me clarify something @animats, I am all for any work that will improve vehicles accross the board. Please take any critisism you see from me as constructive, even if the wording sounds harsh. I'd love you to find a fix.

Even with the broken code, with these very preliminary tests I did above -- the improvement in car, bike, and horse was very clear to me. Driving on a  road became far more enjoyable. At this early time I am thinking the patch could be a huge benefit to road users. Even simply walking between one sim and onother felt a little nicer without rubberbanding.

My plan tonight might be to do the old atoll rally course and see if I can get through it with less problems than the current beta (firestorm compiled) viewer. Rubberbanding there was always a pain. Although I will revisit the Shadow-X when my crew can log in.

 

But, I also look at this with the eyes of an avid sailor and pilot, and thats where I have just a little doubt right now, especially with how this interacts with huge ships, the tall masters.  It's going to need a lot of my using this patch before I can give a proper opinion there. I will keep testing with the many vehicles I have in my inventory. My initial impression was that the patch is not beneficial to tall masted ships. But it's a very cursary test so far. I need to use my alt sitting in stock-standard Firestorm on the same ship a lot more yet and watch.

And another thing to recall is there are a lot of races on water. How will this affect a yacht race? Not just the performance of one ship over another who doesn't have the patch, but how competitors will feel with this substantial change.

I'll keep posting in this thread as my testing happens and as i get more idea of your code - and maybe even suggest some patches too. Saves messing up the Jira for now.

21 minutes ago, animats said:

I tried a 60-knot boat in the release Firestorm browser. When you hit a sim boundary, you overshoot and are yanked back.

60 knots is an edge case and not so great for comparison at this point. I am talking under 12 knots for the tall masters, at that speed, on a 512 LI, 60 meter long ship, you didn't notice the rubberband. It was smooth as silk. Now there is a 10 second pause. 

On a reasonably speeded catamaran - the Shadow X at 20 knots - the rubber band in about 10 meters, I can't speak for the pause yet as that boat doesn't seem to be running for me yet - I likely need to reboot that sim. I will see, and comment later.

25 minutes ago, animats said:

But in open water, you don't notice the yank-back as much. Water mostly looks the same. This creates the illusion that you didn't stop. On land, you see the yank-back and it looks terrible.

Absolutely, one careens under the road, or flies up in the air. What makes a car/bike/horse crossing worse is the forward rotation alters with bumps in the prims you are on. It makes you want to take your hand off the throttle as you cross and rubberband, then reapply throttle once you snap back.

No doubting the benefit for road users - but this can't (early stage statement) be to detriment of a boat or plane user. A solution has to be there for everyone, even if it's a debug setting that enables it, or keeps the old. The debug setting can be brought into the pheonix buton, quick menu, trivially then.

Again, very early stage comments from me. I've simply not tested this enough yet.

Share this post


Link to post
Share on other sites
17 minutes ago, Callum Meriman said:

First off, please let me clarify something @animats, I am all for any work that will improve vehicles accross the board. Please take any critisism you see from me as constructive, even if the wording sounds harsh. I'd love you to find a fix.

Even with the broken code, with these very preliminary tests I did above -- the improvement in car, bike, and horse was very clear to me. Driving on a  road became far more enjoyable. At this early time I am thinking the patch could be a huge benefit to road users. Even simply walking between one sim and onother felt a little nicer without rubberbanding.

My plan tonight might be to do the old atoll rally course and see if I can get through it with less problems than the current beta (firestorm compiled) viewer. Rubberbanding there was always a pain. Although I will revisit the Shadow-X when my crew can log in.

...

But, I also look at this with the eyes of an avid sailor and pilot, and thats where I have just a little doubt right now, especially with how this interacts with huge ships, the tall masters.

And another thing to recall is there are a lot of races on water. How will this affect a yacht race? Not just the performance of one ship over another who doesn't have the patch, but how competitors will feel with this substantial change.

I'll keep posting in this thread as my testing happens and as i get more idea of your code - and maybe even suggest some patches too. Saves messing up the Jira for now.

60 knots is an edge case and not so great for comparison at this point. I am talking under 12 knots for the tall masters, at that speed, on a 512 LI, 60 meter long ship, you didn't notice the rubberband. It was smooth as silk. Now there is a 10 second pause. 

On a reasonably speeded catamaran - the Shadow X at 20 knots - the rubber band in about 10 meters, I can't speak for the pause yet as that boat doesn't seem to be running for me yet - I likely need to reboot that sim. I will see, and comment later.

Absolutely, one careens under the road, or flies up in the air. What makes a car/bike/horse crossing worse is the forward rotation alters with bumps in the prims you are on. It makes you want to take your hand off the throttle as you cross and rubberband, then reapply throttle once you snap back.

No doubting the benefit for road users - but this can't (early stage statement) be to detriment of a boat or plane user. A solution has to be there for everyone, even if it's a debug setting that enables it, or keeps the old. The debug setting can be brought into the phoenix button, quick menu, trivially then.

Again, very early stage comments from me. I've simply not tested this enough yet.

Good points. There's an inherent conflict here. Time does stop for an object sim-side during region transfer, while for the human user and the viewer, time continues to run. Something has to give. I chose to make the viewer track the sim as closely as possible. This is honest, and gets rid of many annoying problems. The velocity extrapolator was generating badly bogus results. You'd see motorcycles go sideways, into the air, into the road, through solid objects, and then snap back. The driver would reflexively make a steering correction based on the bogus motion they were seeing, and really screw things up. This is mostly a ground contact problem - water and air vehicles don't suffer badly from it.

A solution that does what you want involves some degree of faking it on the viewer side. Let me try a few things. More later.

This is all viewer-side, so it shouldn't affect races.

I'm reading up on how sailboats work in SL. I suspect what broke the Shadow-X was seeing zero velocity in a script. The script thinks the boat is dead in the water, which messes up the sail calculations. I'm testing a version which doesn't do that.

Share this post


Link to post
Share on other sites
2 hours ago, animats said:

Good points. There's an inherent conflict here. Time does stop for an object sim-side during region transfer, while for the human user and the viewer, time continues to run. Something has to give. I chose to make the viewer track the sim as closely as possible. This is honest, and gets rid of many annoying problems. The velocity extrapolator was generating badly bogus results. You'd see motorcycles go sideways, into the air, into the road, through solid objects, and then snap back. The driver would reflexively make a steering correction based on the bogus motion they were seeing, and really screw things up. This is mostly a ground contact problem - water and air vehicles don't suffer badly from it.

A solution that does what you want involves some degree of faking it on the viewer side. Let me try a few things. More later.

This is all viewer-side, so it shouldn't affect races.

I'm reading up on how sailboats work in SL. I suspect what broke the Shadow-X was seeing zero velocity in a script. The script thinks the boat is dead in the water, which messes up the sail calculations. I'm testing a version which doesn't do that.

I appreciate your enthusiasm; I really do. However, it sounds like you started out with a concept to fix the worst possible case (i.e. a ground vehicle following roads at high speeds on badly built infrastructure) without taking into account other use-cases which work much better than your test case now and which might be made worse with your fix. Driving a ground vehicle cross country at high speed will cause many other problems  - you'll literally drive faster than the server and viewer can work together to draw the road you're driving on. I recommend that you take a break from writing your code to experiment with a wide variety of different types of vehicles under different conditions first so that you understand what goes on with the widest range of cases.

For research:

Demos of popular high-end boats that can be tested across many connected regions: http://maps.secondlife.com/secondlife/Dutch Harbor/138/139/26

Various free sailboats: http://maps.secondlife.com/secondlife/Dex/160/56/22

Drivable demos of ground vehicles with very good scripts for long-distance travel in a region with well-developed roads: http://maps.secondlife.com/secondlife/Burns/240/50/64

Demos and low-cost cars/motorcycles using the most popular ground vehicle scripts in a well-developed built-up area: http://maps.secondlife.com/secondlife/Gama/208/221/36

Demo prop planes and helicopters testable over multiple regions: http://maps.secondlife.com/secondlife/Honah Lee Trudeau/127/116/22

Free and rezzable demo combat aircraft testable over multiple regions: http://maps.secondlife.com/secondlife/Jadu/166/38/32

A wide variety of free vehicles of reasonable quality (i.e. they aren't twelve year old crap): http://maps.secondlife.com/secondlife/Takes/177/119/23

 

 

 

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
6 hours ago, Theresa Tennyson said:

For research:

Demos of popular high-end boats that can be tested across many connected regions: http://maps.secondlife.com/secondlife/Dutch Harbor/138/139/26

Various free sailboats: http://maps.secondlife.com/secondlife/Dex/160/56/22

Drivable demos of ground vehicles with very good scripts for long-distance travel in a region with well-developed roads: http://maps.secondlife.com/secondlife/Burns/240/50/64

Demos and low-cost cars/motorcycles using the most popular ground vehicle scripts in a well-developed built-up area: http://maps.secondlife.com/secondlife/Gama/208/221/36

Demo prop planes and helicopters testable over multiple regions: http://maps.secondlife.com/secondlife/Honah Lee Trudeau/127/116/22

Free and rezzable demo combat aircraft testable over multiple regions: http://maps.secondlife.com/secondlife/Jadu/166/38/32

A wide variety of free vehicles of reasonable quality (i.e. they aren't twelve year old crap): http://maps.secondlife.com/secondlife/Takes/177/119/23

Thanks very much. I agree. I went to Dutch Harbor and tried a Laser One, the small but advanced sailboat. I need more sailing experience to evaluate that properly. But sim crossings were not much of an issue with the modified Firestorm I'm using right now (which is one rev ahead of the Github sources.).

The Sumi dune buggies at Burns are great! Somebody worked through all the hard cases in scripting, like detecting an unsit and re-seating the driver. And they have vehicles with suspensions. Most land vehicles in SL are all unsprung weight and behave accordingly. Those vehicles work much better in the modified Firestorm than in the stock Firestorm. In the stock Firestorm, they go under the road, off the road, and then snap back. In the modified one, they slow down to a stop briefly and continue. Their little scooter, the Sumi Motochamp, gets pushed off the road at a sim crossing at  http://maps.secondlife.com/secondlife/Imperial/1/1/87  in versions of Firestorm with and without the fix. Haven't figured that one out yet. Their demo Jeep is great. I want to buy one, but can't find the vendor for that item.

The Shelby Cobra from the place down the road is quite drivable, too. Again, it works better in the modified Firestorm. First gear is too fast for parking, though. This fix is consistently an improvement for ground vehicles. More later.

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now