title: 2D tile map generation
body: <p>For a 2D tile engine I'm working on map generation algorithms. I tried heightmap generation :</p>
  <ul>
  <li>hill generation</li>
  <li>Perlin noise</li>
  <li>Diamond-square</li>
  </ul>
  <p>Suitable for tile maps that have a height component but I have sprites like grass, sea, desert and they should be placed like :</p>
  <ul>
  <li>everything starts from ocean</li>
  <li>islands are placed in the middle of the map (this is where algorithms that I tried failed mostly)</li>
  <li>deserts are generated (they should be like random spots around)</li>
  <li>mountain and hill chains are spawned (they should be like snakes)</li>
  </ul>
  <p>What approach should I try?</p>
  <p>I solved deserts, hills and mountains (for example mountain starts from a point then follows a direction with a chance of turning) but I'm failing with the generation of islands (which should be customizable to be just a pangea or many degrees of size).</p>
  <p>I'm looking for something like the Civilization algorithm:</p>
  <p><img src="https://i.stack.imgur.com/Bk0Kf.jpg" alt="alt text" /></p>