Project Sansar Instancing

Ciaran has the article Project Sansar To Offer Instancing And Perhaps A Different Approach To Branding Experiences posted. Ciaran has put together a set of clues and come to a conclusion. His reasoning seems plausible. So, what is instancing?

Song To The Siren (Sail To me)

Ciaran gives a quick answer. I’ll go a bit deeper. First let’s look at how Second Life™ works. We have a region running in a server. Technically we may have more than one region running in a server, but for our purposes here I’ll ignore that aspect.  If you stand in an adjoining region, you can look into the neighboring region and see what is happening in real time. You can also walk up to the region boundary and cross into the adjacent region. This is when we see region lag. That lag is caused by the time it takes to transfer all your avatar related data from the server you left to the server you entered. It is a good size chunk of data. The Lindens have done a bunch of work optimizing the process. But, it’s a lot of data and takes a finite amount of time.

Plus all the group chat connection information and SL server to your workstation connections have to change. Basically a lot has to happen. But, you can talk to any friend that is anywhere in SL. But, if you go some place and your friend goes to the same place, you will always see each other.

For  instance you and I independently decide to go to Fishergate (an SL region) since there is only one instance of Fishergate, we will see each other. The SL servers are running only one region named Fishergate.

The term instancing is about running an instance of a region, but generally denotes the possibility of running more than one copy/instance. So, the Lab could run multiple copies of Fishergate. I could go to Fishergate instance 2 and you might arrive in Fishergate instance 4. We will not see each other. We are in different servers and as far as the servers are concerned we are in different regions that just happen to look identical.

There are worlds that run on the multiple instance model. Uru Live, a Myst game, mixed the two styles. There were public instances of places that worked like our region do. There was only ever one copy of the place running and every one arrived at the same place and could wave at each other and talk in basically local chat.

Other places were private or semi-private. The servers would start up an instance of those places when someone went into them. I would go to my instance and you would go to your instance and we would both be alone but in the same place… sort of. We were likely in different servers, but the places looked identical. We had to take special steps to talk to each other. It was sort of like group chat in SL. In local chat we couldn’t talk.

The idea was while there might be 1,000 people in game there were only ever about 100 or less in any one server, much like it is in SL. In SL the regions fill up and we can’t get in. In an instanced world you can always get in because another server starts up with a copy of the destination.  But, if your friend is in a different instance, you can’t hook up.

So, if Sansar is an instanced world, would that work for you?

Would an instanced Sansar work for you?

 

 

Yes

 

No

 

For somethngs

 

It would be a disaster

 

Poll Maker

 

 

I can’t argue with Ciaran’s thinking that it looks like Sansar may be instanced. What he is quoting has that sound. Ciaran acknowledged he is reaching. But, I hope that is not only way that Sansar will appear. Using instancing to handle larger numbers of people in a single location is not what I consider a real solution. It feels more like a bait-and-switch.

But for some applications I think instancing would be great.

Since Ebbe has spoken of having large numbers of people at an event, I am hoping they are doing something Like Microsoft and OpenSim did where they could have 1,000+ people in a region will little lag.

13 thoughts on “Project Sansar Instancing

  1. From a retail or entertainment perspective, environment instancing offers a variety of benefits; The more the merrier applies very well. If given the choice, I would prefer to see more people access an area without it, but barring any other option it would simply let more people have access to the space and that is a good thing for the owner of that space.

    A much more applicable and useful form of instancing (which I am surprised was not discussed further) applies to the duplication of a single asset so that it may be used many many times while still \counting\ as only that single asset. Most commonly applied for grasses, plants, trees and rocks, this method essentially allows you to have thousands of those objects while still treating that as if it was one single object. The asset must only be rendered once, distributed once, etc. so it is much more efficient in terms of the amount of detail you can present. In SL when you use trees on your sim, each tree is considered a separate asset, even when it is just a copy, and counts against what you are capable of rendering on the sim.

    Ideally, instancing environment assets is a much more efficient method for placing all those assets as well, using a more automated toolset for placing many assets at once, rather than planting one tree at a time, as in SL. Using a table of variables, a \paintbrush\ method or a combination of both, it is possible to constrain placement of those assets based on your input. For example, trees not growing above a certain height, or on a slope beyond a certain angle of incline, certain grasses could exist only on top of certain textures, etc. Many aspects can control how the assets are distributed, even random height, rotation and density. Additionally, instancing can also provide variations on the original asset, with tolerances for mutation within a given set of parameters, like extra tree branches for trees of a certain height.

    It is a super efficient method for working with assets. The few times I have experienced it working on replication of entire environments it was pretty much unnoticeable except for the massive amount of confusion it caused when trying to find out where someone was.

    Again, I would rather see a better way, as this works but is too simple a solution for the complexity of the problem. The best system would be one in which 100 or more avatars could exist within an environment without a performance loss and instancing of the entire environment would occur if needed beyond that point. Both aspects need to be present; more people than we can currently have, but instancing if we need it for something much larger.

    • Good points. The item/asset instancing will probably be a part of Sansar. The benefits you mentioned are way too valuable to be passed up. I would be really surprised if they omit item instances.

  2. If instancing is an optional thing you could enable for your region, that would be great. Instancing would work best for crowded stores. It wouldnt work at all for RP sims. But I would think that there are several important factors. One would be the number of people per instance. I mean how often do you see a region with more than 70 people inside ?

    Also, your friends list would have an influence in what instance you end up in, so you are paired with your friends (this is an assumption but thats what I’d do)

    • I tend to find 1 or more events per month where the 40 avatar limit is keeping me out. I am guessing I see 4 or so events per year where multiple regions are used and limits adjusted to get 100 avatars per region, or over 100 avatar events. But, raise the limits and we are likely to see more such events. I think it is the basic Catch-22 thing.

      I like the friends list thing. But, I think it has too many combination problems. My friends have different friends than I do. I may be the only connection between some circles. Also, when half my friends are in one instance and the other half in another instance… where do I end up? Do I have to choose? That is another complication in the UI. … I think this would be really hard to implement.

      • See ?I jsut dont get eout enough, haha. Good point about the Freinds List. I wouldnt know how that would be handled, thats tech magic stuff. Star Citizen is planning on doing it.

    • Thanks… :/ But, while that does explicitly say there will be instances, I find it nebulous on whether that means ALL experiences will be limited to 150 avatars. Since OpenSim has been shown to support 1,000+ per region, their obviously is a way. (Reference: http://www.hypergridbusiness.com/2010/11/how-many-avatars-can-opensim-handle/) I am assuming Sansar developers are looking at how to have higher numbers per instance of an experience/region.

  3. The way I see it, instances should be an option for sim owners. Then indeed it would be awesome. The sim owner would chose things that belong to all instances (like parcel stream, media, maybe nearby chat), and the visitors could chose their instance when TP in, like those MMORPGS that have multiple servers (like green yellow red bars to show the load).

    And for the above to work and be fesable, would probably need a different approach on the sim categorising. I mean Moderate / General / Adult could become like a tag chart, or different options (unify with homestead/full region / gaming), add instances and maybe some more new options (hopefully places where client’s won’t be able to change windlights), and you get a decent info about a sim before you enter it.
    That way maybe SL won’t be tagged so fast as a \porn world\.

  4. With a scalable backend architecture design, distributed servers and databases and dynamic load balancing algorithms, having thousands of user on the same server is not a problem, anymore (WoW has a capacity of around 10k users on a server, but I don’t know their definition of server/space/shard, SmartfoxServer claims their architecture can manage 1-2000users in a shared space for a common action game).
    The problem is the client, actually: Most common gaming-grade PCs are simply not able to render hundreds of avatars/characters within the same scene.

    Even CloudParty had always stressed their limit of 50avatars per instance was entirely client-constrained, their backend architecture was capable of much, much more.

    Also note that the 1000+ avatars per region on OpenSim were only reached on the DSG branch, which was a research project by Intel, and despite being publicly available for a few years now, has never been adopted by a grid afaik. The DSG will actually distribute the region workload among physical machines, a stock OpenSim will quickly hit 4-8GB of memory usage on a 15k prim region with 25 avatars (http://opensimulator.org/wiki/Performance). The demonstration of 1000 avatars has only happened under lab conditions, with only bare system avatars.

    Sansar, however, is not a research project, it is meant to become an actual commercial product, and I hope they have learnt from the past and, will not make the same mistake again to make great promises which they cannot keep, even 10 years after…

    Actually, I find 150 simultaneous avatars pretty ambitious, already, and it will take drastic restrictions on render complexity (HD/SD system for attachments/clothes, maybe, as in CloudParty?) to display them at acceptable frame rates, even with recent gaming rigs…

    • You might be right. But, the Jelly Babies and ideas may just be the Lab testing things in SL to see how they work with adoption for Sansar in mind.

  5. Avatars, as we know, are among the most complex aspects of a service like Second Life, as they are so richly customisable.

    Even with the kind of content optimisation capabilities hinted at for Sansar, the development of new avatar forms, etc., it would seem likely that push come to shove, avatars will remain fairly expensive in the order of things in the new platform.

    As such, the Lab need to balance things in order to comfortably maintain the level or across-the-board performance they’ve indicated (around 90 fps). Thus, it’s not unreasonable to look at the 150 figure as something the Lab are setting as an anticipated limit, and not just a number picked out of the air.

    Another aspect with instancing at the experience level is that people aren’t necessarily isolated from one another. It comes down to how the instances are managed. Given that experiences can be interconnected, there is potentially no reason why you and I attend two linked instances of the same concert, and (numbers allowing) we cannot \walk\ between the two and join one another.

    Granted, we may not \see\ each other until we’re in the same instance – but that’s how it is in crowds anyway; people rarely see one another until they’re practically on top of one another.

    As such, I’d venture to suggest the Lab are focused more on the sense of presence and immersion numbers-wise, far more than trying to push avatar limits to inordinately high numbers.

Leave a Reply

Your email address will not be published.