Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by animats

  1. Patch accepted and in the queue for the next Firestorm beta.
  2. A whole year. It doesn't seem that long. I got my house in Reeds Landing the first day, and it still isn't fully furnished. I originally had it set as a rez zone, and put up a Drivers of SL sign and a motorcycle rezzer. That was back when there were few or no LL rez zones.
  3. animats

    Second Life Beta

    See http://wiki.secondlife.com/wiki/Preview_Grid. Supposedly you can just log in, but often it takes a support request to get that to work. A copy of your login and inventory on the main grid are supposed to be available, with some delay, on the beta grid. Often that doesn't work or takes days. You have to get logged in on the beta grid at least once before copying starts. The beta grid is mostly used for testing mesh uploads, because uploads on the beta grid are charged to the fake beta Lindens you get for free there.
  4. SL seems to be doing OK, though not growing much. The coming problem for Second Life is competition. For a decade, there wasn't much. In the last year, new big 3D social worlds have come online: Sominium Space, Decentraland, Sandbox. So far, none of them are very good, and they're more about blockchain-based land speculation than world building. One or more of them might succeed. Epic keeps making noises about turning Fortnite into a social network. Minecraft is already a social network. Or not. The threat from Improbable's Spatial OS seems to have receded. Most of the MMOs built on it flopped. None of the big game developers want to use it because Improbable and Google have too much control and it costs too much. The widely hyped Nostos turned out to be boring; gamers report finishing it in 3 hours. The technology worked. The worlds didn't get enough users. Kind of like the Sansar/High Fidelity/Sinespace family of flops. The lesson for Linden Lab management is that the user base is their big asset. Trying to get an all-new user base who can build worlds is very, very tough. Far harder than fixing SL's engine. The technology is here to do the Metaverse, but so far nobody has come up with a compelling version of it. SL is still positioned well in that area. But SL needs to perform like a modern game to get out of its niche.
  5. animats

    pivot point

    Here's an image from the ray casting issue. This is what Fenix and I got over at his workshop, where he has a setup to make large numbers of ray casts and produce an image. Difficult object in Fenix's workshop The object being scanned is the grey thing in the center. The scanner is up and to the right, and the checkerboard floor and purple wall are just there for backdrops. What's being scanned is a shrunken version of the physics model of a a semitrailer. The original problem was with a rather nice truck. Here, we have just the physics model of the truck, uploaded as an object of its own and reduced in size. Same problems as the full truck, but in a simpler test case. This object has three loose triangles and was uploaded in "surface" mode. If those triangles are removed, or it's uploaded in "solid" mode, no problems. The image on the "screen" was built up from thousands of llCastRay calls. That area of black and green pixels is just wrong. Some ray casts go through, some get hits. No idea why. On most objects, the scanner produces a good scan of the physics model. It doesn't see Chin's door at all. The trailer object isn't broken. I have the COLLADA file, and have looked at it in Blender in detail. All the normals face in the correct direction. All the walls of the trailer have an inside and an outside, and are at least 0.100m thick. It's very simple; about one page of COLLADA. There it is. Everyone who's looked at this is puzzled. I suspect that whatever makes the loose triangle/vertex trick work is really a bug. This kind of flaky behavior suggests it's more of a bug than a misfeature.
  6. animats

    pivot point

    Right. That's relying on undefined behavior. It might break someday if the mesh uploader gets its badly needed overhaul.
  7. If you don't have control of the ground, it's hard to use pathfinding. Very few places in SL are properly prepped for pathfinding by others. A rare exception is Hippotropolis, a Linden sim where Creator User Group meets. It's a showcase for advanced creator technology in SL. There are some peacocks wandering around, some birds, one of my NPCs, one of Lucia Nightfire's characters, and a Firestorm fire horse. Plus a big Linden pavilion showing off some of the better lighting and rendering tricks.
  8. Yes. See http://wiki.secondlife.com/wiki/Pathfinding_Quick_Start_Guide No, SL pathfinding is strictly ground level. However, see http://wiki.secondlife.com/wiki/Modular_Pathfinding_Kit for a proposed way to fake a wandering flyer. A flying wanderer would be an interesting project, but you'll have to code your own control system. Craig Reynolds' classic "Boids" paper would be useful. Or you can just run your flyers on fixed routes using keyframe animation, which is the most common solution.
  9. llWanderWithin should work on bare land that's not too cluttered with obstacles. Bare Linden ground is walkable. You can set other stuff as walkable. Do you have the animesh demos that use pathfinding? Those were given out when animesh became available. They're full perm. Get hold of those and look at the scripts inside. (Are those demos still available from some Linden location? They used to be in a big gift box at Animesh 1, but I think that sim is gone now that animesh is turned on everywhere on the grid.)
  10. From the RL BDSM scene in the 1990s, a few comments: It's a head game. You're playing with the mind of your partner. Being a top is hard work. To do it really well, you need the timing for stand-up comedy. Being a sub is not for the fragile. The scene attracts losers and the obsessed. Neither are much fun. People who call themselves "Master" are usually losers.
  11. What you’ll do: Build computer systems stuff Fix computer systems stuff Keep bad people out of our stuff Write tools to make stuff easier Respond to stuff that broke Split up fights between groups of computers Get paged and get mad at PagerDuty at odd hours Move stuff to the glorious future of the cloud Try not to yell at developers and vendors Be proud of the virtual world we help run ... What would be awesome: Familiarity with and enthusiasm for Second Life is a huge plus. Lots of knowledge of AWS and its pieces and parts. Having the ability to lead projects from start to finish with grace. A sense of humor and a never-ending curiosity to love the really creative things our Residents do within our virtual world, especially when they do it in ways we didn’t think was possible. This is a good job ad. LL's previous job ads read like boilerplate from some HR type. This one was written by someone with a clue.
  12. LLGetBoundingBox seems to be 0.1 meter oversized. (Or, why I wasted two hours trying to figure out where my escalator resizer was slightly off. Posted for the benefit of the next person who needs this info.)
  13. animats

    pivot point

    After an hour over at Fenix's workshop doing ray casting tests, we're both still puzzled. Something obscure goes wrong with loose triangles and the physics model. For Chin's door, the door becomes totally see-through to ray casts while being solid for collisions. For the GEMC trailer, it becomes partly see-through in a noisy way, with some ray casts going through and some not. That's really strange. Loose triangles and prim physics bring out some bug. For the simple pivoting door, here's a possible best practice to avoid problems. Basic door. Create the door. Create or use a small mesh cube, as shown, one door width from the pivot point Link the two, with the door as the root. Set the extra cube to "Physics model: none", "Texture: none", and "Transparency: 100%". This moves the pivot point to where you want it. This is only one LI, because mesh accounting lets you link two simple mesh objects at one LI. Now you have a basic door without trying to exploit undefined behavior in the uploader. It's two prims, though, so you can't link it to a linkset and still have the door work.
  14. Here's something that's been puzzling me, and is now starting to make sense. Every day or two, some of my animesh NPCs report that they've stalled. I get emails for that. This morning I got this: The object 'Debug relay' has sent you a message from Second Life: Testi v20.14 (AHQ) in trouble at Vallone <237.79840, 27.58077, 36.72852>: bhvscheduler: Stalled and reset. Last command: {"request":"pathbegin","requestid":8019,"target":"00000000-0000-0000-0000-000000000000","regioncorner":"<462592.000000, 306944.000000, 0.000000>","goal":"<236.000000, 14.000000, 36.000000>","stopshort":0.000000,"speed":2.500000} [07:02:03] (Testi v20.14 (AHQ)) Path maze solver task: Maze solver finished, pathid 16697, seg 2. Free mem: 3376 [07:02:03] (Testi v20.14 (AHQ)) Path maze solver task: Maze route: (18,20) (18,21) (22,21) (22,20) [07:02:07] (Testi v20.14 (AHQ)) Path maze solver task: Maze solver finished, pathid 16697, seg 4. Free mem: 3376 [07:02:07] (Testi v20.14 (AHQ)) Path maze solver task: Maze route: (18,20) (18,21) (18,20) (18,19) (19,19) (21,19) (21,20) (22,20) [08:09:37] (Testi v20.14 (AHQ)) Testi v20.14 (AHQ) in trouble at Vallone <237.79840, 27.58077, 36.72852>: bhvscheduler: Stalled and reset. Last command: {"request":"pathbegin","reques... The object 'Debug relay' has sent you a message from Second Life: Salli v20.10 (OC) in trouble at Vallone <215.48090, 54.49610, 36.72841>: bhvscheduler: Stalled and reset. Last command: {"request":"pathbegin","requestid":17409,"target":"00000000-0000-0000-0000-000000000000","regioncorner":"<462592.000000, 306944.000000, 0.000000>","goal":"<235.000000, 54.000000, 36.000000>","stopshort":0.000000,"speed":2.500000} [07:01:52] (Salli v20.10 (OC)) bhvpatrol: Path update: -210 obstacle: [07:01:52] (Salli v20.10 (OC)) bhvpatrol: Stopped by fixed obstacle: [07:01:52] (Salli v20.10 (OC)) bhvpatrol: Failed to reach goal, idle. Path update status: -210 [07:02:02] (Salli v20.10 (OC)) bhvpatrol: Patrol to <235.00000, 54.00000, 36.00000> [07:02:07] (Salli v20.10 (OC)) Path plan task: No walkable during planning at <216.23090, 54.53387, 35.46311> [08:09:37] (Salli v20.10 (OC)) Salli v20.10 (OC) in trouble at Vallone <215.48090, 54.49610, 36.72841>: bhvscheduler: Stalled and reset. Last command: {"request":"pathbegin","request... The object 'Debug relay' has sent you a message from Second Life: Kathi v20.14 (OC) in trouble at Vallone <235.03360, 54.00143, 36.73669>: bhvscheduler: Stalled and reset. Last command: {"request":"pathbegin","requestid":19109,"target":"00000000-0000-0000-0000-000000000000","regioncorner":"<462592.000000, 306944.000000, 0.000000>","goal":"<206.000000, 54.000000, 36.000000>","stopshort":0.000000,"speed":2.500000} [07:01:33] (Kathi v20.14 (OC)) Path move task: Stopped by obstacle Salli v20.10 (OC) status: -2007 [07:01:33] (Kathi v20.14 (OC)) Path start task: Retrying. Distance 21.485930m. Retry 1 [07:01:59] (Kathi v20.14 (OC)) bhvpatrol: Path update: 0 obstacle: [07:02:00] (Kathi v20.14 (OC)) bhvpatrol: Path update: 0 obstacle: [07:02:10] (Kathi v20.14 (OC)) bhvpatrol: Patrol to <206.00000, 54.00000, 36.00000> [08:09:37] (Kathi v20.14 (OC)) Kathi v20.14 (OC) in trouble at Vallone <235.03360, 54.00143, 36.73669>: bhvscheduler: Stalled and reset. Last command: {"request":"pathbegin","reques... This is my own debug output, so it won't tell readers much. The important part is the timestamps. Each NPC has a debug log of recent events in a circular buffer, and when something goes wrong, the NPC phones home and sends the log . Three different NPCs reported that they timed out at 08:09:37 this morning, without anything going wrong before that. Since the NPCs are independent of each other, that probably means something happened to the region. The log shows everything going along normally around 7:02 AM. That message comes from a timer event. The timer event checks how long the current operation was in progress, and if it started more than 10 minutes ago, measured by "Unix time" of day, an error is reported and the script resets. Second Life's status page says: Scheduled - We will be performing rolling restarts for regions on the RC Channels on Wednesday, April 8th beginning at 7:00 AM PST. So there was a restart around that time. With about an hour of downtime, apparently. The NPC code checks for region restarts: changed(integer change) { if (change & CHANGED_REGION_START) // region restart { llResetScript(); } // reset the NPC completely } I thought that would prevent getting bogus timeout messages after each region restart. But it doesn't. If the changed event reports a region restart before the timer event came in, there would be no error message. If the timer event comes in first, I get a false "stalled" error. Looks like a race condition between the timer event and the region restart event. Added appropriate code to detect this situation and distinguish it from a real stall. I may be getting some real stalls for other reasons, so I need to filter out the bogus reports caused by ordinary region restarts.
  15. I've been mowing my own lawn with a hand mower, for exercise. Every day, half an hour of mowing.
  16. animats

    pivot point

    Thanks. Messaged Fenix. The trailer has three very tiny triangles, not loose vertices. I got the COLLADA model for its physics model from the creator, and if I zoom in close enough, they are triangles. Within SL, you can't zoom in that close, so they look like vertices.
  17. animats

    pivot point

    It happens even when a prim is doing the ray casting. A simple prim with a script that casts rays the direction the prim is pointed can reproduce the problem. My NPCs are all server side, too; they're animesh making llCastRay calls. Someone was over at my workshop with a ray caster that builds up an image using large numbers of llCastRay calls, and they imaged the truck trailer as something with holes in it. I thought it was Wulfie Reanimator's device, because he was there at the time, but apparently not. Who has that tool? Need to try it on the simpler door case. The trailer was complicated; we were looking for inside/outside problems, reversed normals, etc., and we were all puzzled. The door is a flat object. Need a clean enough case to file a JIRA.
  18. Oh, good. I had a collision with one of those ban lines while flying a helicopter over Belli back from visiting the new area on the east side. Helicopter stuck in the ban line. Sent in an AR.
  19. animats

    pivot point

    Chin Rey and I recently discovered that #2, "including a small, transparent piece that is offset on one side of the door's hinge edge", breaks llCastRay. Ray casts through such objects randomly go through it. I ran into this with a large semitrailer truck my NPCs couldn't see. Got that down to a dummy semitrailer physics model with strange cast ray problems. Had others with scanners over to check it out. Found out that three tiny triangles to make the physics and visible models match caused a problem. Rey gave me a door with an offset extra vertex to try, and it has the same llCastRay problem in an even simpler situation. My NPCs will walk through it, but an avatar gets a collision. Haven't gotten to the bottom of this yet.
  20. Yes, the code in the viewer supports mipmapping. When the viewer uses it, I have no idea. The viewer has several tools for adjusting resolution. It can load a texture at reduced resolution from a progressive JPEG 2000 file. It can send a texture to the graphics card at a lower resolution than it loaded it. It can send mipmaps to the graphics card and let the graphics card do multiple resolutions. It can even replace a texture already in the graphics card with a lower resolution version. I looked at that code once, looking for a bug which was crashing self-compiled viewers. Somebody did all their homework. All the hard stuff is done. When it does what is not clear. Some of those policy decisions are clearly not optimal. They date from an era when graphics cards had far less memory, and when the sim servers were serving the textures in their spare time. But there's no obvious place to go in there and start re-tuning the texture loader. The policy is spread over many places in the code. It's thus hard to change. LL has talked about looking into that.
  21. It's not even clear that's a copyright violation. See AM General LLC v. Activision Blizzard, Inc. et al, recently decided in New York. Blizzard can put Humvees in their games without paying the company that makes them in the real world. The court framed this as "is there any likelihood that anyone would confuse a real-world Humvee with a video game Humvee?" No way, so it's OK. Ducati, the motorcycle maker, lost a case on this in Europe. There have been decisions the other way. But mostly where the copyright holder is in the entertainment business. It's complicated. It's an interesting area. You can't copyright a functional object under US law. That's why you can buy third party auto parts. (The auto industry has lobbied Congress to give them copyright in body sheet metal so they could shut down the third party body part business. Congress didn't go for that.) Trade dress is a distinctive look for marketing reasons, which doesn't apply to a Humvee but might apply to a Harley. Design patents could apply, but they only have a term of 15 years; then the design is public domain. Despite this, Herman Miller has been suing makers of furniture who copy the Eames chair from the 1950s, with some success. Incidental appearance of a branded product in a movie comes up all the time. See here for a lawyer's take on it. It's usually OK, but there are cautions. There are useful Nolo Press books on intellectual property if you want to read up on this.
  22. Good question. I hope it doesn't become part of your excess baggage as you move from sim to sim.
  23. That worked! Then I was able to de-render another 200 objects or so and have a clear sky. Fortunately I don't fly near there.
  24. Spent about 10 minutes trying different distances and selections, but never got a hit on the dome.
  • Create New...