Parece que você deseja gerar uma "vista lateral" do terreno gerado.
Existem muitos algoritmos de geração de terreno discutidos na web. Você provavelmente poderia adaptar muitos deles cortando apenas uma dimensão dos cálculos. Isso forneceria informações sobre a superfície primária / limite subterrâneo. Se você deseja ser mais direcionado em sua pesquisa, provavelmente deseja procurar a geração de terreno "1D" ou a geração de terreno "estilo Worms". Você obterá resultados como este tópico em terrenos processuais (incluindo cavernas) e esta interessante demonstração na web .
Somente o ruído Perlin funcionaria bem nas áreas onde você deseja gerar planícies, pois é muito suave. Não funciona tão bem para montanhas e áreas escarpadas com descontinuidades acentuadas - você gostaria de combiná-lo com outra coisa para isso. Considere a primeira parte desta página em terreno fractal ou aplique cortes e deslocamentos aleatórios no terreno.
As cavernas podem ser feitas perfurando aleatoriamente buracos no seu terreno como um primeiro passe simples, mas você também pode procurar informações sobre como as salas em jogos do tipo Rogue são geradas e aplicar isso. Você também pode considerar procurar autômatos celulares .