User:Andrew Linden/Office Hours/2007 11 06

From Second Life Wiki
Jump to: navigation, 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:
[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
[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 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!