Jump to content
ChinRey

Idle thoughts for idle builders

Recommended Posts

Maybe I should have called the thread "Thinking Outside the Cube" instead...

Anyways, here's is a nice little brain twister for all prim builders:

You want to cover a sim completely with prims. And you don't want to use megaprims because they are the work of the Devil. How low can you get the land impact?

Share this post


Link to post
Share on other sites

8 LI

Hmm.. 16 LI

To cover the whole region 16 prims of size 64 m x 64 m would be needed.
Cannot link them so 8 LI is not possible (what I first thought of).

Edited by Coby Foden
  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Coby Foden said:

Hmm.. 16 LI

QI viewers may want to imagine klaxon horns going off and big screens with a white "16" blinking on a black background here.

1 hour ago, mikka Luik said:

16 - agreed

Sorry Mikka, no klaxon horn for you. Coby beat you to it.


16 is the wrong answer.

But you didn't really believe I would post a challenge as simple as that did you?  There are at least four ways to get the LI lower than that. I'll give you the first one since Coby was already halfway there:

1 hour ago, Coby Foden said:

Cannot link them so 8 LI is not possible (what I first thought of).

But you can link 54x64 m prims in pairs and if you do that, you can cover the sim with ten pairs and one single prim - 11 LI. That's still not the lowest possible though.

Edited by ChinRey
Improving the grammar and correcting typos
  • Like 1

Share this post


Link to post
Share on other sites
3 minutes ago, Profaitchikenz Haiku said:

How about simply lobbing out TEMP_ON_REZZ items at regular intervals :)

Make that at least five ways then. ;)

Next step:

Get it down to 8 LI without using temporary objects.

Share this post


Link to post
Share on other sites
3 minutes ago, Christhiana said:

Change the physics settings?

You'll usually do that for the 11 LI option too, although it can be done in other ways. That's not the key for the 8 LI option though.

  • Like 1

Share this post


Link to post
Share on other sites

Rezz 8 of 64x64 prims arranged in an alternating prim-space pattern (like a chess board) Script each prim so that it alternates between where it is first rezzed and the adjacent space several times a second ( many many many times a second). Do not look at the sim scripting time, just concentrate on the objects tab.

  • Thanks 1

Share this post


Link to post
Share on other sites
26 minutes ago, Profaitchikenz Haiku said:

Rezz 8 of 64x64 prims arranged in an alternating prim-space pattern (like a chess board) Script each prim so that it alternates between where it is first rezzed and the adjacent space several times a second ( many many many times a second). Do not look at the sim scripting time, just concentrate on the objects tab.

I love that one! :)

So, at least six ways then.

 

23 minutes ago, Christhiana said:

Top Shear the prims and you have a flat prim of 64x128. This way you only use half of the prims :)

That's essentially my solution no. 2, yes - the one that gives 8 LI

It's slightly more complicated though. A 64x64 m tapered in one direction is still only 96x64 m. But combine it with solution no. 1, the linked pairs of 54x64 m. Something like this:

532227157_Skjermbilde(2022).png.1d1130263c6f73cd44160efb1decd5eb.png

Two linked 54x64 m prims covering 108x96 m of ground (actually this one doesn't it's a scaled down model but never mind).

My solution no. 3 is one I can't really figure out myself to be honest. If you shear those prims in both directions, they will cover even more ground. But we end up with such an irregular shape, trying to figure out how to best configure those prims to cover everything with no holes makes my head spin and I have no idea how low it's possible to get the LI that way. Does anybody want to give it a try?

Or let's up the ante a bit. Some may argue this is a cheat but:

  • 256x256 m square surface area with no gaps or other holes
  • No megaprims
  • No temporary objects
  • No scripts
  • Nominal land impact: 4

This is my final solution - and some may argue it's a cheat - but I really hope others will have alternative ways to do it.

Edited by ChinRey
  • Like 1

Share this post


Link to post
Share on other sites

Aww, I can't wait. Impatience got the better of me.

Here's a long explanation of the 4 LI solution and then taking the discussion off on a tangent...

Prims are "procedural" (aka "algorithmic") objects, that is the viewer is fed some basic parameters and generates the right shape according to those. As far as I can figure out, there are 14 bytes of parameters - give or take one or two, depending on exactly how the LL programmers thought at that time. That means there are 5,192,296,858,534,830,000,000,000,000,000,000 possible prim shapes. The software converting the prims to viewable mesh can generate all those shapes with no problems and none of them are harder or easier for it to handle than the others.

Most of those shapes are not avaiable through the regular builder pallette or lsl though. They have been left out, some for obviously good reasons, others for more questionable ones. But after the viewer code was released as open source, somebody decided to take a closer look at this and added some extra functions to the builder palette giving us access to a few (but not nearly all) of those "secret"  prim shapes. These functions are still included in many third party viewers.

The parameter we want to look at in this particular case, is taper. Of course, tapering a prim normally means less surface area at one end of the path, not more. But it is actually possible to "reverse taper" it like this:

1562905329_Skjermbilde(2023).thumb.png.7ae2ba95063556a7e6510e37c1e3ccd8.png


This prim is nominally 0.5x0.5x0.5 m but with "reverse tapering" the top surface is 1x1 m. Scale it up to max size and we get 128x128 m on the top, enough to cover a quarter of a sim. This is a legacy prim so the nominal land impact is 1. The actual LI can be a bit higher because of the physics weight but that's easily corrected by setting it to convex hull.

---

Now, off on a tangent.

I started this thread after reflecting on some recent posts in the Why beginners don't learn the basics first? discussion (paging @animats, @OptimoMaximo, @Bitsy Buccaneer, @Kyrah Abattoir, @Motoko Oanomochi - did I miss any?). There was some talk about preserving SL's tradition as a platform for creative building and I think most of us agree that to achieve that, we need in-world building tools. Sadly this is not about Bitsy's making-the-best-of-the-situation since it's never going to happen but I still think it's worth thining about.

Second Life always had and in-world building system of course. It's called primitives and it's the reason why SL became so popular among wanna-be content creators in the first place. Prims are also brilliant suitable for streamed virtual relity since they require only a fraction of the bandwidth needed for polylist meshes and can be downlaoded much faster.

In 2003 it was quite a revolution but it has two problems. One is that even though most of the software is brilliantly optimized to handle prims in the best possible way, the assets servers are not. They are really struggling to handle complex prim builds. In theory this is a very easy problem to solve. In reality the entire SL code is so convoluted by now any changes may be seriously difficult to implement. (For those who don't want to do the math themselves, if the assets server bottleneck had been removed, 24 simple prims would be 1 LI.)

The other problem is that primitives are too primitive by today's standard. The original system was actually more advanced but LL had to simplify it a lot to enable year-2003-computers to handle it. They also nerfed the UI a lot in a questionable attempt to make it more user friendly.

Prims don't have to be that limited though. There are already several interesting option hidden within the current 14-or-so bytes of parameters. Double the number of bytes to add some carefully selected new useful parameters (such as nodes, more profiles and paths, custom profiles and paths, non-linear tapering, hole offset, perlin noise distortion etc.). Even with ten times as many parameters we'd have a system that wouldn't cause a modern tablet more sweat than the existing prim system caused a powerhouse desktop back in 2003 and with a well designed UI it would be much easier for a human to handle than any polylist mesh software can possibly be.

What I sketch up here, are the basic principles behind most modern tools and techniques like Archimatix, Umbra, SpeedTree, Tesselation and - for 2D graphics - PBR. It makes a lot of sense since both humans and computers are far better at handling patterns than isolated pieces of data.

It's not going to happen of course. LL hasn't thought this far outside the box since 2007 and today's content creators have come to depend far too much on ready-made solutions found on the internet. But this is an "idle thoughts" thread after all...

Edited by ChinRey
  • Like 4

Share this post


Link to post
Share on other sites
15 hours ago, ChinRey said:

One is that even though most of the software is brilliantly optimized to handle prims in the best possible way, the assets servers are not. They are really struggling to handle complex prim builds. In theory is a very easy problem to solve. In reality the entire SL code is so convoluted by now any changes may be seriously difficult to implement. (For those who don't want to do the math themselves, if the assets server bottleneck had been removed, 24 simple prims would be 1 LI.)

 

I would gladly give up the peer pressure to have an overly smooth hyper perfect avatar for a creative platform with 1/24 LI prims :)

How can we make this happen? :D

Share this post


Link to post
Share on other sites
2 hours ago, Bitsy Buccaneer said:

I would gladly give up the peer pressure to have an overly smooth hyper perfect avatar for a creative platform with 1/24 LI prims :)

How can we make this happen? :D

We can't. It's up to LL and they ain't gonna.

But if you're asking how it could be done, the simple explanation is that according to how land impact is calculated at least, the data for each an every PMS (Prim/Mesh/Sculpt) in a linkset is stored separately in the assets database. That means to deliver a linkset with 24 parts, the assets server has to search for 25 entires (one for the linkset itself, one for each part), one after another. This is a lot of work for the server and that is reflected in the calculated land impact. Each of the searches for parts adds 0.5 to the server weight - we get the search for the linkset itself for free. It's not that much actual data though, it's just that it's scattered all over a database with several billion entires. It can easily be merged into a single database entry, drastically reducing the workload of the assets server. We're probably talking about an overall load reduction of more than 90% here.

Now, I said "according to how land impact is calculated". There is a remote possibility that LL has already made this upgrade and only forgot to update the LI formula to reflect it. They don't seem to have done it, judging  by the way linksets render. But I won't rule it out completely and if so, the effect coalesced linkset assets should actually be included in project arctan. If LL rember it this time and can be bothered. I doubt it.

Edited by ChinRey

Share this post


Link to post
Share on other sites
2 hours ago, ChinRey said:

If LL rember it this time and can be bothered. I doubt it.

I agree. As much as every possible feature you have listed in this thread are a wealth that, at the very least, i would label as "awesome to have", for Linden Lab, Second Life is a old son near to death, otherwise Sansar wouldn't be that money sink hole that all creators in SL are funding with the increased payout fees. SL has seen too much noobish development practices for anyone to be actually able to wrap their mind around it all and fix things. And there are too many other competitors onto virtual online platforms support for Sansar to see any success, @animats is right about it, with SpatialOS in the equation and also EpicGames trying to host online live events (they recently had a Fortnite map become a live concert platform with one million concurrent users online at the same time), someone will eventually get the right mixture to take SL's place. And, in my opinion, have Sansar go down the same route, considering the development habits LL is keeping.

Share this post


Link to post
Share on other sites

LL is obsolete technically but it has the user base, creator base, and content. Those are the assets that keep Linden Labs alive.

This is the reality of Sansar:

sansaruse.png.43433d7a28c55bcd4ee80ba78596d42f.png

Sansar usage on Steam. 11 concurrent users. SL has about 40,000 right now.

Yes, there are non-Steam users, creators who signed up, etc. It's "early access". Excuses. Denial. Reality is that Steam's users have decisively rejected Sansar.

It's not just Sansar. All of the "game loader" systems - High Fidelity, SineSpace, etc. have tiny user counts. Those are not shared virtual worlds. They're game level loaders where you get to download a user-created level map and play multiplayer with a few people who downloaded the same level. This model has been decisively rejected by the market. With or without VR goggles.

It's Sansar that's near death.

Edited by animats

Share this post


Link to post
Share on other sites
2 hours ago, animats said:

LL is obsolete technically but it has the user base, creator base, and content. Those are the assets that keep Linden Labs alive.

Not for long :D 

2 hours ago, animats said:

It's Sansar that's near death.

Very true! What's worrying is that they will let SL die first, in spite of it being their main income source.

  • Like 1

Share this post


Link to post
Share on other sites
5 hours ago, ChinRey said:

We can't. It's up to LL and they ain't gonna.

If LL won't, it would still be possible for others to.

Since we're dreaming here, what if someone else was able to capture the magic of watch it come to life before your eyes, collaborative, inworld building in an open world and do it right this time, learning all the lessons of LL's mistakes? Who knows, it might catch on :)

Share this post


Link to post
Share on other sites
On 2/10/2019 at 8:59 PM, Bitsy Buccaneer said:

If LL won't, it would still be possible for others to.

Since we're dreaming here, what if someone else was able to capture the magic of watch it come to life before your eyes, collaborative, inworld building in an open world and do it right this time, learning all the lessons of LL's mistakes? Who knows, it might catch on :)

Isn't that minecraft?

Share this post


Link to post
Share on other sites
7 hours ago, Beq Janus said:

Isn't that minecraft?

I don't know. I tried to use minecraft, but the download wouldn't work. I think it may have been something to use minecraft with but I never got back to it. I should look into it again.

Share this post


Link to post
Share on other sites
8 hours ago, Beq Janus said:

Isn't that minecraft?

Minecraft, like the Open Grid stuff runs on private servers - they often get shut down and people loose all the energy they once invested. Some of my friends migrated servers two times ... their projects got smaller each time.

  • Thanks 1

Share this post


Link to post
Share on other sites
On 2/10/2019 at 10:17 AM, ChinRey said:

forgot to update the LI formula to reflect it.

I would write this as “forgot”, as it works in their favor.

Share this post


Link to post
Share on other sites
1 hour ago, Love Zhaoying said:

I would write this as “forgot”, as it works in their favor.

No, it doesn't. If LL had managed to elminate the assets server bottleneck, it would have been in their interest to encourage more prims and less mesh since it would save them a bit of bandwidth.

  • Like 1

Share this post


Link to post
Share on other sites
On 2/8/2019 at 2:25 PM, ChinRey said:

you don't want to use megaprims because they are the work of the Devil.

Not being a builder, and thus fairly clueless on these sorts of things --- Why are megaprims bad?

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×