well, at last i'm having a little free time and with a friend of mine, we are begining a new game, a pure java2d worms clone.
I have used a midpoint displacement algorithm to generate the terrain, with some good results, but as this algorithm outputs only one height for each width point, it won't generate caves nor overhangs, and they are a must in any worms clone

.
Are there other 2d terrain generation algorithm i can use? i have founds losts of papers about 3d terrain generation, but no one covering this topic.
thanks