User:Zero Linden/Office Hours/2007 Apr 17
Jump to navigation
Jump to search
Transcript of Zero Linden's office hours:
[12:53] | Zero Linden: | nooooooo! |
[12:53] | Donovan Linden: | hello |
[12:53] | Donovan Linden: | no voice? |
[12:54] | Zero Linden: | about to go to office hours, so no |
[12:54] | Zero Linden: | and RUTH'd! |
[12:54] | Donovan Linden: | ah |
[12:54] | Zero Linden: | ah back |
[12:54] | Donovan Linden: | you looked ok to me |
[12:55] | Wire Edman: | Sorry. Don't want to blow your cover. |
[12:56] | Khamon Fate: | Hi Zero |
[12:56] | Jarod Godel: | Hi |
[12:56] | Hiro Market: | hey |
[12:56] | Zero Linden: | i'm early for once |
[12:56] | Wire Edman: | Did I crash a meeting of some kind? |
[12:56] | Zero Linden: | Yes - I'm about to hold office hours |
[12:56] | Zero Linden: | or rather, "hour" |
[12:57] | Zero Linden: | See the little easel to my left |
[12:57] | Wire Edman: | Yes. wondered about that. |
[12:57] | Zero Linden: | Welcome to SL, Wire - enjoying your first two weeks? |
[12:57] | Wire Edman: | How'd you know? |
[12:58] | Wire Edman: | And yes. I like it in here. |
[12:58] | Zero Linden: | Right-click on someone, choose profile, and in the profile window, the upper right has the "since date" |
[12:58] | Zero Linden: | or "born date", rather --- |
[12:58] | Wire Edman: | Oh yeah. I saw that. Just forgot about it. |
[12:59] | Zero Linden: | Some people say "Rez-day" -- which I like better |
[12:59] | Wire Edman: | Yes. As in Tron. |
[12:59] | Zero Linden hums... "You say it's your rez-day..... And what is it to you?...." | |
[13:00] | Wire Edman: | I see you are a Linden employee. |
[13:00] | Zero Linden: | Indeed - as are all avatars with the last name "Linden" |
[13:00] | Khamon Fate: | You take that back! |
[13:00] | Zero Linden: | also, the last name "Tester" is for Lindens too |
[13:00] | Khamon Fate: | Oh, you mean Zero ha ha |
[13:00] | Zero Linden: | Khamon -- come to the dark side --- you know you want to! |
[13:00] | Khamon Fate: | I like to think that most Lindens have alternate avs that play in the wora'uld just like we do. |
[13:01] | Jarod Godel: | Khamon as a Linden. scaaaary. |
[13:01] | Zero Linden: | Khamon - I do, and you can find it by reading my 1st life profile |
[13:01] | Khamon Fate: | Actually, I've thought about applying as a Liason when this semester if finished. I'll have more free time through the summer. |
[13:01] | Rex Cronon: | hello everybody |
[13:01] | Jarod Godel: | "We need more plants," he would bellow, "Forget scripting tools. Give them seeing tools!" |
[13:02] | Zero Linden: | I suppose I should make people drop their weapons on the outside of the tent |
[13:02] | Wyn Galbraith: | Boy was it hard to get here. |
[13:02] | Khamon Fate: | Wull maybe I could help with Speedtree of something too. But that would take a lot of hours. |
[13:02] | Zero Linden: | I've seen scripted seeds in SL |
[13:02] | Rex Cronon: | don't worry zero |
[13:02] | Jarod Godel: | No speed tree |
[13:02] | Wyn Galbraith: | I was thing of scripting a seed. |
[13:02] | Jarod Godel: | i hate speed tree |
[13:02] | Rex Cronon: | i am not going to start shooting everything in sight |
[13:02] | Wire Edman: | I'll leave you all to your meeting. Seya later. |
[13:02] | Jarod Godel: | :-p |
[13:02] | Wire Edman: | Oh, nice! |
[13:03] | Khamon Fate: | Yeah the alife type projects are interesting but the sim software isn't really up to hosting it very well yet. |
[13:03] | Zero Linden: | Later,Wire |
[13:03] | Rex Cronon: | i just came from rausch, i was testing some bulletes, since swt is down:( |
[13:03] | Khamon Fate: | You can stay Wire, it's a public meeting |
[13:03] | Wyn Galbraith had to go to Tinbuctu to get to Zero's Ground. | |
[13:03] | Zero Linden: | Indeed, Wire - it is |
[13:03] | Jarod Godel: | What would it take for SL/LSL to be up to ALife ideal? |
[13:03] | Hiro Market: | i had to log out and back in |
[13:03] | Khamon Fate: | Remember when Clyde was between Rausch and Jessie |
[13:03] | Jarod Godel: | larger memeory stacks? |
[13:03] | Khamon Fate: | They really got bombarded |
[13:04] | Jarod Godel: | llHTTPRequest gives them persistant storage. |
[13:04] | Zero Linden: | Jarod - well, I know people doing A-Life and they like to milk every cycle out of their computer... so, basically it'll never be up to snuff |
[13:04] | Khamon Fate: | Bots Jarod, we'd need bots. |
[13:04] | Wyn Galbraith: | I did that twice, went to Zero's sandbox thinking maybe I could get here from there. Tried getting here from logging in... it was tough I started at 12:45. |
[13:04] | Khamon Fate: | And more than 40 of them in the sim at a time. |
[13:04] | Wyn Galbraith loves bots. | |
[13:04] | Jarod Godel: | Khamon, we need a client API for true bots. |
[13:04] | Donovan Linden: | I'm going to lurk |
[13:05] | Wyn Galbraith: | Hello Donovan. |
[13:05] | Khamon Fate: | We need flexible prims to be resized properly after they're resized by llSetPrimitiveParams() |
[13:05] | Khamon Fate: | I mean rendered properly after they've... |
[13:05] | Wyn Galbraith loves meeting new Lindens :). | |
[13:05] | Donovan Linden: | flexi-prims are client side, that sounds like a bug that could be fixed in the open source client |
[13:05] | Donovan Linden: | hi wyn |
[13:06] | Jarod Godel: | Zero: heh, yes. A-Life types are likely the same kind of hackers who prefer C over Perl, because it gets them closer to the metal. |
[13:06] | Khamon Fate: | Flexible prims are a feature Donovan, their proper rendering should be fixed by Linden Lab. |
[13:06] | Jarod Godel: | Which is understandable given what they're doing. |
[13:06] | Jarod Godel: | and that should be :assembly over C," sorry. |
[13:06] | Donovan Linden: | Khamon: Sure, just sayin' |
[13:06] | Zha Ewry sits, betting the intenral IRC channel isn't quiet | |
[13:07] | Khamon Fate: | Isn't that like dividing by zero Jarod? |
[13:07] | Rex Cronon: | hi donovan, zha |
[13:07] | Khamon Fate: | Hey Zha |
[13:07] | Jarod Godel: | I'm pretty sure Zero only multiplies. |
[13:07] | Zero Linden: | now you're scaring me, Zha |
[13:07] | Zha Ewry: | Took four tries to get here. |
[13:07] | Zha Ewry: | Got ruthed, underwater. 50m from here, with an inv full of someoen elses stuff |
[13:08] | Khamon Fate: | Zha is IRpsyCic |
[13:08] | Zha Ewry: | I'm willing to bet.. that wasn't a good sign |
[13:08] | Wyn Galbraith: | Hello, Zha. I ended up underwater too with a box. |
[13:08] | Khamon Fate: | Really? Someone elses' stuff? |
[13:08] | Khamon Fate: | That's a bit odd. |
[13:08] | Zero Linden: | That's true - I like to multiply C++ by Python by (HTTP + XML) |
[13:08] | Rex Cronon: | i don't like that. |
[13:08] | Zero Linden: | okay, so there was an add in there... |
[13:08] | Wyn Galbraith loves SL cause you sometimes never know where you're going to show up. Part of the fun. | |
[13:09] | Hiro Market: | and as what |
[13:09] | Zha Ewry: | Nor I.. Not clear who's it was. Ruthed, and clothing on that I don't own |
[13:09] | Rex Cronon: | is not good if other people end up with my things:( |
[13:09] | Khamon Fate: | In all fairness, the sims software wasn't designed to support alife type simulations. That's a possible future direction. |
[13:09] | Zero Linden: | uhm - you probably had just the LIbrary inventory |
[13:09] | Khamon Fate: | You people and your attachments |
[13:09] | Zha Ewry: | For that matter. I'm rezzzed in the clothing I had on, 4 logs back |
[13:09] | Zero Linden: | one cause of being Ruth'd is that the sim can't get to your inventory server fast enough - |
[13:10] | Khamon Fate: | Have you been betagridding Zha? |
[13:10] | Zero Linden: | in which case it can't get your body shape, and ditto your contents |
[13:10] | Zero Linden: | in that case, you get only the library |
[13:10] | Zha Ewry: | Not since I emptied my cache |
[13:10] | Khamon Fate: | Oh that makes sense |
[13:10] | Wyn Galbraith: | At least you're not naked. |
[13:11] | Zha Ewry: | This was beyond the normal ruthing.. but.. shrug. |
[13:11] | Rex Cronon: | ok, i have a question, how come possible for others to spam you so hard with textrues that your client crashes? |
[13:11] | Zha Ewry: | Yesterday other people could see parts of *MY* RL desktop in thier clients |
[13:11] | Wyn Galbraith: | How many can write in their diary, or blog, today at work I got Ruth'd? |
[13:11] | Zero Linden: | Zha - now wait a minute! |
[13:11] | Zero Linden: | your RL desktop? I assure you we don't send that up |
[13:12] | Zha Ewry: | I had textures which were my desktop... People could read them. |
[13:12] | Zha Ewry: | And I saw the same.. today. |
[13:12] | Zero Linden: | Had you been VNCing with 'em |
[13:12] | Zero Linden: | ? |
[13:12] | Zha Ewry: | Jeans textured with someone's desktop |
[13:12] | Rex Cronon: | if there are memory allocation problems they can see it |
[13:12] | Zero Linden: | we sometimes show random segments of OpenGL memory as textures |
[13:12] | Zha Ewry: | No.. I hadn't been |
[13:12] | Zha Ewry: | I'll save you a screen shot |
[13:12] | Zha Ewry: | It was freaky |
[13:12] | Zero Linden: | Okay - let's officially begin |
[13:13] | Zero Linden: | As always, everything said here will end up in the wiki - talk openly and be welcome. |
[13:13] | Wyn Galbraith: | Would that have anything to do with the graphics memory getting dumped somehow? |
[13:13] | Zero Linden: | SO.... let's look at the graphics issues a bit - insofar as I can |
[13:13] | Rex Cronon: | how about my question? |
[13:13] | Zero Linden: | The pipeline looks like this |
[13:13] | Zero Linden: | sim sends jpeg2000 compressed streams bit by bit to the viewer |
[13:14] | Zero Linden: | the viewer decodes them into a sequence of "MIP" levels, or the same image at different sizes |
[13:14] | Rex Cronon: | u chunks in datagrams |
[13:14] | Zero Linden: | it does so progressivly as it gets the data |
[13:14] | Rex Cronon: | u mean* |
[13:14] | Zero Linden: | Then it feeds the texture data to openGL |
[13:14] | Zero Linden: | but - there is always, ALWAYS, too much of it |
[13:14] | Zero Linden: | so it feeds different MIP levels based on how far away the texture is... and does |
[13:15] | Zero Linden: | some other juggling to try to get an "optimized" mix |
[13:15] | Zero Linden: | So - First likely place to get a crash |
[13:15] | Jarod Godel: | Is that why GLIntercept always showed 2-3 versions of the same texture? |
[13:15] | Zero Linden: | Jarod - yes |
[13:15] | Wyn Galbraith: | Interesting. |
[13:15] | Khamon Fate: | That *is* interesting |
[13:16] | Zero Linden: | The decode is supposed to be "safe" -- you should be able to spew junk at the jpeg2000 decoded |
[13:16] | Zero Linden: | and it should just happily say "malformed" |
[13:16] | Zero Linden: | but - it isn't clear to us that that is certain - there may be cases where it crashes.... |
[13:16] | Zha Ewry looks thoughtul at should | |
[13:16] | Zero Linden: | Second place for a possible crash- |
[13:16] | Wyn Galbraith notes that should doesn't make it so ;) | |
[13:16] | Zero Linden: | There is a tremendous amount of texture fragments flying around and so lots of memory and disk management for them |
[13:17] | Zero Linden: | Oh yes, on the should - we didn't even write it! It is the KDU library with the "safe" options enabled |
[13:17] | Rex Cronon: | griefers use textrues to spam others(even to crash their viewer) :( |
[13:17] | Zero Linden: | So yes, we are well aware of the likelyhood of some sequence that might kill it. |
[13:17] | Wyn Galbraith wonders, "That could be why I have been getting blue screen stops in display threads since the last viewer release. | |
[13:18] | Zero Linden: | Wyn - I suppose - the way to detect the first one is to clear you cache, and then see if there is a particular texture that, when it comes into view, it crashes |
[13:18] | Khamon Fate: | When you reach a point Zero, will you explain how shared RAM is used in addition to the GPU's memory? |
[13:19] | Zero Linden: | If you have one that is reliable - let us know! |
[13:19] | Khamon Fate: | and if video data is ever swapped to the HD |
[13:19] | Wyn Galbraith: | Ah good idea. It usually happens when I'm building and zero'ng in on a section of the build. I figured it was taxing the display. |
[13:19] | Zero Linden: | Okay - so second place for crashing is in memory management. We feel pretty confident that stuff is working there - since it if wasn't - things would go south pretty quickly -- there is a lot of texture data in almost every scene |
[13:20] | Donovan Linden: | ALMOST every scene? :-) |
[13:20] | Hiro Market: | how does your low level texture management work - deciding what to bind? |
[13:20] | Zero Linden: | The third place for crashing is with moving things in and out of OpenGL memory. |
[13:20] | Zero Linden: | Here there are many deamons - the most being that we are working to an abstract standard that is implemented |
[13:20] | Zero Linden: | very differently, and often with extensions, with every different video card driver |
[13:20] | Wyn Galbraith increased her memory from 1G to 2G, updated her display driver, dumped Norton and put an icepack under the laptop. Now it happens less but it still happens. | |
[13:21] | Zero Linden: | What video system? |
[13:21] | Zero Linden: | Now - as for movement of texture data |
[13:21] | Wyn Galbraith: | Of course it's unsupported. Intel on a Gateway Tablet PC. |
[13:21] | Zero Linden: | Ah - well, that is about the worst case - |
[13:22] | Zha Ewry nods @ icepack | |
[13:22] | Wyn Galbraith: | That's why I haven't filed a bug. Figured it would be tossed out. |
[13:22] | Zero Linden: | Not that I don't think we'd like to support it - but those drivers are even harder to work with |
[13:22] | Wyn Galbraith: | Hey the icepack helps. |
[13:22] | Zero Linden: | at least, that's my understanding |
[13:22] | Zha Ewry has nearly burnt RL thighs on the laptop | |
[13:22] | Donovan Linden: | We don't have a very big graphics team |
[13:22] | Zero Linden: | As I understand our texture methodology- |
[13:22] | Donovan Linden: | Which is why I encourage people to take a look at the open source viewer and pitch in |
[13:22] | Zero Linden: | we never move textures from the video card back to main memory EXCEPT |
[13:23] | Zero Linden: | for two things (and now I think I know how Zha's friend saw her desktop...) |
[13:23] | Wyn Galbraith always tests boundries, it's her nature, "Too many years of QA". | |
[13:23] | Donovan Linden: | Doesn't baking textures composite on the gpu and then move the result to main memory |
[13:23] | Zero Linden: | 1) When you "bake" your avatar - we use OpenGL to composite all the textures and then read back the composited result |
[13:23] | Donovan Linden: | I think I know Zero's theory about Zha's bug |
[13:24] | Zero Linden: | So - Zha - if the read back, which is one of the things in OpenGL that is very unevenily implemented - or there are lots of prorpitary extensions for it |
[13:24] | Zero Linden: | could have read back part of your desktop |
[13:24] | Zha Ewry: | Ahhh... |
[13:24] | Zero Linden: | and then upload that as your clothing |
[13:25] | Zha Ewry: | We will try and recreate and get you a screenshot |
[13:25] | Zha Ewry: | That's what it looks like to us |
[13:25] | Zero Linden: | Zha - do you have two monitors? |
[13:25] | Zha Ewry: | Yeah. |
[13:25] | Wyn Galbraith: | I bet it's my OpenGL, it's 1.something. I think SL recommends 2.something. |
[13:25] | Zha Ewry: | External on the laptop.. |
[13:25] | Zero Linden: | And do you have SL on the non-main window? |
[13:25] | Zha Ewry: | I never run 2 at once, tho |
[13:25] | Zero Linden: | (the one without the menu bar, if it is a mac) |
[13:25] | Donovan Linden: | I wish we did baking server-side, but we don't have any composition code available in that environment |
[13:25] | Zha Ewry: | That's begging to blue screen |
[13:25] | Khamon Fate: | This is making sense. What's the other reason you move textures into main memory? |
[13:26] | Zha Ewry: | Zero.. with this as a clue.. we'll try and teack down a bit more |
[13:26] | Donovan Linden: | composition? compositing |
[13:26] | Hiro Market: | hmm, I've run the client expanded across two monitors and amazingly it works fine |
[13:26] | Zero Linden: | No, even if you only run one SL - if SL is on the non-main screen, then the OpenGL support for readback isn't well defined - and our code doesn't always work |
[13:26] | Zero Linden: | but we don't know of code that always will |
[13:26] | Zha Ewry: | Ahh. |
[13:26] | Zha Ewry: | Nodes |
[13:26] | Zha Ewry: | Nods |
[13:26] | Zha Ewry: | Ok. |
[13:26] | Donovan Linden: | Hiro: That's awesome, mac or pc? |
[13:26] | Zero Linden: | Hiro - it is only the read back function that doesn't seem to work |
[13:26] | Wyn Galbraith: | This is so very informative. |
[13:27] | Zero Linden: | there are coordinate things that don't seem to work correctly |
[13:27] | Zha Ewry: | Why we all show up here ;-) |
[13:27] | Hiro Market: | PC, nvidia 6600GT 256MB , Vista Business with aeroglass |
[13:27] | Sifu Moraga: | :-) |
[13:27] | Wyn Galbraith grins and loves coming here. | |
[13:27] | Zero Linden: | "Nodes"! I like to node too.... I bet Khamon does all the time.... |
[13:27] | Donovan Linden: | Nice |
[13:27] | Wyn Galbraith just noded in her last network project for school. | |
[13:27] | Zha Ewry winces at her usual sloppy typing | |
[13:28] | Zha Ewry normally only nodes when her head is stubbed ub | |
[13:28] | Zero Linden: | The other read back happens when you click on anything --- we use openGL to redraw the screen, giving each object a fixed color, then read back the pixel color at the place themouse is |
[13:28] | Zero Linden: | then we go back to normal drawing |
[13:28] | Zero Linden: | this seems to work on multiple monitors flawlessly |
[13:28] | Sifu Moraga: | ! |
[13:28] | Donovan Linden: | That part is probably not going to ever change... right? |
[13:28] | Wyn Galbraith: | Don't worry Zha, that might be the viewer too. My son types like lightening and always complains of dropped or changed letters. |
[13:29] | Wyn Galbraith: | Wait, it runs better on multiple monitors? |
[13:29] | Zero Linden: | Donovan - no - it is a pretty clever trick which keeps the application from ahving to duplicate all the transforms that the video GPU does so well |
[13:29] | Sifu Moraga: | definately the viewer. I get that all the time: the dropped letters |
[13:29] | Zero Linden: | Wyn - no you misunderstood me - the clicking read-back from the video card works just as well on two monitors as one |
[13:30] | Wyn Galbraith: | Ah, ok, I understand. |
[13:30] | Donovan Linden: | I keep trying to think of ways we could figure out the x, y coordinates of the click on the face as well, but I fail |
[13:30] | Khamon Fate: | If y'all do that, why don't we have touch areas on primitives? |
[13:30] | Zero Linden: | Donovan - I have a plan for that.... |
[13:30] | Khamon Fate: | Great minds think alike. |
[13:30] | Donovan Linden: | Khamon: Because we can figure out what prim was clicked, but not where |
[13:30] | Zero Linden: | Khamon - we paint each object with a solid flat color |
[13:31] | Khamon Fate: | Oh oh you said that DOH Khamon |
[13:31] | Donovan Linden: | I guess figuring out where involves some sort of translation between two coordinate spaces |
[13:31] | Zero Linden: | If we do a second pass, painting just the object selected, then we could determine both face and x,y |
[13:31] | Donovan Linden: | I'm not a 3d graphics programmer :P |
[13:31] | Wyn Galbraith: | I've seen the dead flat gray. |
[13:31] | Donovan Linden: | Zero: I thought that might work |
[13:31] | Zero Linden: | where x,y would be keyed to the texture repeat and angle and offest |
[13:31] | Khamon Fate: | It would have to be the sim that knew the coords |
[13:31] | Zero Linden: | ? |
[13:31] | Donovan Linden: | would the second pass render some sort of gradient across the selected prim, and everything else as black? |
[13:31] | Zero Linden: | No - we can do it all viewer side |
[13:32] | Khamon Fate: | and then have the viewer transmit to the sim where I touched the prim? |
[13:32] | Wyn Galbraith ponders looking at the viewer code just for fun. | |
[13:32] | Donovan Linden: | This is another thing that could be done completely using the open source codebase |
[13:32] | Donovan Linden: | Since linden isn't likely to get to it any time soon... :( |
[13:32] | Zero Linden: | Yes - rerender the object, temporarily replacing all the textures with textures that ramp red from 0 to 1 in one axis, green 0 to 1 in the other, and encode the face number in blue |
[13:32] | Khamon Fate: | True that kind of branch project is perfect for the open source crew |
[13:32] | Donovan Linden: | Yes, and then the viewer would transmit to the sim where you touched the prim |
[13:33] | Zero Linden: | Well- donovan, we'd need a message back to the sim that delivered that information |
[13:33] | Zero Linden: | but the gathering of the info could be done on the open source side |
[13:33] | Wyn Galbraith: | That's a interesting suggestion Zero. |
[13:33] | Khamon Fate: | You would yes because the script would need to know. |
[13:33] | Donovan Linden: | Right, but if the coords were gathered and the patch were submitted, it would be incentive for us to add the server side |
[13:33] | Donovan Linden: | since many many scripts would benefit from it |
[13:33] | Zero Linden: | You just need one such gradient texture for each face ... and they can be small, 128x128 is probably sufficient |
[13:33] | Donovan Linden: | All interactive user interfaces would benefit |
[13:33] | Zero Linden: | infact 64x64 probably is |
[13:34] | Khamon Fate: | Just add it to the dialog box code as something talking to the script. |
[13:34] | Zero Linden: | well, we'd add llDetectedFace() and llDetectedPos() calls methinks |
[13:34] | Khamon Fate: | yes we don't need many touch points even on larger prims |
[13:34] | Zero Linden: | then in touch_start() you could get them |
[13:34] | Zero Linden: | well, for that matter 32x32 would probably be enough |
[13:35] | Zero Linden: | (small textures are good as we'd need to keep all of them in the video memory at all times) |
[13:35] | Sifu Moraga thinks this all seems like the wrong approach but can't think of anything better | |
[13:35] | Rex Cronon: | at least detectedface can be quite usefull |
[13:36] | Zero Linden: | Sifu - well - it is a sort of low level abstraction... but until there has been a decade of building 3D UIs, I'm not sure we know what the right tool kit is |
[13:36] | Khamon Fate: | yes that's true, it provides a three touch prim |
[13:36] | Zero Linden: | think of it as the X of virtual worlds |
[13:36] | Donovan Linden: | the remote display protocol |
[13:36] | Khamon Fate: | A more highly abstracted tool will likely just do this same thing transparently. |
[13:36] | Zero Linden: | after two decades, we now know how a 2.5D window system should work - and all the APIs to all the toolkits are basically the same |
[13:36] | Sifu Moraga: | don't take it as critism, Zero. |
[13:37] | Sifu Moraga: | I'm a security geek, not a game programmer |
[13:37] | Donovan Linden: | Khamon: You mean just tell you the coord that was clicked in the touched callback or something? |
[13:37] | Zero Linden: | I don't - I'm just lamenting with you that we don't know what a 3D world UI should be yet |
[13:37] | Donovan Linden: | Sifu: Heh yeah game programmers think completely differently about problems |
[13:37] | Donovan Linden: | It's always about how fast you can do something |
[13:37] | Sifu Moraga: | that's why this is all so much fun - the unknown |
[13:38] | Donovan Linden: | At least, that's what it seems like to me, a non-game-programmer |
[13:38] | Donovan Linden: | Or Non-game programmer |
[13:38] | Khamon Fate: | Linden hires non-gamers? whoa |
[13:38] | Donovan Linden: | heh. Well, I'm a gamer... |
[13:38] | Khamon Fate: | Do y'all drink coffee too? |
[13:38] | Donovan Linden: | I try not to |
[13:38] | Sifu Moraga: | coffee? what's that? |
[13:38] | Donovan Linden: | but sometimes I do ;) |
[13:38] | Wyn Galbraith has always been a wantabe program, took classes and everything, ended up working with programmers instead of being one :). | |
[13:39] | Zero Linden: | Khamon- I'm a non-gamer - never programmed them, hardly ever played 'em |
[13:39] | Rex Cronon: | why doesn't each face have a different color, for each object? |
[13:39] | Sifu Moraga: | It took Joi Ito to get me to try SL. I've never ever been into gaming. |
[13:39] | Khamon Fate: | ha ha I graduated with programming degrees and would up building networks. |
[13:40] | Wyn Galbraith: | SL isn't a game. |
[13:40] | Zero Linden: | Rex - when we are picking an object for a click? I think they were worried about the number of distinct colors they could count on |
[13:40] | Zero Linden: | when they wrote it.... |
[13:40] | Sifu Moraga: | That's what I found out, and Joi already knew |
[13:40] | Zero Linden: | like remember when we all made our web pages use the "Netscape color pallet"? |
[13:40] | Wyn Galbraith remembers. | |
[13:40] | Khamon Fate: | I still use basic color codes, multiple of three. |
[13:41] | Sifu Moraga: | *cough cough* |
[13:41] | Zero Linden: | right - well, now we can assume 24bit color everywhere |
[13:41] | Khamon Fate: | s, multiples |
[13:41] | Wyn Galbraith builds her webpages with TextPad. | |
[13:41] | Zero Linden: | but there was a time when 16bit color was not uncommon (might still be for all I know) |
[13:41] | Zero Linden: | inwhich case 15k prims x 8 faces.... |
[13:41] | Zero Linden: | too many |
[13:41] | Khamon Fate: | So you *are* a programmer Wyn if you're writing PHP in TextPad. |
[13:41] | Jarod Godel: | I'm ff0000 with envy at your skill with colors Khamon. |
[13:42] | Rex Cronon: | i think i know how to fix it, each face has a different alpha(at least for the get face touched) |
[13:42] | Sifu Moraga: | lol |
[13:42] | Zero Linden: | 9... 9 faces... a twisted tube can have 9 faces!!! |
[13:42] | Hiro Market: | aye, but you'd have had to choose to put the client into 16 bit mode |
[13:42] | Khamon Fate: | ahem that's 00FF00 Jarod |
[13:42] | Jarod Godel: | my point exactly |
[13:42] | Khamon Fate: | I generally prefer 009900 myself. |
[13:42] | Zero Linden: | Jarod - that is the geekiest thing said at these office hours yet! |
[13:43] | Jarod Godel: | yay |
[13:43] | Zero Linden: | ...even if it was technically inaccurate... |
[13:43] | Jarod Godel: | Now I feel 0000ff |
[13:43] | Wyn Galbraith suddenly gets Jarod's joke. | |
[13:43] | Khamon Fate shouts: STOP STOP | |
[13:43] | Zero Linden: | LOL |
[13:43] | Sifu Moraga: | OT alarm |
[13:43] | Jarod Godel 000000's out and sees an ffffff light | |
[13:43] | Khamon Fate: | 110001010100100110101011110010000100000000101010101001001010100101001!!1 |
[13:43] | Zero Linden: | Okay - so latest from the message liberation trenches |
[13:44] | Hiro Market: | or fades to 00FFFFFF |
[13:44] | Wyn Galbraith: | Oh don't make me decode binary... my favorite thing. |
[13:44] | Rex Cronon: | translator needed from hex to english:) |
[13:44] | Khamon Fate: | Is tomorrow's patch postponed? Really? |
[13:44] | Zero Linden: | Seems the rebels (that's us) were delt a serious set back when they found that the protocol for adding child cameras wasn't going to easily |
[13:44] | Zero Linden: | work with capabilities |
[13:44] | Khamon Fate: | I made that up, don't waste your cycles. |
[13:45] | Zero Linden: | We also spent hours going in circles trying to understand what the current packing order is and why it works |
[13:45] | Zero Linden: | since our "fix" to it didn't, and in fact crashed horribly |
[13:45] | Rex Cronon: | packing order of what? |
[13:46] | Zero Linden: | Long and short of it is - we've whipped up a new protocol for getting child cameras to relay capabilities |
[13:46] | Jarod Godel: | ... |
[13:46] | Jarod Godel: | dooood! |
[13:46] | Sifu Moraga digs into SLDEV for the relevant discussion... | |
[13:46] | Zero Linden: | and as of just before lunch I finally understood how the crazy packing order was managed in both builder and decoded |
[13:46] | Rex Cronon: | why exactly do u need child cameras? |
[13:47] | Zero Linden: | Ah - Child Cameras |
[13:47] | Zero Linden: | good topic |
[13:47] | Zero Linden: | So - when you are near a sim edge and can see into a neighboring sim |
[13:47] | Donovan Linden: | The child camera is a connection the viewer has to a sim the avatar can see, but is not on |
[13:47] | Zero Linden: | rather than have that sim relay all information about it to the sim you are in, so that the sim you are in can send it to you |
[13:48] | Rex Cronon: | so there are 8 child cameras available at all time? |
[13:48] | Zero Linden: | the viewable sim has a "Child Camera" for you - a sort of phantom avatar - that is positioned in it's local space, off it's edges to match where you are |
[13:48] | Zero Linden: | then it can send all object updates and sim info directly to you |
[13:48] | Zero Linden: | under message liberation, that path needs to have capabilities, so your viewer can get those messages securely - via HTTP event polling |
[13:49] | Wyn Galbraith: | Is that how throwing your sight works? It's a child camera? |
[13:49] | Zero Linden: | SO, when the sim you're in establishes to the sim you can view, and to your viewer, that there needs to be this communication, there needs to be a single, secure "seed capability" |
[13:49] | Zero Linden: | transmitted from the viewed sim to the current sim to you (as *that* is a secure channel) - after which the viewer has a secure channel to the viewed sim |
[13:49] | Zero Linden: | follow me? |
[13:50] | Wyn Galbraith: | Wow. |
[13:50] | Donovan Linden: | Hey otakup0pe |
[13:50] | otakup0pe Neumann: | Hi |
[13:50] | Zero Linden: | Rex - no - the sim tracks your frustum - what you can see - so it needn't have all 8 child cameras active at once |
[13:50] | Jarod Godel: | Zero, is that based on where our avatar is or where our POV is? |
[13:50] | Zero Linden: | POV |
[13:50] | Zero Linden: | so yes, the viewer is constantly informing the sim of camera motino |
[13:50] | Zero Linden: | motion |
[13:51] | Rex Cronon: | if i set the draw distance over 300, and look from up to ground i can see all 8 surrounding sims |
[13:51] | Zero Linden: | (I'm not sure of the priority of that info... though....) |
[13:51] | Zero Linden: | exactly |
[13:51] | Khamon Fate: | The viewer sends the sim loads of data. No wonder avs are such a drag. |
[13:51] | otakup0pe Neumann: | Heh. |
[13:52] | otakup0pe Neumann: | Everybody should use Sleek. |
[13:52] | Zero Linden: | So, the problem was that the sim basically told the viewed sim, and the viewer introductions to each other --- |
[13:52] | Donovan Linden: | Yeah, and the sim has to do the hard work of calculating what the avatars can see, as well |
[13:52] | Donovan Linden: | the "interest list" |
[13:52] | Zero Linden: | but didn't allow for any data to flow from the viewed sim to the viewer |
[13:52] | otakup0pe Neumann: | I've heard about this interest list. |
[13:53] | Jarod Godel: | Zero, why can't child cam's just cache a sim and not load real-time? |
[13:53] | Zero Linden: | So - we had to add protocol to the child camera code - and that wasn't easy - as it gets very complicated near corners |
[13:53] | Zero Linden: | remember that each sim only talks with the four touching sims - |
[13:53] | Khamon Fate: | not the corners |
[13:53] | Zero Linden: | so the sim on the corner needs to get told that you can see it ... but this has to get relayed via the other sims... |
[13:54] | Zero Linden: | ick! |
[13:54] | Rex Cronon: | so touching courners is not really touching? |
[13:54] | Zero Linden: | Rex- correct |
[13:54] | Zero Linden: | Jarod - becuase then those regions would appear static to you |
[13:54] | Zero Linden: | which would break the connected world |
[13:54] | Khamon Fate: | Why *don't* sims talk to their corners? |
[13:54] | Wyn Galbraith repeats her wow. | |
[13:54] | Zero Linden: | Khamon - I was just wondering myself.... |
[13:55] | Zero Linden: | At least for this aspect of the protocol it would much easier! |
[13:55] | Donovan Linden: | Yeah, is there a good reason not just to have sims talk to all 8? |
[13:55] | Khamon Fate: | There must be a reason. |
[13:55] | Hiro Market: | so if you moved a cube across a corner? |
[13:55] | Donovan Linden: | I bet there isn't a reason |
[13:55] | Zero Linden: | Donovan - once all communication is via HTTP - then probably not - |
[13:55] | Zero Linden: | the UDP circuits have overhead to keep them alive |
[13:55] | Wyn Galbraith: | That's why you can fall out when crossing sim borders too quickly. |
[13:55] | Khamon Fate: | You don't Hiro, you always cross two borders to go through a corner. |
[13:55] | Donovan Linden: | Yeah but 4 more sims are nothing compared to the overhead of the avatars! :) |
[13:55] | Wyn Galbraith does that for fun. | |
[13:55] | Zero Linden: | Wyn - there is quite a bit of clever protocol with retrying and fallback to make things like navigating corners work and be reliable |
[13:56] | Khamon Fate: | What Donovan said. |
[13:56] | Zero Linden: | Right - the Hiro's cube does two crossings |
[13:56] | Wyn Galbraith: | I want to stop at the border sometime, there's one right behind my land, and say "Hey, I'm getting ready to cross..." |
[13:56] | Khamon Fate: | The Child Camera that Ate the Corner Sim. |
[13:56] | Donovan Linden: | Well if icehouse ends up doing the region domain work, we'll see about having all 8 neighbors talked to directly |
[13:56] | Zha Ewry would click that button, if it exited Wyn | |
[13:56] | Zero Linden: | Indeed.... |
[13:57] | Donovan Linden: | but that's not likely to be for quite a while... |
[13:57] | Wyn Galbraith: | Maybe the corners could be secondary in the que. |
[13:57] | Zero Linden: | Just remember - it is hard because, for example, any of the 8 might just drop off at anytime and reconnect (from another simulator host!) |
[13:57] | Khamon Fate: | If you had a button that instantly ended all life in the Universe, |
[13:57] | Wyn Galbraith laughs at Zha's comment. | |
[13:57] | Zero Linden: | and we need to reestablish all the communications |
[13:57] | Jarod Godel: | Click, click, click. |
[13:57] | Zero Linden: | I'm actually in a bit of awe that it all works and how robust that aspect of our system is |
[13:58] | Zero Linden: | (I know, "robust?!?!?" you're all thinking) |
[13:58] | Khamon Fate: | Jarod Godel << Davros |
[13:58] | Wyn Galbraith: | I've been afraid to think about the depth of the code that runs SL. But it leaks into dreams. |
[13:58] | Khamon Fate: | Compelling Zero, you're supposed to call it compelling. |
[13:59] | Zero Linden: | (but most systems would just give up and say something like "oh, that server crashed? just re-load to see it" - whereas for themost part SL systems automatically recover) |
[13:59] | Khamon Fate: | Or is only Philip allowed to say that? |
[13:59] | Wyn Galbraith remembers testing a VR enviroment at Autodesk when she discovered some old software of theirs that no one wanted. "There was a demo." | |
[14:00] | Khamon Fate: | Remember Adobe's Atmosphere? |
[14:00] | Rex Cronon: | so if they self-recover why does it take so long for sims to work again after griefers attack? |
[14:00] | Wyn Galbraith: | No, missed that one. |
[14:01] | Khamon Fate: | They have to IPL, then talk to the space server, then load ALL the sim data, at least. That's gotta take some time. |
[14:01] | Zero Linden: | Rex - that's pretty open ended - there are many things that can go wrong - and reallyl most regions restart within 2 min. or so of crashing |
[14:01] | otakup0pe Neumann: | if the state they save when crashing contains malicious objects, they'd keep looping |
[14:01] | Zero Linden: | And then another 1 min. of start up at most... |
[14:01] | otakup0pe Neumann: | is how i once heard it explained |
[14:01] | Zero Linden: | otaku. - exactly |
[14:02] | Zero Linden: | though we detect that and shut the region down after a few quick crashes |
[14:02] | Zero Linden: | and then it requires grid monkeys.... |
[14:02] | Khamon Fate: | Y'all I gotta buzz. Thanks for hosting Zero |
[14:02] | Khamon Fate: | And Thank You for attending Donovan |
[14:02] | Rex Cronon: | i guess SWT(sandbox weapons testing) must be a bad exception, since it has been down since 10:05:( |
[14:02] | Khamon Fate: | Oh look, I'm not standing in the chair |
[14:03] | Zero Linden: | Rex - right |
[14:03] | Zero Linden: | I'm looking at it now |
[14:03] | Zero Linden: | It crashed at 10:04 - then cam back up - |
[14:03] | Zero Linden: | and ran until 12:36 - crashed 5 times in 10 minutes |
[14:03] | Rex Cronon: | i already talked to 2 lindes about it, but is still down |
[14:03] | Zero Linden: | and is now marked "crashed" |
[14:03] | Zero Linden: | and won't restart until someone goes and removes what's in it that is bad |
[14:04] | Jarod Godel: | Keeping SWT up must be like running a bloodbank full of vampires. |
[14:04] | Rex Cronon: | either phyical objects or self-replicators |
[14:04] | Zero Linden: | YUP! |
[14:04] | Donovan Linden: | Cleaning crashed sims is either the job of concierge or gridmonkey |
[14:05] | Sifu Moraga: | We crashed a few clients doing weapons training on my island but not the sim |
[14:05] | Zero Linden: | Okay all - time to hit the source code again for me |
[14:05] | Jarod Godel: | l8r, 0 |
[14:05] | Wyn Galbraith has a class to go to. | |
[14:05] | Sifu Moraga: | cu, tx |
[14:05] | Rex Cronon: | bye zero |
[14:05] | Zero Linden: | Thanks again - 'til Thursday. |
[14:05] | Hiro Market: | that was really interesting 0 |
[14:05] | Zha Ewry: | Bye Zero, and thanks as always |
[14:05] | Rex Cronon: | thanks for your time |
[14:05] | Wyn Galbraith: | Thanks again Zero. Always interesting. I love this talk. |
[14:05] | Donovan Linden: | bye everybody |
[14:06] | otakup0pe Neumann: | Bye everyone as well. |
[14:06] | Rex Cronon: | bye donavan |
[14:06] | Wyn Galbraith: | Bye all, got to go make a wishing well. |
[14:06] | Sifu Moraga: | bye Donovan |