Post your mapgen questions here (modding or engine)

Post Reply
User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Post your mapgen questions here (modding or engine)

by paramat » Post

This will help the mapgen devs find mapgen questions.

This is placed in 'modding discussion' because other similar question threads are, and because it will probably be mostly used for modding questions, however engine questions are welcome too because i work on that.
Last edited by paramat on Wed Aug 03, 2016 01:35, edited 2 times in total.

User avatar
duane
Member
Posts: 1715
Joined: Wed Aug 19, 2015 19:11
GitHub: duane-r
Location: Oklahoma City
Contact:

Re: Post your mapgen questions here (modding or engine)

by duane » Post

+1
Believe in people and you don't need to believe anything else.

ozkur
Member
Posts: 180
Joined: Wed Oct 07, 2015 20:59
In-game: ozkur or XoRoUZ
Location: 6 minutes in the future

Re: Post your mapgen questions here (modding or engine)

by ozkur » Post

cool
Biplanes! 'Nuff said

I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.

User avatar
TumeniNodes
Member
Posts: 2941
Joined: Fri Feb 26, 2016 19:49
GitHub: TumeniNodes
IRC: tumeninodes
In-game: TumeniNodes
Location: in the dark recesses of the mind
Contact:

Re: Post your mapgen questions here (modding or engine)

by TumeniNodes » Post

paramat wrote:This will help the mapgen devs find mapgen questions.

This is placed in 'modding discussion' because other similar question threads are, and because it will probably be mostly used for modding questions, however engine questions are welcome too because i work on that.
Awesome, thank you for this.
My first question is:
*Is there any way to add the ridges settings (like in V7), into mgflat?
*If not, is it a possibility for the future?
*And..., if not that as well... what would be the main areas for me to tinker with to get V7 to look like it is mgflat, with lakes, mountains (hills) and ridges (and no floating islands?)

As you have seen, I love mgflat, but with nice large lakes and some mountain ranges..., but for me, it would be literally perfect if I were able to have one large(wide) river/ridges running through connecting a couple of lakes together..., using the same terrain height the lakes use, to build a really nice bridge or two over.

In other words, a "perfect" mg (in my own opinion) would have lakes, ridges, hills, and large spans of flat terrain for building... and a very easy, straight forward setting to turn floating islands off / on.
A Wonderful World

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: Post your mapgen questions here (modding or engine)

by burli » Post

I agree with lakes and plain areas, but I'm not sure if a flat mapgen is the right base.

Maybe more like a normal mapgen with very flat hills

User avatar
TumeniNodes
Member
Posts: 2941
Joined: Fri Feb 26, 2016 19:49
GitHub: TumeniNodes
IRC: tumeninodes
In-game: TumeniNodes
Location: in the dark recesses of the mind
Contact:

Re: Post your mapgen questions here (modding or engine)

by TumeniNodes » Post

burli wrote:I agree with lakes and plain areas, but I'm not sure if a flat mapgen is the right base.

Maybe more like a normal mapgen with very flat hills

This is the most recent settings I have for right now. I think mgflat is a perfect base, because it is very simple. If something similar to the ridges from v7 could be worked in, it would be even better, especially if it could produce nice, wide river channels.
It would give the perfect combinations of lakes, hills, rivers..., while providing a perfect amount of flat terrain with very simple to use settings. Flat terrain is the most important key for building towns, cities, large structures, etc.. so, it actually is a very good base on a couple of counts : )

Code: Select all

chunksize = 5
mg_biome_np_heat = {
	flags = defaults
	lacunarity = 2
	octaves = 3
	offset = 50
	persistence = 0.5
	scale = 50
	seed = 5349
	spread = (750,750,750)
}
mg_biome_np_heat_blend = {
	flags = defaults
	lacunarity = 2
	octaves = 2
	offset = 0
	persistence = 1
	scale = 1.5
	seed = 13
	spread = (8,8,8)
}
mg_biome_np_humidity = {
	flags = defaults
	lacunarity = 2
	octaves = 3
	offset = 50
	persistence = 0.5
	scale = 50
	seed = 842
	spread = (750,750,750)
}
mg_biome_np_humidity_blend = {
	flags = defaults
	lacunarity = 2
	octaves = 2
	offset = 0
	persistence = 1
	scale = 1.5
	seed = 90003
	spread = (8,8,8)
}
mg_flags = trees, nocaves, nodungeons, noflat, light, nodecorations
mg_name = flat
mgflat_cave_width = 0.3
mgflat_ground_level = 24
mgflat_hill_steepness = 120
mgflat_hill_threshold = 0.45
mgflat_lake_steepness = 48
mgflat_lake_threshold = -0.25
mgflat_large_cave_depth = -33
mgflat_np_cave1 = {
	flags = defaults
	lacunarity = 2
	octaves = 4
	offset = 0
	persistence = 0.5
	scale = 12
	seed = 52534
	spread = (96,96,96)
}
mgflat_np_cave2 = {
	flags = defaults
	lacunarity = 2
	octaves = 4
	offset = 0
	persistence = 0.5
	scale = 12
	seed = 10325
	spread = (96,96,96)
}
mgflat_np_filler_depth = {
	flags = defaults
	lacunarity = 2
	octaves = 3
	offset = 0
	persistence = 0.7
	scale = 1.2
	seed = 261
	spread = (150,150,150)
}
mgflat_np_terrain = {
	flags = defaults
	lacunarity = 2
	octaves = 5
	offset = 0
	persistence = 0.6
	scale = 1
	seed = 7244
	spread = (600,600,600)
}
mgflat_spflags = lakes, hills
seed = 11303812373526807364
water_level = 1
[end_of_params]
A Wonderful World

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: Post your mapgen questions here (modding or engine)

by burli » Post

But flat is flat. Everything is on one height

Another question: What kind of cave "biomes" are possible?

I think about ice, hot, mossy, wet, flooded, crystal (rare). Valley_c has also lichen and some fungi

What else? Could be realistic, fantasy, whatever

ozkur
Member
Posts: 180
Joined: Wed Oct 07, 2015 20:59
In-game: ozkur or XoRoUZ
Location: 6 minutes in the future

Re: Post your mapgen questions here (modding or engine)

by ozkur » Post

burli wrote:But flat is flat. Everything is on one height

Another question: What kind of cave "biomes" are possible?

I think about ice, hot, mossy, wet, flooded, crystal (rare). Valley_c has also lichen and some fungi

What else? Could be realistic, fantasy, whatever
for caves, you could just have biomes under ground, and hope they overlap with a cave.
Biplanes! 'Nuff said

I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.

User avatar
BrunoMine
Member
Posts: 1082
Joined: Thu Apr 25, 2013 17:29
GitHub: BrunoMine
Location: SP-Brasil
Contact:

Re: Post your mapgen questions here (modding or engine)

by BrunoMine » Post

I'm studying minetest.register_decoration but can not find any article or research that explains specific way about it.

Code: Select all

noise_params = {
    offset=0, 
    scale=.45, 
    spread={x=100, y=100, z=100}, 
    seed=354, 
    octaves=3, 
    persist=0.7
},
What is the relationship of each of these parameters with mapgen on minetest.register_decoration?

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Post your mapgen questions here (modding or engine)

by paramat » Post

TumeniNodes,
mgflat is meant to be super-simple so i'm not sure it should be developed, i even met resistence to adding the lakes and hills features.
MgV7 with custom noise params can probably do what you want, i might post an example later.

Burli,
The current biome API does not function in caves, but it might be able to in the future.

BrunoMine,
That noise is to provide a varying value of 'fill_ratio'.

'offset' is the average noise value,
scale is the typical variation of the noise value either side of offset,
'spread' is the largest scale (in nodes) of variation in the noise pattern (keep the 3 numbers equal).
'octaves' is the number of levels of detail in the noise pattern, first octave is size 'spread', reach additional octave is variation on a scale half the size of the previous.
'persistence' is the 'roughness' of the noise pattern, the strength of small-scale variation relative to large-scale variation.
'seed' is a randomly chosen integer of 1 to 6 digits long that completely specifies the noise pattern, make sure it's different for each noise you use. 2 identical seeds will produce identical noise patterns.

Here's my more detailed explanation from elsewhere:

///////////////////////////////////////////

'offset' is the centre value of the noise value, often 0.

'scale' is the approximate variation of the noise value either side of the centre value, often 1.
Depending on the number of octaves and the persistence the variation is usually 1 to 2 times the scale value. The exact variation can be calculated from octaves and persistence.
(To be exact, scale is the variation of octave 1, additional octaves add extra variation, see below).

'spread' is the size in nodes of the largest scale variation. If the noise is terrain height this would be the approximate size of the largest islands or seas, there will be no structure on a larger scale than this.
There are 3 values for x, y, z so you can stretch or squash the shape of your structures, normally you would set all 3 values to be the same, even for 2D noise where the y value is not used).

'octaves' is the number of levels of detail in the noise variation.
The largest scale variation is 'spread', that is octave 1. Each additional octave adds variation on a scale one half the size, so here you will have variation on scales of 2048, 1024, 512 nodes.

'persist' is persistence. This is how large the variation of each additional octave is relative to the previous octave.
Octave 1 always outputs a variation from -1 to 1, the 'amplitude' is 1.
With 3 octaves persist 0.5, a much used standard noise:
Octave 2 outputs a variation from -0.5 to 0.5 (amplitude 0.5).
Octave 3 will output -0.25 to 0.25 (amplitude 0.5 x 0.5).
The 3 octaves are added to result in a noise variation of -1.75 to 1.75.
'persist' is therefore the roughness of the noise pattern, 0.33 is fairly smooth, 0.67 is rough and spiky, 0.5 is a medium value.

'seed' is the magic seed number that determines the entire noise pattern.
Just type in any random number, different for each use of noise.
This is actually a 'seed difference', the noise actually uses 'seed' + 'world seed', to make any noise pattern world-dependant and repeatable.
'seed' then makes sure each use of noise in a world is using a different pattern.
Last edited by paramat on Tue Aug 02, 2016 22:08, edited 1 time in total.

User avatar
philipbenr
Member
Posts: 1897
Joined: Fri Jun 14, 2013 01:56
GitHub: philipbenr
IRC: philipbenr
In-game: robinspi
Location: United States

Re: Post your mapgen questions here (modding or engine)

by philipbenr » Post

Is there a simple way to take the current mapgen and "scale it up" by a factor of X or something easy? So the mountains are taller, the oceans are deeper, the rivers are wider, and things like that? I don't know exactly how the mapgen works, (I have a simplistic idea) so anything you can tell me about parameters, noise based generation or anything will help.

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Post your mapgen questions here (modding or engine)

by paramat » Post

Horizontally: just multiply all 3 of the the 'spread' numbers:
spread={x=100, y=100, z=100},

Vertically: any noise called 'terrain_base' 'terrain_alt', 'terrain_higher', 'mount_height' etc. just mulitply the 'scale' number.

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: Post your mapgen questions here (modding or engine)

by burli » Post

Paramat, I know that the normal biomes doesn't work for caves. I want to collect ideas for my own cave biomes

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Post your mapgen questions here (modding or engine)

by paramat » Post

That's perhaps best done in a seperate thread, the discussion will get chopped up and hard to find here. This thread is more for questions about mapgen as it is now.

User avatar
philipbenr
Member
Posts: 1897
Joined: Fri Jun 14, 2013 01:56
GitHub: philipbenr
IRC: philipbenr
In-game: robinspi
Location: United States

Re: Post your mapgen questions here (modding or engine)

by philipbenr » Post

@paramat: Thank you very much. Will experiment with this on the weekend.

ozkur
Member
Posts: 180
Joined: Wed Oct 07, 2015 20:59
In-game: ozkur or XoRoUZ
Location: 6 minutes in the future

Re: Post your mapgen questions here (modding or engine)

by ozkur » Post

can you change what caves are made of? (like instead of air, caves could be filled with a different node, like water.)
Biplanes! 'Nuff said

I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Post your mapgen questions here (modding or engine)

by paramat » Post

Core mapgen caves are always air, but you can use 'blob ore' or 'vein ore' to create small caves or tunnels of any material.

ozkur
Member
Posts: 180
Joined: Wed Oct 07, 2015 20:59
In-game: ozkur or XoRoUZ
Location: 6 minutes in the future

Re: Post your mapgen questions here (modding or engine)

by ozkur » Post

thanks
Biplanes! 'Nuff said

I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.

User avatar
TumeniNodes
Member
Posts: 2941
Joined: Fri Feb 26, 2016 19:49
GitHub: TumeniNodes
IRC: tumeninodes
In-game: TumeniNodes
Location: in the dark recesses of the mind
Contact:

Re: Post your mapgen questions here (modding or engine)

by TumeniNodes » Post

Thank you paramat. Very thorough explanations.
I'm off to the cave to tinker with v7...
A Wonderful World

User avatar
BrunoMine
Member
Posts: 1082
Joined: Thu Apr 25, 2013 17:29
GitHub: BrunoMine
Location: SP-Brasil
Contact:

Re: Post your mapgen questions here (modding or engine)

by BrunoMine » Post

This seems to be a way to find dungeon:

Code: Select all

minetest.set_gen_notify("dungeon")
minetest.register_on_generated(function(minp, maxp, seed)
	local array = minetest.get_mapgen_object("gennotify")
	minetest.chat_send_all(dump(array))
end)
See http://dev.minetest.net/Mapgen_objects
But I want to find elsewhere. Plains or beaches for example. It is possible?

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Post your mapgen questions here (modding or engine)

by paramat » Post

Gen notify only works for certain things, not biomes. However it works for decorations, so if a decoration only occurs in a particular biome ..

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Post your mapgen questions here (modding or engine)

by paramat » Post

TumeniNodes

Try this, it works well. I have matched it as close as possible to your mgflat parameters.
I haven't edited mountain noises, i'll leave that to you.

Code: Select all

mgv7_np_terrain_base = {
	flags = defaults
	lacunarity = 2
	octaves = 5
	offset = 24
	persistence = 0.6
	scale = 0
	seed = 82341
	spread = (600,600,600)
}
mgv7_np_terrain_alt = {
	flags = defaults
	lacunarity = 2
	octaves = 5
	offset = -23
	persistence = 0.6
	scale = 11
	seed = 5934
	spread = (600,600,600)
}
mgv7_np_persist = {
	flags = defaults
	lacunarity = 2
	octaves = 3
	offset = 0.6
	persistence = 0.6
	scale = 0
	seed = 539
	spread = (2000,2000,2000)
}
mgv7_np_height_select = {
	flags = defaults
	lacunarity = 2
	octaves = 5
	offset = 1
	persistence = 0.6
	scale = 4
	seed = 7244
	spread = (600,600,600)
}
Image

^ Nice natural bridge over the river

User avatar
BrunoMine
Member
Posts: 1082
Joined: Thu Apr 25, 2013 17:29
GitHub: BrunoMine
Location: SP-Brasil
Contact:

Re: Post your mapgen questions here (modding or engine)

by BrunoMine » Post

paramat wrote:it works for decorations, so if a decoration only occurs in a particular biome ..
it looks interesting, but I need to add a decoration only to find it. How can I find a decoration in gennotify?
I want to ride a structure (such as a house, bar, village)

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Post your mapgen questions here (modding or engine)

by paramat » Post

Not sure i haven't used it, but docs are here https://github.com/minetest/minetest/bl ... .txt#L3254

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: Post your mapgen questions here (modding or engine)

by burli » Post

paramat wrote:TumeniNodes

Try this, it works well. I have matched it as close as possible to your mgflat parameters.
I haven't edited mountain noises, i'll leave that to you.

Code: Select all

mgv7_np_terrain_base = {
	flags = defaults
	lacunarity = 2
	octaves = 5
	offset = 24
	persistence = 0.6
	scale = 0
	seed = 82341
	spread = (600,600,600)
}
mgv7_np_terrain_alt = {
	flags = defaults
	lacunarity = 2
	octaves = 5
	offset = -23
	persistence = 0.6
	scale = 11
	seed = 5934
	spread = (600,600,600)
}
mgv7_np_persist = {
	flags = defaults
	lacunarity = 2
	octaves = 3
	offset = 0.6
	persistence = 0.6
	scale = 0
	seed = 539
	spread = (2000,2000,2000)
}
mgv7_np_height_select = {
	flags = defaults
	lacunarity = 2
	octaves = 5
	offset = 1
	persistence = 0.6
	scale = 4
	seed = 7244
	spread = (600,600,600)
}
This is interesting, but to flat for me. Everything on the same height, no beaches, only steep cliffs...

Can you briefly explain the parameters so that i can tinker around? And is it possible to remove these flying artifacts?

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests