Layers, and the 'Weird Biomes' Mod

This weekend I focused on finishing up the 'Layers' mini-feature and also creating a mod that would allow me to test not only layers but all other moddable components added so far. First lets talk a little bit about layers...

Layers are completely optional mod-dependent entities that can be added to a map pretty much in the same way as biomes but with some important differences. First, layers are completely abstract and can be used to represent pretty much anything that can be 'layered' on a map, from mineral deposits, to a specific animal species range, to even fantastical elements permeating the land. A layer, like a biome, can be constrained to appear only at certain altitude, temperature and rainfall ranges. Plus it can also be constrained by using noise parameters. This allows layers to be set to be more geographically "unique". Also, layers, unlike biomes, can overlap each other freely. So the presence of a particular layer on a cell will not be affected in any way by the presence of other layers on that same cell.

As of right now, layers have only one use which is to work as custom constraints on biomes. This means that a mod can now have biomes that can only be present on a cell if a particular layer or combination of layers are also present. Nevertheless, layers add a whole new set of custom terrain attributes which could be used in many other ways in the future: From determining the availability of specific resources to influencing the technological development of individual cultures and so on...

To test this new feature and other moddable features implemented so far for 0.3.3, I started working on a fantasy mod that I uninspiredly called "Weird Biomes". This mod introduces a bunch of new biomes and two layers that restrict how both the new and old biomes are distributed over a generated world. The two layers introduced in this mod are:

The "mycosystem". A layer that represents a unique ecosystem build entirely around fungi, from tiny molds to towering caps. The mycosystem is very resilient and, if the conditions are right, can completely take over large areas of terrain. Two particular biomes are dependent on it: The 'fungi' biome, which are lands where giant caps have taken over the place of trees, the ground is mostly overrun by sprawling molds, and spores fill up the air. Humans can inhabit and even thrive in those areas. Although, first they would need toadapt to this alien environment. The second biome, is the "black fungi", which is the result of the interaction between the mycosystem layer and the next layer...

The "necrosilica". A layer that represents vast areas of terrain with large concentrations of a unique, highly toxic material of unknown origin that poisons every biome that comes in contact with it. Under this layer, some unique variants of common biomes can show up: the 'crimson ocean', the 'red forest', the 'dark taiga', the 'scarlet desert', the 'cerise tundra', and the aforementioned 'black fungi'. These biomes are similar between each other in that they have very low foraging capacity and survivability. Human groups will have a very difficult time thriving on these biomes if at all.

Here are a set of screenshots of a world generated by combining the 'Base' and 'Weird Biomes' mods:









The first image shows the resulting biomes in a world on which both the 'mycosystem' and the 'necrosilica' layers are present. The purple land patches are where the 'fungi' biome is highly present; The red/pink/orange areas are where necrosilica-influenced biomes are present to varying degrees; Solid black zones are where both the mycosystem and necrosilica combine, allowing the 'black fungi' to be present. The second and third images use a new layer 'overlay' to show the spread of specific layers selected on the top-right.

As I said, I did all this 'Weird Biome' stuff not just to showcase my lack of imagination, but also to test the modding framework. Besides adding layers and biomes, I also added and modified region attributes and elements affected by them. With those I tested how cultures inhabiting the new biomes would name regions, tribes and individuals. Many bugs were found and squashed, and some parts of the code had to be expanded and tweaked to take into account some complexities that resulted from changing the base behavior using this rather simple mod.

Before declaring the work with layers done, next weekend I want to add one last thing which would be a specific tool to edit layers within the map editor. My expectation is that this is not going to be a big deal. Probably a day and a half of work (fingers crossed). And hopefully, finally, this time for real, move on and start working on event modding...