Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default: New biomes, improve biome points #1022

Closed
wants to merge 1 commit into from
Closed

Default: New biomes, improve biome points #1022

wants to merge 1 commit into from

Conversation

paramat
Copy link
Contributor

@paramat paramat commented Apr 10, 2016

Add 'sandstone desert', 'cold desert', 'snowy grassland'
Rename 'glacier' biome to 'icesheet' biome
Rename non-swamp 'swamp' biomes to 'shore' biomes
Remove 'sandstone grassland' biome
Rename 'stone grassland' biome to 'grassland' biome
Edit biome points for improved similarity to Whittaker classification
Change 'tundra' to bare stone with snowblocks
Make dirt 'swamp' / 'shore' less deep
Make dirt blob ore biome-specific, limit to dirt biomes
Make mushroom noise spread match that of appletrees as originally intended, to have mushrooms spawn in darker thicker forest areas
Add coral reefs in warm oceans
Increase heat/humidity noise spread to 1000
Add bushes and acacia bushes
//////////////////////////////////////////////////

This PR code is currently out of date, this thread is for discussion, i will open a new PR when it's time to merge.

@paramat paramat added the WIP label Apr 10, 2016
@sofar
Copy link
Contributor

sofar commented Apr 10, 2016

Like the stone biome idea, even at sea level or much lower altitudes it could be a nice "niche" biome.

@p5yg3n
Copy link
Contributor

p5yg3n commented Apr 10, 2016

I think the very "top" (y = 128-144) should be mostly stone with maybe some snow/ice scattered, definitely no trees.

Like an alpine biome:
image

I'd use your current setup except drop every biome down a notch and then add alpine to the top.

Edit: Maybe for floatlands you could just repeat the pattern at a higher height.

@paramat paramat changed the title Default/mapgen: Add upper limits to forest biomes and trees Default/mapgen: Add alpine biome, progressive upper limits to biomes Jun 7, 2016
@sofar
Copy link
Contributor

sofar commented Jun 8, 2016

I like this, but I really wish that the border wasn't hardcoded at Y=N, but instead used a noise param :/

@paramat
Copy link
Contributor Author

paramat commented Jun 8, 2016

Yeah it's not ideal.

Meh i'm unsure about this again now. It's realistic but to make floatlands or upper realms playable involves adding another set of upper biomes, and all this is centred around a single choice of vertical scale, custom noise parameters and the different mapgens will create a variety of structures up to world top. For example mgfractal has mountains up to y = 1000, if the top 750 nodes are alpine that will get boring.

In a way having biomes 2D throughtout the upper world will be neutral and consistent whatever structures occur.

Alpine is still a good biome to add, maybe i can integrate it some other way, maybe beside the others instead of above.

@p5yg3n
Copy link
Contributor

p5yg3n commented Jun 8, 2016

Yeah it would be perfect if you could do it without registering a hundred+ biomes.

Also it would be better if once it hit alpine it went reverse instead of just repeating.
So it would go from hot-wet to cold-dry back to hot-wet and so on.

@paramat
Copy link
Contributor Author

paramat commented Jun 8, 2016

Looking at this another way, the fact is that in a Minetest world, heat and humidity vary only in 2D, forcing biome changes with height is inconsistent with this. For example it would be possible to 'get heat' and 'get humidity' at a certain point and the results could be hot and humid (rainforest) but the actual biome at that point has been forced by this PR to be alpine. This would obviously be unacceptable. If biomes change with altitude it would have to be by actually changing heat and humidity noise values with altitude.

Here's our current biome system:

biomesgreyflathalf

I created the biome system inspired by this site http://www.blueplanetbiomes.org/world_biomes.htm
You can see our only significant omission is alpine biome.

@sofar
Copy link
Contributor

sofar commented Jun 8, 2016

This is maybe getting offtopic, but if we would add a 3rd mapgen dimension this could integrate nicely. A pressure value could be used as the third dimension, and the value for pressure could be derived from terrain height with an added relation to elevation.

@paramat
Copy link
Contributor Author

paramat commented Jun 8, 2016

Hmmmm has reworked the biome code so that multiple biome managers are possible, apparently it is possible to have multiple systems, some could be 3D.

@0-afflatus
Copy link

If biomes change with altitude it would have to be by actually changing heat and humidity noise values with altitude.

I'd like to be able to weight heat and humidity along all 3 axes, this is an engine issue, can we open up a discussion there?

@paramat
Copy link
Contributor Author

paramat commented Jun 9, 2016

Go ahead that's possibly a good option to have, and the correct way to change biome with altitude, that way the horizontal biome boders would not be straight either. This method would then place alpine above glacier, which is correct.
An option for settable fall for each of heat and humidity with altitude could be good, measured from water_level and with a default of 0. They would need to be new biome parameters and stored per-world in map-meta.txt.
Hmmmm and i have talked about changes to heat and humidty along X and Z but we were not keen on this. Vertical change alone will be complex enough and much more useable.

@0-afflatus
Copy link

Let's continue this part of the discussion in minetest/minetest#4205

@paramat paramat changed the title Default/mapgen: Add alpine biome, progressive upper limits to biomes Default/mapgen: Add stony (unrealistic alpine) biome Jun 14, 2016
@paramat
Copy link
Contributor Author

paramat commented Jun 14, 2016

Updated to do this:

So for this PR i think i'll just add the obvious omission of alpine biome, but place it alongside the others, it could be the dry partner to glacier biome but at the same temperature (heat = -5, humidity = 35) then glacier could be moved to (heat = -5, humidity = 65).

Removed progressive upper limits for biomes.
Updated first comment.

@paramat paramat added WIP and removed WIP labels Jun 15, 2016
@paramat
Copy link
Contributor Author

paramat commented Jun 21, 2016

WIP. I'm considering adding more biomes, such as a stony desert. It would be better to add multiple new biomes at one time, so will work on this for longer.

Mgv6 had red stone desert at higher altitudes, i am also considering adding sandstone into desert somehow.

@paramat
Copy link
Contributor Author

paramat commented Jun 21, 2016

screenshot_20160621_060729

Just experimenting with sandstone desert, here i'm using top/filler to add a rough strata.

@paramat paramat changed the title Default/mapgen: Add stony (unrealistic alpine) biome Default/mapgen: Add stony biomes Jun 21, 2016
@paramat paramat added this to the 0.4.15 milestone Jul 22, 2016
@paramat
Copy link
Contributor Author

paramat commented Jul 24, 2016

Stony sandstone desert has an amazing vibe so i am keen to add that, this way we do not lose the stone desert present in mgv6.

I am considering removing sandstone grassland, this was only added to make the voronoi diagram behave, by adding sandstone desert and moving a few things around we might be able to cope without it. Of course then the stony sandstone desert will provide a sandstone biome.

Another change will be to rename 'glacier' to 'icesheet'.

@paramat paramat changed the title Default/mapgen: Add stony biomes Default/mapgen: Various biome system improvements Jul 24, 2016
@paramat
Copy link
Contributor Author

paramat commented Jul 25, 2016

precipitationtempbiomes

Our biome system is also inspired by this, Whittaker's biome-type classification.
Subtropical desert and cold desert undercut the temperate biomes, which makes what i want to do possible on the voronoi diagram.

@paramat
Copy link
Contributor Author

paramat commented Jul 25, 2016

biome-graph

^ In this diagram it is clear that temperate grassland runs into savanna (tropical grassland) and cold desert undercuts temperate biomes. By moving stuff around i think i can recreate these 3 horizontal swathes (forest, grassland, desert) Sandstone desert could become our temperate desert.
This will also make grasslands smaller, instead of them having 2 biomes-worth of area, the endless grasslands have been a little unpopular.

@paramat paramat changed the title Default/mapgen: Various biome system improvements Default, flowers: Add 'alpine', 'sandstone desert' biomes Jul 29, 2016
@paramat paramat removed the WIP label Jul 29, 2016
Rename 'glacier' biome to 'icesheet' biome
Remove 'sandstone grassland' biome
Rename 'stone grassland' biome to 'grassland' biome
Edit biome points for improved similarity to Whittaker classification
Re-order and clarify biome registrations
@paramat
Copy link
Contributor Author

paramat commented Aug 6, 2016

Further research, Alpine is actually a subtype of Tundra, these could possibly be combined.
Looking at the diagrams above it's clear that grasslands appear under taiga, and tundra is colder, so we could have 'snowy grassland' replacing our tundra.
For some variation of appearence it might be good to add permafrost nodes and a browny mossy upper surface to tundra, so it doesn't just look like more grassland.

@paramat paramat added the WIP label Aug 21, 2016
@paramat
Copy link
Contributor Author

paramat commented Aug 26, 2016

Yes, but to create a large area of shallow water involves adjusting terrain height, we can't do that per-biome because unlike MC, biomes do not affect terrain.
For us then swamps occur as narrow coastal areas.
I can make jungletrees appear in deeper water though which would make them larger.
Mgv7 does create large shallow water areas so large swamps would occur sometimes.
I'm not keen on making swamp a seperate biome though as they are not defined by heat and humidity, they are things that happen within biomes.

@MarkuBu
Copy link
Contributor

MarkuBu commented Aug 26, 2016

Ok, I understand

@paramat
Copy link
Contributor Author

paramat commented Oct 7, 2016

If mgv7 floatlands are added we will need to add suitable biomes, dependent on whether the floatland flag is set in mgv7.

My current thoughts for ground level tundra is to make it bare stone with snow, no new nodes needed.

@paramat
Copy link
Contributor Author

paramat commented Oct 11, 2016

newbiomes9

^ Version 9

Horizontal - Temperature
Vertical - Humidity

ICE Icesheet
TAI Taiga
COF Coniferous forest
DEF Deciduous forest
RAF Rainforest

TUN Tundra
SGR Snowy grassland
GRA Grassland
SAV Savanna

CDE Cold desert
SDE Sandstone desert
DES Desert

@paramat
Copy link
Contributor Author

paramat commented Oct 19, 2016

mapnb9

1:10th scale test of version 9 (see above), so this represents a 20000x20000 node area.
Altered colours for clarity, seems fairly well balanced.

@paramat
Copy link
Contributor Author

paramat commented Oct 19, 2016

mapc9

Corals in blue.

@sofar
Copy link
Contributor

sofar commented Oct 19, 2016

That looks fairly decent, not too common.

@Fixer-007
Copy link
Contributor

somewhat rare tbh

@twoelk
Copy link

twoelk commented Oct 19, 2016

I like that 20k^2 map. might make a carpet of it or a texture :-D
It indeed looks fairly well balanced, which is good but can easily be boring. Maybe there should be a certain chance for maps that are a tiny bit of balance. I would love to now or then come along a map that does not have the same ratio of every biome within say one kilometre. I always liked maps that had large lakes that where worth of a large ship or deserts that where a challenge or mountain ridges that where indeed an obstacle that one could not just go around but tried in ernest to block the way.

Don't get me wrong, I like the development here and am rather excited about some of the changes to the biomes system - but to the real explorer the real challenge is when you succesfully cross an obstacle that was worth crossing because it was a challenge to do so. Also I don't know why we generate "random" maps if they all look the same from a certain distance and seldom have a feature that sets them appart from the others and makes at least some maps unique and recognisable. Is this really the job of mods alone?

So while the well balanced map should be the norm, as in it doesn't matter where you spawn every resource is always within a reasonable reach, maybe 20% or so could be maps where certain biomes or group of biomes rule with others being blotches in them. The type most often asked for would probably be the ocean with islands, so a map where all other biomes stay blotches while the water biomes partly interconnect to form larger and also very large single type biomes. Another interesting candidate might be the desert biomes that would make communities of other biomes into oasis in a barren surrounding landscape. I would surely add the stone biomes to the deserts here. As most savannahs, prairies, pampas or steppes usually populate places with a rather gentle contour, a world dominated by such biomes might become the favorite for city builders.

Oh well, old arguments for old ideas. I guess I simply miss the fun I had with certain mc maps or the old late Archipelago mod.

Maybe it would be better if we had a simple setting or better a dropdown menu somewhere where you could choose a dominant biome or better group of biomes such as water or desert or cold or grasslands or woodlands or whatever other grouping might be usefull

@paramat
Copy link
Contributor Author

paramat commented Oct 19, 2016

Don't worry, while it's balanced over huge areas, more locally there is inherently a lot of variation, sometimes particular biomes can be 1000s of nodes away, and you can see biomes can get as big as 1000 nodes across. Looking at these huge areas i have even noticed a change in biome rarity over a 10000 node scale.
To introduce larger scale variation would need 2 more biome noises, and would risk creating areas without forests that are too big for playability. Currently it's possible to search for a jungle (for cotton seeds) and have to travel several 1000 nodes.

@paramat
Copy link
Contributor Author

paramat commented Oct 19, 2016

However, now we have more biomes we need to increase the noise spread of heat and humidity to avoid tiny biomes or hot and cold biomes being too close, it was 1000 for a while but there were many complaints of being stuck in endless grasslands without wood. Now there will be wood in bushes and grasslands are smaller so i think we can return to a nice number like 1000.

@paramat
Copy link
Contributor Author

paramat commented Oct 27, 2016

screenshot_20161027_051700

Distribution needs tuning of course, but bushes are a nice addition.

@paramat
Copy link
Contributor Author

paramat commented Oct 28, 2016

Fairly up to date work on new biomes is present in the form of a mod https://github.com/paramat/newbiomes
This includes all changes mentioned in the first post.

Shall we place the generic bushes in deciduous forest too?

@sofar
Copy link
Contributor

sofar commented Oct 28, 2016

@paramat yes, I'd be for that. It'll make some spots denser, which is good for variety.

@paramat
Copy link
Contributor Author

paramat commented Oct 29, 2016

Yeah will try it.

@paramat
Copy link
Contributor Author

paramat commented Nov 23, 2016

screenshot_20161123_004034

screenshot_20161123_004631

^ Examples of typical bush distribution over a large area, and maximum density

I have used noise parameters to have bush areas being one third of biome area, and mostly in low densities. Noise 'spread' has been set to 100 so that a few bushes are usually found somewhere in each grassland biome, in order to provide a little wood for tools when a player is spawned a long distance from forests.
The generic bushes are also found in deciduous forest.
How does this seem?
@sofar

@paramat
Copy link
Contributor Author

paramat commented Nov 23, 2016

screenshot_20161123_002501

^ Sandstone desert biome

Currently has no decorations at all, because no fine material, but should it have a few dry shrubs placed on the stone? I'm not sure, it's quite stunniing being in a completely barren stony biome.

If the bush distribution and sandstone desert is okay then the new biome system is ready for merge.

@paramat
Copy link
Contributor Author

paramat commented Nov 23, 2016

You can test the whole system by running this mod https://github.com/paramat/newbiomes

@obneq
Copy link

obneq commented Nov 23, 2016

one longstanding irk of mine is that biomes are 'flat', when in reality there do exist different levels of alpineness, desertness, hillyness etc. also for various gameplay ideas it would be very useful to be able to specify biomes within biomes, ore just being able to have some sort of guarantee that some sort of desertII biome is entirely within a desertI one.

@rubenwardy
Copy link
Member

I'm quite positive about this - more biomes helps with variety and encourages exploring (which I believe should be a part of MTG's aims)

@paramat
Copy link
Contributor Author

paramat commented Nov 24, 2016

Trying to improve sandstone desert. I can make areas of this biome have a sand surface, by setting filler_depth = 0 and allowing the filler noise to make filler_depth positive in half of the biome. Dry shrubs then spawn on the sand. The areas of sand are blobs of 2D noise defined by the filler_depth noise, so they do not have biome blend edges.

The alternative is to give the whole biome a sandy surface, i'm unsure which is best.

screenshot_20161124_022319

screenshot_20161124_022607

screenshot_20161124_024452

@tenplus1
Copy link
Contributor

Looking good...

@paramat
Copy link
Contributor Author

paramat commented Nov 27, 2016

So i've decided on a thin layer of sand on all of sandstone desert, it just looks so good.
Soon i'll make the new PR for this.

@paramat
Copy link
Contributor Author

paramat commented Dec 1, 2016

Here's the PR #1432

@paramat paramat closed this Dec 1, 2016
@paramat paramat removed the WIP label Dec 1, 2016
@paramat paramat deleted the biomelimit branch December 3, 2016 04:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.