# Biomes

**URL:** <https://discourse.cataclysmdda.org/t/biomes/11027>\
**Category:** The Drawing Board\
**Created:** [December 3, 2015, 5:10am UTC](https://discourse.cataclysmdda.org/t/biomes/11027 "2015-12-03T05:10:35Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Frostwood](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/frostwood/32/112_2.png) [@Frostwood](https://discourse.cataclysmdda.org/u/Frostwood)\
**Post date:** [December 3, 2015, 5:10am UTC](https://discourse.cataclysmdda.org/t/biomes/11027/1 "2015-12-03T05:10:35Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jcd](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/jcd/32/338_2.png) [@jcd](https://discourse.cataclysmdda.org/u/jcd)\
**Post date:** [December 3, 2015, 9:20am UTC](https://discourse.cataclysmdda.org/t/biomes/11027/2 "2015-12-03T09:20:05Z")

</div>

for this you’d need to rewrite significant parts of mapgen code i think.

@vache should be able to elaborate.

---

<div class="post-metadata">

**Author:** ![Frostwood](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/frostwood/32/112_2.png) [@Frostwood](https://discourse.cataclysmdda.org/u/Frostwood)\
**Post date:** [December 3, 2015, 3:19pm UTC](https://discourse.cataclysmdda.org/t/biomes/11027/3 "2015-12-03T15:19:19Z")

</div>

[quote=“jcd, post:2, topic:11027”]for this you’d need to rewrite significant parts of mapgen code i think.

@vache should be able to elaborate.[/quote]  
not as much as changing other parts of the mapgen, the forest code is self-contained in place\_forest();, and in mapgen\_forest\_general.

Still trying to determine what dat.fill(8); does in mapgen\_forest\_general, it’s not really well documented(original code from whales), except in places where someone has add some extra stuff on top of the mapgen code(like special trees). I’m assuming it allows forests to generally just fade out if it is at the edge.

---

<div class="post-metadata">

**Author:** ![vache](https://avatars.discourse-cdn.com/v4/letter/v/ea666f/32.png) [@vache](https://discourse.cataclysmdda.org/u/vache)\
**Post date:** [December 3, 2015, 3:46pm UTC](https://discourse.cataclysmdda.org/t/biomes/11027/4 "2015-12-03T15:46:33Z")

</div>

I think the intent of the regional settings was to become a biome eventually, so I would recommend making “regional\_settings” the biome definition, and not add another object for it. You could make certain parameters optional in the json, and add things like the climate parameters, size guidelines, and biome transition settings as well.

One issue that I’ve noticed is that json maps have hard coded ground fill as dirt/grass. Replacing this with sand for a desert or snow/frozen ground for a tundra would be difficult without some sort of per biome translation that would be hard to maintain and hard to get right for things like flowers and trees. We might need to require mapgens have a biome attached to them and just have overmap terrains select mapgens specific to a biome or generic mapgens that are appropriate in any biome.

Also I would not worry about things like portals and special weather at the moment, I have a couple ideas for that that I’m looking to bring back soon.

---

<div class="post-metadata">

**Author:** ![Frostwood](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/frostwood/32/112_2.png) [@Frostwood](https://discourse.cataclysmdda.org/u/Frostwood)\
**Post date:** [December 3, 2015, 5:09pm UTC](https://discourse.cataclysmdda.org/t/biomes/11027/5 "2015-12-03T17:09:42Z")

</div>

[quote=“vache, post:4, topic:11027”]I think the intent of the regional settings was to become a biome eventually, so I would recommend making “regional\_settings” the biome definition, and not add another object for it. You could make certain parameters optional in the json, and add things like the climate parameters, size guidelines, and biome transition settings as well.

One issue that I’ve noticed is that json maps have hard coded ground fill as dirt/grass. Replacing this with sand for a desert or snow/frozen ground for a tundra would be difficult without some sort of per biome translation that would be hard to maintain and hard to get right for things like flowers and trees. We might need to require mapgens have a biome attached to them and just have overmap terrains select mapgens specific to a biome or generic mapgens that are appropriate in any biome.

Also I would not worry about things like portals and special weather at the moment, I have a couple ideas for that that I’m looking to bring back soon.[/quote]

The initial objective would be to just get the forest biome working. Json maps, I haven’t thought about yet.

---

<div class="post-metadata">

**Author:** ![pisskop](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/pisskop/32/1327_2.png) [@pisskop](https://discourse.cataclysmdda.org/u/pisskop)\
**Post date:** [December 3, 2015, 6:59pm UTC](https://discourse.cataclysmdda.org/t/biomes/11027/6 "2015-12-03T18:59:48Z")

</div>

I was going to post about how the biome is new england, but enh.

Id like to see a mapgen rewrite, honestly. Id love it if oceans made an appearance. Literally endless bodies of water that at some _distance out_ spawned cthulu to keep you from actually trying to cross them (and even aeventually a second landmass if you did. Endless and all.)

Those would of course be east and south, and mountains would start north and west, but that would be a slower process.

I know the current idea is endless and sandbox freedom, but it would go to creating an actual map and a feeling of actually being somewhere in a world if they existed. Factions could use both mountain and ocean, new structures could exist in them, and new monsters in both.

They wouldnt hve to be in every game, or even most, but they could be options added or a percentage chance added.
