Restore mapgen v5 ?

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

Re: Restore mapgen v5 ?

by paramat » Post

Run this as a mod (no trees though). mgv5 uses the mgv7 biome API (on request by hmmmm) so any biome/decoration registration code will run in both mapgens (and all future mapgens).
For some reason grasses, cacti and flowers appear although not registered as decorations, something to fix.

Code: Select all

minetest.register_biome({
	name = "normal",
	node_top = "default:dirt_with_grass",
	depth_top = 1,
	node_filler = "default:dirt",
	depth_filler = 2,
	node_dust = "air",
	height_min = 4,
	height_max = 207,
	heat_point = 50,
	humidity_point = 50,
})

minetest.register_biome({
	name = "beach",
	node_top = "default:sand",
	depth_top = 1,
	node_filler = "default:sand",
	depth_filler = 2,
	node_dust = "air",
	height_min = -128,
	height_max = 3,
	heat_point = 50,
	humidity_point = 50,
})

minetest.register_biome({
	name = "desert",
	node_top = "default:desert_sand",
	depth_top = 3,
	node_filler = "default:desert_stone",
	depth_filler = 128,
	node_dust = "air",
	height_min = 4,
	height_max = 207,
	heat_point = 90,
	humidity_point = 10,
})

minetest.register_biome({
	name = "rainforest",
	node_top = "default:dirt_with_grass",
	depth_top = 1,
	node_filler = "default:dirt",
	depth_filler = 4,
	node_dust = "air",
	height_min = 4,
	height_max = 207,
	heat_point = 80,
	humidity_point = 90,
})

minetest.register_biome({
	name = "taiga",
	node_top = "default:dirt_with_snow",
	depth_top = 1,
	node_filler = "default:dirt",
	depth_filler = 3,
	node_dust = "default:snowblock",
	height_min = 4,
	height_max = 207,
	heat_point = 10,
	humidity_point = 50,
})

MTDad
Member
Posts: 53
Joined: Fri Aug 29, 2014 05:38

Re: Restore mapgen v5 ?

by MTDad » Post

paramat wrote:...For some reason grasses, cacti and flowers appear although not registered as decorations, something to fix.
I've been working on a mod using the v7 biome registrations (basically like what you're using there) and I figured out where those grasses, cacti and flowers are coming from. Minetest_Game. If you check the water it is also putting clay out there.

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

Re: Restore mapgen v5 ?

by paramat » Post

Just discovered that too, it's an 'on-generated' function which should be tied to use of mgv6, otherwise it's running in singlenode, mgv5, mgv7 even when there's no default nodes placed.

Some sapling decorations for trees in mgv5, they take a while to grow though:

Code: Select all

minetest.register_decoration({
	deco_type = "simple",
	place_on = {"default:dirt_with_grass"},
	sidelen = 8,
	fill_ratio = 0.25,
	biomes = {"rainforest"},
	decoration = "default:junglegrass",
})

minetest.register_decoration({
	deco_type = "simple",
	place_on = {"default:dirt_with_grass"},
	sidelen = 8,
	fill_ratio = 0.0625,
	biomes = {"rainforest"},
	decoration = "default:junglesapling",
})

minetest.register_decoration({
	deco_type = "simple",
	place_on = {"default:dirt_with_grass"},
	sidelen = 8,
	fill_ratio = 0.04,
	biomes = {"forest"},
	decoration = "default:sapling",
})

User avatar
Enke
Member
Posts: 469
Joined: Fri Nov 15, 2013 02:56
GitHub: NANOsoldierEnke
IRC: Enke
In-game: Enke
Location: The internet

Re: Restore mapgen v5 ?

by Enke » Post

Man, I'm ready to see this. Is there a general time frame we can expect it?
Lush8
ExtraVars for Red Eclipse

<Anarchid> my turn was still the most awesome, yielding all the cripples, two captured paranormals, and death rate of about 30%
<ORCACommander> Anarchid: you need to work harder
<ORCACommander> I am hereby putting you under review until you can increase the casualty rate

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

Re: Restore mapgen v5 ?

by paramat » Post

Image


Mapgen v5 is now in 0.4.10-dev and a more recent commit has fixed the 'blobs' mapgen flag.
By default dirt/sand/gravel blobs are enabled, with lava blobs starting to appear just below sea level and reaching full density a few hundred nodes down. To disable dirt, sand, gravel and lava blobs add this line to your minetest.conf:
mgv5_spflags = noblobs
The only global mapgen flags that have effect in mgv5 are 'dungeons' and 'light', caves are currently compulsory as they are generated right at the beginning with base terrain (a better method i think).
If you are unfamiliar with the new MT mapgen system developed by hmmmm, base terrain and biomes are now separate and modular, so you can choose a base terrain (v5, v7, v8 etc) and add any biome system (ethereal, paragenv7, big freaking dig etc).
The biomes API is still in development by hmmmm and currently there are no default biomes defined in MTGame, so mgv5 and mgv7 appear as base terrain only: mostly stone and water. I'm working on default biomes for mgv5 and will be collecting/creating MT schematics for appletree, pinetree, jungletree.
'Get ground level at point' has not been coded yet and is now highest priority, this means you might spawn above water or underground trapped in stone, so disable damage in the menu before spawning. If spawning underground enable freemove and switch noclip if necessary.


Image

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: Restore mapgen v5 ?

by Inocudom » Post

Bad news:
Image
Something went wrong here. Seems to be due to either mapgenv5 or the mod simplev7.

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

Re: Restore mapgen v5 ?

by paramat » Post

Bad news for you maybe, that never happened during testing, was this soon after a game crash? that causes missing chunks.

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: Restore mapgen v5 ?

by Inocudom » Post

paramat wrote:Bad news for you maybe, that never happened during testing, was this soon after a game crash? that causes missing chunks.
That's the thing; the game never crashed. I have seen something like this happen once in the mapgenv5 that is in Voxelands, except for the fact that the water was not missing. Thing is, I have no idea how anybody could find and resolve an error like this. If you don't have any issues with this error, then you can just ignore it.

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: Restore mapgen v5 ?

by Inocudom » Post

I believe that the following mapgenv5 error found by me in Freeminer and Jordach in Minetest may be related to what is seen above:
From Freeminer forums:
--<Inocudom>--, post: 1515, member: 34 wrote:I came across the following glitch today:
Image
These two chunks will not appear no matter what. Even if I leave the map and come back, they still won't appear.
From Minetest forums:
Jordach wrote:So there's mysterious IGNORE like areas that MGV5 seems to make:

Image

Image
I think that the missing chunks and the IGNORE areas are related somehow. What do the rest of you think?

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

Re: Restore mapgen v5 ?

by paramat » Post

Image

^ Here i am at y = 47

Current unstable Minetest now has a simple 'overgeneration', extending 1 up 1 down beyond each mapchunk. This makes biome surface continuous at y = 47, although the full depth of the biome is still interrupted.

New player spawn is working and will spawn you at surface level at a low elevation, however as usual caves are not accounted for, you might fall into one.

I'm working on default biomes here https://github.com/paramat/minetest_gam ... mgv5biomes no trees yet i also need to create schematics for those.

MTDad
Member
Posts: 53
Joined: Fri Aug 29, 2014 05:38

Re: Restore mapgen v5 ?

by MTDad » Post

I wish you luck Paramat, I never got the biome system to give me results I was satisfied with in Simplev7, but you are both smarter than me and have a better understanding of its inner workings.

I had wondered if perlin noise would give better results than fill ratio, so I find it interesting that you've gone to that.

I did notice a couple things, and I apologize if you've already caught them;

You use default:sand for the fill for papyrus, but papyrus won't grow on default:sand, so imho that should either be changed to default:dirt_with_grass or the growth ABM for papyrus modified as that will be counter-intuitive for new players.

Don't forget the flowers! Since you blocked the "old" mapgen from working in v5 and v7 they'll need registered as well. :)

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

Re: Restore mapgen v5 ?

by paramat » Post

Heh yes flowers are coming soon, also i'm rethinking papyrus and will probably make it grow on dirt/grass, or maybe make it sit in the water. Please let me know your problems with the biome API, as i have been given the job of improving it, i am already planning to adjust heat/humidity noises to reduce the amount of tiny biomes, and plan to make those noise parameters player-adjustable through minetest.conf.

MTDad
Member
Posts: 53
Joined: Fri Aug 29, 2014 05:38

Re: Restore mapgen v5 ?

by MTDad » Post

Well you are the man for the job, as i found myself wishing the biome API behaved more like Paragenv7 while I was working with it, ie, more consistent and predictable. For lack of a better term its just too "fiddly". Incremental parameter value changes yield no visible changes over a wide range, until some threshold is crossed and drastic changes result. I'm sure if I understood C and spent some time studying the internal code I'd get better results.

Decoration distribution using fill ratio works well for simple items, but fails on schematics. I'm unsatisfied with the forests and jungles in Simplev7. Trees are in rows, there are large areas that should have trees, but for some reason don't, especially on hills. No amount of fiddling could seem to fix it. I've been meaning to try perlin noise instead, but wasn't sure where to start.

I like the idea of being able to adjust the noise parameters. Yes, the current noise produces far too many micro biomes, usually in clusters near mountains, with huge monster biomes between. Personally, I like an occasional microbiome to break up scenery, but not clusters of them.

edit. Just thought of something. With minetest_game gaining v7/v5 biomes, will there be a way to override/deactivate it for mods? Simplev7 will no longer have a purpose, but I'm thinking more of Ethereal. I'm not sure if there are any others that rely on minetest_game not having biomes. If not it seems like it could be quite a mess, or they'll have to become sub-games rather than mods.

and further edit. duh.. I'm half asleep. Seems like it would mess up paragenv7 as well, and I'm sure you realized that.

Jordach
Member
Posts: 4534
Joined: Mon Oct 03, 2011 17:58
GitHub: Jordach
IRC: Jordach
In-game: Jordach
Location: Blender Scene

Re: Restore mapgen v5 ?

by Jordach » Post

MTDad: BFD does not have issues with hilly areas failing to generate trees. Have you tried looking at /mapgen/mapgen.lua ?

MTDad
Member
Posts: 53
Joined: Fri Aug 29, 2014 05:38

Re: Restore mapgen v5 ?

by MTDad » Post

Jordach: Yes, I looked at BFD's mapgen, studying it and Ethereal's was how I learned to use the biome API :)

Actually, I do see the same things in BFD, it just doesn't stand out and look bad as there aren't open fields of jungle grass between the trees, which just looks wrong to me. Maybe I'm just picky, but here's a pic to show what I mean.

Image

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

Re: Restore mapgen v5 ?

by paramat » Post

The biome API is a little broken at the moment, needs improving, you'll find surface nodes are placed underwater if under an overhang or floatland. Biomes are chosen using a voronoi diagram (search it) of heat against humidity, make sure your heat/humidity points for each biome are roughly evenly spaced across the diagram, this helps to create similar sized biomes. I'll look at your code, decoration 'sidelen' should be set to 16 or 8 or 4 (finer resolutions use more processing so balance it), 80 is too low a resolution.

> With minetest_game gaining v7/v5 biomes, will there be a way to override/deactivate it for mods?

I'm tackling that issue now, currently newly defined biomes do not override the default ones, resulting in a mess only avoidable by creating a subgame instead. Although players know mgv7 and the biome API are unstable i want to minimse the breaking of mgv7 worlds and ethereal etc.

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

Re: Restore mapgen v5 ?

by paramat » Post

Yes your sidelens are 16 or 80, try 16 for the more scattered low density decorations like flowers, and 8 for trees and grasses.
Heat and humidity have a typical range of 0-100 (in no particular units) but often exceed that range, so you could spread out your biome points more such that the extreme points are out at around -20 and 120. Drawing your points on graph paper helps.

Post Reply

Who is online

Users browsing this forum: No registered users and 12 guests