Jump to content

animats

Resident
  • Content Count

    2,264
  • Joined

  • Last visited

Posts posted by animats


  1. 1 hour ago, Bloodsong Termagant said:

    i am trying to calculate the angle of a slope between two points.

    Unclear what that means. Two points do not define an angle. It takes three points.

    You want ground slope, right. OK.
     

    vector p1; // point on ground under avatar
    vector p2; // point on ground ahead of avatar
    ....
    vector movedir = llVecNorm(p2-p1);	// direction moving between points
    float zlen = movedir.z;			// height of triangle
    float xylen = llVecMag(<movedir.x, movedir.y,0>); // base of triangle 
    float slopeangledeg = RAD_TO_DEG*llATan2(zlen, xylen); // ground slope as an angle in degrees.
    //	Traditional slope (1 m rise in 10 m horizontal => 0.1 slope) if you want that	
    float slope = zlen / xylen;		// but will divide by 0 if vertical.

     


  2. 1 hour ago, RaeLeeH said:

    I'm just going to slip in here while the adults keep talking over my head to answer this original question.

    Just like the quote, I am at present trying to learn Blender 2.80 and it's freaking overwhelming,

    On that note, is there a reasonable guide to read if you know Blender 2.79 and have to convert to Blender 2.80? Not a video, something where you can look up stuff.


  3. It's more successful than High Fidelity, Sansar, and Sinespace put together. About 7,500 paying users. Enough to make it go, not enough to make it great.

    The technology isn't bad. It's using Unity 5, with physically based rendering running in multiple threads in the viewer. If we had that in SL, SL would look much better. They have some nice building and UI features from which SL could learn. Yes, it's a sex sim. Not a clueless sex sim, though. There's some good engineering.

    Being a vehicle builder, I look at that sit target system and think "How could that be extended to vehicles". Suppose you could add a "car" behavior outline to a static vehicle model, get the wheels to line up, get the seats to line up, and drive away. If you need a door, you'd drag a door behavior to a static door, align the hinge, and you'd have a door. They have a "snap to" magnet option in their World Editor, so you can align objects, a basic capability SL lacks.

    Simple in-world building plus external parametric building (resize stairs, get more steps, not bigger ones) could be a powerful and usable combination. SineSpace has some of that. Many users complain that building in SL is too hard. The usual answer is "suck it up and learn to use Blender". That doesn't really scale.

    Maybe LL should buy 3DXchat.

    • Like 3

  4. 22 minutes ago, KanryDrago said:

    I can tell you 3dx does not in anyway have all of that. Every 6th avatar looks identical because it follows the mmo format of chose from these 6 heads..... It has a choice of about 6 or 7 for everything

    They did check off the items that Penny Patton listed for a successful virtual world. In each area, they have the basics.

    They don't have a content marketplace and permission system. If you put something in world, anybody can copy it. So there's no creator business model.

    There's one other item that Philip Rosedale has mentioned but Penny did not - crowds. SL doesn't do crowds very well. That's a big problem. If you make a popular place in SL, the sim chokes. The London City people now show up at every Server User Group meeting. With one of the busiest sims in SL, they have a big interest in performance.

    • Like 1

  5. 1 hour ago, Penny Patton said:

    ... virtual world developers all seem to overlook the key elements that made SL as successful as it's managed to be.

    1. Robust avatar customization. (No, not just the user created content you can decorate your avatar with, but the appearance editor itself.)
    2. In-world content creation. (Not only did simple content creation tools help make it easy for people to jump in to content creation, but it also made creating content a social feature. Remember sandbox building contests? When Sandboxes were always filled with people meeting and learning from each other in-world?)
    3. Land ownership. (Avatar customization aside, this is one of the stronger ways to get people invested in your platform.)
    4. Making money. (See above.)
    5. Allowing adult content. (People like the sex.)

    Amusingly, there's a virtual world which has all that - 3DXChat. It started as just a sex sim. Then they added building. Then users started building and visiting each others places, instead of paying for sex like they were supposed to.

    vtzSyIh.png

    Building in 3DXchat is with prims, plus a library of prebuilt objects. It's more flexible than The Sims, but less flexible than SL. The pre-built objects may be parametric, like SineSpace, but I'm not sure.

    3dxchatpositionmarkers.thumb.png.77b2dac4210e965f5706c048155ce509.png

    A bit of the World Editor. This shows a neat solution to the sit target problem. The "person with yardstick" icon brings up the sittable patterns. Here, the builder just built a couch. It's not sittable yet. They have to select a suitable sit target pattern, drag it to the couch, and resize it to match. Then characters can use the couch. The available sit patterns are shown. SL could learn from this.

     

    • Like 4
    • Thanks 1

  6. It's expensive. $49.95 per month, or $419.40 per year. It's not too clear from the site, but it seems you could be in SL 24/7 for that. Bright Canopy charges $17 per month, but you only get 10 hours.

    It would be interesting to try SL from a streaming server located very close to, or in, the SL data center in Phoenix, AZ. That would reduce the ping time to a very low value.

    There's a school of thought that streaming gaming is the future. That's what Google's Stadia is all about. It takes more bandwidth to get SL's content to the viewer than a video stream requires.


  7. 7 hours ago, Qie Niangao said:

    Any newly acquired land (acquired by any means, even merely deeding or buying back group-owned land) would become subject to the "Bellisseria rules" if that land had any point of adjacency to Linden Protected Land. So all waterfront, road and rail frontage, etc., would become "explorer tolerant" the next time it changed ownership.

    Now that's a really good idea. That would start to fix the most annoying ban line situations. The waterways from hell, with invisible ban lines on open water. Ban lines next to roads, or in a few places, due to road edge problems, onto the road itself. Perhaps add that parcels adjacent to Linden Protected Land that do not already have a ban line cannot raise one in future.

    Users would probably map all ban lines adjacent to Linden Protected Land. Drivers of SL does that now. The rallies guided by their HUDs warn you of ban lines ahead on your left and right. Once we knew that new ban lines along roads would not appear, it would be worth filling out the obstacle map.

    (There are a few parcels in SL whose coastal ban lines block off water access to large areas. Take a boat from Bellesaria to Sansara and head either east or west as far as you can. You won't get very far. I'm plugging for a Bellesaria expansion to the northwest to clean up that mess.)

    • Like 1

  8. 14 hours ago, Kurshie Muromachi said:

    Well, Tim Sweeney of Epic Games has this vision of an "Open Metaverse" planned out. They want to use open protocols, formats and standards and not a closed system where companies have a lot of power over things

    "Open Metaverse" exists, but it's just a C# library for talking to SL and Open Simulator. Last update 2011. Code on Github. Or is Sweeney talking about something else?


  9. 2 hours ago, Penny Patton said:

    I knew Facebook was working on a virtual world, but I didn't know it had a name yet, let alone that it was something you could sign up for. Worlds Adrift I've never heard of.

    I'm interested in big-world systems, and I know about these because I seek them out. None of them got much traction.

    Mavericks Proving Ground just went bankrupt a few hours ago. That was another Spatial OS based big world, or at least a medium sized one. (Spatial OS is a back end for running big seamless world systems. Mostly for MMOs, but it potentially could support something like Second Life. The game industry is waiting to see if their approach really scales like they claim. Spatial OS is a big project - 341 people and $500 million. But nobody major is using it.)


  10. 6 hours ago, Digit Gears said:

    Feels a bit unfair to keep calling Sansar failed, it's still getting it's foot in the door in a unfortunately slightly crowded room.

    No, it's with a few others in a big empty room. VR game level loaders just aren't going anywhere.

    The best VR game seems to be Beat Saber, which is a very simple thing done very well.

    • Like 2

  11. My real point is this: It is far easier and cheaper to bring SL up to modern game technology levels than to try to start up a new virtual world and get users to use it.

    Failed new virtual worlds include High Fidelity, Sinespace, Sansar, Worlds Adrift, Facebook Spaces... Two have shut down and the other three have few users.It's just not working out.

    (On the technical front, I'd previously mentioned Nostos, which was supposed to be a big shared world running on Spatial OS run by NetEase from China. So that was going to be the real test of new big-world technology. Launches next month. Turns out,  "shared" is smaller than expected: "Nostos is an open world multiplayer game set in a vast tranquil wilderness scarred by an ancient war. 4-20 players create persistent sessions..." So it's sharded like Sansar, but unlike SL. So far, nobody but SL has a big shared world that works. Despite Improbable spending $500,000,000 trying. So, fixing up SL remains promising, vs. attempting a new start.)

    (I watched the final moments of Worlds Adrift. In the end, nothing but clouds remained.)

    • Like 3

  12. 11 minutes ago, Selene Gregoire said:

    But, according to those who are supposed to know these things somehow, there isn't a staffing shortage/problem and hasn't been since that rather large layoff of (I think it was) 30%, of the workforce. Supposedly the two aren't connected in any way. I'm not sure how that conclusion was reached but it is what it is. I just don't buy into it.

    If you go to Server User Group regularly, it's clear that important things are not being addressed because of staff shortages. Or look at the JIRA, for bugs long marked as "accepted" but not fixed.

    • Like 1

  13. There are lots of things that could be done to speed up SL. Everybody who knows how game engines work internally and has looked at SL knows this. But with Sansar getting more development resources, nothing is happening. There seem to be only three or so SL server developers. When Simon Linden is on vacation, server releases stop. This is a staffing problem, not a technical problem. SL's job postings include several people for Sansar's back end, but none for Second Life's back end.

    (On the technical front, here's my personal list of things that ought to get fixed.)

    • Idle scripts must use zero compute time. Not less time, zero. Idle script time is a huge drain on server resources. I once suggested to Oz Linden that it was using half of sim CPU resources. He indicated it wasn't quite that high. But it's high. Main cause of sim overload for sims with few avatars present. Probably requires someone who can get into the internals of Mono. Might need a Mono consultant to make some changes to Mono's CPU dispatching.
    • Collect all the viewer code that decides which textures to load at which resolutions into a policy module. Smarten up the policy. Classify recent avatar movement as "stationary/moving/moving fast" and "fixed look direction/looking around". Pick desired texture resolution to show based on that. If you're stationary and not changing look direction, top priority is high texture resolution on what's in front of you, so you can see all the detail at Fashion Week. If you're moving fast, go for moderate texture resolution in the direction of travel out to draw distance, with lower resolution off to the side, so you can see where you're going.  The same criteria should affect LOD decisions. Also, for each object, store one color, chosen by reducing the textures to 1x1, with the object. Objects rez in that color rather than grey. So trees in the distance are green blobs, houses in the distance are brown blobs, and roads in the distance are grey blobs. Add a little blur during rendering when in blob mode, and the result will look like fog in the distance. Much better visual effect than all grey blobs.
    • Once level of detail and texture control are behaving better, adjust them automatically to maintain a minimum frame rate. This will make the system feel livelier.
    • Build some good tools to log, and decode into a clear form, the message streams from sim to viewer and sim to sim. The existing tools tell you an object update went by, but that's about it. This would help chase down intractable and intermittent bugs that have been unfixed for years. Good task for a new hire; they'll learn the system but can't break much.
    • Better LOD generation. The uploader's LOD generator is awful. Replace it. Once something good has been found, go through the existing assets, find awful low and lowest LODs generated by the old generator, and replace those. Good background task to run at low priority on AWS.
    • Impostor generation. Every major 3D game has impostors, 2D billboards that replace distant objects with flat pictures of them. Except SL, which only has impostors for avatars. Hierarchies of impostors - object, building, parcel, sim. See for kilometers. Feel the big world.
    • More modern rendering. Principled BRDF? Leave that to a rendering expert.

     

     

    • Like 2
    • Thanks 1

  14. I'm writing a pathfinding system, and I'm up to 3 scripts already, just to get them to fit. Soon, 4.  More before I'm done. Intercommunication uses link messages and JSON. Current breakdown is:

    • Initial route planning (uses llGetStaticPath, then finds and brackets obstructions.)
    • Maze solver (solves mazes of up to 41x41 cells 0.5 m on a side to get around the obstructions.)
    • Debug marker display (this puts temporary objects in-world to show the path being generated)

    Those are all running. To be added:

    • Path to KFM list conversion, with speed and turn changes to make the movement look human (slow for turns, go wide on sharp turns if space is available.)
    • Cache to store 10-20 previously computed routes, to speed this up.
    • Path execution (monitors the KFM progress and does ray casts to detect any new obstacles)

    All this to do what llNavigateTo is supposed to do, but won't do reliably or with motion better than zombie grade. Since LL refuses to fix all their pathfinding bugs, I have to work around them.

    I've seen a chatterbot that uses about 20 scripts to store its phrase vocabulary.

    • Like 1

  15. LSL isn't that bad for what it does. A few minor optimizations I'd like, to increase performance and reduce memory usage:

    • For lists, if you write lst = lst + ["abc"]; the compiler should recognize that as an idiom and do a replace in place. This should apply generally to anything of the form lst = (some expression containing lst). Programs execute exactly the same, but use less memory and go faster. CPython uses this optimization on strings. They're supposedly immutable, and adding a character to a string should mean a copy. It doesn't really work that way internally, since that would be very inefficient.
    • Along the same line, if you pass a list to a function, it doesn't need to be copied unless it appears on the left side of an assignment within the function.
    • The "lazy lists" feature of the Firestorm LSL preprocessor should be standard, and optimized as per the first item above.

    This gives lists array-like random access performance without affecting existing code.

     


  16. 7 hours ago, Estelle Pienaar said:

    This is not really the aim of the forum but now you made me curious: Where can I find your sim and/or product? I think it would be cool to experience what is or is not possible when creating games with LSL tools.

    I'm not selling NPCs at this time. But I usually have some pathfinding characters running around Animats's Advanced Vehicle Development in Vallone. I also usually leave one running at Animesh 1 on the beta grid. If you go there, they'll find you, approach, say "Hello", wait a bit, and walk off.

    Now that overloaded sims are the new normal, it's tough getting pathfinding to work reliably. My characters have extensive recovery code, yet they still get stuck occasionally. Pathfinding sets a heading and speed for each character, and updates that course when it gets around to it. On an overloaded sim, characters continue too far, blind, because the pathfinding system is responding slowly. They get stuck in objects or even go off the parcel.


  17. 55 minutes ago, Matty Luminos said:

    Wow that really sucks.

    What would fix it entirely, is if AuctionServices Linden had to turn Autoreturn on, which would prevent the previous occupant, or anyone else, from using the land. That would end the very dodgy practise of continuing to rent out land that's up for auction. 

    If they couldn't carry on renting the land, they wouldn't be inspired to over-price it.

    The seller can offer it for rent, but they can't really rent it out, because neither the owner nor tenant can rez anything there. If someone rents it, the owner has to take down the auction.


  18. This tiny success encourages throwing more resources at Sansar. "IQ Mag reported that the Fortnite event was the most-attended concert in history and Sansar gives Linden Labs an opportunity to capitalize on that excitement with regularly produced content." It allows LL to pretend that Sansar is the Next Big Thing.

    That's a problem for us in SL. Sansar eats LL's development resources. The SL server development team is so tiny that with Simon Linden off for a few weeks, server releases have stopped. LL isn't trying to hire anyone for that team. Sansar, though, is trying to hire a "Senior Backend Engineer" and an "information security specialist".

×
×
  • Create New...