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

Mgv7 floatlands: No longer use 'mountain' noise for floatland mountains #9026

Closed
wants to merge 1 commit into from
Closed

Mgv7 floatlands: No longer use 'mountain' noise for floatland mountains #9026

wants to merge 1 commit into from

Conversation

paramat
Copy link
Contributor

@paramat paramat commented Oct 7, 2019

***** WIP. DO NOT MERGE.. Dangerous in current form. Now considering removing floatlands *****

To make mountains and floatland mountains independently customisable.
Use existing floatland 2D noises to create floatland mountains.
Make floatland areas cover a larger proportion of area and more
interconnected.
Make underside lower under floatland lakes to reduce water leaks.
Shape underside using an exponent.
Lower floatland lake surface so that game biomes can be lowered to
remove sand from floatland edges, also to create gently sloping
beaches even when next to a mountain.
Remove previous floatland mountain settings, add 2 new settings.
///////////////////////////////////////////////////////////////

screenshot_20191007_193608

^ Floatland mountainous area with much nicer 2D noise mountains.

nf11_quart_IND

^ 4000x4000 nodes. Decorations removed for clarity. Higher hills and mountains are chopped off only for the purpose of generating this area faster during testing

I realised i had made a mistake in existing floatland generation: 'mountain' noise was also used for floatland mountains. The ideal parameters for surface mountains are different from the ideal parameters for floatland mountains. Using 1 noise for both features reduced flexibility and meant tuning one feature would usually make the other feature unoptimal.

I was also unhappy with using those crazy 3D shapes for floatland mountains.
I realised that i could use the existing 2 2D floatland noises to create the floatland mountains.
Floatland mountains are now far more consistent with, and integrated into, the floatland base structure, instead of being randomly placed and intersecting by chance.

Note that floatland terrain is documented as being 'highly unstable'.
This change will cause a significant change in floatland terrain. Those already using floatlands in their worlds will need to edit the 2D floatland noise parameters in map_meta.txt to the new values for good results, i will make a forum post explaining what to do.
Floatland terrain is still unstable, but hopefully by 5.2.0 it can be announced as 'fairly stable'.

Floatlands now cover a larger proportion of area: A little under 50%. This makes them larger and more interconneced such that large areas can be accessed by walking and bridge making.
The floatlands are now deeper under lakes to reduce water leaks, in testing i only find roughly 1 leak per large lake, before there were several per lake.
Mountains can be up to roughly 250 nodes tall.

If merged this will require a small change to MTG biome definitions. due to lake surface being lowered for the reasons in the commit message.

@paramat paramat added @ Mapgen Maintenance Tasks to keep the codebase and related parts in order, including architectural improvements WIP Feature ✨ PRs that add or enhance a feature and removed Maintenance Tasks to keep the codebase and related parts in order, including architectural improvements labels Oct 7, 2019
@paramat paramat removed the WIP label Oct 14, 2019
@paramat
Copy link
Contributor Author

paramat commented Oct 14, 2019

No longer WIP and i am fairly happy with this now.

To test:

Enable floatlands in mgv7 in 'All Settings' menu or add
mgv7_spflags = mountains,ridges,floatlands,caverns
to conf.example.

Alter the floatland biome ymin/ymax values in minetest_game/mods/default/mapgen.lua L1626:

function default.register_floatland_biomes(floatland_level, shadow_limit)

	minetest.register_biome({
		name = "floatland_grassland",
		node_top = "default:dirt_with_grass",
		depth_top = 1,
		node_filler = "default:dirt",
		depth_filler = 1,
		node_dungeon = "default:cobble",
		node_dungeon_alt = "default:mossycobble",
		node_dungeon_stair = "stairs:stair_cobble",
		y_max = 31000,
		y_min = floatland_level,
		heat_point = 50,
		humidity_point = 25,
	})

	minetest.register_biome({
		name = "floatland_coniferous_forest",
		node_top = "default:dirt_with_coniferous_litter",
		depth_top = 1,
		node_filler = "default:dirt",
		depth_filler = 3,
		node_dungeon = "default:cobble",
		node_dungeon_alt = "default:mossycobble",
		node_dungeon_stair = "stairs:stair_cobble",
		y_max = 31000,
		y_min = floatland_level,
		heat_point = 50,
		humidity_point = 75,
	})

	minetest.register_biome({
		name = "floatland_ocean",
		node_top = "default:sand",
		depth_top = 1,
		node_filler = "default:sand",
		depth_filler = 3,
		node_dungeon = "default:cobble",
		node_dungeon_alt = "default:mossycobble",
		node_dungeon_stair = "stairs:stair_cobble",
		y_max = floatland_level - 1,
		y_min = shadow_limit,
		heat_point = 50,
		humidity_point = 50,
	})
end

@paramat paramat added the WIP label Oct 24, 2019
@paramat
Copy link
Contributor Author

paramat commented Oct 24, 2019

***** WIP. DO NOT MERGE.. Dangerous in current form *****

The extreme change in terrain caused in existing worlds can be dangerous if the parameters in map_meta.txt are not changed, it causes extremely glitched 'MC farlands' type terrain and vast volumes of water to fall to the surface world below.

The existing noise parameter 'mgv7_np_float_base_height' in the map_meta.txt of an existing world has values that cause the problems.
To avoid this i may have to make 'mgv7_np_float_base_height' no longer read and use a new noise parameter name for floatland base height. Will test this.

////////////////////////////

Uuurgh ... i somewhat regret adding floatlands to mgv7 now, especially ones with water as this is so dangerous to have up in the sky. Biomes have to be complex in MTG to work with these floatlands. It is all rather messy.

To be honest, what i personally want to do is remove floatlands completely from mgv7 and move on. Mgv7 is old and now default, the floatlands have never been anything other than officially 'highly unstable'. I prefer to work on waterless floatlands in newer or future mapgens which do not require complex biome code in games, and are less liquidly-dangerous.

To make mountains and floatland mountains independently customisable.
Use existing floatland 2D noises to create floatland mountains.
Make floatland areas cover a larger proportion of area and more
interconnected.
Make underside lower under floatland lakes to reduce water leaks.
Shape underside using an exponent.
Lower floatland lake surface so that game biomes can be lowered to
remove sand from floatland edges, also to create gently sloping
beaches even when next to a mountain.
Remove previous floatland mountain settings, add 2 new settings.
@paramat
Copy link
Contributor Author

paramat commented Oct 24, 2019

So, closing for now during consideration.

@paramat paramat closed this Oct 24, 2019
@paramat paramat deleted the newfloatlands branch December 20, 2019 22:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Can't add Feature ✨ PRs that add or enhance a feature @ Mapgen
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant