ID:2577630
 
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
It can be useful to have a plane contain stuff that's only supposed to be visible to some players (for example an overlay that lets you see the temperature of tiles if you have thermal goggles equipped, or "fog of war") and one way to achieve that is via planes. Giving each player a plane master of that plane and toggling its alpha can make stuff on that plane appear to just select players. However, the objects in the plane still impact performance even if not shown this way and that's understandable if I understand the rendering process correctly.

I propose either making it so setting alpha = 0 or enabling a new appearance_flag makes the whole plane of the corresponsing plane master not render at all. Or if that's problematic from the rendering pipeline standpoint (plane master checked only after the other objects in the plane get rendered?) each client could have a list of planes hidden from it instead.

In this proposal I don't really care about invisibility / verb accessibility (unlike http://www.byond.com/forum/post/2127915 or http://www.byond.com/forum/post/1870524) and it seems like a more reasonable and less controversial suggestion than various implementations of invisibility groups. The intended use case is more about intangible overlays over turfs, which can already be made, being better when it comes to clientside performance. However, I will gladly welcome any other solution that lets me hide a bunch of stuff at once from specific clients in a way that *actually* hides it from the rendering in their client.
I think alpha=0 would be a good way to handle this. That's something that could be done easily enough and could skip going through any children on the plane.

It would help to have a test project I could mess with for purposes of testing this.

Mind you the pre-render is still going to have to deal with all of those things so if you can find a solution that simply doesn't use the plane master or any objects on it, that's going to be better.
Thanks for the quick reply. This is a test project with an exaggerated view and a configurable number of planes and buttons to toggle their visibility.
https://www.dropbox.com/s/659dnnngvlwesuq/ plane-o-vision.zip?dl=0
This would be incredibly useful for performance speedups!