Jump to content

animats

Resident
  • Posts

    6,187
  • Joined

  • Last visited

Everything posted by animats

  1. I could see that for the SLRR, with microwave relay towers at each sim boundary along the right of way. Railroads once did that. It would be amusing if someone set up a system of cell towers in SL, allowing grid-wide in-world communications for a small monthly service charge. No service to islands, though.
  2. Yes, I just looked. Half that road allows object entry, and the other half doesn't. Kama City's road construction is strange. A region crossing in the center of every street, of course. Even stranger is how intersections are put together. Try de-rendering one layer by layer. There are three circular translucent objects below pavement level which cross region boundaries but don't seem to do anything. It's not clear whether someone was trying to fix the "sinking into the ground" problem incorrectly, or had something else in mind.
  3. Using RLV/RLVa for this is essentially stupid... many of SL's inhabitants do not use either, and many do not use a viewer that supports either. SMART thing would be to use EXPERIENCE code, which can sit an avatar without RLV, even in the Official SL Inferiority Viewer. Only on land enabled for that experience. There are some LL-sponsored grid-wide experiences, but LL had to enable that. In the early stages of this, RLV seems to be the way to go. Or having the avatar wear an attachment which uses llTeleportAgent. Why the hell are you using llShout? You should be using llRegionSayTo, which isn't range limited, and runs fractionally faster too ( no range checks to execute). llRegionSayTo is limited to the current region. llShout can cross a region boundary. This problem always involves at least two regions, obviously. Actually, a prim vehicle entering a parcel is considered to be "object entry" regardless of it having an avatar sat on it, it's a common cause of vehicle failure, you are flying along, you cross a parcel boundary, but your vehicle can't get in and you go through the windscreen or over the handlebars... Hehehe... A few places are set up to have this problem. Go to sandbox Bricker. This is a four-sim Linden sandbox. (Adult, paid, usually empty) Rez a vehicle. Drive it across a region boundary. Get out of the vehicle. The vehicle will disappear and be auto-returned. If you get out in the original region, the vehicle stays around. Sandbox Bricker. Object entry for Everyone is OFF. But Build for everyone is ON. Vehicle disappears after crossing a region boundary and driver gets off. This is an unusual permission combination. Sandbox Astutula (General, non-paid. 4 regions). Object entry for everyone is ON. Vehicle stays around after crossing a region boundary and driver gets off. That's reasonable for a sandbox. Roads are usually Build OFF, Object entry ON, which doesn't create this problem. It's mostly a limitation of that particular sandbox. It may be for griefing protection. Another reason NOT to use RLV, the need for an extra attachment. And let's not even start on the fact that some people will ALREADY be wearing a relay and there will be conflicts. That's what channels are for. (Does this person even program?)
  4. SL still has moles? I thought that was dead. Where is there substantial LL-funded building going on?
  5. That's a good idea. But at the moment the scripts really need to communicate, one party just did a region crossing, and the other didn't. Or worse, at a double region crossing, both parties did region crossings, but not in sync. So communications have broken and are hard to reestablish. How the SLRR does communications is insane. They have messenger prims, green spheres at 1000m, zooming around passing messages. That they went that far indicates how hard this is.
  6. Yes. I've been thinking about doing more in an attachment and less in the vehicle. Ideally, the attachment would notice that the avatar was no longer seated properly, but hadn't explicitly done an unsit. Then it would teleport the avatar to the vehicle's current location and re-seat it, without any help from the vehicle. The problem is finding the vehicle from the attachment. In the half-unsit situation at a failed region crossing, the avatar is still a child prim of the vehicle, but the vehicle is no longer the root prim of the avatar. This inconsistent state occurs briefly at every region crossing. When a crossing goes bad, it persists. In that state, the avatar can't find the vehicle.
  7. As part of my work on workarounds for region crossing problems, I need for a vehicle script to be able to talk to seated avatars during the semi-broken condition of a half-unsit, where a region crossing has failed. I want to tell the avatar to teleport itself back to the vehicle. This works when vehicle and avatar extension can communicate. The communication is a problem: llShout will work up to 100m across region boundaries, but sometimes the avatar is more than 100m from the vehicle. Seldom if ever more than a few hundred meters, though. llEmail has a lot of open bugs dated back to 2005. Discussions consider it broken. llTeleportAgent will work if the avatar is the owner of the vehicle. Otherwise not. llInstantMessage can't talk to an object. llRegionSayTo is only useful within a region. llMessageLinked can't talk to an attachment (and might not work when avatar and vehicle are in different regions, which is what this is all about) Setting up an external server for HTTP communication is a bit much. This isn't some big coordinated system under one owner. Have I missed anything?
  8. Here's a potential feature for the viewer. At present, if a sim has to be displayed, but it's outside the draw distance, it displays as water. That always looks strange. A first step would be to display the texture from the world map. That lets you see roughly what's out there. But that's flat. So a second step would be to use the ground elevation data (which is only 64x64 for an entire sim) and texture the world map onto that. Then you could see mountains in the distance. Much like Google Earth at low level of detail. Then, when you were flying a plane, you'd be able to see the airport and runway. You could see for miles. Like looking at the world map, but in perspective and relief. The world would feel bigger. This could be done entirely in Firestorm, without any help from Linden Labs.
  9. You thought prims just came out of nowhere. No. They have to be mined. Visit the prim drilling rig in ANWR.
  10. More technical stuff. I'm posting this mostly for the benefit of other developers. I've finally found a way to generate region crossing failures for test purposes. I have a bike script which, when told to do so, endlessly circles the intersection of four regions without requiring any user action. This causes a region crossing every second or two. I run this in an empty adult/premium four sim sandbox. At last, test automation. Region crossing failures tend not to happen in empty sandboxes. I've run this for 1000 region crossings without a failure. CPU load on my end does not matter. Running four copies of memtester (this is Linux, Ubuntu 16.04 LTS) does not cause problems. If I load up the network (connection is 50mb/s down, 5mb/s up, on Sonic, which has no middle boxes or traffic shaping), by running an endless loop of speed tests, I'll consistently get a region crossing failure within five minutes. At last, the ability to do repeatable experiments. And a useful insight. It's network loading that triggers the problem. Avatar complexity, vehicle complexity, script complexity, and scene complexity, which have been thought to cause region crossing problems, all run up network usage, and may make a failure more likely. But the underlying problem seems to be related to network capacity. Work is proceeding on automatic recovery from half-unsits. There are a lot of cases: Sometimes unsit recovery works successfully. Sometimes the avatar is so far from the bike, beyond llShout range (100 meters) that the bike script can't reach the RLV relay to tell it to teleport the avatar back. This is going to need a back-up communications system (llEmail, maybe) for when that happens. Sometimes the bike disappears from the sandbox while the rider is being re-seated. This is a problem with the sandbox not allowing object entry. When the rider gets off, the bike is considered to have "entered" the sim, even though it was already there. Linden roads usually aren't set up that way, so this is more of a sandbox problem. There's the "bike straddling region crossing" problem mentioned in a previous post. The bike will probably have to move itself into a single region before triggering the recovery process. There are occasional script error messages about inability to start an animation because the script can't find the agent. This is harmless but annoying. It's not about losing permissions; that's already covered. There are some strange situations that exist momentarily during every region crossing. It may help to delay animation restart until 1-2 secs after region crossing completion. This testing uses a modified RLV relay. Unsit recovery is going to require its own attachment, much like a RLV relay, but more limited. The only thing it will do is re-sit the avatar where it was previously sitting. This will run on a different communications channel so as not to interfere with RLV. I'm thinking of call it "Seat Belt". When you get in/on a vehicle equipped with this, you'll be offered a Seat Belt attachment if you don't already have one. If you put it on, you'll get recovery capability. None of the hassles of wearing an open RLV relay. All this is a workaround. The real problem seems to be in the message exchanges between the sims involved and the viewer. Delaying or losing some message(s) can break a sim crossing. The viewer actually plays a role in managing region crossings, one of the Lindens mentioned in the Server User Group meeting. This is unexpected; "never trust the client" is a rule in client/server games. SL apparently does trust the client. Has anyone looked at that code in the viewer?
  11. Remember, "the cloud" is time-sharing. You pay for what you use. Financially, SL now becomes a variable cost rather than a fixed cost. So the economics change. Minimizing the number of servers in use becomes more important. Lag becomes a profit center. SL really is a virtual world. SL's sims continue to run even when no one is in them. They can't be turned off without breaking the world. Trains and Yava pods continue to travel through sims empty of avatars. Tugs and ferries move over empty ocean. Horses continue to graze and grow. Tens of thousands of active objects continue to run their scripts. SL sim servers are almost a fixed load. That's not a good fit to AWS. Compare Sansar, where resource usage is determined by the number of shards of an experience. That, in turn, is determined by the number of avatars. If Sansar needs 10,000 instances of Aech's Garage the day Ready Player One comes out, AWS can do that. If SL moves to a pay-per-use cloud, LL will have tough management meetings over this.
  12. GTFO is recent and still alive? I thought it was a leftover from the early days of SL.
  13. An amusing special case in region crossing recovery. The bike script detected that a region crossing had failed. So it used RLV to teleport the avatar back to the bike, then did a RLV force sit on the bike. But the bike is straddling a region boundary. The sit target is in the wrong region. So the avatar ends up sitting on the front wheel. Oops. Getting close, but not there yet.
  14. The Sumi cars are very cute. The dune buggy handles very well on rough terrain. It has independent suspension, even. Their region crossing behavior is good, too. Go to his shop in Burns, rez a demo car, and make a quick run around Robin Loop. I've been working on region crossing improvements, as some of you know, but I'm not ready to release a vehicle for wide use yet. I do have a demo bike I give out, but it's a tech demo. On that note, does anyone know of a vehicle that's really bad at region crossings? I need something to test with that generates frequent half-unsits. My test motorcycle takes too long between failures, which is slowing down development.
  15. If you're really into this, I suggest reading the Linden Labs patent on regions. Especially section [0144] and Fig. 20. That's oversimplified, but useful.
  16. In the viewer, or back at the server?
  17. SL imposter generation could be done by a script for Blender. Most of those awful triangle decimations seem to come from Blender, so a Blender-based tool makes sense. Something like this: Blender's renderer can render both isometric (infinite camera distance) and RGBA, so you can get out a clean PNG for the impostor texture, with transparency where appropriate. Render from the normal to the center of each face of the impostor, to get a texture for that face. Maybe render twice per face; once with diffuse light for the diffuse texture, and once with a single straight-on light for specular. Or not. Upload the texture for each face, and bake into one texture. I've used Blender, but not recently. Someone current with Blender could probably do this easily. You have to be aware of what the competition is doing, or you get behind and become irrelevant.
  18. Nice. Keep posting. Sphere vs sphere and sphere vs plane are the easiest collision cases; they really ought to work.
  19. The low-LOD model could be a grey flat plane. Maybe with a picture of the vault door. But one random triangle and a big opening is a fail. Low-LOD models should at least cover the area of the object. Some people are pushing triangle decimation way too far. It's the wrong tool for the job when you're down to single digits of triangles. Unreal Engine's creator tools have a built-in feature for creating impostors. It renders the object from many angles and builds a sprite with the rendered images pasted on. SineSpace creators have that available.
  20. The tradeoffs necessary to make game physics fast and general make it not very good. Havok's physics engine is mostly used for blowing stuff up, so it's not set for high precision. Spheres bouncing ought to work, though; that's a simple case. Don't expect the pool break to work. I used to work on physics engines. Momentum transfer through friction can be simulated properly, but not in real time with a Havok-type impulse-constraint engine.
  21. Yes, that's me. I'm behind "animats" on SL, "animats" as a registered trademark, "animats" for my real world business activities, "animats" on Firestorm JIRA, and "animats.com" on the Web. I'm on Github (not Gitlab) under my real name, and I put SL-related code there as open source and link to it from various SL-related places. So I'm not anonymous. Right now I'm interested in the technical, social, and business problems of big virtual worlds. SL is the biggest game in town, so I'm here. As for getting a registered trademark, it's probably not cost-effective for small-scale activities on SL. But it's not difficult to do. It's useful if you have a good domain name, because it protects you from domain name challenges. I have some other trademarks for that reason.
  22. Nice. Have you tried bouncing the balls against the cushions? How's that working out? I just modeled a simple pool table, and while the balls roll and bounce off the cushions, they don't bounce very realistically. That's about what I'd expect from Havok's physics engine. You can have fast physics or accurate physics, but seldom both, without special casing. After all, SL doesn't even do foot/ground contacts. Avatars are modeled as capsules for physics purposes.
  23. It's not that hard. I hold ANIMATS® as a registered trademark. You can do the whole process on line on the USPTO site. It's about $400.
  24. animats

    neon signs

    Thanks. It's good to know that someone thinks the maintenance team is competent. That inspires me to keep plugging on fixing region crossings, and getting LL to fix their side. SL needs automatic management of scene complexity more than Sansar does. Sansar has high-paid artists making ad content to promote movies. SL doesn't. SL needs to not choke on unoptimized content. There's been tons of progress on this in recent years. It's not necessary to re-invent the wheel, just use available technology.
×
×
  • Create New...