Post your mapgen questions here (modding or engine)

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

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

by paramat » Tue Aug 14, 2018 16:30

The mapgen chosen can't control what mods are enabled, however yes you can use that code inside a mod to only run the mod code in certain mapgens.
 

zasnool
Member
 
Posts: 14
Joined: Wed Oct 03, 2018 03:24

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

by zasnool » Wed Oct 03, 2018 14:03

Hello. I want to know how to make trees not to grow from 1 node under the ground. In the default minetest game, trees are always growing from under the ground, not above it - they have at least 1 node that is under the ground. In the mineclone 2 subgame this doesn't happen, at least not with every tree.
 

Chiantos
Member
 
Posts: 376
Joined: Sun Jan 15, 2017 09:04

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

by Chiantos » Wed Oct 03, 2018 23:21

Deleted message
Last edited by Chiantos on Mon Sep 30, 2019 06:47, edited 1 time in total.
 

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

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

by paramat » Sun Oct 07, 2018 00:30

zasnool in MT 5.0.0 there will be a parameter for the y-offset of a schematic decoration. Until then you will have to redesign the tree schematic.
EDIT: Specifically, make the lowest layer of nodes in the schematic 'empty'. before MTv5.0.0 the lowest layer of a schematic is placed in the ground.
Last edited by paramat on Wed Oct 31, 2018 10:35, edited 1 time in total.
 

User avatar
bhree
Member
 
Posts: 151
Joined: Tue Jun 19, 2018 07:45
Location: Alone In The Wild Land
GitHub: bhree
IRC: bhree
In-game: bhree

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

by bhree » Sun Oct 28, 2018 08:31

If i want to have mapgen specifically for generating ores zonation (may be depend on x,z location) so they don't distribute evenly, which parameters i should tweak? The surface part may be using v6 mapgen or anything else. The idea of even distribution fits singleplayer world, but uneven distribution is great for multiplayer.
I have experimented with noise params but it may be beyond my understanding.
 

FaceDeer
Member
 
Posts: 351
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

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

by FaceDeer » Sun Oct 28, 2018 22:15

bhree wrote:If i want to have mapgen specifically for generating ores zonation (may be depend on x,z location) so they don't distribute evenly, which parameters i should tweak?


I think this would be a bit beyond just tweaking some ore generation parameters, you're probably going to need to make a lua mapgen mod. I've actually been thinking about a mod along those lines myself, my basic plan is to use large-scale perlin noise to turn regions of default stone into particular kinds of rock (basalt, limestone, etc) and then some kinds of ore only appear in some rock types and not others.

Alternately, another thing I was thinking of doing for more "realistic" ore deposits is to use some of the really big ore deposit types - strata, veins, and so forth - to put down huge blobs of ore scattered widely apart. Then tweak the ore node so that when you mine it you only have a 10% chance of getting an ore lump instead of cobble. This would mean you'd still have to do a lot of digging when you encountered ore, and it'd make mines feel more realistic because you'd be following veins. Don't know if this is the sort of feel you're going for though.
 

User avatar
bhree
Member
 
Posts: 151
Joined: Tue Jun 19, 2018 07:45
Location: Alone In The Wild Land
GitHub: bhree
IRC: bhree
In-game: bhree

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

by bhree » Mon Oct 29, 2018 23:34

hi facedir, realism may be not the priority, creation by random placement if possible, im only thinking about disparities between locations. it may be causing frustration when digging and only find one or two kinds of minerals, but by searching on another locations or by trading then it will be interesting. thanks.
 

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

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

by paramat » Wed Oct 31, 2018 10:38

bhree, make a mod (depending on 'default') that clears the registered ores, then re-register them with density variation by noise. 'Scatter' ore can accept noise params to vary ore density.
If you experiment with scatter ore noise params and have trouble post them here and describe your desired behaviour, we might be able to help.
 

FaceDeer
Member
 
Posts: 351
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer
 

User avatar
bhree
Member
 
Posts: 151
Joined: Tue Jun 19, 2018 07:45
Location: Alone In The Wild Land
GitHub: bhree
IRC: bhree
In-game: bhree

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

by bhree » Fri Nov 02, 2018 21:38

hi paramat, im still fidling the noise_params and observing the result. Im not making new map only jump to new area where mapgen kicks in. One parameter that makes me wonder about is spread, i played with low and high value and seems almost the same or should i use extreme big number to have effect of uneven spread or low for concentrated ores?

thanks.
 

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

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

by paramat » Thu Nov 22, 2018 02:20

Noise 'spread' is in nodes and will define the largest scale of the ore density variation. So essentially, set it to the distance you want between areas of highest ore density.
The noise is 3D noise so set all 3 values to the same number. This means ore density will vary in x, y, and z, there's no avoiding that unfortunately. However if you want to stretch or compress the distribution structure vertically you can alter the 'spread' y value.
For the other noise parameters i recommend 'octaves = 3', 'persistence = 0.5', 'lacunarity = 2.0' as a good starting point.
 

User avatar
rubenwardy
Moderator
 
Posts: 5835
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

Archipelago

by rubenwardy » Fri Nov 23, 2018 01:24

Hey, I'm looking to make an Archipelago-like map.

Raising the water level introduces tonnes of weird bugs, such as no rivers and trees being underwater.
Another issue with raising the water is that it becomes apparent that it's just cut off cliffs - the features don't look so natural.

Decreasing the mgv7_np_terrain_base offset to -30 doesn't have too much effect except for introducing more cliffs

Any suggestions one what to do? I'm willing to use any mapgen other than mgv6, and worldedit / a custom world if necessary.

I'd like islands quite big, similar to this:

Image
 

User avatar
rubenwardy
Moderator
 
Posts: 5835
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Fri Nov 23, 2018 03:09

Answers in IRC:

Code: Select all
<paramat> oooh
<paramat> will attend to this
<rubenwardy> :D
<rubenwardy> aha! also setting terrain_alt makes a difference
<rubenwardy> makes lots of shear-cliff islands though. I await your response :)
<rubenwardy>  wait, nvm - not an island :(
<paramat> yes alt has to be lowered too, and the zero point for mountains
<paramat> with all 3 lowered that should shift all terrain. but i'll suggest other changes too
<paramat> like maybe use larger noise 'spreads' for 'base' and 'alt' so that the islands are larger
<paramat> but yes, don't alter water_level, lower terrain
<paramat> 'mgv7_mount_zero_level = 0' this can lower mountains if negative
<paramat> as discussed lower the 'offset' of 'base' and 'alt' noises by the same amount
<paramat> you may prefer to not lower mountains though
<rubenwardy> well, the effect I want is for mountains to be fairly inland
<paramat> then for larger islands, increase the 'spread' of 'base' and 'alt' noises to roughly island size/separation
<rubenwardy> ah, the sharp effect was becuase the islands were mountains
<rubenwardy> I lowered the terrain too much
<rubenwardy> are noises infinitely details?
<rubenwardy> like, will you get more internal detail when spreading more
<paramat> and maybe increase the x and z 'spread's of 'mgv7_np_mountain' so that mountains are further apart instead of every 250 nodes
<paramat> ah inland mountains, difficult
<paramat> that is, difficult by mapgen settings alone
<rubenwardy> doesn't matter too much, actually
<rubenwardy> spreading mountains further would be better
<paramat> no, every time you double 'spread' you need to add another octave to keep the same fine detail
<paramat> my in-development core mapgen creates continents similar to that image
<rubenwardy> can I turn off rivers? It tends to chop islands in half
<rubenwardy> current progress: https://i.rubenwardy.com/cmLAj.png
<rubenwardy> not yet increased the size
<paramat> mgv7_spflags = mountains,noridges,nofloatlands,caverns
<paramat> 'ridges' are rivers, oddly
<rubenwardy> thanks
<rubenwardy> rather amusingly, the mountains are the opposite of inland:     https://i.rubenwardy.com/nsozt.png


Decided to leave it for tonight, current progress:

Image

map_meta:

+ Spoiler
 

FaceDeer
Member
 
Posts: 351
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

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

by FaceDeer » Fri Nov 23, 2018 05:06

Very interested to see how this turns out, I've long wanted to have a map that was less "foamy" with larger disconnected islands and vast, deep oceans between them. Ideally oceans that are hundreds of nodes deep in their centers - too deep to swim to the bottom without some sort of breathing apparatus. I've got ideas for building stuff down there.
 

FaceDeer
Member
 
Posts: 351
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

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

by FaceDeer » Sun Nov 25, 2018 07:19

I've been playing around a bit with some of mapgen v7's parameters and I think I'm making progress in getting some predictable results. Here's what I think I've figured out (experts, jump in and correct my grievous errors please):

mgv7_np_terrain_base and mgv7_np_terrain_alt both produce smooth, rolling hills and valleys. Basic Perlin heightfields. To make the map into a bunch of islands you'll want to adjust the offset values of these two noise definitions downward, which will result in a smaller percentage of their area being above sea level. To adjust the average size of the "peaks" that project above water you'll want to fiddle with the the "spread" values - bigger spread values result in larger peaks (and correspondingly broader oceans between them).

The reason there are two different heightfields is to produce cliffs. At various boundaries the map will abruptly switch from one heightfield to the other, resulting in a sharp elevation change. I've been running into a little bit of trouble with this in my own experimentation because I greatly increased the "scale" of the two heightfields - I set them to offset -50 and scale 100, which produced oceans up to 150 meters deep. But unfortunately also results in some incredibly tall cliffs since you can now get differences of ~200 meters between the two heightfields in the worst cases.

mgv7_np_terrain_persist appears to determine how frequent the boundaries between the two terrain heightfields are and how "squiggly" they are. I haven't figured out much about how tweaking the parameters here translates into real-world effects, though.

mgv7_np_height_select controls the "smoothness" of the cliffs. I think this is going to be what saves me from the 200m cliffs of insanity; when I changed the defaults of this noise from offset -8, scale 16 to offset -1 scale 2 it resulted in much less knife-edged cliff faces. The cliffs were still tall, but they had a more realistic eroded look to them. An offset -0.5, scale 1 resulted in the cliff-faced islands I was experimenting with melting away entirely.

mgv7_np_mountain controls the "jaggedness" of mountains. Rubenwardy, I think the terrain on the left side of your screenshot above is mountains. I tried doubling the default spread to (500,700,500) and the result was smoother mountains with larger, less jagged features, though with a more obvious "faceted" appearance that comes with the turf as far as 3d perlin noise is concerned. I haven't tried tinkering with offset and scale.

I think mgv7_mount_zero_level determines the threshold value at which the mountain noise turns into solid land? I've been tinkering with it a bit and it seems that smaller values produce more "spongey" mountains (I tried changing the default of -20 to -50 and the mountains shrank a lot and had more "overhangs") whereas larger values produce "beefier" mountains (a value of 0 got rid of most of the weird overhangs and such).

A neat effect I noticed from having huge expanses of ocean on my map; the coldest biomes produced vast floating ice sheets on the water. I could imagine a mod that simulated the harmful effects of cold exposure resulting in a harrowing trek across such an expanse. And a mod that added endurance limits to swimming would make boats very useful on a map like this. Also, with deep oceans it's a bit rarer finding natural caves that extend down into the depths without intersecting water, so that's a nice challenge as well.

Having some fun with this, hope my notes here are useful.
 

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

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

by paramat » Fri Nov 30, 2018 06:11

Somewhat correct, a few errors, there is more infotrmation in the comments here https://github.com/minetest/minetest/blob/5f1cd555cd9d1c64426e173b30b5b792d211c835/builtin/settingtypes.txt#L1449
Last edited by paramat on Fri Nov 30, 2018 06:13, edited 2 times in total.
 

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

FaceDeer
Member
 
Posts: 351
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

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

by FaceDeer » Fri Nov 30, 2018 06:45

What were my errors? The descriptions in the settingtypes were a useful clue to guide my tinkering, but most of them didn't say much about what the effect of the various changes would be. I was hoping for more of a guide to "twisting this knob makes this thing happen, twisting it the other way makes that thing happen" - specifically oriented around making deeper, broader oceans and disconnected islands.

I noticed that my hundred-meter-deep oceans dipped down into the "underground" biome, I need to play with that a bit to put some nice seabottom sediment layers. By default it's just bare rock.
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

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

by ShadMOrdre » Sun Dec 02, 2018 04:52

In my tinkering with mg_v7, I've figured out these params:

terrain_alt is essentially, the base terrain noise. Currently I have this set to scale 100, offset 4, spread 1536 for xyz, octaves 5 and persistance 1.

terrain_base is an alternate noise, (the names are backwards), which creates large hills, as determined by height select. Currently I have this set to scale 250,, offset 4, spread 1536 for xyz, octaves 5, and persistance 0.4

height_select is an interesting param. The scale property determines the scale of the 3D noise carving on the hills generated by terrain_base. The octaves property determines the individual peaks on terrain_base. Currently I have scale 2, offset -0.25, spread 500 for xyz, octaves 4, and persistance 0.4.

I turn off mountains, caverns, ridges, and floatlands for mg_v7, and disable caves and dungeons for mg_flags.

This gives the terrain a very natural feel, with long, gently sloping base terrain, and mountains that rise to 400+ meters with various natural shapes, instead of the pikes that are normally generated with mg_v7s default settings.

For mg_valleys, it is possible to alter the depth and profile params, to carve out the valleys to essentially give you an archipelago type map.


Here is the map_meta.txt file for mg_v7.

Code: Select all

mgv7_np_cave2 = {
   flags = defaults
   lacunarity = 2
   offset = 0
   scale = 12
   spread = (67,67,67)
   seed = 10325
   octaves = 3
   persistence = 0.5
}
mgv7_np_cave1 = {
   flags = defaults
   lacunarity = 2
   offset = 0
   scale = 12
   spread = (61,61,61)
   seed = 52534
   octaves = 3
   persistence = 0.5
}
mgv7_np_cavern = {
   flags = defaults
   lacunarity = 2
   offset = 0
   scale = 1
   spread = (384,128,384)
   seed = 723
   octaves = 5
   persistence = 0.63
}
mgv7_np_floatland_base = {
   flags = defaults
   lacunarity = 2
   offset = -0.6
   scale = 1.5
   spread = (600,600,600)
   seed = 114
   octaves = 5
   persistence = 0.6
}
mgv7_np_ridge_uwater = {
   flags = defaults
   lacunarity = 2
   offset = 0
   scale = 1
   spread = (1000,1000,1000)
   seed = 85039
   octaves = 5
   persistence = 0.6
}
mgv7_np_filler_depth = {
   flags = defaults
   lacunarity = 2
   offset = 0
   scale = 1.2
   spread = (150,150,150)
   seed = 261
   octaves = 3
   persistence = 0.7
}
mgv7_np_terrain_alt = {
   flags = defaults
   lacunarity = 2
   offset = 4
   scale = 100
   spread = (1536,1536,1536)
   seed = 5934
   octaves = 5
   persistence = 1
}
mgv7_cavern_taper = 256
mgv7_cavern_limit = -256
mgv7_np_mountain = {
   flags = defaults
   lacunarity = 2
   offset = -0.6
   scale = 1
   spread = (250,350,250)
   seed = 5333
   octaves = 5
   persistence = 0.63
}
mgv7_np_height_select = {
   flags = defaults
   lacunarity = 2
   offset = -0.25
   scale = 2
   spread = (500,500,500)
   seed = 4213
   octaves = 4
   persistence = 0.4
}
mg_flags = nocaves, nodungeons, light, decorations
chunksize = 5
mg_name = v7
mapgen_limit = 31000
water_level = 1
seed = 16096304901732432682
mgv7_np_float_base_height = {
   flags = defaults
   lacunarity = 2
   offset = 48
   scale = 24
   spread = (300,300,300)
   seed = 907
   octaves = 4
   persistence = 0.7
}
mgv7_np_terrain_base = {
   flags = defaults
   lacunarity = 2
   offset = 4
   scale = 250
   spread = (1536,1536,1536)
   seed = 82341
   octaves = 5
   persistence = 0.4
}
mgv7_spflags = nomountains, noridges, nofloatlands, nocaverns
mgv7_np_mount_height = {
   flags = defaults
   lacunarity = 2
   offset = 256
   scale = 112
   spread = (1000,1000,1000)
   seed = 72449
   octaves = 3
   persistence = 0.6
}
mg_biome_np_heat = {
   flags = defaults
   lacunarity = 2
   offset = 50
   scale = 50
   spread = (1000,1000,1000)
   seed = 5349
   octaves = 3
   persistence = 0.5
}
mgv7_float_mount_height = 128
mgv7_cavern_threshold = 0.7
mg_biome_np_humidity = {
   flags = defaults
   lacunarity = 2
   offset = 50
   scale = 50
   spread = (1000,1000,1000)
   seed = 842
   octaves = 3
   persistence = 0.5
}
mgv7_np_ridge = {
   flags = defaults
   lacunarity = 2
   offset = 0
   scale = 1
   spread = (100,100,100)
   seed = 6467
   octaves = 4
   persistence = 0.75
}
mgv7_shadow_limit = 1024
mg_biome_np_humidity_blend = {
   flags = defaults
   lacunarity = 2
   offset = 0
   scale = 1.5
   spread = (8,8,8)
   seed = 90003
   octaves = 2
   persistence = 1
}
mgv7_cave_width = 0.09
mgv7_float_mount_density = 0.6
mgv7_np_terrain_persist = {
   flags = defaults
   lacunarity = 2
   offset = 0.6
   scale = 0.1
   spread = (2000,2000,2000)
   seed = 539
   octaves = 3
   persistence = 0.6
}
mg_biome_np_heat_blend = {
   flags = defaults
   lacunarity = 2
   offset = 0
   scale = 1.5
   spread = (8,8,8)
   seed = 13
   octaves = 2
   persistence = 1
}
mgv7_floatland_level = 1280
[end_of_params]


MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

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

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

by paramat » Wed Dec 05, 2018 08:10

There's also an explanation of what each mgv7 parameter does earlier in this thread.
 

User avatar
DontTouchTheClock
Member
 
Posts: 11
Joined: Sun Apr 17, 2016 17:53

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

by DontTouchTheClock » Sat Dec 08, 2018 06:50

Is there an API to directly influence the SQLite?

If I understand correctly, the database for the world has a hierarchy similar to:
Code: Select all
 FILE:Tables/Blocks/[pos, blob]


I want to know if there is a way to add tables?
So you can have:
Code: Select all
 FILE:Tables/[Blocks1, Blocks2, Blocks...]/[pos, blob]
I lurk, I learn, I lack.
 

Vadtec
New member
 
Posts: 1
Joined: Sun Dec 09, 2018 16:30
GitHub: Vadtec
IRC: Vadtec
In-game: Vadtec

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

by Vadtec » Sun Dec 09, 2018 16:37

Howdy.

I was in the IRC channel asking about generating mountains that reach to sky limit. After talking with paramat, I was told I should post here.

Quick back story: I've only once seen a mountain that went to just under 4k height. Pretty sure it was custom mapgen parameters. I've also been told by other players they have seen mountains up to ~30k in height.

I get the gist of perlin noise and all the things that can be done to make it more interesting, but knowing exactly what is happening to the overall formula is beyond me. Math isn't one of my strong suits.

What I'm looking for is a fairly "standard" map. Standard in that it has a roughly even spread of plains, low hills, small mountains, canyons, rivers, etc, that has one, maybe two, mountains that reach to sky limit. The mountains don't have to *hit* sky limit, but anything around 30k tall would be awesome. I'd also like the average height of the land to be somewhere below 1k. I don't really care which mapgen is used, though I tend to favor fractal.

So, is this even possible? Or is finding a seed+params+mapgen that will do this a fools errand?

Thanks in advance!
 

wziard
Member
 
Posts: 126
Joined: Mon Oct 29, 2018 19:12

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

by wziard » Mon Dec 10, 2018 09:58

I don't really know anything about mapgen params. Just a practical remark: The world is 64Kx64K wide. So if you have a mountain of 30K height in the centre, you'll either get humongous cliffs or the whole map will consist of a 45 degree angle sloping down to the edge.

Not the most interesting terrain imho :-)
 

ShadMOrdre
Member
 
Posts: 523
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

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

by ShadMOrdre » Wed Dec 12, 2018 08:24

I have two questions. Simple, I hope.

Is there a lua v7 mapgen? Ideally as close to the engine version as possible.

How different are the lua and engine versions of Carpathian mg?


I'd like to make an attempt at perhaps combining some of the best features of each, if possible. Specifically, ways to create ground topography, including erosion, and using the noises towards this goal at the sacrifice of caves, rivers (which still might be possible using a different method), and floatlands.

The lua versions of carpathian and valleys help, but I'd like to see v7 in lua, and perhaps, even v5.
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

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

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

by paramat » Thu Dec 13, 2018 06:55

Vadtec sorry for the delay.
Seed won't create what you want, custom mapgen parameters are needed.
Since you want rivers and a fairly standard map Fractal is unsuitable, only V7 and Valleys have rivers.
I think V7 has more chance of doing what you want because the mountain generation is independent of everything else, so mountain generation can be made extreme without making everything else weird. However it won't be possible to mix small mountains with 1-2 huge ones.

I might mess with parameters to see if i can make this happen, if so i'll post them here with explanation.
 

PreviousNext

Return to Modding Discussion



Who is online

Users browsing this forum: No registered users and 2 guests