Archived from the original dev blog and left as it was written, so it reflects the game as it stood in 2008.
First things first, I said weekly and I'm writing them on a weekly basis, whether they get posted weekly depends upon whether or not they pass the media release specifications so please bear with me sometimes. I have a job during the week so I don't get much chance to pre-write the articles, but by the end of Sunday I will have finished writing one or an excuse. 😛
Now onto the topic, one thing most beginner developers have tendency to get horribly wrong are sizing and scaling, the first real rule to realize is that real world measurements mean NOTHING in source. Technically, and this is technically, 1 unit is 1 inch. This in practice doesn't work. I've taken blueprints that buildings were built to and recreated it in Hammer so I know what I'm saying. It doesn't work. The entire room looks too small and feels cramped, and nothing aligns easily anywhere. I've always had much more success building from real world measurements if I throw them up to 130% of the size, but still there are problems with that.
Source works on the BSP file format, (Binary Space Partition), this means it likes powers of two and similar number numbers so 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024... are your friends. Another thing to note is that it handles bigger numbers much better, so from about 8 upwards is the optimal range. Keep brushwork on a 16 unit grid and other optimal values does a lot of things. Textures are easier to align, the compile tools finds the area easier to process, and you are less likely to cause overlapping and leaking brushes, this usually only matters with world brushes. With fine details where you start to need the lower grid settings you almost always need to use a func_detail to save it causing problems.
Now the two previous paragraphs are two separate points to the same argument "Build it so it looks right". We know real world measurements don't work and we know what numbers we should be using for measurements. So when building something, we build it so it looks and feels right we don't measure things we approximate and align it to the largest grid we can. A good tip to making sure it feels right is to use player starts as your measuring blocks, see where a players head height is, use that to adjust your ceiling so it feels right. This is a main reason why Orange mapping is important so you can get the scale right before you've done too many details for it to be easy to change. With time you develop a second sense for it and there are measurements on dev textures for the express purpose of getting the scale right in that early stage. One resource that helps me pin it down sometimes is here.
To summarize I'm not saying don't add detail but make sure it is a func_detail and don't expect to be able to directly build something "real" in the source engine. Architecture is an art, one you can’t simply measure and copy into to source.
