Post your mapgen questions here (modding or engine)
- 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)
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.
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.
- 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)
+1
Believe in people and you don't need to believe anything else.
-
- 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)
cool
Biplanes! 'Nuff said
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
- 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)
Awesome, thank you for this.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.
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
Re: Post your mapgen questions here (modding or engine)
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
Maybe more like a normal mapgen with very flat hills
- 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)
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
Re: Post your mapgen questions here (modding or engine)
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
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
-
- 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)
for caves, you could just have biomes under ground, and hope they overlap with a cave.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
Biplanes! 'Nuff said
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
- 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)
I'm studying minetest.register_decoration but can not find any article or research that explains specific way about it.
What is the relationship of each of these parameters with mapgen on minetest.register_decoration?
Code: Select all
noise_params = {
offset=0,
scale=.45,
spread={x=100, y=100, z=100},
seed=354,
octaves=3,
persist=0.7
},
- 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)
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.
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.
- 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)
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.
- 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)
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.
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.
Re: Post your mapgen questions here (modding or engine)
Paramat, I know that the normal biomes doesn't work for caves. I want to collect ideas for my own cave biomes
- 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)
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.
- 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)
@paramat: Thank you very much. Will experiment with this on the weekend.
-
- 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)
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.
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
- 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)
Core mapgen caves are always air, but you can use 'blob ore' or 'vein ore' to create small caves or tunnels of any material.
-
- 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)
thanks
Biplanes! 'Nuff said
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
I am a native English speaker, Ich spreche kein Deuscht, mais je parle un pue français.
- 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)
Thank you paramat. Very thorough explanations.
I'm off to the cave to tinker with v7...
I'm off to the cave to tinker with v7...
A Wonderful World
- 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)
This seems to be a way to find dungeon:
See http://dev.minetest.net/Mapgen_objects
But I want to find elsewhere. Plains or beaches for example. It is possible?
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)
But I want to find elsewhere. Plains or beaches for example. It is possible?
- 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)
Gen notify only works for certain things, not biomes. However it works for decorations, so if a decoration only occurs in a particular biome ..
- 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)
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.
^ Nice natural bridge over the river
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)
}
^ Nice natural bridge over the river
- 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)
it looks interesting, but I need to add a decoration only to find it. How can I find a decoration in gennotify?paramat wrote:it works for decorations, so if a decoration only occurs in a particular biome ..
I want to ride a structure (such as a house, bar, village)
- 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)
Not sure i haven't used it, but docs are here https://github.com/minetest/minetest/bl ... .txt#L3254
Re: Post your mapgen questions here (modding or engine)
This is interesting, but to flat for me. Everything on the same height, no beaches, only steep cliffs...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) }
Can you briefly explain the parameters so that i can tinker around? And is it possible to remove these flying artifacts?
Who is online
Users browsing this forum: No registered users and 7 guests