Okay, so as I mentioned previously, I'm using the diamond-square algorithm (similar to "midpoint displacement") to generate the terrain heightfield. Instead of starting with a single square and subdividing as needed, I start with a "seed" field of whatever dimensions I desire. I then perform diamond-square as many times as needed to get the desired level of detail. Currently I just have the seed field being randomly-generated, but what I plan to do is allow the user of my editor to set those heights so they can have control over the rough layout of the map. If further control is needed, they can edit some of the values further down the iteration chain. Here's a pic of one three-iteration run (the seed values are iterated three times):
Here I started with 20 x 20 cells (21 x 21 height values) and finished with 160 x 160. Note that the map does not need to be square in shape. The amplitude and falloff of amplitude of the random values can be set by the user. I can imagine that I'll be doing lots of tweaking these values to get the desired result.
Next on the list is to generate and display the heightfield in 3D. Shouldn't be too difficult. SlimDX has been quite nice to use so far, btw. [smile]