[Mod] Rivers, paths and strata mapgen [0.8.0] [riverdev]

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

[Mod] Rivers, paths and strata mapgen [0.8.0] [riverdev]

by paramat » Tue Apr 29, 2014 05:45

Image


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.


Image


Image


Image


Image


Image
Last edited by paramat on Fri Apr 14, 2017 22:54, edited 32 times in total.
 

User avatar
Tom
Member
 
Posts: 50
Joined: Sat Dec 31, 2011 15:42
Location: France
IRC: Tom-s
 

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

User avatar
Krock
Developer
 
Posts: 3938
Joined: Thu Oct 03, 2013 07:48
Location: Switzerland
GitHub: SmallJoker

Re: [Mod] Rivers with tributaries [0.1.1] [riverdev]

by Krock » Wed Apr 30, 2014 13:44

Yes, that's a nice mapgen.
/me downloads.
Mod Search Engine - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>
 

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

Re: [Mod] Rivers with tributaries [0.1.3] [riverdev]

by paramat » Thu May 01, 2014 07:04

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.
Last edited by paramat on Thu Jul 17, 2014 17:47, edited 1 time in total.
 

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

Re: [Mod] Rivers with tributaries [0.4.1] [riverdev]

by paramat » Wed Jul 09, 2014 08:06

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).
Last edited by paramat on Mon Jul 14, 2014 05:58, edited 1 time in total.
 

User avatar
Daychilde
New member
 
Posts: 2
Joined: Fri Jul 11, 2014 05:07

Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]

by Daychilde » Fri Jul 11, 2014 05:10

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

User avatar
webdesigner97
Member
 
Posts: 1322
Joined: Mon Jul 30, 2012 19:16
Location: Bergisch Gladbach, Germany
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]

by webdesigner97 » Fri Jul 11, 2014 09:28

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)?
 

User avatar
Evergreen
Member
 
Posts: 2135
Joined: Sun Jan 06, 2013 01:22
Location: A forest in the midwest
GitHub: 4Evergreen4
IRC: EvergreenTree
In-game: Evergreen

Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]

by Evergreen » Fri Jul 11, 2014 12:17

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

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.
 

User avatar
Krock
Developer
 
Posts: 3938
Joined: Thu Oct 03, 2013 07:48
Location: Switzerland
GitHub: SmallJoker

Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]

by Krock » Fri Jul 11, 2014 15:26

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.

Yes, minetest.register_ore (or so..) is not used by all mapgens.
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
Mod Search Engine - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>
 

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

Re: [Mod] Ridges, rivers and paths mapgen [0.4.1] [riverdev]

by paramat » Fri Jul 11, 2014 18:19

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.
 

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

Re: [Mod] Ridges, rivers and paths mapgen [0.4.2] [riverdev]

by paramat » Sun Jul 13, 2014 04:24

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.
Last edited by paramat on Sun Feb 15, 2015 23:33, edited 2 times in total.
 

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

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by paramat » Mon Jul 14, 2014 06:09

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.
Last edited by paramat on Fri Aug 01, 2014 16:17, edited 1 time in total.
 

User avatar
webdesigner97
Member
 
Posts: 1322
Joined: Mon Jul 30, 2012 19:16
Location: Bergisch Gladbach, Germany
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97
 

User avatar
webdesigner97
Member
 
Posts: 1322
Joined: Mon Jul 30, 2012 19:16
Location: Bergisch Gladbach, Germany
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by webdesigner97 » Mon Jul 14, 2014 11:43

Ah, this is the kind of landscape I enjoy! I really want to build a dam here:

Image
Average chunk generation time: 600-900ms
Attachments
screenshot_1874820.png
Screenshot
(674.08 KiB) Not downloaded yet
 

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

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by paramat » Mon Jul 14, 2014 13:14

webdesigner97 wrote:Average chunk generation time: 600-900ms

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 :P
Clay should be easy to add, next version.
 

User avatar
webdesigner97
Member
 
Posts: 1322
Joined: Mon Jul 30, 2012 19:16
Location: Bergisch Gladbach, Germany
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by webdesigner97 » Mon Jul 14, 2014 15:36

paramat wrote:
webdesigner97 wrote:Average chunk generation time: 600-900ms

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 :P
Clay should be easy to add, next version.

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

User avatar
webdesigner97
Member
 
Posts: 1322
Joined: Mon Jul 30, 2012 19:16
Location: Bergisch Gladbach, Germany
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by webdesigner97 » Mon Jul 14, 2014 15:41

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:
Code: Select all
minetest.override_item("default:dirt_with_grass", {
   tiles = {"default_grass.png", "default_dirt.png", "default_grass.png"},
})
 

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

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by paramat » Tue Jul 15, 2014 02:45

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.
 

User avatar
webdesigner97
Member
 
Posts: 1322
Joined: Mon Jul 30, 2012 19:16
Location: Bergisch Gladbach, Germany
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by webdesigner97 » Tue Jul 15, 2014 15:40

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.

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.
 

User avatar
crazyginger72
Member
 
Posts: 69
Joined: Wed Jan 01, 2014 07:57
Location: gone to lunch
GitHub: crazyginger72
IRC: cg72
In-game: crazyginger72

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by crazyginger72 » Thu Jul 24, 2014 01:42

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!
 

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

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by paramat » Thu Jul 24, 2014 14:56

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'.
 

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

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by paramat » Thu Jul 24, 2014 19:38

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 ;)
 

User avatar
crazyginger72
Member
 
Posts: 69
Joined: Wed Jan 01, 2014 07:57
Location: gone to lunch
GitHub: crazyginger72
IRC: cg72
In-game: crazyginger72

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by crazyginger72 » Fri Jul 25, 2014 00:50

paramat wrote:crazyginger72 eh? 1972 is a special year for me ;)


Actually its my racing number got it randomly when i was 8-9 on my first racecar and its been with me ever since.
 

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

Re: [Mod] Ridges, rivers and paths mapgen [0.4.3] [riverdev]

by paramat » Fri Jul 25, 2014 20:48

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

Immediately after the second block is an 'elseif' statement which needs to be edited to 'if'. So the '-- overgeneration' section should look like this:
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

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

Next

Return to Mod Releases



Who is online

Users browsing this forum: Bing [Bot], ludwig-a and 8 guests