• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-99
Type: New Feature New Feature
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Haravikk Mistral
Votes: 58
Watchers: 10
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

3D Permission Zones (Privacy Zones)

Created: 09/Apr/07 05:43 AM   Updated: 30/Sep/09 01:32 PM
Return to search
Component/s: Physics, Simulation
Affects Version/s: 1.13.4, Havok4 Beta, 1.21.0 Server, 1.22.1 Server, 1.22.2 Server, 1.22.3 Server, 1.22.4 Server, 1.23.4 Server, 1.24 Server, 1.25 Server, 1.26 Server, 1.27 Server, 1.30 Server
Fix Version/s: None

Issue Links:
Duplicate
 
Relates


 Description  « Hide
=== SUMMARY ===
The basic aim of this proposal is to suggest that we be given a 3d permissions tool allowing us to define "zones" within our parcel that have rules applied to them, such as access restrictions. These zones would be kind of like invisible primitives of any size (within sensible limits) that we can place around or inside buildings to prevent access to them. The idea is that this lets us build our homes without having to restrict access to the whole parcel for a height of 60m.

For example; if I have a 40m x 40m plot of land, and my home is 20m x 10m x 10m then I could simply place a "zone" within my home to restrict access, without preventing people from enjoying my surrounding garden. Currently all I can do is either have no privacy, restrict access to the full 40m x 40m x 60m area of my land, or place the inside of my house in an unprotected skybox hundreds of metres above my home.

NOTE: In this proposal are also references to features such as chat-restriction, and preventing data being sent from the server, both of which are features that do not yet exist, but are required to implement any real form of privacy in Second Life. Therefore while these are not necessary to implementation of zones, they are as good as a requirement.

=== DETAILED DESCRIPTION ===
Every so-often people make another call for greater privacy and control over their in-world property. While we have some controls, they aren't really perfect, and it is unfortunate as they try to enforce a 2D permissions system (parcels) on a 3D world that extends 768m (or higher) into the air.

A possible solution would to be allow a special type of primitive called a Zone.
In many ways these behave as ordinary prims, however they wouldn't have the same options (and obviously wouldn't be visible except when highlight transparent is enabled so you can edit them). My thinking is there would be only three basic types:

  • Cube
  • Sphere
  • Cylinder
    All of these can be cut to create semi-circles and such, but beyond that no other options are really needed.

What these Zones do is essentially take all the permissions available to parcels and apply them to the area that they define, essentially removing the need for parcel permissions (though they are still nice a global setting that Zones can then refine).
As such zones would contain a comprehensive set of settings, hopefully complimented with a few new ones that do not entirely suit parcel-based permissions. Only really access-controls are required, but a number of the extra ones should be seriously considered, as they allow for a much more complete privacy solution. These would include:

  • Access - access-list restrictions in exactly the same way as parcels, with suitable scripted support (e.g llAddToZonePassList() etc.)
  • Objects - similar support to parcels, allowing prevention of object-entering and leaving of the zone. Creation rules may be ill suited to zones however
  • Chat - allows a user to block chat from entering or leaving the zone on different levels. e.g; options to prevent whispers, say or shouts leaving on channel zero, and even blocking non-zero channels (in the case of object conflicts perhaps).
  • Restricted visibility - prevents people outside a zone ever receiving data about the contents of the zone, ie; the server doesn't send the data, alternatively used to prevent users inside the zone from receiving objects outside of it, for huge improvements to rez-time, or for controlled culling to improve performance of complex builds.
  • Age verified - avatars can't see inside or enter this zone unless they are age-verified. Age-verified avatars will not notice any difference in this zone. This is to combat what looks to be the ban-line effect for the upcoming age-verification scheme so we can just lock adult content in little zones instead.
  • Culling - options to force occlusion culling on objects within the zone to outside viewers, or from blocking objects outside the zone to inside viewers. Very useful for optimising buildings, but on the viewer-side rather than the server-side (so the objects are still received, just told when they shouldn't display).

This would be an extremely useful tool as culling, combined with access lists and chat options, it allows a user to prevent the contents of their home from being visible (though the surrounding walls could still be seen), and prevents other users hearing conversions. This allows for seemless privacy and a huge degree of flexibility that is not well-suited to parcel-based restrictions.

The concept would of course need some limits. As the zones are essentially prims, they would be limited per-parcel, either deducting from the prim limit, or more likely having a separate limit of say 1 per 128 square metres rounded up. These prims would have unlimited horizontal (X and Y) size allowing them to encompass the full size of the parcel they reside upon (upon hitting the borders they could get no larger). Z-height however is limited by the Zone limit, to say 10m per 'Zone'. So if you have a 30m high Zone it will count as 3 against your limit.

I'd envision this working by simple collision. Each object in the sim would have some extra flags to represent the new permissions they have. When they collide with a zone, they have these flags changed accordingly (if they're allowed into the zone), when they leave the flags are changed back. Collisions with zones could be handled by a separate "stripped" down instance of the physics engine, as the collisions do not necessarily need to be computed at the full 45 frames per second, or in as much detail as regular collisions.
One other consideration is intersecting zones, the simplest solution for this would likely be to simply disallow intersection of zones in the first place, and allow users to add their own 'overlap' zone in between if they so wish.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Dzonatas Sol added a comment - 10/May/07 09:51 PM
It seems it would be easier to just enable parcel level scripts. Allow the ability to drop scripts into parcels, the scripts can collect likewise collision data and react as customized.

Haravikk Mistral added a comment - 11/May/07 10:12 AM
For scripters perhaps, the it needs to be something simple enough that the majority of users wanting such functionality can do it. This would be essentially a case of creating a special prim, resizing it to fit the space you want and picking some options, all achieved on an extra edit-window tab (which would make all zones visible when selected so you can work with them).

Zephyrin Zabelin added a comment - 18/May/07 08:43 AM
I'd prefer parcel-based cloaking as it is probably simpler to use and less heavy on processing. And preferably operated by one single toggle so privacy could be switched on and off really quickly according to mood.

Haravikk Mistral added a comment - 20/May/07 11:39 AM
Hmm, the reasoning behind me suggesting this method is that while it is slightly more complex, it shouldn't actually be massively more complicated to implement (since collision detection and primitives already exist, this is just a special case). However, the benefits that it possesses are huge compared to simpler solutions; the ability to build your home at ground level and hide its contents from people that aren't inside it (and allowed to be inside it). The ability to split your land into distinct areas vertically as well as horizontally (or diagonally if you really want), with each area having different permissions and settings.
There are also extra benefits that are simply not possible with simpler solutions, such as building your areas in such a way that areas are culled COMPLETELY to prevent cheating in games (e.g you're running through a maze, zones with culling enabled can prevent you seeing the other side of walls too soon), or to optimise builds to give the maximum performance they can, essentially implementing a degree of intelligence that allow other games to increase speeds, but in a dynamic way that is possible in SL. Culling uses can be applied to chat too, allowing you to create a café with booths, where chat does not escape individual booths. As well as much more tightly constructed rental areas.

This should overall add very little overhead for a much more powerful system than parcel-wide solutions. I can understand wanting the easiest solution so that LL are more likely to implement it, but there is the case where a solution is TOO simple, where others are more flexible and are capable of far more than simply what they originally set-out to do. I'd much rather privacy took an extra month of coding and testing and was vastly more flexible, than get a less useful solution sooner.


Timo Gufler added a comment - 12/Jun/07 12:05 AM
It would be indeed a good idea to limit culling. Currently you don't even have privacy inside your own house.

Feynt Mistral added a comment - 26/Jun/07 11:29 AM
I like the culling idea, but it would actually be better served by making sims into BSP technology and using portals. This could potentially cut down on polygon usage (have the compiler check for "set as static mesh" objects and remove overlapping polygons), allow for complicated light mapping, and would make culling far easier because you can determine beyond a doubt what's obscuring what using antiportals. The "culling prim" could essentially be an antiportal that can be turned on and off by script, allowing for windows that are truly privacy enabled. Culling could be performed based on your avatar's placement, if you're inside you can't see outside of the culling area, even if you move your camera out. Likewise if you're outside you can't see inside of it. Only the sections of the sim your avatar can see would be drawn. Compiling a new "map" could be done on a nightly basis during low occupancy periods, or triggered by the sim owner. That would potentially make teleporting a lot longer for areas you haven't been to though, as to my knowledge you can't stream BSP. It'd also make it take a while to get neighbouring sims. On the other hand BSP maps render a lot quicker than random arrangements of prims...

I'm totally for adding 3d areas for permitting certain things. I've recently been thinking, "If only we could limit building and scripting to only the sandbox and about 60m above it.


Har Fairweather added a comment - 23/Jul/07 06:15 PM
An alternative approach that seems to me both very simple and versatile is outlined in VWR-1806, which I posted while unaware of this proposal. It would be to make impenetrability to passage through a prim of camera viewing a quality that can be applied at will to any given prim - a wall panel, for instance. It could be either a texture or "intrinsic" quality like "full bright." One could make a whole house or skybox privatein this fashion, or only a single room - or even a household object, like a chest or lockbox. Objects can already be opaque when viewed from outside; the privacy problem mainly stems from the ability to move one's camera view through a wall or object into a space desired to be private. Let the computer draw a line from avatar to proposed camera viewpoint; if it intersects such a prim as I describe here, the camera is stopped there and returns a texture of the prim to the client. As far as I am concerned, whatever works and is most feasible among these variations should be fine for accomplishing the basic purpose. I say, let's get it done.

Haravikk Mistral added a comment - 28/Jul/07 01:58 AM
VWR-1806 actually more closely duplicates VWR-1133 which unfortunately is unfeasible.; any camera restriction can be by-passed and will only inconvenience builders.

Hewee Zetkin added a comment - 31/Jul/07 02:14 AM
I think the basic idea of this request is a good one, and that is basically to make parcels 3D. I go for that part. There are tons and tons of attempts at this in multi-leveled malls, private estates with aerial builds, etc., and often they have to resort to complex scripts to try to enforce policies (e.g. prim counts, access lists) that are normally done simply with parcel controls.

The rest is delving way too much into a suggested solution than is necessary or productive. For example, doing this with prims rather than the 3D equivalent of the current 4m x 4m parcel squares would likely add next to no value and be costly performance-wise. I suggest that if this request is fulfilled only the fundamental requirement be addressed, allowing the feature designer to use their domain knowledge to produce the best fitting solution.


Haravikk Mistral added a comment - 04/Sep/07 06:41 AM
There isn't really any other way to implement 3D zones without some kind of collision system as we have now. It could of course be handled separately of other physics calculations, which might be a good way to improve performance by having permissions zones calculated at a lower frame-rate than regular physics.

Mercia Mcmahon added a comment - 04/Sep/07 09:39 AM
Permissions have do effect on chat range, so private conversions (sic) will still be overheard.

The best method for private conversations is Group IM.

Mercia


Haravikk Mistral added a comment - 05/Sep/07 01:42 AM
That doesn't mean they can't be effected. It's easy enough to do a check if avatar X is in zone Y which has external chat disabled, then avatar Z (who is outside the zone) doesn't receive the message. If objects in a simulator track which zone they're in then the implementation of this is easy.

Mercia Mcmahon added a comment - 05/Sep/07 08:26 AM
"It's easy enough to do a check if avatar X is in zone Y"

It's easy but its adds to gridlock, as this check is not currently being done and I would not advise any new feature to recommend new checks while region crossing bugs are still playing havoc with Mainland.

Mercia


Haravikk Mistral added a comment - 12/Sep/07 04:01 AM
Crossing sim-boundaries is a different issue. I want itfixed too; my land is on the corner of a sim so there are two directions I can accidentally go a little too far in that will result in me struggling to get back due to sim-crossings being so slow.

However, this feature should not aggravate it as the checking can't be done until the avatar is in the simulator anyway. Part of the issue with sim-crossings is transferring all of an avatar's data (including groups, see SVC-280) and moving that from one sim to the next. It used to be that this could be done extremely quickly, but for some reason it just got worse and worse with some updates, and has never been fixed.

With this feature it is essentially an extension of the physics processing. All the simulator cares about is when an object enters a zone (collides with it) or leaves a zone, at which point it sets/unsets any flags that that zone modified. During sim-cross an avatar isn't in the sim yet to actually enter/leave a zone, and with a bit of luck there wouldn't be many zones defined right on sim edges, or not at flying height at least, for typical flying crossings zones should have no effect as a result since they only make a difference when someone enters one.


Coaldust Numbers added a comment - 04/Nov/07 05:56 AM
I personally see this as close to a ideal, realistic, solution.

There are some competitors:
SVC-599 proposes to blot out everything in the parcel
VWR-2525 proposes a system that shows everything except the avatars (and their attachments)

The reason I like this proposal better than SVC-599 is it doesn't necessarily leave a bizarre looking empty patch of land from the outside. The reason I like this proposal better than VWR-2525 is the neighbors oogling you from the neighboring sex club (a scenario mentioned in VWR-2525) might not be able to see your avatars, but they might still be amused by your extensive collection of kinky bedroom equipment.

There appear to be some problems. One is the idea of using prims to define the private space. Another may simply be something not being clear... it seems like this /might/ be referring to camera or rendering constraints.

It needs to be clear that any "camera constraint" system is worthless. Information about what is near-enough to your avatar is sent to your client. The camera is just the part of that information you choose to view. Rendering constraints would just amount to asking the client to please not show something to the user. The client is open source. Even if Linden Labs chose to make the camera obey some camera constraints, or hide something, it could, and would, be patched out by other people.

What /does/ work is simply not sending the information in the first place.

As for using prims to attempt to use existing collision detection code for this purpose, determining what is inside a sphere is more computationally expensive than a cube (actually just about any shape is worse than a cube for this purpose). For this reason I suggest limiting the allowed shapes to cubes (as in, defined by the vertices at 2 corner points, no fancy stuff, no tortured cube prims, no having them rotated at odd angles). It's not that you probably /couldn't/ do it with tortured prims, possibly fast enough to be acceptable, so much as you don't /need/ to. All you need to know is if an avatar (not their camera!) is inside the private space, or not. I'm also not sure what kind of lag a odd shape private space might induce. It might toggle the inside/outside status quickly with certain shapes and avatars or objects penetrating it at certain angles, which would cause a unknown amount of wasted computation and network traffic (this concern comes from knowing certain twisted tortured prims colliding with a sphere behave /very/ badly, and can even crash a sim... I can only imagine what it would do if it was also bashing everyone nearby repeatedly with avatars appearing/disappearing several times a second). I'm also not entirely convinced that you can use the collision detection code like this. For instance, do you really want phantom objects to inexplicably show? If the collision detection code can't be used, it should be relatively easy to determine if an object's bounding box (even if it's phantom) is inside a cube (the private space) or not.

If they are inside the private space, then data about other things inside the private space is sent to their client, and information about their avatar (and any objects or other avatars inside the private space) is no-longer sent to people's clients outside that same private space (except for IMs of course). In effect when you enter the private space the things inside it "appear" to you, and you "disappear" to everyone else (with the exception of your presence information, like if you're online, showing to people outside).

Things not transmitted outside the private spaces defined this way should include chat (all channels, though channel 0 is the most important), sounds played, and voice. This should be doable. You can already constrain sound and voice to your parcel, you just don't get finer grain control than that. Virtual whoopie isn't the only use for something like this. It might be nice for some people who want to surprise friends/competitors while building. It might also be nice just to be able to talk with someone who's upset without having to remember to switch to IM's just because you don't want arbitrary people listening in.

What is nice about doing it this way, though, is you could have a conventional house, on the ground, with a bedroom. The bedroom could have everything from the floor to the ceiling and the walls inside a private space. People camming in from the outside, or looking through the window into the bedroom see only a empty room, but people who walk into the bedroom see the bed, and anyone else in there. There's no oddball hole in the middle of the house extending infinitely into the sky as there would be if you used parcel-wide privacy zones and subdividing. Your collection of... plush... isn't visible to the outside world. Finally nice looking house residences sitting next to one another can be just as private as spread out skyboxes.

This also would let you have a truly private skybox (as in, again, nobody camming in on it) with vendors on the ground, if you happen to sell things and want the ground area accessible to strangers.

A nice complement to this would be allowing defining access to 3-D cubical spaces (as in access lists, group access, ban lists, etc). That way you could allow people on the ground into the vendor area, but not into your skybox above, and you wouldn't have to resort to dirty-hacks like security orbs which exist mostly because of the height limit on access controls.


Haravikk Mistral added a comment - 04/Nov/07 06:40 AM
Thank you Coaldust for your excellent comments! I'll try and address some of these concerns and amend my proposal where relevant:
  • Camera constraints are silly. It would be nice to have a camera constraint option where it would improve the experience in a game, or some unusual space, but for privacy proper server-side visibility settings are needed. So yes, what I mean is that anything in an "Occluded" box would be not be sent until you reach a condition whereby you're allowed to see inside.
  • While what I'm proposing is just to use the physics engine for all this, it would be a specialised set of conditions, ie; phantom objects are counted in collisions, and collision results are not processed (since these prims don't cause realistic collisions, at most they simply stop you just outside the zone). With this in mind we only care about whether an object is inside or outside a zone, or trying to move between the two states (thus incurring tests to see if they're allowed to or what will change).
  • Spheres aren't actually the computationally heavy, especially in light of the above conditions. Typically physics engines will create a bounding box, used to determine if a collision is likely to occur, if an object is going to collide with the bounding box, then the physics engine simply tests the distance from the centre of the sphere to the object, and compares it with the sphere's radius. Granted it is extra work, but ultimately a very simple extra step compared to torus prims.
  • Rotated cubes shouldn't be an issue either depending how it's implemented, if you know where all the corners are then the comparison is just as fast as cube that hasn't been rotated.
  • I agree that no fancy prim edits should be allowed, but cuts (for spheres and cylinders) shouldn't add much overhead as again, it's only a single, relatively simple extra test. Shapes such as half cylinders would be very useful for zones.

Argent Stonecutter added a comment - 10/Nov/07 11:49 AM
Privacy pockets (SVC-205) would solve the camera constraint issue, would decrease rather than increase the load on sims, and wouldn't perpetuate the problems that existing ban lines cause for flight.

Haravikk Mistral added a comment - 13/Nov/07 02:02 AM
Privacy Pockets would require many of the same implementation details as 3D zones to be solved; eg - some way of quickly flagging objects that are in the "privacy pocket" (since checking based on height, parcel boundaries and settings would be slow), and so-on.

Really it's the same solution as zones except that you're limited in how you can use them. People who build their homes on the ground would still use "ban-lines". The main reason I prefer zones personally is that they would let us have a seamless grid; we could have a residential simulator full of homes, with no sky-boxes or ban-lines, only neatly defined zones restricting access/visibility within those homes.

If you believe that privacy pockets reduce load by virtue of the restriction on what content is sent, then 3D zones ALSO reduce load. They may not reduce it as much (since they define more complex areas) but if that is your basis for the reduction then it still does hold for zones. However, both privacy pockets and zones require additional checks for whether chat can be heard, or if an object should be sent to a client etc, which add load (potentially more than is gained by culling objects, depending how widely zones/privacy pockets are used).
Indeed; with usage in mind, privacy pockets stand to make LESS difference to load by virtue of the fact that they are high up. People on the ground wouldn't download any of the content within the privacy pocket anyway, while 3D zones would be culling things that would otherwise be downloaded to people's clients; ban-lines or not.

Zones only cause issues with flight if used irresponsibly, the same can be said of building a wide tower or having something hanging at optimum flying height. Zones however allow a land-owner to define a restricted area that is smaller than the boundaries of their parcel, meaning if used sensibly they should not affect flight at all, since the primary use for them is within buildings, which you should see before you hit anyway (if the lag Gods smile upon you that day).


Argent Stonecutter added a comment - 08/Dec/07 09:04 PM
Haravikk: I'm not talking about high altitude privacy pockets. I'm pretty sure we've discussed this before, but in case you missed it, what I'm talking about is the "parcel basement" variant where the private zone is below ground level.

The "parcel basement" variant of privacy pockets would be extremely efficient to implement: any object with a positive "Z" coordinate wouldn't need to be checked at all, objects with a negative "Z" coordinate would only be checked for agents with a negative "Z" coordinate, and objects with a positive "Z" coordinate would never be sent to any agents with a negative "Z" coordinate. This single, simple "Z" coordinate check would only require looking at a single bit in the object. Only if you were actually in a basement, using the feature, would there be any additional culling performed based on the parcel boundaries.

In addition, they would also cut the physics load because each parcel basement would be a separate interaction group, or set of groups. The kind of physics optimization available in other games where objects in different parts of a zone are culled because they can't ever possibly interact would become possible in SL.


Argent Stonecutter added a comment - 08/Dec/07 09:13 PM
Oh, the other thing is... the sim is already checking on what parcel objects and avatars are in, for access controls and build limits. All the information it needs to implement privacy pockets of any kind is already being tracked by the sim. And it's also already checking the "Z" coordinate specifically. Privacy pockets require very few additional code paths, and parcel basements reduce that even further.

Haravikk Mistral added a comment - 21/Dec/07 02:48 AM
Parcel basements still have a large number of problems to address in common anyway; you need to be able to hide parcel basements from each other without streaming their content, what do you do about parcel basements that have the same permissions, should these all be visible in the case of adjacent parcels? Zones don't have this trouble as they don't care about other zones and just have to fit on land you're allowed to put them on if you do the same with parcel basements then it could be disruptive.
There's also the need to prevent chat "leaking" out from the basement onto the land above or onto adjacent basements. We also don't know what amount of work might be involved in havok 4 to handle objects below zero, can SL's implementation even support these? We don't know there aren't optimisations made using the limited range of Z values. Granted 3d zones are special case too, but they work only a little bit differently from regular collisions (collision results are replaced with checking for permissions).

Another issue that I'm more concerned with is ease of use. Presumably some special-case teleporter is required (i.e. - only teleporters owned by the land-owner can put you below ground into the parcel basement), this seems a bit counter-intuitive compared to just dragging out a prim zone where you want privacy and choosing some settings. There's also the issue that to use these effectively would require more knowledge, as to have a private home you'd need to place your home, then have a teleporter that takes you into the "rooms" which are actually in the parcel basement.
Just like how to do less disruptive access restrictions you have to sub-divide a parcel so you only limit access to the important bit (e.g. - inside your home). 3D zones have the nice little side-effect that so long as they are visible they will look incredibly messy if you just drag one over your entire house, hopefully encouraging people to use them a little more sparingly, which counteracts the issue of ban-lines being invisible to the owner since zones need to be visible when creating them or it would be very hard to do =D

I will grant that parcel basements are fine in many ways, but I still think that they introduce pretty much the same complexity anyway, and the greater difficulty in using them outweighs their benefits.


Argent Stonecutter added a comment - 21/Dec/07 06:35 AM - edited
  • Hiding parcel basements from each other does not involve the server having to track anything it's not already tracking. I have already explained this point in more detail two messages back.
  • There is no need to make special provision for adjacent parcels. Each parcel can have its own basement, or adjacent parcels with the same owner and permission can be coalesced, whatever is easiest to implement.
  • Chat leakage is not a specific issue for any specific technique. However the original version of parcel basements was that each basement would be vertically offset from the next by at least 512 meters to avoid having to deal with chat/visibility issues at all.
  • Putting each basement's contents into its own collision group would further reduce the overhead for physics.
  • Access to the parcel basement could be handled in any number of ways: I have proposed scripted access because it is the most versatile, but you could simply have a button show up if there was a basement in the parcel that you had permission to access, and access could be controlled by a parcel access list. Ideally, the parcel owner could set a checkbox "[x] Hide basement access" to make it purely scripted.
  • 3d zones are messy, and that's an advantage? Ye gods.

Parcel basements should be simpler to implement, actually reduce sim load, and provide much better privacy. The only issue with them is whether negative offsets are a problem, which has been an explicit issue from the start AND requires Linden response... there's no point in speculating about it: the whole thing is out of our hands.


Haravikk Mistral added a comment - 30/Dec/07 06:17 AM
@Argent
"3d zones are messy, and that's an advantage? Ye gods."

You're going to have to explain that one. As far as I see it 3d zones let you create seamless privacy that parcel basements cannot without a lot of effort in building and designing, and wasting prims to create interiors for buildings above ground. With a 3d zone you can simply walk into your home, sit on your couch and talk to your friends without worrying about people outside hearing you, or being able to walk in uninvited. And just as easily you can walk outside again to invite your neighbours over. When used correctly they can be far more elegant, intuitive and seamless to use.


Argent Stonecutter added a comment - 30/Dec/07 07:08 AM
I'm just repeating what you said: "3D zones have the nice little side-effect that so long as they are visible they will look incredibly messy if you just drag one over your entire house, hopefully encouraging people to use them a little more sparingly,"

And contra your argument, with parcel basements you wouldn't build the private interior of the house above ground. If you want the whole house private, you'd just make it a simple block, you could make it using sculpties without worrying about physics effects, and build the interior in the parcel basement. With a suitably automatic transition you wouldn't be able to see the difference.

This would also counter the camera problems in interiors. You'd make the interior with a phantom and outside-transparent wall, so you could walk around in a normally scaled interior instead of the oversized ones that SL buildings have now.


Haravikk Mistral added a comment - 30/Dec/07 07:18 AM
The sheer amount of building knowledge that would require is fairly steep, how many of SL's average users know how to make a sculpty? How many are able to de-link a house, remove the interior, and build some walls around it so that they can bury the interior and leave their "empty" house at ground-level where it looks best?

With a 3d permission zone you just create a box, or cylinder or whatever fits best inside your house, and resize it to fit. Most of SL's users are at least able to create and resize a box. It's even possible that a 3d zone could be packaged with an object so that the owner just needs to rez it and move it into position or something. I wouldn't recommend having them as linked sets in this case though, as assuming they are static and cannot be manipulated by script would mean they can be optimised more (e.g if they haven't moved in a few minutes then the sim can add them to a special collision group for zones only which is assumed to never move).

As for the messy comment, I think you've misinterpreted. When you're editing zones they would obviously have to be visible, when they are they would look extremely messy if they aren't contained properly within something (such as a house), it's a very minor graphical point, but it serves to encourage users to place them more neatly.


Argent Stonecutter added a comment - 30/Dec/07 07:44 AM
How does someone who has no building knowledge create a house in the first place? The same people who make the houses now would make the separate houses and interiors.

Haravikk Mistral added a comment - 30/Dec/07 08:09 AM
"How does someone who has no building knowledge create a house in the first place?"

They buy one and rez it. If they want to add privacy to it they create a zone and resize it to fit the area(s) of the house that they want to be private.

This doesn't require every single pre-fab house creator to re-do their houses to have removable interior and exterior pieces so that they can work with a new privacy system.


Argent Stonecutter added a comment - 30/Dec/07 09:39 AM
Who said anything about requiring every single prefab house creator to do anything? Everything is optional. You're assuming that everyone is going to want to have the private space actually take up public space, with a 1:1 relationship between private space and public space. I don't believe that's a valid assumption.

If you want the entire house private, you'd buy a dummy exterior and rez that on your land... if you want the house visible there at all. You may not, or you might want a small "token" house prim and the rest would be gardens. You'd rez the house itself in the parcel basement.

If you only want a private area in the house you would simply rez the private area in the basement, and have a dummy door leading to it.


Haravikk Mistral added a comment - 30/Dec/07 04:32 PM
You basically said it: "The same people who make the houses now would make the separate houses and interiors."

If the average person wants to add privacy to their home, then they have to go out and buy a new one that works with parcel basements, or try and build their own interior within the basement. End result of that is we still have people building what are essentially big, ugly skyboxes but they'd actually be hidden this time round. It adds a lot more work and expense for land-owners and builders, and simply lacks the elegance of being able to walk into your home and have privacy.

With 3D zones you can have privacy and a seamless grid, which is a much richer user experience than having to tear your home apart just so you can have it placed in a nice garden on the GROUND and still have privacy. With parcel basements, what do you do if you want a view? What do you do if you want to view a sunset out your window in peace and privacy? What do you do if your neighbour's build is actually nice and you'd like to be able to appreciate it with your partner or friends? Basements are just that, they're completely shut-off from the rest of the simulator when you could be sitting IN your home which could be placed right there on the ground you're money for. What if you leave near a road and would like to see it when you look out the window?
Unless you waste a ton of primitives at best all you can get from your basement is an open expanse of barren land/sea outside a room, or a house that isn't on the land you pay for. The illusion of living in a forest, or on a mountain-side near a ski-lift, or a beach with boats sailing is ruined if you have to go underground for privacy.

To be frank, to get a solution like parcel basements for privacy would make me feel cheated; I should be able to have privacy on my land as it is now, I should be able to sit in my home and not worry about peeping toms or people listening to my conversations. Parcel basements are basically the same as buying a private island albeit cheaper; to get a measure of privacy you have to hide from the rest of the grid. I shouldn't have to hide from the rest of the grid, I shouldn't have to buy separate islands to split apart private and public places, I should be able to buy a plot of mainland, rez a house, specify a private zone within it and just sit on the couch and watch TV, or build, or talk to friends there.


Argent Stonecutter added a comment - 30/Dec/07 07:56 PM
You're looking too short term. Yes, for a short while some people will do a bad job of using the parcel basements, but after a few people have written and distributed scripts it'll be seamless, you'll "walk into your home and have privacy". And at the same time you'll also have a larger home, and better performance, and you won't have to look at the careless neighbors and the helicopter with noisy rotors and particle dirt they left on their land when they went to Iraq.

Most places in SL, except on private islands where privacy is a far smaller problem, don't have great views. They've got one box after another. It took me six months and hundreds of real dollars to get our land on Noonkkot looking good, and we STILL have to put up invisiprim panels to hide the ads in the next sim.

And it doesn't take much, if you do it right. Just a few prims. I get a better illusion of being in a forest with a 40 meter megaprim sphere for a skybox than just about anywhere in SL that doesn't involve the person doing the build buying a substantial chunk of a sim. And there are hundreds of awesome spheremaps for free on the Internet.

And you're still assuming that everyone wants their entire house private. I don't. I want people dropping by, and they're not going to do that if I'm in a private zone, whether that's a skybox or or a basement or a permission zone. People need to be welcome to come up and knock, or say "hi" through the walls, and get a reply... so the house becomes a semi-public space.

And the impact on the sim really is less with parcel basements. They're discontiguous zones separated using stuff the sim is already tracking. And the fact is that so far as I know no 3d MMORPG uses zones that are implemented the way you want. They're all done with discontiguous space and portals. With suitable software support, that can be made pretty damn close to transparent.

To be frank, to get a solution that doesn't allow for completely discontiguous zones would make me feel cheated. SL isn't RL, and the limitations imposed on SL to try and make it like RL are already a problem: you have people on tiny plots building oversized houses to get enough room for their cameras, so your sim with 512m and 1024m lots is like a row of terrace houses. Privacy zones would just make that worse, while parcel basements would mean you could build a decent sized house that's got the interior space for cameras, but have it realistically scaled on the outside... or have nothing outside at all. All of which would make the neighbors happier, and maybe create some of the nice views you think are out there.

Finally... "sit on the couch and watch TV"? Isn't that a little recursive?


Haravikk Mistral added a comment - 31/Dec/07 07:37 AM
This argument obviously isn't going to end because every time I point out the ease of use of zones compared to parcel basements you're just disagreeing and vice-versa. If you stand by parcel basements so strongly then please post a JIRA issue about them, as they are clearly of little significance to this proposal beyond attempting to solve the same problem (the meta-issue SVC-241 covers that, please link to it).

I am no longer discussing the pros and cons of parcel basements versus 3d zones, this proposal will remain unchanged. Please post your alternate proposal, as so far your idea only seems to exist as comments in other people's JIRA issues. SVC-205 is close but specifies an area in the air rather than a basement, which admittedly is easier to check for (a basement only needs to compare the sign-bit while a chunk of air needs to compare more).

Feel free to link any new proposal to this issue and to SVC-241, but I will not discuss it any more in these comments as it is not specific to my proposal, which I still strongly believe to be the superior solution, and so it seems do 37 voters.


TigroSpottystripes Katsu added a comment - 31/Dec/07 08:08 AM
I voted cause I would like this, not cause this is the only way I would like, once I know of the entry about the basements I'll probably vote on that too

Argent Stonecutter added a comment - 31/Dec/07 09:37 AM - edited

Haravikk Mistral added a comment - 09/Aug/08 05:16 AM
Separated into a summary and full-description, as the original description is a bit wordy, but contains a lot of useful detail for considering actual implementation of this proposal.

Haravikk Mistral added a comment - 30/Oct/08 05:13 AM
Tweaked the description as some new formatting thing seems to have messed up some of it, looks like JIRA might be getting something like wiki-codes, but I can't find any guide to using them and there's no preview button so I won't try to use them!

Gabriell Anatra added a comment - 14/May/09 02:29 AM
The proposed changes to adult content make this much more urgent. It really needs attention.