Algoritmo generador de mapas aleatorios 2D

¿Puede alguien decirme una manera de generar estructuras de islas o estructuras de colinas como en Minecraft?

Solo estoy buscando una TEORÍA adecuada para esa generación de formas aleatorias, pero debería mantener un patrón base definido ...

como: las islas deben ser redondeadas pero varían en forma y escala (mín. / máx. ancho y altura).

o: los ríos no deben ser líneas rectas, deben tener curvas y un ancho aleatorio.

o incluso: generar algún tipo de bosque, donde los árboles se colocan de manera que el usuario aún pueda caminar a través del bosque (creo que es simple, solo diga que algunos bloques alrededor de un árbol deben permanecer en blanco, si el código intenta colocarlos). más árboles alrededor del último)

¿Qué tipo de matemáticas puedo usar para hacer tales cosas?

Me alegraría tener algunos enlaces para tutoriales o referencias. He buscado por toda la web durante horas, pero todo lo que pude encontrar fueron algunos libros para comprar como "juegos matemáticos" o algo así, pero mi presupuesto está establecido en cero.

EDITAR:

En primer lugar, lo siento por mi mal inglés.

Secundaria quiero agradecerles a todos por sus respuestas. Estas son grandes referencias y voy a pasar mucho tiempo para profundizar en eso.

Respuestas a la pregunta(3)

Su respuesta a la pregunta