Alternatively the 2D clients could render building blocks on the fly, from the shape and textures in a similar way to the 3D clients. This should not be a problem on modern hardware and 3D cards, especially if the rendering quality can be adjusted to turn off bump mapping and similar features if neccesary. 3D clients should not have much problems with rendering the building blocks. They just use the shape and substitute the dummy textures with the material textures. Building blocks need not be at tile boundaries, however, for best results it is good to use a tile sized grid for laying out at least the bigger blocks.
Walls have an outside and inside.
The wall is not placed in the middle of a tile boundary, but wholly on that side that the outside is facing. Attaching blocks Building blocks that have two faces that touch may be attached to each other. The attchment may be special, for example a hinge to connect a rotating or moving block, or just a normal attachment. The attachemnt has some strength that depends on technique used in making the attachment, the attached materials, skill of the attacher and the area of the attachment. This is calculated when the attachment is made.