ID:2134589
 
I will start this with the disclaimer that I have not written a byond tutorial before, and I have no clue what the common standard for writing these is. I shall try to be as in depth as possible.
Below is a table of contents, and I will elaborate on each one of those points.

I will also state that I have converted a codebase to using planes instead of solely layers and I would not recommend it. Proceed only at your own risk.

#1 - !!MUST READ IF CODING OR DISCUSSING PLANES!!
#2 - What are planes
#3 - Why should I use them? (Alternatively: What are Plane masters?)
#4 - How do I use them?
#5 - General recommendations when toying with planes and plane masters.
#6 - Odd quirks/bugs(?) found when toying with planes and plane masters.

#1 - !!MUST READ IF CODING OR DISCUSSING PLANES!!

To code or discuss planes, you must adhere to the very important coding standard of making plane noises as you do so, as well as making plane puns wherever possible.
Here are some helpful videos for guidance in doing so:
https://www.youtube.com/watch?v=sXANrP1738A
https://www.youtube.com/watch?v=DNalChrotUc
https://www.youtube.com/watch?v=SG6H25xZ6Z4
https://www.youtube.com/watch?v=0L10HlVTP1g

#2 - What are Planes?

Planes are effectively a sort of layer for your layers - Everything on plane 3 is above plane 2 which is above plane 1 and so on and so forth.
As a result, even an object on layer 0 in plane = 2 is above an object which is layered to layer 100 on plane = 1.
Planes can only be an integer between -100 and 100. If you've got to the point where you need more, bug lummox. I don't see why it needs to be restricted, honestly.
Every atom has a plane value, which is 0 by default - If your codebase hasn't touched planes, everything will be on the same one.

#3 - Why should I use them? (Alternatively: What are Plane masters?)

Well, considering it's simply a fancy way of layering, if that was it alone, there really would not be much need to use them, as layers covers that sufficiently already. So why am I writing a tutorial how to use them, why did I convert a codebase to use them, bringing a fair few bugs and a great deal of annoyance in the process?
Two words: Plane Masters, which are not a magic the gathering reference, or an air traffic control building, but instead one of the coolest features in 510, simply for what they enable, perhaps even further than what lummox intended. Truly allowing byond to reach new heights.
In this thread (http://www.byond.com/forum/?post=2089236 ), lummox describes them thusly: "The new appearance_flags value PLANE_MASTER can be used for lighting and other post-processing effects. A plane-master object does not draw its icon, but instead collects all other icons in the plane and draws them on a temporary surface. Then the master's color, transform, blend_mode, and other properties are applied to that whole plane. (For instance, lighting can be done with a plane-master on plane 2 that has BLEND_MULTIPLY, and any lighting overlays on plane 2 can be given BLEND_ADD. All the lights are drawn on plane 2 and then overlaid on the regular map.)"
He doesn't do them anywhere near enough justice. Not even slightly. Though he explains quite well how it works codewise, he doesn't sell what you can do with it.
So, what he says is: Pretty much anything that changes the appearance of an object, including transform matrices, colour matrices, alpha, appearance_flags all sorts, can be applied to a plane master.
But what that means is that you can make everyone see the world differently, without the use of client image nonsense.
You can make someone just simply not see certain objects. (Per player invisibility channels.)
You can make people see certain objects as smaller or larger than they should be.
You can make objects within a certain plane all shift colours, at the same time,
All tilt sideways at the same time.
Have appearance_flags such as NO_CLIENT_COLOR added and removed.
All while being client sided.


#4 - How do I use them?

To define something as a plane-master, add the planemaster flag to their appearance_flags. Then add it to the client's screen. Done. Yes, it's that simple.
Edit whatever you want of that master. The sky is (not) the limit on this one.

#5 - General recommendations when toying with planes and plane masters.

I STRONGLY recommend you make all your planes defines. Also too Make all of your layers defines, because you will have to ensure each and every one of your layers is correctly placed, or there will be bugs, and you may as well make them defines at the same time just because that makes it easier to maintain in future and fix the inevitable bugs you do create.

#6 - Odd quirks/bugs(?) found when toying with planes and plane masters.

The only one I can think of right now is if a planesmaster has nobody to edit, and I can't imagine why, it does some really, really, really funky stuff, which I can't really explain but you may find a bug like this some time.
The way to fix this is to give it a "dummy" item to mess with, just any old object with alpha = 0 in the screen on the same plane will do.
So for those who don't get what a plane is i can sum it up easily. A plane is like a basket that holds a stack of papers(aka layers). A plane master allows effects to be done to all things in a plane put on a temporary surface or layer as i see it. So if say you had a spot light object that was on a plane you can change all those spot lights to different shapes and blends and colors using a plane master. Hopefully this TL:DR kinda helps and is explained right
I'm really interested in what you said about making certain objects just not appear without messing with images, can you provide a snippet example of that?