A rather rough idea for biomes. Currently you get three types of terrain(rivers not withstanding), forest, field and swamp. My idea would be to replace the forest-chunk system with a biome.json system, in which people can easily add their own biomes in.
A rough biome.json is outlined below:
[(regional settings)
num_biome_chunks : 250 //replaces forest_chunks
]
biome.json
[
id: “b_forest”, //b_ should be before every biome name, like f_ for furunature and t_ for terrain.
type: “BIOME”, // new type of biome category
biome_size_min: 10,
biome_size_max : 40
biome_weight : 500 //chance of the biome appearing
ground_base : [[“t_dirt”, 100], [“t_grass”, 10]] weighted ground cover
terrain_overlay_coveage: 2 // as a 1 in x number in this case one in two overlayed on-top of the base ground
default_terrain: “t_tree”,
special_terrain_groups: [
[“t_tree”, 100],
[“t_tree_young”, 50],
[“t_tree_apple”, 10] etc
] //weighted list of what plants appear
weather : {
humidity : 0 // modifies the baseline humidity i.e, less humidity for deserts and dry plains
pressure : 0 // modifies the baseline pressure
temperature : 0 // modifies the base temperature, swamps would be cooler due to anti-greenhouse effects from the methane.
(2)special_weather : [“WEATHER_FLAG”] // any type of special weather unique to the biome for a later pr
}
(2) centre_special_terrain: “acid_portal” // special-prebuilt terrain using jsons-(ice portal for icy-type biomes, acid portals for acid biomes).
]
*(2) made available in a seperate pr.
There would probably need to be added a native_biome:true/false, so that biomes occurring outside of the New England area would be initialized through an option in the settings.
Initial pr would just be concerned with replicating forest/swamp spawning(the map in initialized as a field as default).
Questions I have would be where would I load the biome.json, because it would need to be utilized by both the overmap and mapgen. I’m not really good at explaining things so hopefully my insane rambling makes sense.