This is a recreation of a map generator I wrote in 2010. That version was in Flash; this is in HTML5. The simplest way to explore the maps is to click the plus/minus arrows to change the Seed. This generator creates simple “volcanic” style island maps.
Try clicking on the Seed input box and hold down the Up arrow key to quickly scan many different island shapes. Can you find an ice lake? They’re rare at the default temperature. You can right-click on the map to save a higher resolution image, or click the share link to save all the current parameters in a URL.
The generator intentionally made unrealistic terrain that was designed for the needs of our game, Realm of the Mad God. Back in 2010 I wrote an article about the algorithms. In this configuration, it generates small island maps with mountains in the middle. I also have an incomplete 3D renderer but it doesn’t support all the features from this page.
- I used the mapbox/delaunator library, for fast Delaunay triangulation, ISC license
- The UI for this page is Apache2 licensed, and can be seen in: draw.js + mapgen2.js + colormap.js. It’s messy.
- I drew the icons by hand and made them available for use under the Creative Commons CC-BY license.
Feel free to use the map generator in your projects! For other projects, I would use some of the same core algorithms but might assign coastlines, mountains, and biomes differently than what I did for this project. This project needed coastlines to be interesting island shapes. Another project might need maps not completely surrounded by water. This project needed mountains to be in the center of the island. Another project might need continents, where mountains are not limited to being in the center. Or it may need parallel mountain ranges. This project needed smooth elevation. Another project might need caves, cliffs, canyons, or chasms. This project needed simple biomes based on distance to coastline and distance to water. Another project might need biomes based on latitude and rainfall, which could be influenced by wind, which could be influenced by mountain ranges or weather systems. There are a lot of variants to explore! The demo above shows a fraction of what’s possible with these algorithms.