BACKGROUND: First off, don't use objects for background stuff in a room; use tiles. If possible make the background for the stage in a paint program, and then use 1 huge pic as a tile for the whole room; this will help you a bit performance wise (1 huge tile is better than multiple small ones).
OBJECTS: Next you would want to make an 8x8 object (to use with the script below), a 16x8 object (for stuff like a platform that is half a block tall), and a 16x16 one (for any solid tiles the script below misses).
TILES: Next you will need a tile to indicate solidity; I recommend a red 16x16 square. First make your stage on WHATEVER layer; if you want a foreground set a layer to be BELOW the value of the room's layer. Now on layer 100099 (can be changed in the script below) put a TILE in every spot where you want to indicate solidity in the room. Then use this script in EVERY ROOM'S creation code:
//initializes blue solid tiles that act like a collision map for the stage itself
var x_value;
var y_value;
for(count=0; count<=room_height/8; count+=1)
{
for(count2=0; count2<=room_width/8; count2+=1)
{
if tile_layer_find(100099,count2*8,count*

{
if !collision_line((count2-1)*8, count*8, count2*8, count*8, solid_tile_8x8, 0, 1)
{
brick=instance_create(count2*8, count*8, solid_tile_8x8);
x_value=0;
y_value=0;
with(brick)
{
while(tile_layer_find(100099,x+x_value*8,y))
{
image_xscale=x_value+1;
x_value+=1;
}
while(tile_layer_find(100099,x,y+y_value*

)
{
image_yscale=y_value+1;
y_value+=1;
}
}
}
}
}
}
This will create the solid objects for your tiles based on where you put ANY tile in layer 100099. Note, that if you get a BLUE SCREEN FULL OF TILES (you will know it when it happens and no I don't get why it happens but it is easily fixed), just remove a red tile from a corner and it will fix it (hence why I also said to create a 16x16 tile for any that are messed).
The good news is that with this script it will not make ONE object for each tile... but instead a LONG one for every set of tiles arranged horizontally or vertically touching side by side. It will help you a LOT performance wise, and also speed things up greatly. So if you have 50 tiles stacked up, it will make one LONG object instead of 50.
Keep tiles to 16x16, 8x16, 16x8, and at extreme smallest, 8x8. Only use the values 16x8.
More to come some other time; probably on slopes.