Does this scream war and terror to you? Probably not. What you'd want is more like this:
The main problem is that the engine uses simple height maps for terrain which do not allow horizontal displacement of the terrain mesh. So while the vertical placement of the terrain vertices may vary greatly from map to map, their horizontal placement is essentially identical. This gives every map a sort of "I've seen this movie before" kind of feel, in my experience.
This all made me wonder if we could use vector fields for terrain instead of height maps/fields. Basically, this would attach a 3-dimensional displacement vector to each terrain vertex or tile, so instead of being limited to this:
... you would be able to do something like this:
I assume this displacement could be done with simple operations in a vertex shader, so the performance impact is limited. Clearly, a 3-dimensional vector requires 3 times as much memory as an 1-dimensional one, but we could probably compress it so only vertices that actually has been displaced relative to the height map will be stored 3-dimensionally.
It also has implications for the pathfinder, but not all that much, as you'd just need to extend the definition of what is passable terrain.
What could be a problem, though, is how to manipulate the vertices accurately enough in Atlas. I don't have a solution for this, but maybe someone else could come up with something.
Edited by zoot, 22 June 2012 - 11:56 PM.