I guess the outdoor would be using some heightmap related stuff and rendered using proper level of detail.
The indoor areas are extremely detailed buildings with rooms interconnected.
Here's an example with some arbitrary rooms and hills.

I was reading about various things such as portal culling for indoor environments. I understand the concept but not how to implement it.
I've done some Doom 3 mapping so I know how to set up portals as a mapper, but I'm not sure how the engine knows what the different rooms are between the portals. It seems to determine what the actual rooms are somehow without the mapper having to say, "This is room A" for example. You just place portals in tight corridors and door ways and the engine somehow figures out the rest.
I'm familiar with how back in the day Quake and all those games used BSP trees for that but from what I hear BSP isn't really being used nowadays.
I fooled around a bit with the Crysis 2 Sandbox editor and I feel like the engine I'm making can be similar to that. I haven't been able to find any good tutorials on mapping interior spaces in Crysis 2 though. After playing Crysis 2 I know it's possible to have some detailed interior areas inside buildings as well as large outdoor areas. I'm not sure how level designers do that kind of thing though. All I know is you create terrain and then import some 3DS max models for the more complex shapes. They also have their own modeling tools similar to 3DS max's for modeling directly inside the level. This is fine for modeling a village of some sort with very simple buildings that you either can't go inside of, or have very simple rooms. I'm not sure how they make the more complex levels that you see a lot of in Crysis 2.
I'd also like to know how they would make a map like Operation Metro in Battlefield 3. There's a lot of outdoors going on as well as networks of complex interior rooms inside the buildings and the subway tunnel.
I've also fooled around with the Skyrim Creation Kit a bit and watched some tutorials. They have complex interior areas as separate scenes that the player loads in and out of which isn't really what I want. I want the player to see a building, and walk inside it seamlessly. Maybe taking a position at a window and firing down at some enemies. Pretty standard stuff in Battlefield 3.
In my previous work I've been using 3DS max to make arbitrary polygon environments organized by a uniform 3D grid. I have View Frustum Culling operating on the 3D grid which works, but I have no other forms of occlusion to prevent rooms you can't see into from being drawn. This was fine for a 2D platformer rendered in 3D.






