Tiles are made from large background images that GameMaker:
Studio splits into parts based on the parameters that you
input. These parts are classed as individual tiles and can be used
for many different things. Due to the fact that they are a purely
graphic resource they are very fast to draw (they have far fewer
internal variables associated with them, unlike instances) and
large numbers can be used in a game to add details and life to a
level, however you should still try and limit the number of
different layers (depths) that are used at any one time and keep
them to the minimum necessary.
Tiles are drawn by depth, where lower depths appear on top of higher depths. Each depth is called a layer and there are a number of functions that can be used to get information about tile layers and to move them around:
The following functions can be used to get specific information about a single tile in the game (you can use the function tile_layer_find to get the index of a single tile to use in these functions):
The following functions can be used to add and remove tiles at runtime, as well as to set individual tile properties: