Massive Terrains

Up until now, I have been modelling single objects and indoor locations. Though I’m sure my computer is not up for the task, I wanted to consider making hugh outdoor environments. Making them is not impossible for me but what would the process of making such worlds like in Skyrim be. Do level and game deigners make different locations and then connect them like for example…model a mountain, then a neighboring town and connect the two, or do they start with a single point on a map like a town and branch out from there? If they do make the individual locations first, then combine them into a single map, what are some of the steps they would take? This is one of the possibilities I thought of but is doubtful; do they put the two models side by side then connect the vertices some how? I guess what I’m asking is how would one connect two locations together?

I have been doing game design for quite awhile and may be able to provide you with some insight. One large problem with creating massive terrain is that you can easily have too many vertices. The way around this is with Heightmaps and Tesselation. (I don’t know if I am using the right terms here, so someone more seasoned with this subject can correct me if I’m not)
Heightmaps
These are 2d textures where the black and white values correspond to different heights. Once you have these, they can be fed onto a plane to create mountainous terrains. (please note that for creating caves and things that case terrain to go vertical or over, you will need either a workaround or a voxel engine) The beauty of heightmaps are you can store a lot at low memory cost.
Tesselation
This is the procss of subdividing a mesh. Since you don’t need to see all the little bumps and details of far away terrain, the things get progressively higher poly the closer they get to you.

With these two processes combined, you end up with being able to stream large amounts of terrain at low performance cost. A computer such as yours may even be up for the task. You could use LOD (level of detail) on the buildings, and in a similar way, make them more detailed the closer you get. As long as your height maps match up on the edges, the terrains will continue into each other nicely. The only problem with this setup is the sheer difficulty of making a tessalator that streams seamlessly. The basic process would go something like this :

  1. Make a plane
  2. Subdivide it so the edges of neighboring planes contain the same amounts of vertices
  3. Displace the vertices of the plane’s Y values according to their position in the heightmap
  4. Recalculate the normals on the plane
  5. Make sure the normals on the edges of the plane match up with their neighbors.

As for individual locations connected, it would be as simple of a file telling where to put what models, and then LOD could hide models far away from you to keep performance up.

I don’t know how Skyrim does it, but I would recommend making a map first outlining your world, getting more detailed by making a low-poly terrain in Blender, adding cubes for representations of buildings, and progressively getting more and more complex until you end up with the final product.

The whole subject can get rather complex, but hopefully this will help head you in the right direction :wink:

-SS

Many game engines incorporate view distance limit. For the object close to viewer get detailed rendered. Medium distance, it is rendered with lower resolution. At far distance, only the major detail is rendered with over all polygons detail reduction. The mountain shape change, as you get closer.

If you go in to a room / zone, only that part get rendered.

Excellent Stopsecret. 1 through 5 really helped. Now I know where to start at least when it comes to large-scale locations.

This is exactly what I was wondering. I was hoping some kind of LOD system existed for a continuous mesh where the vertices merged when further away. I found this site which seems to be a collection of numerous terrain rendering techniques:
http://vterrain.org/LOD/Implementations/

Yet to read through it. Maybe we could make a modifier that would implement one of these algorithms?

Yeah, I wish there were more modifiers that contributed to large scenes. But I bet some of those existing modifiers can still be used for them. You just have to think outside the box. Best thing to do from here is to start by making the individual locations, then fit them together like pieces of a puzzle while following a blueprint of sorts.