For more advanced generation algorithms could be used to generate erosion effects on the blocks (heat, water, etc), cracks (concrete, bricks, etc), high-poly generation and normal/height/specular backing (for the lighting), and even create seams in the meshes for real-world destructible environments (a explosion goes off and the nearby chunks explode across their seams--the parts flying into the air and crashing on the ground with a burst of dust). Complex chunks (more than 1x1 in size, and going up/down to create cliffs) could also be generated.
From there the block-models could be imported to a editor and painted onto the map--allowing for the user to create just about anything. Plug everything into Bullet and you have a real-world destructible environment.
I am not going to do this for you (the standardizing, or code for the procedural generation), but I would offer my advice to help you do it. 1st is the actual blocks--you need rules that define how the blocks interact with adjacent blocks while being able to add variance (scales and biases to offset the transitioning vertices). 2nd thing is standardizing the textures--a generic way every texture can be formatted so that it can be interchangeable across every type of block. 3rd is writing a test-case example to generate some basic chunks with minimal features (no fancy algorithms for cracks or erosion etc, just 1x1 level-height blocks with scales/biases to offset transitioning vertices). If it works, the final is to go back and add support for the fancy features.
Because procedural generation can sometimes generate pretty ugly looking things, you would need a method of telling it what looks "nice" (or you could just screen everything before adding it to the game). A genetic solver could do this. You provide it with a handful of base-models you already have. It generates a list of 1000 possible solutions (some random, some based off of the base-models you provided). It then displays each model 1 at a time, and you rank how good it looks from 0-10. After you have ranked all 1000 solutions it generates another thousand, and you repeat this process 5-6 times (its not as monotonous as you would think). Just like how this video evolves a picture of Darwin, your solver would generate very nice looking terrain-blocks. This "ranking" would only have to happen once, as after that the solver would know "what looks good" and be able to generate hundreds of "good looking" terrain-blocks.
This could take care of all the art-side of the work for OD's terrain (granted the diffuse-textures would have to be created, but that is fairly easy once standardized).
Let me know what everyone thinks
