I am having a similar problem with mapping. I would so love to make my own map, and I have an idea of how I'd like it to look in-game, but I struggle to even make the basic layout in Hammer, worrying that it would look disproportioned, not like TF2, etc >:l This site has helped me a ton, though.
You're going to fail a few times before you get it right. I spent about a month, very hardcore learning everything I could about mapping and studying how Valve does things. The number one rule is to read the interviews with Valve mappers, which explains his basic theories on scale. It helped me SO MUCH to read them, and follow his basic ways. Here is the parts I used. I saved this into a text file, and went over it when working on my current project.
Taken from Valve employee interview from this site:
"1) What gameplay type should the map be?
a. Which gameplay type is most popular?
b. Is any gameplay type under-represented?
c. Do we want to create a new gameplay type?
2) Initial map blocking phase. If the gameplay is new, code will be written in this phase.
a. To begin with I build large gray-textured brushes on the 64 grid to build a rough layout of the map.
b. I use models/props_farm/doorframe001a.mdl as a doorway reference and models/props_2fort/window004d.mdl as a window reference.
c. I place doorways as access points, windows as visual portals and use 256 or 320 as the major height variants between ground levels.
d. Once a basic flow is layout is done, I decide where the spawn rooms will be. I usually just have a large brush with models/props_gameplay/door_slide_large_dynamic.mdl on the front where the exit will be.
e. I will place prop_ragdolls at points that I think each class will function within the game. This helps me in several ways. It allows me to get a good sense of scale, and it also allows me to start picturing how the map might be played by each class. I always want each class to have ways to enjoy the map, and using these props at this point in the production process ensures that I don’t leave anyone out.
f. I place prop_dynamics with the model of models/buildables/sentry3.mdl at points that I want to be defence positions. I can visusalise each sentry’s range by giving the prop a fade distance of 1100. When you select the prop, it’ll have a yellow sphere around it giving you a precise picture of how effective the gun will be, and which points it can be out-ranged.
g. I pay particular attention to flow. I like to minimize the number of turns players have to make on their path through the level. The flow through a map should be as simplified and intuitive as it can be. Paths should only be as convoluted as they need to be for vis reasons, or deliberate path elongation for balance reasons.
3) Initial playtesting phase – I like to start collecting playtesting data as soon as the initial blocking phase is complete. The map should have signs, and fully functioning entities before the first playtest. Use as few details as you can in this period, because it allows you to make adjustments to the level very quickly. It also means you can make major adjustments if necessary without throwing out a lot of detail work.
4) Continue to playtest! Once the changes made to the map are getting smaller and smaller, the artist can begin to work on the map. Usually there will be some high-level art concept defined at the beginning of the process, but this is not essential.
5) When the art is done, we playtest continually to find exploits or bugs in the map. Clip brushes are used to smooth catchy edges, and to prevent players from getting to areas they we don’t want them in.
6) Finishing touches are added like cubemaps, soundscapes, HUD messages etc.
7) Rlease!
What compile settings do you use for your maps? i.e. soft shadows, hdr, etc.
We use VRAD -staticproppolys -staticproplighting –textureshadows –both. Always use VVIS without the –fast option."