Hello !This is my second mapgen. It aims to create various but realistic landscapes.It's now also developed by duane and vlapsley.

This mapgen is now added in MT's core since January 14th 2016. It has been slightly modified, to be adapted to the core API and Minetest Game. Here this is the original Lua version.

Some features :

Rivers : placed by a 2D noise (it may change), they have around 5 blocks width and 3 blocks depth. By default you can find rivers from height 0 to 120.

Mountains : modeled by 5 2D noises and a 3D noise. They are sometimes smooth and sometimes sharp and they can go up to y=200. My personal record : 278 with seed 9053682054377397076, at (239 ; 0).

Biomes : there are not formerly defined. That one of the principles of this mod. In fact, the terrain has various proportions of clay, silt and sand, various dirt thickness, humidity and heat. Every plant/tree has its own biome definition, resulting in very various biomes. So that's the plants themselves that define the biomes.

Trees generation : Valleys Mapgen has a somewhat strange way to generate trees, but it seems to work pretty well and results in very various shapes of trees. I use 3D Perlin Noises, with a spread parameter around 8, to place a sphere of leaves, distorted by the noise. I call it "leavesblobs". Trees are not all perfect, that the wanted effect. Some trees have very few leaves, that's why happen in the real world.

Altitude effects : the temperature parameter is decreased by climbing up. Snow begins to appear at 100 blocks height in average (you can change it in settings). The dirt thickness is also decreased by the altitude : no more dirt at 150 blocks in average, by default.

Ores : Valleys Mapgen supports all ores defined by minetest.register_ores, thanks to the new function minetest.generate_ores(vm, minp, maxp), and all of the ores from darkage.

Mapgen versions compatibility : if you download the mod and then I make a new version, and you update the mod, the mapgen will not change in old worlds, to avoid mapchunks gaps. It only supports the released versions.

Player spawner : You appear ON the ground, not IN, and not on an ocean either.

Settings : noises and many other features can be set in minetest.conf. See vmg.conf.example.

+
More screenshots

VMG 2.2 : More plants and trees

VMG 2.1 : River water …… and pine tree !

VMG 2.0 : TREES ! SNOW !

Worldmap with 2.0 (seed 14280207678376675280) ; 2000×2000 nodes

VMG 1.3 : More dirts

Worldmap with 1.3 (seed 9441853412759883959) ; 2000×2000 nodes. I'm in this world in the video. Try to locate my track on the map !

VMG 1.2 : Lava

VMG 1.1 : Caves

Worldmap with 1.1 (seed 5164276258932290250) ; 1000×1000 nodes

VMG 1.0

These screenshots have been taken in completely natural worlds (I haven't placed or dug any block), with all default settings. So, by creating a world with default settings and the same seed, you will get the same world.

I looked into the codes and I'm surprised how well coded it is.Adding trees to make the landscape even more beautiful would be a good idea.Also, you could increase the minimal dirt depth, it doesn't look nice on some places because there's just stone.

Looks very promising. Having a "reward" on top of a mountain doesn't sound that bad but I havn't tried your mapgen yet so I don't know how much is too much. :-)

I am all for large mountains as long as they look at least a bit naturall and not like some needles about to topple over. I wonder if some really large scale noise would be possible. I dream of mountains that may be 500 nodes high but also have a basis that is twice as wide giving an average slope of 45 degrees or even less. Or large diverse highland areas with highland water. Not just the generall 20 nodes high plateaus and mesas we now have so often. Just imagine having something like the Ngorongoro crater in the Serengeti of east Africa in Minetest -

+
a world appart hidden in an old caldera/crate

I don't know if Paramat ever got the rivers flowing in riverbeds really functional but that is a problem I would love to be solved in Minetest and that would surely put Minetest above all competitors.

As for the diversity, I would assume having biomes of different scales would also help. Like we allready have for the beach for example. Just as with terrain hight. I would imagine a relative large scale pattern of biomes according to temperatur, humidity, hight and light that is dotted with micro biomes at terrain edges and special places. If for some reason there is a small pond in a desert then a tiny oasis should be generated. Similar things could happen at all water edges, not just beaches and swamps.

Yes, so… it woud be good to include height in dirt thickness calculation.

Caves will come soon. I've already coded it, it works but it's not optimal IMO.And also, there are really too many ores, at least 2 or 3 times more than in v6 (I will try to calculate it precisely). I can't do anything for my part because I use the function minetest.generate_ores(vm), and it may be this function which has problems.

EDIT : There are 3.05 times more ores than in mapgen v6 (calculated by running a #minetest.find_nodes_in_area in v6 without caves and in valleys_mapgen). How is it possible ? minetest.generate_ores shouldn't generate the ores exactely the same way than in v6 ?

This looks awesome! Will try it later.twoelk, rivers now flow in my mapgens, by using 'update_liquids()' in the LVM stuff at the end. Also, it's recommended river water is non-renewable to avoid a huge mess, and has a range of 2 to 4 to hold it's shape on steep slopes.

That's normal since I've added some features. But it's not enormous. To compare, for my Forest mapgen, created more than 1 year ago, the average mapgen time was around 3-5 seconds ! And for valleys mapgen, I've 400-750 ms with the same computer. I liked the Forest mapgen but the code was awful, I was a beginner and I did not have the notion of computer calculation time. The code was completely messed up, all variables were global, etc. In summer 2014 I wanted to continue this mod, but I didn't have the courage to understand and improve my own code.So on February 8th I've decided to start a new project. I want a very clean code, to avoid what happened to Forest.Since there are some “fans” of Forest, I will add Forest's trees (slightly modified) in VMG.

I will probably have a break. Don't worry if you don't see me some weeks.

Gael de Sailly wrote:Since there are some “fans” of Forest, I will add Forest's trees (slightly modified) in VMG.

That's good to hear! The trees in forrests are conveniently shaped and sized. If mg_villages finds your forest mod installed, it does make use of its tree and wood types:Those high hills in the valleys mod are more tricky for the villages. They can only spawn up to a certain height and do not handle the mapblock above. Maybe I ought to avoid spawning in such situations as it doesn't look good. The valleys are much more convenient places.