[Mod] Rivers, paths and strata mapgen [0.8.0] [riverdev]
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
[Mod] Rivers, paths and strata mapgen [0.8.0] [riverdev]
Download, rename to riverdev https://github.com/paramat/riverdev/archive/master.zip
Browse code https://github.com/paramat/riverdev
riverdev 0.8.0 by paramat
For Minetest 0.4.13 and later
Depends default
Licenses: Code LGPL 2.1, textures CC BY-SA
*** Version 0.8.0 is a simplified version with no flora so is more of a proof of concept. It is now better to create flora by adding the schematics from default mod than generate them node by node as this mod did ***
The mod will automatically select 'singlenode' mapgen and will spawn players at the surface but also scattered up to 1280nodes from world centre
Sloping rivers that reduce in size towards the summit of the mountain ridges (the watershed).
Auto-generated paths and bridges over rivers.
2 path systems that run through valleys instead of passing over rough terrain.
Rough terain is created from a mix of 2 3D noises with scales in the ratio phi (maximum dissonance) to attempt to break up the regular grid appearence of 3D noise.
Boulders.
Biome surface nodes thin out with altitude.
Ores are a few nodes underground to prevent easy surface mining in the rocky mountains.
Stone types and ores and located in horizontally-stretched strata created by 3D noise.
Last edited by paramat on Fri Apr 14, 2017 22:54, edited 32 times in total.
Re: [Mod] Rivers with tributaries [0.1.1] [riverdev]
Wow, impressive!
- philipbenr
- Member
- Posts: 1897
- Joined: Fri Jun 14, 2013 01:56
- GitHub: philipbenr
- IRC: philipbenr
- In-game: robinspi
- Location: United States
Re: [Mod] Rivers with tributaries [0.1.1] [riverdev]
Looks great Paramat. Another one for the record...
- Krock
- Developer
- Posts: 4649
- Joined: Thu Oct 03, 2013 07:48
- GitHub: SmallJoker
- Location: Switzerland
- Contact:
Re: [Mod] Rivers with tributaries [0.1.1] [riverdev]
Yes, that's a nice mapgen.
/me downloads.
/me downloads.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Rivers with tributaries [0.1.3] [riverdev]
Version 0.1.4
Surface material thins with altitude.
Added mod dirt and grass.
Smallest terrain noise scale is back to 24 nodes, looks better.
Added mixwater as a blend of freshwater and seawater.
Overgeneration for continuous grass over y = 47 chunk borders.
Surface material thins with altitude.
Added mod dirt and grass.
Smallest terrain noise scale is back to 24 nodes, looks better.
Added mixwater as a blend of freshwater and seawater.
Overgeneration for continuous grass over y = 47 chunk borders.
Last edited by paramat on Thu Jul 17, 2014 17:47, edited 1 time in total.
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Rivers with tributaries [0.4.1] [riverdev]
Version 0.4.1
Added 2 generative paths and bridges over rivers, random support pillars. Removed streams for various good reasons. Added tree areas with varying density.
This mod is the watershed terrain generator modified for experiments, it started as a faster way to test watershed mapgen parameters. In future i intend to spawn wood huts near the paths, perhaps towns also. if i do that by schematics then a player can build their own modules in worldedit, save them in Minetest schematic format and use them in this mod (probably a good idea due to my taste in architecture).
Added 2 generative paths and bridges over rivers, random support pillars. Removed streams for various good reasons. Added tree areas with varying density.
This mod is the watershed terrain generator modified for experiments, it started as a faster way to test watershed mapgen parameters. In future i intend to spawn wood huts near the paths, perhaps towns also. if i do that by schematics then a player can build their own modules in worldedit, save them in Minetest schematic format and use them in this mod (probably a good idea due to my taste in architecture).
Last edited by paramat on Mon Jul 14, 2014 05:58, edited 1 time in total.
Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]
This is really cool, although so far I haven't found anything like the screenshot above - the three maps I've created so far have wide wide 'rivers' and bridges that go up the river for a ways, so kinda look a little dumb. But I'm sure I'll find a pretty spot soon. :)
Meanwhile - as I'm a Minetest newbie - I notice digging down that it's all stone, no ores. Is there a combination of settings somehow to have ores appear at some depth, or is that the price of playing this?
Either way, thank you for an awesome mod. This is perfect for building cities, which is what I always did in Minecraft anyway. :)
Meanwhile - as I'm a Minetest newbie - I notice digging down that it's all stone, no ores. Is there a combination of settings somehow to have ores appear at some depth, or is that the price of playing this?
Either way, thank you for an awesome mod. This is perfect for building cities, which is what I always did in Minecraft anyway. :)
- webdesigner97
- Member
- Posts: 1328
- Joined: Mon Jul 30, 2012 19:16
- GitHub: webD97
- IRC: webdesigner97
- In-game: webdesigner97
- Location: Cologne, Germany
- Contact:
Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]
I also love this mapgen and I even found a nice place to start a singleplayer world ;)
But I also didn't find ores, will you add them at some point?
Edit: Is the water supposed to stay still (it doesn't flow)?
But I also didn't find ores, will you add them at some point?
Edit: Is the water supposed to stay still (it doesn't flow)?
Visit me: webD97.de | @GitHub | @DeviantArt
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
- Evergreen
- Member
- Posts: 2135
- Joined: Sun Jan 06, 2013 01:22
- GitHub: 4Evergreen4
- IRC: EvergreenTree
- In-game: Evergreen
- Location: A forest in the midwest
- Contact:
Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]
There are ores in minetest. I think this mod overrides the default mapgen though, so ores might not spawn if you have this mod enabled.Daychilde wrote:This is really cool, although so far I haven't found anything like the screenshot above - the three maps I've created so far have wide wide 'rivers' and bridges that go up the river for a ways, so kinda look a little dumb. But I'm sure I'll find a pretty spot soon. :)
Meanwhile - as I'm a Minetest newbie - I notice digging down that it's all stone, no ores. Is there a combination of settings somehow to have ores appear at some depth, or is that the price of playing this?
Either way, thank you for an awesome mod. This is perfect for building cities, which is what I always did in Minecraft anyway. :)
- Krock
- Developer
- Posts: 4649
- Joined: Thu Oct 03, 2013 07:48
- GitHub: SmallJoker
- Location: Switzerland
- Contact:
Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]
Yes, minetest.register_ore (or so..) is not used by all mapgens.Evergreen wrote:There are ores in minetest. I think this mod overrides the default mapgen though, so ores might not spawn if you have this mod enabled.
I used a simple, random generation of ores and it could be added in this mapgen, too.
https://github.com/paramat/riverdev/blo ... t.lua#L219
https://github.com/SmallJoker/noisetest ... ns.lua#L67
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]
Thanks, this is still experimental and i'm still tuning the parameters, i haven't added ores and caves yet, those will slow the generation down a little. Just a warning the terrain will change as i tune.
The water is non flowing and non-renewable, the rivers become a mess otherwise.
The water is non flowing and non-renewable, the rivers become a mess otherwise.
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Ridges, rivers and paths mapgen [0.4.2] [riverdev]
Version 0.4.2 is available with bugfixes and better tuned parameters.
0.4.1 had too many paths, they are rarer now.
Tunnels would be ideal for this since they are underground paths, i could integrate the tunnel / magma system from intersecting mod.
0.4.1 had too many paths, they are rarer now.
Tunnels would be ideal for this since they are underground paths, i could integrate the tunnel / magma system from intersecting mod.
Last edited by paramat on Sun Feb 15, 2015 23:33, edited 2 times in total.
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
Version 0.4.3
Ores, tunnels, flowers, pines located by altitude, craftable pine wood, stairs and slabs.
To make your first torches search for coal in tunnel entrances, near sea level or rivers these entrances are sometimes sealed by stone (result of protecting against underground flooding).
Ores are a few nodes underground to prevent easy surface mining in the rocky mountains :)
No cactus, dry shrub or papyrus because no desert biomes. No clay but i could add it if it's essential for players.
Ores, tunnels, flowers, pines located by altitude, craftable pine wood, stairs and slabs.
To make your first torches search for coal in tunnel entrances, near sea level or rivers these entrances are sometimes sealed by stone (result of protecting against underground flooding).
Ores are a few nodes underground to prevent easy surface mining in the rocky mountains :)
No cactus, dry shrub or papyrus because no desert biomes. No clay but i could add it if it's essential for players.
Last edited by paramat on Fri Aug 01, 2014 16:17, edited 1 time in total.
- webdesigner97
- Member
- Posts: 1328
- Joined: Mon Jul 30, 2012 19:16
- GitHub: webD97
- IRC: webdesigner97
- In-game: webdesigner97
- Location: Cologne, Germany
- Contact:
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
Yay :D Finally ores :D But clay would also be nice ;)
Visit me: webD97.de | @GitHub | @DeviantArt
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
- webdesigner97
- Member
- Posts: 1328
- Joined: Mon Jul 30, 2012 19:16
- GitHub: webD97
- IRC: webdesigner97
- In-game: webdesigner97
- Location: Cologne, Germany
- Contact:
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
Ah, this is the kind of landscape I enjoy! I really want to build a dam here:
Average chunk generation time: 600-900ms
Average chunk generation time: 600-900ms
- Attachments
-
- Screenshot
- screenshot_1874820.png (674.08 KiB) Viewed 1626 times
Visit me: webD97.de | @GitHub | @DeviantArt
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
Ah cool i was about to ask how fast this is for others, my old half dead laptop takes up to 4s per chunk non luaJIT, i get the impression (and i hope) it generates faster for most of you. My voxmynipples honeymoon is over, i'm used to it and 4s per chunk now seems slow to me :Pwebdesigner97 wrote:Average chunk generation time: 600-900ms
Clay should be easy to add, next version.
- webdesigner97
- Member
- Posts: 1328
- Joined: Mon Jul 30, 2012 19:16
- GitHub: webD97
- IRC: webdesigner97
- In-game: webdesigner97
- Location: Cologne, Germany
- Contact:
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
I'm using the 64bit 0.4.10 stable build with num_emerge_threads = 4, but this setting doesn't even change time that much... It's ok :)paramat wrote:Ah cool i was about to ask how fast this is for others, my old half dead laptop takes up to 4s per chunk non luaJIT, i get the impression (and i hope) it generates faster for most of you. My voxmynipples honeymoon is over, i'm used to it and 4s per chunk now seems slow to me :Pwebdesigner97 wrote:Average chunk generation time: 600-900ms
Clay should be easy to add, next version.
Visit me: webD97.de | @GitHub | @DeviantArt
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
- webdesigner97
- Member
- Posts: 1328
- Joined: Mon Jul 30, 2012 19:16
- GitHub: webD97
- IRC: webdesigner97
- In-game: webdesigner97
- Location: Cologne, Germany
- Contact:
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
The only big "problem" with your mapgen mods is that they define their own nodes, which results in the inabilitity to play in them without creative mode.
Let's take minetest_game as example: Farming is configured to work with default:dirt and default:dirt_with_grass, even though there is an API. Just adding the soil group isn't enough (anymore?)...
Here's what I'd do: Instead of registering new nodes that somehow replace the old ones (e.g. default:dirt, riverdev:dirt), you should use minetest.override_item(), where you can just change e.g. the textures of default:dirt_with_grass, while keeping the original definitions alive. Now let the mapgen place the original nodes and voilà: It works fine with minetest_game.
Code example for default:dirt_with_grass:
Let's take minetest_game as example: Farming is configured to work with default:dirt and default:dirt_with_grass, even though there is an API. Just adding the soil group isn't enough (anymore?)...
Here's what I'd do: Instead of registering new nodes that somehow replace the old ones (e.g. default:dirt, riverdev:dirt), you should use minetest.override_item(), where you can just change e.g. the textures of default:dirt_with_grass, while keeping the original definitions alive. Now let the mapgen place the original nodes and voilà: It works fine with minetest_game.
Code example for default:dirt_with_grass:
Code: Select all
minetest.override_item("default:dirt_with_grass", {
tiles = {"default_grass.png", "default_dirt.png", "default_grass.png"},
})
Visit me: webD97.de | @GitHub | @DeviantArt
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
I use mod's own nodes because default nodes usually have ABMs running on them which decrease performance, i have noticed how smooth Minetest runs in my mapgens because of this. I wasn't aware that 'soil=1' isn't enough anymore, thanks.
So i have decided to make the mod's own grass, dirt and path nodes drop 'default:dirt', so to farm just dig and place the nodes, this is just like 'tilling' soil to prepare it. This solution means the 'default' ABMs only run on a limited number of nodes. So another thing for next version.
There's an unused schematic folder and file in this mod in preparation for auto-spawning of wood cabins near ther paths, in case anyone wonders why that is there.
EDIT
Can't be bothered adding clay, it's for making red bricks which i dislike the look of, in this mod you can craft pine wood planks, slabs and stairs which will look much better.
So i have decided to make the mod's own grass, dirt and path nodes drop 'default:dirt', so to farm just dig and place the nodes, this is just like 'tilling' soil to prepare it. This solution means the 'default' ABMs only run on a limited number of nodes. So another thing for next version.
There's an unused schematic folder and file in this mod in preparation for auto-spawning of wood cabins near ther paths, in case anyone wonders why that is there.
EDIT
Can't be bothered adding clay, it's for making red bricks which i dislike the look of, in this mod you can craft pine wood planks, slabs and stairs which will look much better.
- webdesigner97
- Member
- Posts: 1328
- Joined: Mon Jul 30, 2012 19:16
- GitHub: webD97
- IRC: webdesigner97
- In-game: webdesigner97
- Location: Cologne, Germany
- Contact:
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
Well, the idea is good, but imho this more of a game problem. If riverdev would be used in a subgame, then the creator needs to deal with ABM perfomance.paramat wrote:I use mod's own nodes because default nodes usually have ABMs running on them which decrease performance, i have noticed how smooth Minetest runs in my mapgens because of this. I wasn't aware that 'soil=1' isn't enough anymore, thanks.
So i have decided to make the mod's own grass, dirt and path nodes drop 'default:dirt', so to farm just dig and place the nodes, this is just like 'tilling' soil to prepare it. This solution means the 'default' ABMs only run on a limited number of nodes. So another thing for next version.
There's an unused schematic folder and file in this mod in preparation for auto-spawning of wood cabins near ther paths, in case anyone wonders why that is there.
EDIT
Can't be bothered adding clay, it's for making red bricks which i dislike the look of, in this mod you can craft pine wood planks, slabs and stairs which will look much better.
Visit me: webD97.de | @GitHub | @DeviantArt
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
Mods: StreetsMod | Vehicles
Featured from my blog: Dockerize the Minetest server
On my own behalf: Chameleon - A PHP image manipulation library built around GD
- crazyginger72
- Member
- Posts: 69
- Joined: Wed Jan 01, 2014 07:57
- GitHub: crazyginger72
- IRC: cg72
- In-game: crazyginger72
- Location: gone to lunch
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
as a quick point, i hate premade path in any kind (no offense to you paramat) is there anyway to have a configurable option for just the paths as the rest is perfect!
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
No offence taken, good to hear you like it. You should update to latest version 0.4.5, then delete lines 300 to 326 and lines 373 to 397, then finally on line 398 change the 'elseif' to 'if'.
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
Because line numbers will change when i next update you'll need to recognise those 2 blocks of code and delete them in future versions, easy since those blocks are obvoiusly the ones that add paths and bridges, don't forget the 'elseif' to 'if' change after the 2nd deleted block.
crazyginger72 eh? 1972 is a special year for me ;)
crazyginger72 eh? 1972 is a special year for me ;)
- crazyginger72
- Member
- Posts: 69
- Joined: Wed Jan 01, 2014 07:57
- GitHub: crazyginger72
- IRC: cg72
- In-game: crazyginger72
- Location: gone to lunch
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
Actually its my racing number got it randomly when i was 8-9 on my first racecar and its been with me ever since.paramat wrote: crazyginger72 eh? 1972 is a special year for me ;)
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]
Instead of line numbers i'll make this clearer.
There are two blocks of code to remove, one in the '-- chunk generation' section and one in the '-- overgeneration' section, each block looks like this:
Immediately after the second block is an 'elseif' statement which needs to be edited to 'if'. So the '-- overgeneration' section should look like this:
Finally, a new thing to mention, to remove the pathlike clearings through forests, which i suspect crazyginger72 will not like, the '-- air above surface' section should be edited to this:
There are two blocks of code to remove, one in the '-- chunk generation' section and one in the '-- overgeneration' section, each block looks like this:
Code: Select all
elseif y > YSAND
and ((not wood and density < 0 and under[si] ~= 0)
or (wood and densitybase > trsand * 2 and densitybase < trsand * 2 + 0.002))
and (((n_patha >= 0 and n_xprepatha < 0) or (n_patha < 0 and n_xprepatha >= 0)) -- patha
or ((n_patha >= 0 and n_zprepatha < 0) or (n_patha < 0 and n_zprepatha >= 0))
or ((n_pathb >= 0 and n_xprepathb < 0) or (n_pathb < 0 and n_xprepathb >= 0)) -- pathb
or ((n_pathb >= 0 and n_zprepathb < 0) or (n_pathb < 0 and n_zprepathb >= 0))) then
if wood and math.random() < 0.1 then
local vi = area:index(x, y-2, z)
for j = 1, 16 do
data[vi] = c_wood
vi = vi - emerlen
end
end
for k = -1, 1 do
local vi = area:index(x-1, y-1, z+k)
for i = -1, 1 do
if wood then
data[vi] = c_wood
else
data[vi] = c_path
end
vi = vi + 1
end
end
stable[si] = 0
under[si] = 0
Code: Select all
elseif chunkxz and y == y1 + 1 then -- overgeneration
if density < 0 and under[si] ~= 0 then
if under[si] == 1 and nodid ~= c_path and nodidu ~= c_path
and nodid ~= c_wood and nodidu ~= c_wood then
data[viu] = c_grass
end
end
end
Code: Select all
elseif density < 0 and under[si] ~= 0 then -- air above surface
if under[si] == 1 and nodid ~= c_path and nodidu ~= c_path
and nodid ~= c_wood and nodidu ~= c_wood then
if math.random() < APPCHA * n_tree and y < YPINE then
riverdev_appletree(x, y, z, area, data)
elseif math.random() < PINCHA * n_tree and y >= YPINE then
riverdev_pinetree(x, y, z, area, data)
else
data[viu] = c_grass
if math.random() < FLOCHA then
riverdev_flower(data, vi)
elseif math.random() < GRACHA * n_grass then -- grasses
data[vi] = c_grass5
end
end
end
stable[si] = 0
under[si] = 0
Who is online
Users browsing this forum: Ahrefs [Bot] and 29 guests