BIOME: I could really need some help with biome coding

Wow, thanks guys for mentioning me as some kind of expert in biomes :stuck_out_tongue: I’m not, but let me try to help.

You want less, but bigger mountains, so first increase your plains:

"plains_percentage": 40,

try maybe 80 as a value. This will be all areas without elevation. Everything else will be a mountain. Then to change the mountains you already figured out how:

"mountains": {
     "step_size": 25,
     "step_count": 7
  }

step_size is always multiple of 5 (else the game crash, unless you also mod the .lua files with all the math for the terrains, then it is even possible to make smooth climbs), and it is the vertical size in blocks of each layer of a mountain.
step_count is the maximum possible steps a mountain will have. With a lot of flat/plain areas, there will be not much space for mountains and they will hardly reach the maximum size, cause they need a large base. (I can’t remember if there is a limit to this value)
With 80% plains and 7 steps, you will get mostly 4 steps tall mountains. Less plain allow more room for the mountains to grow more steps.

By the way, those are just the rock part of the mountain, not the grass one which can be tuned at the foothills code.

You can tune how many foothills you will get before reaching the rocks. I think temperate has 3 layers of foothill each with 10 block high and desert has only 2 layers with 5 blocks tall.

The desert file is closer to what you want, so it is better to mod your biome based on that file. If you want grass, just change the colors (or copy the colors from temperate)

4 Likes

can I play your modded biome?

the mountains are great for defense, especially ones near lakes :heart_eyes:

1 Like

Shure! :relaxed:

I’ll make a MOD for it also, have a new one on the go to!

2 Likes

Hi! @BrunoSupremo :smiley:

Thank you for the The Archipelago MOD! ^^

-And thank you for posting! -It cleared allot of my confusion about the code.
I don’t know anything about the.Lua files yet though. :no_mouth:

Yeah, the desert is best for the basis of the Biome I’m aiming for.
-And I got some great results! -And some crazy ones too. :sweat_smile:

Changing the colors for dirt to grass did not appear to me (=
And I want the colors for the mountains to be in a gray/white shade.
-I will dig in and start changing the colors and terrain. (It helps, because I got the terrain shape quite right)…
Trees and bushes and such were the easy bit, but the mountains!? :confused:

A snap from the last change I made yesterday: :grin:

2 Likes

hey @Vargbane, thanks again for your biome mode.

now I can be more defensive and sell more sundials (70g each) (Settlement Decor mod) and buy more feathers and ores w/o the need of a shepherd and ruining the map.

btw, I add in some few pics and text to fill in the nulls.

1 Like

@Hunyo18

Great!
Nice background (=

I released the first version of my Anórian MOD now, you can check it out here :smiley:

1 Like

@Vargbane Maybe I should change the name to Tropics or Mountain Range?

I didn’t know Anorian was barren (don’t know the lore)

1 Like

I’m not sure either, but I’m thinking foremost of the Plennor Fields ^^

1 Like

@Vargbane Yeah, that pretty much answer my questions. Thank you for the feedback!
Now, we wait… :laughing:

I decided to reply here cause I don’t want to outshine your mod in your post

because I want to upload your prototype that I just add some minor pics.
Thank you very much for the prototype!
tropics_biome.zip (2.8 MB)

Edited:
I might have reduce the mountains height by 10 and add more vegetation growth. it was too high… :laughing:

1 Like

Nice!!

-And thank you for thinking about the post flow for my MOD :slight_smile: :+1:

I like your terrain background image, it reminds me of mid-autumn, my absolute favorite season!
And that’s what I have in mind for the biome :fallen_leaf: :maple_leaf:

It will be fun to see your biome progress to ^^

Can I have some help also?

How can I change the color map of water for just a specific biome?
@8BitCrab, @BrunoSupremo, @Vargbane, any thoughts?

2 Likes

The color seen in the map where you chose a tile to start? That is hardcoded in lua.

At the file:
stonehearth/services/server/world_generation/biome.lua

At line number 278:

   local color_map = {
      water = '#1cbfff'
   }

Change the hex color code to the color you want.

But doing this will change it to all biomes if the player has your mod, so you will also need to add a condition there to only change if the biome is selected…

In my case, I added I line to the biome json file with the color I want.
And in that biome.lua I read the json and get the color. If it fails (for example for default biomes that don’t have that new line in their json) it will then grab the default 1cbfff color.

3 Likes

That also helps but…

Not that, the color map for the water when in the actual world, like your past post were the water was red like lava and you were creating “canals” I think… I don’t remember.

how? :confused: sorry…

1 Like

In game water color is at:
/stonehearth/renderers/water/water_renderer.lua

Line 14:
self._face_color = Color4(28, 191, 255, 192)

It is an argb color code (red,blue,green,alpha).

That screenshot I made by editing the stonehearth file. Sorry :frowning:

The reason why is because even overriding the file, the game still calls the original from stonehearth mod. That was the reason that made me comeback to archipelago :stuck_out_tongue: I was stuck at it for too long in another biome and couldn’t get it to work. I will go try it again later after archipelago gets a little more polished.

1 Like

so pretty much basically is that I can’t make a custom water color for a specific biome unless I make a condition statement to detect the biome and change its water color in the lua…?

how about the palettes line in for example temperate biome
\stonehearth\data\biome\temperate.json

Line 45:
"palettes": { "spring": { "null": "#ff00ff", "unknown": "#25221a", "bedrock": "#514e45", "rock_layer_1": "#6B6860", "rock_layer_2": "#76726b", "rock_layer_3": "#82807b", "rock_layer_4": "#918d86", "rock_layer_5": "#b3b0aa", "rock_layer_6": "#c1c0bb", "rock_layer_7": "#c1c0bb", "rock_layer_8": "#c1c0bb", "soil_light": "#918154", "soil_dark": "#807147", "dirt": "#B3A16E", "dirt_edge_1": "#A29161", "grass": "#8BB270", "grass_edge_1": "#AFCC7C", "grass_edge_2": "#9DBF76", "grass_hills": "#75b370", "grass_hills_edge_1": "#99ce7c", "grass_hills_edge_2": "#87c076", "copper_ore": "#c87533", "tin_ore": "#b0a080", "iron_ore": "#90b0d0", "silver_ore": "#cccccc", "gold_ore": "#ffd700", "coal": "#021c24" } },

is their a way to insert the palette variable for water?

2 Likes

Yes. Else it will apply to everyone… :frowning:

No, cause the game never tries to get the water from there.
But, you can insert any thing in json files,and then mod the file that will read the json to “teach” it into reading your new line.

That’s what I did to change the water color (at least) in the world map. The water color for the map is hard coded, so I added one line there in the json with (e.g.) “water”:“#ff0000” and then override the .lua that had the hard coded water color to get the color from this new line instead. If it don’t find it in the json, (meaning you are not using that biome) I made it simple fallback and use the default color. This way it became compatible with multiple biomes.

3 Likes

yup, pretty much this is what I was thinking about, just gonna find a way to reverse-engineer the code… (back to the cave)

(comes back out and leaves a like :+1: then come back in again) Thank you!

1 Like

"palettes": { "spring": { "null": "#ff00ff", "unknown": "#25221a", "bedrock": "#514e45", "rock_layer_1": "#6B6860", "rock_layer_2": "#76726b", "rock_layer_3": "#82807b", "rock_layer_4": "#918d86", "rock_layer_5": "#b3b0aa", "rock_layer_6": "#c1c0bb", "rock_layer_7": "#c1c0bb", "rock_layer_8": "#c1c0bb", "soil_light": "#918154", "soil_dark": "#807147", "dirt": "#B3A16E", "dirt_edge_1": "#A29161", "grass": "#8BB270", "grass_edge_1": "#AFCC7C", "grass_edge_2": "#9DBF76", "grass_hills": "#75b370", "grass_hills_edge_1": "#99ce7c", "grass_hills_edge_2": "#87c076", "copper_ore": "#c87533", "tin_ore": "#b0a080", "iron_ore": "#90b0d0", "silver_ore": "#cccccc", "gold_ore": "#ffd700", "coal": "#021c24" } },

what’s the difference between soil and dirt?

1 Like

I did a test with the terrain_colors mod and the soil colors pertain to the sides of the hills. So my guess would be that the dirt might be the colors from the spots without grass that appear in the terrain generation.

Not checked 100% but the dirt colors were noticeably brighter compared to the soil colors.

1 Like

the map when choosing a settlement at the beginning or the world without the patch of grass?

1 Like