We are developing a first-person shooter example for our engine and are having a lot of trouble with level design. I read a lot of level design guides and articles, and they all say to start with a bubble or other diagram, block out the scene, play test it, and then in a magical final step use unspecified techniques to make it look good. With this approach we end up with large empty rooms, blank walls, and no idea how to populate them, or add additional geometry to make it not look like a block-out. Playtesting this stuff feels like trying to code a game using programmer art.
Now what?
The only approach I have ever had any success with is the complete opposite. Start with the small details you want, find interesting ways to combine them, build one room, then build another, and another, until you have enough rooms, without paying too much attention to the overall layout. Of course this will only work in single-player underground bunker-like levels where you don't have to resolve indoor/outdoor spaces, and you can expand the level in any direction you want, but it produces results. With this approach we can produce visually impressive results with relatively small effort.
What's going on here? I can't be the only person who is experiencing this. Please tell me your thoughts.