   Random Level Generation, 2D
  I am wondering if anyone can help explain the random level generation used in games like Worms, the 2D version. I am looking to make a similar random level system to that in C++.   
  I hear Perlin noise works well, if that is true, what would be the implementation of that to make it like Worms.   ;  Well, there's all kinds of 1D noise functions that you can use, Perlin noise included, but that will only provide a 1D heightfield. In worms you have suspended terrain, which is a little harder to pull off with simple noise.Refer to this tutorial, they seem to get some good results with a combination of methods.   ;  Interesting post. It shows using black and white alphas then filling them in, I can't fully remember but is this what worms does or is theirs truly random.   ;  Worms 2 and later seemed to have three passes; Terrain (a 1d heightmap), Stuff (floating islands, objects, scenery), and Tunnels (which knock out foreground walls but not background walls, so as to obscure the far background and look like the back of a cavern or overhang wall.Experiment as you will.   