Post your mapgen questions here (modding or engine)

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

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 » Post

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: 377
Joined: Sun Jan 15, 2017 09:04

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

by Chiantos » Post

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

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

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: 169
Joined: Tue Jun 19, 2018 07:45
GitHub: bhree
IRC: bhree
In-game: bhree
Location: Alone In The Wild Land
Contact:

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

by bhree » Post

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: 506
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

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

by FaceDeer » Post

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: 169
Joined: Tue Jun 19, 2018 07:45
GitHub: bhree
IRC: bhree
In-game: bhree
Location: Alone In The Wild Land
Contact:

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

by bhree » Post

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: 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

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: 506
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

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

by FaceDeer » Post

That's a lot easier than what I was thinking. :)

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

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

by bhree » Post

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: 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

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: 6972
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

Archipelago

by rubenwardy » Post

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
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

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

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

by rubenwardy » Post

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

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_cave_width = 0.09
mg_biome_np_heat = {
	flags = defaults
	lacunarity = 2
	offset = 50
	scale = 50
	spread = (1000,1000,1000)
	seed = 5349
	octaves = 3
	persistence = 0.5
}
mgv7_lava_depth = -256
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_humidity_blend = {
	flags = defaults
	lacunarity = 2
	offset = 0
	scale = 1.5
	spread = (8,8,8)
	seed = 90003
	octaves = 2
	persistence = 1
}
mgv7_np_ridge = {
	flags = defaults
	lacunarity = 2
	offset = 0
	scale = 1
	spread = (100,100,100)
	seed = 6467
	octaves = 4
	persistence = 0.75
}
mgv7_large_cave_depth = -33
mg_biome_np_humidity = {
	flags = defaults
	lacunarity = 2
	offset = 50
	scale = 50
	spread = (1000,1000,1000)
	seed = 842
	octaves = 3
	persistence = 0.5
}
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
mgv7_np_terrain_base = {
	flags = defaults
	lacunarity = 2
	offset = -16
	scale = 70
	spread = (600,600,600)
	seed = 82341
	octaves = 5
	persistence = 0.6
}
mgv7_np_float_base_height = {
	flags = defaults
	lacunarity = 2
	offset = 48
	scale = 24
	spread = (300,300,300)
	seed = 907
	octaves = 4
	persistence = 0.7
}
seed = 8573449170555614676
water_level = 0
mapgen_limit = 31000
mg_name = v7
mgv7_cavern_threshold = 0.7
mgv7_dungeon_ymin = -31000
chunksize = 5
mg_flags = caves, dungeons, light, decorations, biomes
mgv7_np_height_select = {
	flags = defaults
	lacunarity = 2
	offset = -8
	scale = 16
	spread = (500,500,500)
	seed = 4213
	octaves = 6
	persistence = 0.7
}
mgv7_np_mountain = {
	flags = defaults
	lacunarity = 2
	offset = -0.6
	scale = 1
	spread = (250,350,250)
	seed = 5333
	octaves = 5
	persistence = 0.63
}
mgv7_shadow_limit = 1024
mgv7_float_mount_height = 128
mgv7_float_mount_exponent = 0.75
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
}
mgv7_cavern_limit = -256
mgv7_cavern_taper = 256
mgv7_dungeon_ymax = 31000
mgv7_float_mount_density = 0.6
mgv7_np_terrain_alt = {
	flags = defaults
	lacunarity = 2
	offset = -16
	scale = 25
	spread = (600,600,600)
	seed = 5934
	octaves = 5
	persistence = 0.6
}
mgv7_spflags = mountains, noridges, nofloatlands, caverns
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_mount_zero_level = -20
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_floatland_base = {
	flags = defaults
	lacunarity = 2
	offset = -0.6
	scale = 1.5
	spread = (600,600,600)
	seed = 114
	octaves = 5
	persistence = 0.6
}
[end_of_params]
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

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

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

by FaceDeer » Post

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: 506
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

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

by FaceDeer » Post

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: 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

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

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

Accidental post.

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

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

by FaceDeer » Post

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: 1118
Joined: Mon Dec 29, 2014 08:07
Location: USA

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

by ShadMOrdre » Post

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]



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

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 » Post

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 » Post

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: 127
Joined: Mon Oct 29, 2018 19:12

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

by wziard » Post

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: 1118
Joined: Mon Dec 29, 2014 08:07
Location: USA

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

by ShadMOrdre » Post

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.

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

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.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests