One of the things you have to constantly consider when creating a game is how much detail do you need to make the environment real. More detail is better but it comes at a price. Bigger geometries create more surfaces to move and calculate. Even if it is a scene object like a building the game must calculate lights from when your avitar moves. Bigger objects use more processor time to render. This can slow your game or reduce the number of players you system can handle at one time. They also increase the size of your download. Some networks that limit bandwidth could shut off your file after only a few players download it.
When building models you need to consider how detailed does the object have to be. The buttons on an avitar's jacket may only be 4 pixels wide in the game. It isn't really necessary to model the holes and the threads that attach it. A bowl or cup might have a detailed design that your character could see. To model it might take a Mb or more. If you can only download a 30Mb file then you can't sacrifice streets and buildings for a better bowl. If you have only streets and buildings with no objects your scene will be empty looking.
One good solution is to texture a simple object with a complex design. Any object your character can't get around is a good candidate. A good example would be the cities around Annonay. When you swim out you see they are just billboards. Distant trees, mountains, and close up objects like crates are all good candidates for complex textures.