Map Generator Evolution
This article shows the development history of the map generators in Minetest.
Development of a single map generator
Initially, Minetest (then called “Minetest-c55”) had only one map generator which was continously improved and had its own version number, where each version replaced the previous one. The earliest map generators are based on 2D Perlin noise.
Version 0
Had horrible terrain generation. But at least terrain could be generated.
Version 0.0
Trees were added in, but they were very basic.
Version 1
The first official mapgen was introduced in Minetest-c55 0.0.1. Water was added in.
Version 2 dev3
Mountains were made more pronounced and ore generation was better. Although this was a development version.
Version 2 dev4
Things were tuned a little better.
Version 2
Beaches were included and sand finally spawned.
Version 3 "3d noise"
3D Perlin noise is used to generate this terrain.
Version 4
More tweaking.
Version 5 (historic)
Official map generation for version 0.3.1. It still uses 3D Perlin noise like the previous versions and is iconic for its extreme and often “blobby” terrain. In the 0.3 versions, this map generator hat predefined biomes like the current v6 map generator. In Minetest 0.4, it was removed, but has been revived later (→#v5 (modernized version 5)).
This version of the map generator is also used in Voxelands, a fork of Minetest-c55.
Version 6 (historic)
Version 6 (also called “v6” or “mgv6”) of the map generator was introduced in Minetest-c55 0.4.0 to replace the map generator version 5. This version uses 2D Perlin noise again and the terrain is now much smoother and more realistic than of the previous version. Map generation has also become much faster.
This version introduces jungles, deserts and the rare gravel biome.
Development of multiple map generators
Since Minetest 0.4.6, players are able to choose one of multiple map generators, with v6 being the default selection initially. Since then, more and more map generators have been added and old map generators have been improved over time. From this point on, there is no longer a single “version” of the map generator and the concept of a map generator “version” no longer applies. Each map generator is now (more or less) independently. In Minetest 0.4.15, v7 became the new default selection.
v6 (modern)
The mapgen version 6 still exists to this day in Minetest with only a few improvements made. In Minetest 0.4.13, support for snow biomes and ice sheets has been introduced to v6. This mapgen it is still officially supported in Minetest, it will not be removed anytime soon and improvements and bugfixes are still applied.
singlenode
This mapgen was introduced in Minetest 0.4.6 by celeron55. It creates a world with only Air (can be changed with configuration) and is intended to be used by mods and subgames for making custom map generators, so they can start completely from scratch. The name “singlenode” means that it generates a single type of node everywhere, Air by default.
It can no longer be selected in the world creation dialog, but the mapgen is still present in Minetest and it can be enabled by editing configuration files or with function calls in a mod.
indev
This mapgen was introduced in Minetest 0.4.6 by proller and contained many experimental features. It is based on v6. Major new features included featured floating islands at Y=500 and above, rare huge caves, and a more extreme terrain near the end of the world in form of larger biomes, higher mountains and deeper oceans. It has been removed in version 0.4.10 because it was considered to be of low quality.
v7
Also called “mgv7”. It was introduced in Minetest 0.4.7 by kwolekr, in which the map generator was still unusable. This map generator uses a combination of 2D and 3D Perlin noise. It is notable for its large rivers at Sea level. Caves in v7 are also very different than in v6, they are generally much larger.
This mapgen has a long history of development and has seen countless improvements over the Minetest versions.
- Initially, it only created worlds mostly made out of stone. Biomes for v7 were eventually added to Minetest Game at a later point
- In Minetest 0.4.13, many big improvements to the terrain generation and noise parameters have been made; sandstone and desert stone dungeons were added as well
- Caves have been improved in Minetest 0.4.14. This is the first map generator which supports biomes defined by mods
- In Minetest 0.4.15, v7 became the default selected mapgen. Optional and experimental support for huge floating islands at Y=1280 and above was added, but is turned off by default. River channels can also carve through mountains.
math
The mapgen “math” was introduced in Minetest 0.4.8 by proller. This was really a collection of 3 different map generators based on simple maths. It was capable of creating Menger sponges, mandelboxes and spheres. Mods could adds biomes with Minetest's biome API, but this was never used in Minetest Game, so only stone worlds were created by default.
This map generator has been removed in Minetest 0.4.10 when proller left the project because it was considered to be of very low quality and had many obvious lighting problems ([1]).
The math mapgen is being continued in Freeminer, a fork of Minetest.
v5 (modernized version 5)
Also called “mgv5”. This is the modernized version of the historic map generator version 5 from Minetest-c55 0.3. In Minetest 0.4.11, this historic map generator has been revived by paramat because of its iconic terrain shape.
But this mapgen is not identical to the historic version 5. The terrain shape is identical, but the modernized v5 map generator has mod-defined biome support (like v7), rather than predefined biomes and also shares many other features with v7 which are not related to the terrain, for example desert and sandstone dungeons. Some features added to v7 are also added to v5.
fractal
Introduced in Minetest 0.4.13 by paramat. It creates worlds based on fractals, specifically those based on 3D and 4D Mandelbrot and Julia sets, including a mandelbulb. As of version 0.4.15, there are 18 variants which this mapgen supports. This mapgen has a similar intention like the old math mapgen, but it has a very different feature set compared to math.
flat
The flat map generator was introduced in Minetest 0.4.14 by paramat. It can be used with or without trees, decorations, dungeons, etc.
Technically, Minetest was able to generate flat maps since 0.4.5 by using a mapgen setting (mg_flags
). It later became a mapgen setting for v6 (mgv6_spflags
) and has been eventually removed in Minetest 0.4.15 in favor of the new standalone map generator.
valleys
Introduced in Minetest 0.4.14 by Duane Robertson. It is notable for its “valley”-like shapes and its flowing rivers. These rivers are very different than in v7: They flow downhill rather than being flat at ocean level.
In Minetest Game, these rivers are made out of River Water, a liquid which has been introduced in the same version for the rivers. It has been introduced because a liquid with a reduced flowing range was needed, as normal Water would easily flow over.