ID:2838579
 
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
It would be great to have an invisibility list instead of having multiple discrete numbers.

For example, if you do this.


/atom/object/invisible
invisibilities = list("InvisibleObject", "Invisible2")

then a client will need

/client/see_invisible
see_invisibilities = list("InvisibleObject", "Invisible2")

to see that atom.
Number channels controlling interactivity are a pretty common way of doing things (be it level to beat or flags) in vision and physics (see external examples like unity collision layers and unreal ignore/overlap/block) because they are very cheap to check and don't come with extra baggage.

I can see the apparent utility of invisibility references (or even tags) in small projects but just adding the behavior has the potential to negatively impact performance pretty severely if used in anything particularly complex.

You can achieve this behavior in author code by using plane masters and render targets, although it is not trivial. A mixture of invisibility, plane, layer, and plane master atoms is, for example, common practice for SS13 because of that community's complex requirements for what is shown to different players.
what are you even talking about? invisibility is calculated on the client
Yes. The point is that invisibility tags or references would make the process of drawing more costly on the client, and that there are existing strategies for controlling the visibility and order of what is drawn. Sorry if that's not clear from the above- I don't tend to visit these forums sober.