Generación de mapas en mosaico 2D

Estoy desarrollando un motor de mosaico 2D y en este momento estoy trabajando en algoritmos de generación de mapas.

Probé los básicos generalmente involucrados en la generación de mapas de altura simples como

generación de la colinaruido perlincuadrado de diamante

pero siempre tengo el mismo problema: este tipo de algoritmos parece adecuado cuando se trata de mapas en mosaico que también tienen un componente de altura, pero este no es mi caso.

Básicamente tengo sprites como hierba, mar, desierto, etc., pero no deberían colocarse dentro del mapa de acuerdo con la altura generada, sino algo así como

todo comienza desde el océanolas islas se colocan en el medio del mapa (aquí es donde los algoritmos que probé fallaron principalmente)se generan desiertos (deberían ser como puntos aleatorios alrededor)las cadenas de montañas y colinas se generan (deberían ser como serpientes)

¿Qué tipo de enfoque debería intentar?

Resolví los problemas de subcomponentes (como desiertos, colinas y montañas) mediante el desarrollo de algoritmos especializados para hacer lo que necesitaba (por ejemplo, la montaña comienza desde un punto y luego sigue una dirección con la posibilidad de girar), pero estoy fallando con la generación de las islas básicas (que podrían ser personalizables para ser solo una pangea o muchos grados de tamaño).

Solo para darle una idea práctica, lo que estoy buscando es algo así como el algoritmo de civilización:

Respuestas a la pregunta(2)

Su respuesta a la pregunta