User:Andrew Linden/Office Hours/2007 11 06
Jump to navigation
Jump to search
Transcript of Andrew Linden's office hours:
[16:30] | Andrew Linden: | ok, office hour is now in session |
[16:30] | Andrew Linden: | Who has the minutes from the last hour? |
[16:31] | Kitto Flora: | So I design a new vehicle - a tram say.. and sell them for 500L. In a couple years I can sell 40. So I get 20,000 L for my work. Someone wants a 'special' version, that no one else will buy. Is it resonable to charge them 20,000 L for it? |
[16:31] | Kooky Jetaime: | sure |
[16:31] | Kooky Jetaime: | well |
[16:31] | Kooky Jetaime: | no |
[16:31] | Kooky Jetaime: | but |
[16:31] | Kooky Jetaime: | custom commisions can be any price |
[16:32] | Andrew Linden: | Ok so here is the status on Havok4... |
[16:32] | Yellert Ultsch: | new chair |
[16:32] | Andrew Linden: | some bugs fixed... not the major crashes yet :-( |
[16:32] | Kooky Jetaime: | I know the cloning labs charges $20K for "Unique" (10 copys exist inworld no more will ever be sold) skins |
[16:32] | Yellert Ultsch: | 1 more |
[16:33] | Andrew Linden: | I built a test simulator for Dan Linden, he'll try to test the fixed bugs tomorrow |
[16:33] | PulseBurst Flow: | Andrew, do you mean: http://wiki.secondlife.com/wiki/User:Andrew_Linden/Office_Hours/2007_11_01 |
[16:33] | Andrew Linden: | and if everything looks good we'll update on Thursday |
[16:33] | Kitto Flora: | What should be fixed in that new build? |
[16:33] | Andrew Linden: | I was joking about the minutes from the last hour PulseBurst. |
[16:33] | PulseBurst Flow: | Oh..ok. ;-D |
[16:34] | Andrew Linden: | Lessee... lemme look at the list... |
[16:34] | Kitto Flora never saw any minutes yet | |
[16:34] | Andrew Linden: | Hrm... all I have are the internal jira numbers in this list... |
[16:34] | Kitto Flora: | Say the numbers... |
[16:34] | Teravus Ousley: | :P |
[16:35] | Teravus Ousley wonders if the things donated in that tip jar will *actually* go to people who've been hurt by the fires | |
[16:35] | Andrew Linden: | Gimme a minute to cross-reference... |
[16:35] | Yellert Ultsch: | my aunt lives in cali |
[16:35] | Gaius Goodliffe is too mesmerized by the blinking light to even consider it. | |
[16:36] | Yellert Ultsch: | im sending everything to her to do something |
[16:36] | Andrew Linden: | There was a problem where large spheres would penetrate the heightfield in odd ways... |
[16:36] | Andrew Linden: | we were using the "cheap heightfield" implementation (Havok4 has 3 different heightfields) |
[16:36] | Rex Cronon: | hello everybody |
[16:37] | Andrew Linden: | We moved to the second heightfield implementation (slightly more CPU expense) which fixed it |
[16:37] | Teravus Ousley: | :D |
[16:37] | PulseBurst Flow: | Hey Rex |
[16:37] | Rex Cronon: | hi |
[16:38] | Teravus Ousley: | how many heightfield 'points' are there in Havok4's implementation? |
[16:38] | Andrew Linden: | There was a bug for a Huns Valen vehicle (VH-16) which is fixed |
[16:38] | Andrew Linden: | none of these yet have SVC numbers... |
[16:38] | Teravus Ousley: | well.. in the havok4 sims.. anyway |
[16:38] | Yellert Ultsch: | anyone here have a script for aircraft/vehicals around 50-150 prims |
[16:39] | Andrew Linden: | large sphere with small dimple collides funny -- that was fixed (no SVC number) |
[16:39] | Teravus Ousley: | 512x512? |
[16:39] | Yellert Ultsch: | my freinds got this hugh tank but he doesnt got a script |
[16:39] | Yellert Ultsch: | to make it move |
[16:40] | Tree Kyomoon: | hey folks! |
[16:40] | Tree Kyomoon: | andrew I have a present for you :) |
[16:40] | Rex Cronon: | a bone:) |
[16:40] | Andrew Linden: | Misc-712 was fixed (same as SVC-735) |
[16:40] | Tree Kyomoon gave you andrewandphilip. | |
[16:41] | Andrew Linden: | Hi tree |
[16:41] | Teravus Ousley: | Greetings Strife |
[16:41] | Tree Kyomoon: | good to see you again :) |
[16:41] | Strife Onizuka: | hey ^^ |
[16:41] | Tree Kyomoon: | hey Strife! |
[16:41] | Kitto Flora: | -735 is Avatar vertical descent dampened |
[16:42] | Andrew Linden: | Hrm... there was a bug related to llMoveToTarget filed by CrystalShard Foo... |
[16:42] | Second Life: | Your object 'Chair.Array [OmniTech]' has been returned to your inventory lost and found folder by Governor Linden from parcel 'Brampton Linden Stage' at Brampton 108.208, 152.368 due to parcel auto return. |
[16:42] | WarKirby Magojiro: | table gone.... |
[16:42] | Andrew Linden: | I claimed it was not a bug, but some other LL employee's disagreed |
[16:42] | Andrew Linden: | and it is now fixed... with a hack |
[16:42] | Tree Kyomoon: | I tried out the beta, it was great to see those spheres roll! |
[16:42] | WarKirby Magojiro: | what was the issue? |
[16:43] | Andrew Linden: | the issue was that llMoveToTarget(pos, 1) would sag against gravity |
[16:43] | Andrew Linden: | about 0.2 meters |
[16:43] | Tree Kyomoon: | and I made a ball and socket joint that actually worked really well...the collision inside a hollowed out sphere seemed to work well |
[16:43] | Andrew Linden: | I computed the theoretical sag that llMoveToTarget should sag with 1 second timescale, and got 0.21 meters |
[16:44] | Andrew Linden: | dunno why it didn't sag on Havok1 |
[16:44] | Andrew Linden: | but Simon Linden fixed it |
[16:44] | WarKirby Magojiro: | Would it still sag if the object was llSetBuoyancy(1.0); ? |
[16:45] | Andrew Linden: | SVC-875 is fixed (drop off in llPushObject force is different than Havok1) |
[16:45] | WarKirby Magojiro: | Did you see SVC 917, 918, 919, and 920, Andrew ? |
[16:45] | Andrew Linden: | SVC-884 (duplicating linked prims crashes sim) is fixed |
[16:46] | Andrew Linden: | Warkirby, I assigned those to Simon to see if he could figure out if they are dupes or not |
[16:46] | Kitto Flora: | Linked Prim crash was annoying and limiting |
[16:46] | WarKirby Magojiro: | kk |
[16:46] | Andrew Linden: | we have two know crash modes in Havok4 (still not fixed) |
[16:46] | Andrew Linden: | my guess is that some of those are duplicates (tickle the same bugs) |
[16:47] | Andrew Linden: | ok, that is all that I know of, listed in my internal document |
[16:47] | Kooky Jetaime: | Ok.. I am so tired of getting shot at |
[16:47] | WarKirby Magojiro: | The content described in those issues was able to crash a sim consistently within 10 seconds |
[16:47] | Andrew Linden: | I closed a number of avatar motion bugs, I think |
[16:47] | WarKirby Magojiro: | Not sure if it's really a havok 4 issue |
[16:47] | WarKirby Magojiro: | but crossing the border into a havok 1 sim while flying |
[16:47] | WarKirby Magojiro: | caused my gravity to be reversed |
[16:48] | Saijanai Kuhn: | Andrew did you get a chance to test Qarl's bug? |
[16:48] | Andrew Linden: | SVC-826 is fixed (llPushObject() fails to run smoothly) |
[16:48] | Andrew Linden: | No Saijanai, not yet |
[16:48] | Kitto Flora: | any news on SVC-861? |
[16:49] | Andrew Linden: | no not yet. SVC-861 is assigned to Kelly |
[16:49] | Andrew Linden: | I've been pretty busy coordinating stuff |
[16:49] | Andrew Linden: | and I was focusing on avatar motion bugs so far this week |
[16:49] | WarKirby Magojiro: | Ryozu was complaining about the behaviour of llMove2Target still being unsatisfactory |
[16:49] | Saijanai Kuhn: | you can see a difference between the rez times of the two different versions of the ant |
[16:49] | WarKirby Magojiro: | but was too busy to provide more details |
[16:49] | Strife Onizuka: | i noticed a while back that jump behavior had changed |
[16:50] | Andrew Linden: | woops, I forgot to change the autoreturn on this parcel |
[16:50] | Andrew Linden: | so the table was reurned |
[16:50] | WarKirby Magojiro: | The speed boost from flight termination has been removed too |
[16:50] | WarKirby Magojiro: | was that intentional ? |
[16:50] | Saijanai Kuhn: | this one takes forever to rez |
[16:50] | Andrew Linden: | WarKirby, what speed boost are you talking about? |
[16:51] | WarKirby Magojiro: | watch me |
[16:51] | WarKirby Magojiro: | I'll demonstrate |
[16:51] | Kooky Jetaime: | I think he means the if your flying and suddenly stop |
[16:51] | WarKirby Magojiro: | stopping midflight causes a significant acceleration |
[16:51] | Andrew Linden: | ? |
[16:51] | WarKirby Magojiro: | under havok 4, you just continue going at the current speed |
[16:52] | WarKirby Magojiro: | test it |
[16:52] | WarKirby Magojiro: | start flying forward |
[16:52] | WarKirby Magojiro: | then press f |
[16:52] | Andrew Linden: | oh... some way to boost your flyspeed by toggling buttons? |
[16:52] | WarKirby Magojiro: | sort of, yes |
[16:52] | WarKirby Magojiro: | when you cease flight |
[16:52] | WarKirby Magojiro: | and start falling through the air |
[16:52] | Andrew Linden: | That is intentional... sorta. More of a casualty of cleaner code |
[16:52] | WarKirby Magojiro: | your forward momentum increases too |
[16:52] | Andrew Linden: | I had to overhaul the avatar control code |
[16:53] | Andrew Linden: | becuase of a feature that is supported in Havok1 but not in Havok4 (dynamic friction) |
[16:53] | Andrew Linden: | Havok4 caches the friction for contact points |
[16:53] | Andrew Linden: | and keeps the contact point info around |
[16:53] | WarKirby Magojiro: | hmm |
[16:53] | WarKirby Magojiro: | seems odd that havok 4 would not support something |
[16:53] | Teravus Ousley: | trade off of speed vs more accurate friction |
[16:53] | Andrew Linden: | so if you change the friction coeffiient of a body then it does not necessarily update the existing contact points |
[16:53] | Andrew Linden: | yes |
[16:54] | Andrew Linden: | as a result the avatar control was totally broken |
[16:54] | Teravus Ousley: | friction calculation is intensive. |
[16:54] | Andrew Linden: | and I had to do a lot of work to recover most behavior |
[16:54] | Andrew Linden: | but not all... some things have changed |
[16:54] | Andrew Linden: | overall I think the avatar is more responsive |
[16:54] | Andrew Linden: | but some quirks are gone, or there are new ones |
[16:54] | WarKirby Magojiro: | Was that speed boost intended behaviour in the first place? |
[16:55] | Andrew Linden: | No, I don't think so. It was some complex interaction of the code |
[16:55] | Andrew Linden: | the avatar control code is very complicated |
[16:55] | Andrew Linden: | I've written it all... I pity the next LL developer who has to look at it. |
[16:55] | Teravus Ousley: | hehe |
[16:55] | Andrew Linden: | However, it is quite a bit cleaner in Havok4 |
[16:55] | WarKirby Magojiro: | Can't you leave explanatory comments in it ? |
[16:55] | Strife Onizuka: | thats good, lava flow = bad |
[16:55] | Andrew Linden: | and the good news is that we should be able to allow analog control of the avatar sometime after Havok4 is done |
[16:56] | Rex Cronon: | analog control? |
[16:56] | Andrew Linden: | such as controlling the avatar with a joystick instead of a joystick mapped to buttons |
[16:56] | WarKirby Magojiro: | I see |
[16:56] | Tree Kyomoon: | or a stream? |
[16:56] | Teravus Ousley: | does it rely on havok4 providing collisions to determine if you should jump/crouch.. .. or fly? :D |
[16:56] | Kitto Flora: | Variable flying speed? |
[16:56] | Andrew Linden: | Many people have been asking for that. |
[16:56] | Andrew Linden: | Yes, basically variable flying speed and direction |
[16:56] | Gaius Goodliffe: | Analog controls for vehicles would be even better. :D |
[16:57] | Andrew Linden: | It will now be easier to add analog control to avatars. |
[16:57] | WarKirby Magojiro: | Variable motion speed sould be nice too |
[16:57] | Tree Kyomoon: | what would be great is precise avatar animation from a stream |
[16:57] | Tree Kyomoon: | so we could integrate mocap |
[16:57] | Andrew Linden: | yes, vehicles too eventually. But no major cleanup around that in Havok4 yet. |
[16:57] | Rex Cronon: | i think lot of people asked for scripting functions to control body segments, is that going to be a new feature too? |
[16:57] | Andrew Linden: | integrated mocap was related to the "puppeteering project" which is currently on hold |
[16:57] | WarKirby Magojiro: | Animation is a different issue |
[16:57] | WarKirby Magojiro: | nothing to do with physics, I don' think |
[16:57] | Andrew Linden: | and will probably have to be totally redone unless we salvage it soon |
[16:58] | Tree Kyomoon: | ah ok |
[16:58] | Strife Onizuka: | scripts don't run fast enough to make script controlled animations really worth it IMHO |
[16:58] | Tree Kyomoon: | I think Adam was experimenting with it in open sim at some point |
[16:58] | Andrew Linden: | Hopefully the MONO project will preview before the end of the year. |
[16:58] | WarKirby Magojiro: | yay |
[16:58] | Andrew Linden: | That should speed up scripts. |
[16:59] | Kooky Jetaime: | yep |
[16:59] | Rex Cronon: | so it makes no difference to havok4 if u have your limbs spread out or not? |
[16:59] | Gaius Goodliffe: | :D |
[16:59] | WarKirby Magojiro: | Any idea by how much ? |
[16:59] | Kooky Jetaime: | havok 4 + mono = nice sims :) |
[16:59] | Tree Kyomoon: | any word on the modularity of havok 4? |
[16:59] | Andrew Linden: | it depends on what you're doing... but MONO will speed up math operations by as much as 200 fold |
[16:59] | WarKirby Magojiro: | Wonderful |
[16:59] | WarKirby Magojiro: | I have a device that uses a lot of complex math |
[16:59] | WarKirby Magojiro: | very slow |
[16:59] | Gaius Goodliffe: | Cool... |
[16:59] | Andrew Linden: | other calls, the custom ones that call C++ code (such as llPushObject() or any llFoo() call) won't speed up much |
[17:00] | Gaius Goodliffe: | A lot of my scripts do a lot of trig... |
[17:00] | Kitto Flora: | Maybe get trains that go faster than walking :) |
[17:00] | Teravus Ousley: | how about list processing? |
[17:00] | Rex Cronon: | so with mono should be possible to have script functions that control body parts position |
[17:00] | Andrew Linden: | but I think the memory footprint of scripts will go down |
[17:00] | Andrew Linden: | and general scheduling will speed up |
[17:00] | Saijanai Kuhn: | first pass of mono release, there will be no new features, from what Zero and Babbage have said |
[17:00] | Andrew Linden: | so an overall speedup... can't even hazard a guess |
[17:00] | Strife Onizuka: | i would love to be able to test my code in mono, i have some functions that are very delicate and I want to release versions that will work seemlessly |
[17:00] | Andrew Linden: | you'll have to ask Babbage Linden for estimates |
[17:00] | Teravus Ousley: | k ;D |
[17:00] | WarKirby Magojiro: | will do |
[17:01] | Andrew Linden: | Another rumor is that Windlight will be previewing soon... weeks |
[17:01] | Strife Onizuka: | pffft sounds like another H4 to me |
[17:01] | Teravus Ousley: | When you did the implementation of Havok4 did you have to also overhaul the 'sim side sit' code? |
[17:01] | Andrew Linden: | That is Windlight will move into "FirstLook" |
[17:01] | WarKirby Magojiro: | We'll get havok 4 before thta arrive.. oh wait |
[17:01] | Andrew Linden: | The Havok4 work was a major overhaul of portions of the simulator |
[17:02] | Andrew Linden: | as you can tell by all the bugs in the simulator |
[17:02] | Strife Onizuka: | yes. tell us about the sim side sit code, emulating that in LSL is *weird* |
[17:02] | WarKirby Magojiro: | me nods |
[17:02] | Kooky Jetaime: | Hello Marvin |
[17:02] | Kooky Jetaime: | er.. Angela |
[17:02] | Andrew Linden: | Ok, this is something I've been wanting to do for a while.... |
[17:03] | Andrew Linden: | I would like each of you to summarize your most popular activities in SL, for my own benefit |
[17:03] | Andrew Linden: | such as: scriptor, vendor, explorer, or whatever |
[17:04] | Andrew Linden: | I'm just curious about what you all do most of the time. |
[17:04] | WarKirby Magojiro: | I'm a scriptor, artist, and businessman |
[17:04] | Kitto Flora: | Do you mean what we spend most of time doing, on MG? |
[17:04] | Teravus Ousley: | I like flying.. and falling :D. |
[17:04] | WarKirby Magojiro: | I also spent time socialising with friends and a loved one |
[17:04] | Gaius Goodliffe: | Hehe. |
[17:04] | Rex Cronon: | i spend quite some time crashing:( |
[17:04] | Noru's dark hair whispers: WarKirby Magojiro pets Noru on the head. Good girl! | |
[17:04] | Andrew Linden: | Yeah, how do you categorize yourself in the various resident stereotypes? |
[17:04] | Strife Onizuka: | scriptor/hacker and spend most time socializing |
[17:04] | Gaius Goodliffe: | I design and build airships, mostly, and some other aircraft. |
[17:04] | Tree Kyomoon: | I build online training in flash and also am working on a virtual world of my own in flash for a client. |
[17:05] | Tree Kyomoon: | So I definitely have a deep appreciation for the work you are doing here |
[17:05] | Rex Cronon: | what are the available stereotypes:) |
[17:05] | Teravus Ousley: | erm.. scripter and builder I suppose |
[17:05] | Kitto Flora: | These days mostly I write scripts |
[17:05] | WarKirby Magojiro: | I imagine most of us here are technically minded in some way |
[17:05] | Rex Cronon: | brb |
[17:05] | Andrew Linden: | I guess the available stereotypes are: scriptor, builder, explorer, real-estate-baron, socializer, shopper, and crazy |
[17:06] | Tree Kyomoon: | lol |
[17:06] | Gaius Goodliffe: | crazy builder/scriptor. :D |
[17:06] | Saijanai Kuhn: | ant farmer |
[17:06] | Tree Kyomoon: | all of the above |
[17:06] | Teravus Ousley: | I like to script active physical items :D |
[17:06] | WarKirby Magojiro: | Scriptor, builder, socialiser, then |
[17:06] | PulseBurst Flow: | trying to learn everything...oh...there's a crazy catagory? sign me up. ;-D |
[17:06] | Teravus Ousley: | though.. in havok1.. deep think made it difficult |
[17:06] | WarKirby Magojiro: | I also look after a sandbox |
[17:06] | Kitto Flora: | Scriptor and bit of builder and rarely socializer |
[17:06] | Andrew Linden: | hehe, ok thanks everyone. I was just curious. |
[17:06] | WarKirby Magojiro: | : ) |
[17:07] | Rex Cronon: | i am back |
[17:07] | Gaius Goodliffe: | Question: I know we're limiting physical objects to 32 prims to help with the save/load at sim-crossings, but I was wondering if we might see relaxed rules with regards to avatars sitting on the object. Right now we lose a prim for each avatar (two, actually, one for the av and one for the seat) -- is there any chance that extra prim cost from sitting avatars could be removed, so you could get 32 prims regardless of how many people are allowed to sit on it? |
[17:07] | Teravus Ousley is interested in hearing the response to Strife's sit question | |
[17:07] | Rex Cronon: | i guess i am: scritping, building, socializing |
[17:07] | Rex Cronon: | exploring a little |
[17:08] | Andrew Linden: | Someone restate Strife's question... I'll have to scroll back. |
[17:08] | PulseBurst Flow: | You mean there's stuff to do in SL besides cybering? ;-D |
[17:08] | WarKirby Magojiro: | yes. tell us about the sim side sit code, emulating that in LSL is *weird* |
[17:08] | WarKirby Magojiro: | sit code |
[17:08] | Strife Onizuka: | i posted a sittarget update on the wiki https://wiki.secondlife.com/wiki/LlSitTarget |
[17:09] | Andrew Linden: | Uh... sim-side sit code? Could you be more specific? |
[17:09] | Andrew Linden: | You mean... how do we figure out where to sit you? |
[17:09] | Strife Onizuka: | it depends upon the avatar rotation and size |
[17:09] | Strife Onizuka: | to calculate the offset |
[17:09] | Andrew Linden: | Oh... that is a mess. But I can tell you all about it |
[17:09] | WarKirby Magojiro: | For things without sit targets ? |
[17:09] | Andrew Linden: | because I KNOW... |
[17:09] | Andrew Linden: | Ok, this is how it works... |
[17:10] | Andrew Linden: | The client supplies a suggested offset to the simulator |
[17:10] | Andrew Linden: | based somewhat on where you clicked... but not really. |
[17:10] | Andrew Linden: | The offset from the client is something I don't understand... I've tried to grok the code and failed a few times. |
[17:10] | Strife Onizuka assumes that it is the offset between the feet and the hips | |
[17:10] | Andrew Linden: | Perhaps someone here who has looked at the open source code could help me here |
[17:11] | Andrew Linden: | the only LL developer who knows how it works is Richard Linden |
[17:11] | WarKirby Magojiro: | That's not good.... |
[17:11] | Strife Onizuka: | what file is it in? |
[17:11] | Andrew Linden: | anyway... the viewer supplies a suggested offset and the simulator tries to "find a place to sit somewhere near the specified point" |
[17:12] | Andrew Linden: | This is how it works in Havok4... not sure about Havok1 anymore. |
[17:12] | Andrew Linden: | The simulator does several ray-traces toward the offset... |
[17:12] | Andrew Linden: | (1) from the current avatar position |
[17:12] | Andrew Linden: | (2) from the avatar position, but at camera height |
[17:12] | Andrew Linden: | (3) from the camera position |
[17:12] | WarKirby Magojiro: | Hence why you can't sit through walls without a sit target.. |
[17:13] | Strife Onizuka: | ah |
[17:13] | Andrew Linden: | and if all of those fails it tries to just hit the object horizontally from avatar position, then raytraces again from the (2) position to where it hit |
[17:13] | Andrew Linden: | that would be (4) |
[17:13] | Andrew Linden: | it tries those in succession, first decent hit is used |
[17:14] | Andrew Linden: | by "decent" I mean it tries to find an "edge" to sit on, using several ray traces, and then computes the intersection between two planes |
[17:14] | WarKirby Magojiro: | sounds very messy |
[17:14] | Tree Kyomoon: | can I ask a question about the communication in SL, speaking of messy...? |
[17:14] | Andrew Linden: | finally, it places a proxy object where it wants to sit you, and moves it around trying to find a spot that doesn't have any collisions |
[17:15] | Teravus Ousley: | heh, sounds like the only way to properly do it :D |
[17:15] | Andrew Linden: | so this step may fail if you clicked in a spot where another obect blocks |
[17:15] | Andrew Linden: | (the ray traces are only against the seat object -- all other objects are ignored in the ray-trace) |
[17:15] | Strife Onizuka: | wow |
[17:15] | Mitch Griswold: | Script run-time error |
[17:15] | Mitch Griswold: | Bounds Check Error |
[17:15] | Strife Onizuka: | ^^; i meant more along the lines of how it calculates the offset when you use a sit-target |
[17:15] | Andrew Linden: | finally, it sits you there if it doesn't find anything blocking |
[17:15] | Rex Cronon: | but, wasn't there a time where u could sit on something even though your sit was behind other objects? |
[17:15] | Andrew Linden: | so... after all that, you still have trouble sitting in Havok4 |
[17:16] | WarKirby Magojiro: | script has crashed, Mitch |
[17:16] | Mitch Griswold: | hmm? |
[17:16] | Andrew Linden: | the reason is that the offset supplied by the viewer is often way outta whack |
[17:16] | Andrew Linden: | for instance, you click on a big box and the viewer suggests some point near the center |
[17:16] | Teravus Ousley: | hehe. the objects absolute position? |
[17:16] | Andrew Linden: | the center doesn't have any valid "edges" |
[17:17] | Strife Onizuka: | why not have it suggest where hte viewer clicked? |
[17:17] | Andrew Linden: | which is why I try (4) where I first hit the object horizontally... trying to find a vertical face near an edge |
[17:17] | Andrew Linden: | Strife, until we replace ALL clients with ones that actually suggest the correct offset the simulator cannot assume that the viewer is supplying a good offset |
[17:18] | Andrew Linden: | so I decided to make the simulator try Very Hard to find a place to sit |
[17:18] | Strife Onizuka nods | |
[17:18] | Andrew Linden: | such that when we do start supplying the right offsets, it should just work |
[17:18] | Andrew Linden: | There is one small thing about sitting I hadn't mentioned yet... |
[17:18] | Andrew Linden: | if the object has no edge, but has a sufficiently slanted face (such as a ramp, or a large sphere) |
[17:19] | Andrew Linden: | it will try to sit on on the flat surface (not an edge) |
[17:19] | Rex Cronon: | and sculpties? |
[17:19] | Andrew Linden: | Ugh... sculpties don't have correct collision surfaces |
[17:19] | WarKirby Magojiro: | they're treated like a torus, are they not? |
[17:19] | Andrew Linden: | so they totally fail in the sit code |
[17:19] | Teravus Ousley wonders how much the sims know about sculpties geometry | |
[17:19] | Andrew Linden: | as you can see... sculpties are "unfinished" |
[17:20] | WarKirby Magojiro nods | |
[17:20] | Kooky Jetaime: | thats what sit targets are for |
[17:20] | Saijanai Kuhn: | nothing they're all spheres |
[17:20] | Andrew Linden: | The sims know nothing about sculptie geometry, except an approximate scale |
[17:20] | Andrew Linden: | sculpties are torii unfortunately |
[17:20] | WarKirby Magojiro: | what's unfortunate about it ? |
[17:20] | Teravus Ousley: | it makes the sit code 'difficult' |
[17:20] | Strife Onizuka: | harder to do colllision detection |
[17:21] | Andrew Linden: | torii are concave and concave object are more expensive in general |
[17:21] | Andrew Linden: | for the physics engine |
[17:21] | WarKirby Magojiro: | Why not just completely factor them out of the site code |
[17:21] | Tree Kyomoon: | you would have to interpret the shape image both in rendering AND in physics |
[17:21] | WarKirby Magojiro: | have the attempt return an error |
[17:21] | Andrew Linden: | Ok that was a good question Strife. Somone ask another. |
[17:21] | WarKirby Magojiro: | "Cannot sit on sculpted prim without sit target" |
[17:21] | Saijanai Kuhn: | thought they were spheres as far as physics was concerned |
[17:21] | Gaius Goodliffe: | (copy-pasting) Question: I know we're limiting physical objects to 32 prims to help with the save/load at sim-crossings, but I was wondering if we might see relaxed rules with regards to avatars sitting on the object. Right now we lose a prim for each avatar (two, actually, one for the av and one for the seat) -- is there any chance that extra prim cost from sitting avatars could be removed, so you could get 32 prims regardless of how many people are allowed to sit on it? |
[17:22] | Andrew Linden: | Gaius, that is possible in theory... |
[17:22] | Kooky Jetaime: | actually, I thought it was 30 |
[17:22] | Andrew Linden: | especially in the Havok4 code where there has been a lot of cleanup around the difference between child prims and sitting avatars |
[17:22] | Kooky Jetaime: | and you don't lose a prim for the seat, as long as there is a sit target |
[17:22] | Strife Onizuka: | you would need a real UpdateSitTarget function then, not a hack |
[17:22] | WarKirby Magojiro: | it could lead to 32 people sitting on one little car |
[17:23] | Strife Onizuka: | clown mobile |
[17:23] | Teravus Ousley: | hehe |
[17:23] | WarKirby Magojiro: | :) |
[17:23] | Andrew Linden: | The only problem I see is that it would be possible to make a car and sit 30+ avatars on it |
[17:23] | Andrew Linden: | already possible, I suppose, with a single prim car |
[17:23] | Gaius Goodliffe: | Mostly, I'd like it for some of my airships, where the gondola can hold a dozen people. Hurts to lose all those prims just because you're designing a more social mode of transport. |
[17:23] | Strife Onizuka: | having 32 av's all moving around a sim together might put alot of stress on the sim |
[17:23] | Rex Cronon: | what is the problem is there are 30 av sitting? |
[17:23] | Kitto Flora: | Hard to make 30 avs sit on a single prim |
[17:24] | WarKirby Magojiro: | What problems are there with that happening |
[17:24] | WarKirby Magojiro: | Ie, many avs on one object |
[17:24] | Strife Onizuka: | identical object and texture requests |
[17:24] | Teravus Ousley: | well.. are the 'child' prim treated as 'active' .. or just merely clumped on to the geometry of the root prim.. that is active? |
[17:24] | Tree Kyomoon: | here is my question. In my projects, I usually daisy chain client-server communication, that is send one packet, wait for response, send next packet. Is SL 's fundamental communication like that, or is it a shotgun approach ...or both or? |
[17:24] | Andrew Linden: | yeah, so if we don't count avatars in the number of prims for dynamic objects... in Havok4 you could easily sit 30+ avatars on a 30 seat bus |
[17:25] | WarKirby Magojiro: | Would havok have problems with that, though ? |
[17:25] | Andrew Linden: | Tree, I'll get to your question in a bit... |
[17:25] | Gaius Goodliffe: | Havok would be fine. I think it's other issues that are the potential problems... |
[17:25] | Andrew Linden: | Havok4 physics engine wouldn't have trouble with 30+ avatars sitting on a 30+ prim bus |
[17:25] | Rex Cronon: | so if the avatars and the object they r sitting on are treated as one single objets. is it possible? |
[17:25] | Andrew Linden: | however... the region crossing event would be... interesting |
[17:25] | Gaius Goodliffe: | hehe |
[17:25] | Teravus Ousley: | hehe |
[17:25] | WarKirby Magojiro: | :/ |
[17:26] | WarKirby Magojiro: | I've tried similar with 4 avs |
[17:26] | WarKirby Magojiro: | and it was messy |
[17:26] | Saijanai Kuhn: | wearing 5 of Qarls ants maybe? |
[17:26] | Andrew Linden: | My guess is that it would occasionally fail, or at least severely lag on region crossing |
[17:26] | Teravus Ousley: | yes.. imagine crossing sims with 30 avatars at 50 to 100 meters per second |
[17:26] | Gaius Goodliffe: | Maybe limit vehicles to 10 passengers or something? |
[17:26] | Saijanai Kuhn: | avatar all over the scneary |
[17:26] | Rex Cronon: | it should be possible |
[17:26] | Gaius Goodliffe: | And keep that limit seperate from the prim limts? |
[17:26] | WarKirby Magojiro: | if all the avs were requitred to remove scripted attachments first.... |
[17:26] | Andrew Linden: | If I limited to 10 avatars... surely some content would break. |
[17:27] | Kitto Flora: | Its actually rare to get more than about 5 Avs reiding a vehicle |
[17:27] | Strife Onizuka: | how about avatars sitting on attachments?any time soon? |
[17:27] | Teravus Ousley: | i kinda like that idea myself |
[17:27] | Andrew Linden: | No sitting on attachments any time soon. There are lots of places in the code that assume avatars are not sitting on attachments. |
[17:27] | Andrew Linden: | There is soooo much that has to be cleaed up before then. |
[17:27] | Kitto Flora: | Humm - waht was the Pony code + Saddle? |
[17:27] | WarKirby Magojiro: | If it comes to implementing that |
[17:28] | Andrew Linden: | lessee... on to Tree's question |
[17:28] | Teravus Ousley: | I suppose you'd need to do a 'sit target' on the attachment.. though.. otherwise we'd have people sitting on each other's hair.. or earing or something :P |
[17:28] | Andrew Linden: | about packets between the servers |
[17:28] | Strife Onizuka: | Pony saddle was a vehical |
[17:28] | WarKirby Magojiro: | I'd strongly suggest limiting it to only attachments with a sit target set |
[17:28] | Andrew Linden: | Tree, originally most of our packets were UDP |
[17:28] | Andrew Linden: | the idea being we wanted a system where it was ok to drop packets |
[17:28] | Kitto Flora: | OK Strife, I never looked at it close |
[17:28] | Andrew Linden: | an we would try kinda hard to try again in some important cases |
[17:29] | Andrew Linden: | This worked okay until we started adding features that required success... money transactions, inventory operations, certain kinds of data dumps |
[17:29] | WarKirby Magojiro nods | |
[17:29] | Gaius Goodliffe nods. | |
[17:29] | Saijanai Kuhn: | reliable IM... |
[17:29] | Andrew Linden: | so now we're moving as much as we can to TCP or HTTP |
[17:29] | WarKirby Magojiro: | heh |
[17:30] | Tree Kyomoon: | do you use HTTP post essentially? |
[17:30] | Saijanai Kuhn: | though thats not UDP issues. Its a design issue |
[17:30] | Gaius Goodliffe: | Oftentimes the workarounds for dealing with UDP eat up all the benefits. |
[17:30] | WarKirby Magojiro: | Are those guaranteed sucess? |
[17:30] | Rex Cronon: | there are ways to send reliable IM over UDP |
[17:30] | Andrew Linden: | Some of you may recall many of the intermittent bugs that were caused by UDP packet infrastructu4re |
[17:30] | Andrew Linden: | Yes, TCP succeeds or keeps trying |
[17:30] | Kitto Flora: | We still suffer here from UDP loss |
[17:31] | WarKirby Magojiro: | surely it must timeout eventually ? |
[17:31] | Andrew Linden: | Tree, for more info you'd have to talk to Zero Linden or some of the people working with him |
[17:31] | Tree Kyomoon: | so you tried the shotgun approach, but eventually realized that you had to daisy chain requests? |
[17:31] | Andrew Linden: | We're currentlyl in the middle of a Huge overhaul of our system protocols |
[17:31] | Saijanai Kuhn: | its not the UDP causing the problems. Its a database issue: there's no intermediate between the database of users and the IM. Everytime an IM is sent, it checks the avatar database. Every single time |
[17:31] | Andrew Linden: | It has been going on for a year, and will continue to evolve for the next year or two |
[17:32] | Andrew Linden: | We're replacing as much as we can with "web services", even for internal communication |
[17:32] | Andrew Linden: | basically this is REST on top of HTTP |
[17:32] | Tree Kyomoon: | thanks for your answer, that really clears up some of the mystery for me....Ive been at Zero's hours but havent been able to figure that out yet... |
[17:32] | Andrew Linden: | REST just means you only support GET, POST, DELETE, and maybe another operation |
[17:32] | Tree Kyomoon: | but Ive been building based on web services for years and years |
[17:33] | Tree Kyomoon: | and when I saw the early SL stuff I was amazed that it actually was working |
[17:33] | Gaius Goodliffe: | lol |
[17:33] | Tree Kyomoon: | it seemed like magic to me :) |
[17:33] | Andrew Linden: | originally we thought most of the data from the SL servers would be dynamic updates... position, velocity, etc |
[17:34] | Andrew Linden: | however it turned out that the Vast Vast Majority of our data is textures |
[17:34] | WarKirby Magojiro: | heh |
[17:34] | Gaius Goodliffe nods. | |
[17:34] | Andrew Linden: | which require binary perfection |
[17:34] | Tree Kyomoon: | interesting |
[17:34] | WarKirby Magojiro: | textures everywhere |
[17:34] | Andrew Linden: | so better to download those with HTTP |
[17:34] | Andrew Linden: | Textures are something like 80% of our bandwidth, I think |
[17:34] | Andrew Linden: | Steve Linden knows that number better |
[17:34] | Tree Kyomoon: | wow |
[17:34] | WarKirby Magojiro: | 80% o.0 |
[17:34] | Kooky Jetaime: | andrew |
[17:34] | Kitto Flora: | However, object motion data needs reliablity for good appearance. |
[17:35] | Kooky Jetaime: | once the client cache starts working right |
[17:35] | Kooky Jetaime: | I think that # would drop |
[17:35] | Seifert Surface: | prims did well :) |
[17:35] | Tree Kyomoon: | wouldnt there be an advantage to allowing direct peer to peer texture hosting? |
[17:35] | Rex Cronon: | it might be possible to go as low as 60 or maybe even 40% |
[17:35] | Rex Cronon: | :) |
[17:35] | Tree Kyomoon: | I have been around that block with Zero a coupel of times |
[17:35] | Andrew Linden: | Yeah, I haven't been able to uderstand why a really big texture cash on Resident hard drives won't work |
[17:35] | Teravus Ousley: | peer to peer is.. by nature.. unreliable |
[17:35] | Kooky Jetaime: | Andrew - its easy |
[17:35] | Kooky Jetaime: | the client isn't using the cache |
[17:36] | WarKirby Magojiro: | I seem to remember someone saying that the benefits of the cache are lost when it becomes big |
[17:36] | Andrew Linden: | but some of the other developers claim that there are obstacles there |
[17:36] | Kitto Flora: | A fuzzy texture is one thing, objects flying off with weird rotations is far more annoying. |
[17:36] | WarKirby Magojiro: | slow tyo search |
[17:36] | Kooky Jetaime: | I went to a mall, spent hours there, went home, for 5 minutes, went back to the mall and I was in grey box ville |
[17:36] | Kooky Jetaime: | even though I know the entire area should be in my cache.. (1gb) |
[17:36] | Andrew Linden: | If you could... wouldn't you dedicate 10, 20, even 100 GB to SL textures if it decreased your bandwidth and lag? |
[17:36] | Tree Kyomoon: | its unreliable, but I dont think it would matter as much as Zero thinks it does if some textures didnt make it due to local hosting issues |
[17:36] | Gaius Goodliffe: | I think the problem is, they're trying to use the filesystem as a database. |
[17:36] | WarKirby Magojiro: | definitely |
[17:36] | Gaius Goodliffe: | If you're making a different file for each graphic, it'll be insanely slow. |
[17:36] | Kooky Jetaime: | well, not 100GB Andrew :) |
[17:36] | Kooky Jetaime: | I might have a TB online here but..... |
[17:37] | Kooky Jetaime: | I'm not giving up 10% for cache |
[17:37] | Gaius Goodliffe: | That's why most MMORPG games have one huge .DAT file for all those resources. |
[17:37] | Tree Kyomoon: | are the textures blobs in the database or are they sitting in a fileserver? |
[17:37] | WarKirby Magojiro: | I have 168Gb free atm |
[17:37] | Andrew Linden: | There are some people with 500GB drives who wouldn't mind dedicating 100GB I would guess |
[17:37] | WarKirby Magojiro: | Most MMORPG games are not full of dynamic content though |
[17:37] | Andrew Linden: | The textures live on the asset server |
[17:37] | WarKirby Magojiro: | those are prefabricated, prepacked worlds |
[17:37] | Andrew Linden: | which provides them via HTTP to the simulators |
[17:37] | Andrew Linden: | I don't know the current state of the texture pipeline |
[17:37] | PulseBurst Flow: | yes andrew...100GB is nothing these days really, if it's something you use. |
[17:38] | Tree Kyomoon: | right so its not really to much of a stretch to host the assets externally |
[17:38] | Gaius Goodliffe: | GuildWars downloads and updates that .DAT file on the fly, rather than using a prepackaged one. |
[17:38] | Andrew Linden: | it had been rewritten to use HTTP, but maybe hasn't been "turned on" yet |
[17:38] | Saijanai Kuhn: | and they are carefully crafted by professional artists working for months with the programmers to tweak things |
[17:38] | Kooky Jetaime: | I so need to jira an idea I had that would provide the possibility of almost full sim caching |
[17:38] | Teravus Ousley: | I put the cache on a separate hard drive then SL and the Operating system :D |
[17:38] | PulseBurst Flow: | externals are cheap |
[17:38] | Teravus Ousley: | makes it run faster |
[17:38] | Kooky Jetaime: | Externals are slower than internals though |
[17:38] | Tree Kyomoon: | what would it mean to SL to be able to suddenly drop bandwidth useage by 80%?? |
[17:38] | WarKirby Magojiro: | well, that's not ging to happen |
[17:38] | WarKirby Magojiro: | you can't cache the world on your pc |
[17:39] | PulseBurst Flow: | well faster than online |
[17:39] | Andrew Linden: | Meh, bandwidth is a noticable cost, but not the largest chunk, I think. |
[17:39] | Kooky Jetaime: | Warkirby - no, but you can cache a significant chunk of the sim your in |
[17:39] | WarKirby Magojiro: | What IS the largest ? |
[17:39] | Gaius Goodliffe: | I could easily cache those parts of the world I use on my PC. |
[17:39] | Teravus Ousley: | doesn't it check the cache for updates every hour anyway currently? |
[17:39] | Saijanai Kuhn: | 16K of sims cached is silly to contemplate |
[17:39] | Rex Cronon: | u can cash the sim u r in |
[17:39] | Tree Kyomoon: | no but other people could host the textures, external public hosts who are experts specifically in image hosting/serving |
[17:39] | Andrew Linden: | I'm going to have to head out everyone. |
[17:39] | Andrew Linden: | Thanks for coming. |
[17:39] | Kooky Jetaime: | ok |
[17:39] | Kooky Jetaime: | later |
[17:39] | Tree Kyomoon: | thanks Andrew! |
[17:39] | Teravus Ousley: | Thanks for coming also :) |
[17:39] | Gaius Goodliffe: | Thank you, Andrew. |
[17:39] | WarKirby Magojiro: | ok. |
[17:39] | Kooky Jetaime: | teravus - no |
[17:39] | Kooky Jetaime: | it shouldn't |
[17:39] | PulseBurst Flow: | me too...by folks, thanks andrew. |
[17:39] | WarKirby Magojiro: | thanks for the time, Andrew |
[17:39] | Rex Cronon: | bye andrew |
[17:39] | Kooky Jetaime: | because SL cache can't become "stale" like a browser can |
[17:39] | Saijanai Kuhn: | take care |
[17:39] | Kitto Flora: | Byebye Andrew |
[17:39] | Tree Kyomoon: | good to see you again! |