#Tree of Life

386 messages ยท Page 1 of 1 (latest)

maiden geyser
#

current version is preview still - models and colliders for lvl 3-7 are incomplete / missing. 8 to 14 work fine though!
still only for Folktails.
will add IronTeeth support next week.
hope i can manage to add Fruit of Life too (but animating the flowering is time-consuming..). kinda missing this wonder-aspect still.
wished i could fix some of the leafs and models too, but likely not before deadline. so this has to do for now.

#

current features:

  • can place a planting site that will tunnel some dirt to allow water to flow in (neeeded)
  • grounds and tree slowly level with time (20 days per level)
  • tree may die (and curse) - it can be revived at some minor cost, but will restart as seedling
  • grounds will add more decorations and spots for beavers to enjoy the tree
  • bigger tree gives bigger blessing (and curse)

starting from lvl 5/6 the tree provides some boost to plant and yield growth (faster).

#

biggest tree currently is 13x13 and 8 high. i kept it so you can put things below and reach those still.

tame sphinx
maiden geyser
#

had a look at it. really like it! going much further than my decorations or seasons mod - so many inspirations ๐Ÿ™‚

#

was really surprised to see you put out something this ambitious !

tame sphinx
#

Looks like my nature mod causes yours to crash when you try to place the tree of life for the first time. Worked when I turneed my mod off. Will investigate that. Do you have any harmony patches on creation of naturalresourcespec and such?

#

Also, I'm having trouble keeping the tree alive DamFT Is the path/entrance supposed to be under water too?

#

I tried putting the whole thing under water, but then it said it was flooded and also died

maiden geyser
maiden geyser
#

this should work. (if you dev-mode place it it might not work - just remove the tree and it will re-plant)

tame sphinx
#

I'll give it a try. Could it be that your mod misses the water if it's not there right from the start?

maiden geyser
#

i wonder. need to investigate it - there'e no tick between the exploding ground and planting, so it might not update terrain column

tame sphinx
#

Sorry, I tried the setup you suggested but it still said it was drying out.

maiden geyser
#

does it still say so when you dev-mode remove the tree?

#

(not the grounds, just the tree)

tame sphinx
#

ArgumentException: Can't set Timberborn.BlockSystem.BlockObject on Top, there should be null, but is Timberborn.BlockSystem.BlockObject
Timberborn.BlockSystem.WorldBlock.ValidateSetBlockObject (Timberborn.BlockSystem.BlockObject newBlockObject, Timberborn.BlockSystem.BlockOccupations blockOccupations, Timberborn.BlockSystem.BlockObject expectedBlockObject, Timberborn.BlockSystem.BlockObject currentBlockObject) (at <74787eac0ca943ee95196027c7cd41d6>:0)
Timberborn.BlockSystem.WorldBlock.SetBlockObject (Timberborn.BlockSystem.BlockObject newBlockObject, Timberborn.BlockSystem.Block block, Timberborn.BlockSystem.BlockObject expectedBlockObject) (at <74787eac0ca943ee95196027c7cd41d6>:0)
Timberborn.BlockSystem.WorldBlock.SetBlockObject (Timberborn.BlockSystem.BlockObject blockObject, Timberborn.BlockSystem.Block
... goes on for longer

Got this exception, same as before. I thought this was caused by my mod, but it wasn't on during this test.

#

was able to place the tree of life this time, and deleting the tree itself looks like it worked. It's green now and the ground say it's healthy

#

Got another exception right after that though, about empty spots being 0. I think maybe a beaver was trying to go in to use the building

maiden geyser
maiden geyser
#

did you place it very high up on the map?

tame sphinx
#

no, level 4 or so

maiden geyser
#

not close to an edge either? (not sure it would allow it)

tame sphinx
#

I don't think so. There was a water seep about 5 tiles out from the entrance, that's about it

maiden geyser
#

it not minds. it has much occupation on a 13-wide (15?) circle in 4 and 5m height, but only the 5x5 square on the ground level

#

i'll keep that in mind, but not sure i can reproduce it

#

if only there weren't sooo many odd situations that make it crash ๐Ÿ˜…
at least no breaking game updates in a while haha pmd

tame sphinx
#

I know what you mean ๐Ÿ™‚

maiden geyser
#
InvalidOperationException: No unassigned slots left out of total 0 at TreeOfLifeOccupier(Clone)
Timberborn.EnterableSystem.Enterer tried to enter.

hmm. indeed broken rn.. darn..

#

oh, looks like i forgot to update the blueprint. it indeed wants 1 spot when it has none. easy fix ๐Ÿ™‚

maiden geyser
tame sphinx
#

Good stuff, had no trouble building it this time and it looks like it doesn't take visitors in the first phase anymore

#

Is there a way I can speed it up to test the next stage?

maiden geyser
#

editing the blueprint

#

there's a DaysToMature for each level and the usual GrowthTimeInDays for the seedling

tame sphinx
#

Can I edit that directly on hd?

maiden geyser
#

not sure with steam (might sync it over?), but mod.io copy yes

#

hadn't had the time to make a dev-mode button to edit it. might make sense too, yet might be abused ๐Ÿค”

#

it's TreeOfLife/TreeOfLife.blueprint.json

tame sphinx
#

Got it, thx. How do the blessings work?

maiden geyser
#

simple area effect (need)

#

range and points-per-hour increase with level

#

the attraction below the tree gives the biggest effect though

#

should your tree die it will give a curse instead (same area, same strength) and the attraction will stop

tame sphinx
#

It seems pretty punishing, especially with it dying after 1 day of drought

maiden geyser
#

yep. planned to make it have significant replant cost (science points) too, but was convinced to make it just 50 per level (counting after mature)

#

maybe i played whitepaws too much ๐Ÿ™‚

#

to be fair: the seedling and early levels just take a little well-being and have almost no effect.

#

only the late tree curses are meaningful

tame sphinx
#

Out of curiosity: what is your goal for the curse, in terms of user experience design?

maiden geyser
#

annoy them

tame sphinx
#

lol fair enough then

maiden geyser
#

to make them replant the tree

#

i imagined the sad beavers walking past a dead tree they cared for and spend time with and it just felt wrong to not be mean a little

tame sphinx
#

Do with this what you will, but personally, I think I would enjoy it more if it scaled gradually. That is.. weak tree that grows quickly in the beginning and dies easily, then longer growth times and more drought resistant later. Otherwise I would just savescum or cheat to keep the tree alive, you know?

#

because you have to invest for such a long time to get it maxed out

maiden geyser
#

yeah, if i have time for it i might add that

#

originally i planned to make it a water seep from some level onwards. but not enough time i fear

#

(ignoring badtides of course)

maiden geyser
#

so given i still want 15 levels which is 300 days right now for full sized tree ..
and say 60 days for the last level it might work out from that.
on the other hand it's a normal growth rate as is looking at other trees, so not much faster for lower levels, like still 8-12 days for seedling to mature maybe

#

it should still be frail to die quickly.. so no more than 3 days even with later levels. player should care of them, not forget about it (which i do for almost any tree in game tbh, given how resilient they are).

#

now i have to tune that too.. it should be fun and feel right

tame sphinx
#

Sounds nice, I think that will definitely pay off

maiden geyser
#

so, i did adjust that to about this curve

LVL  Days TotalDays DryResist
 1     7    13         1
 5    13    54         2.1
10    31   150         3.6
15    53   358         5.2
20    99   749         6.3

so it will roughly take a year to reach the highest current level
and only grow range and plant growth boost more very slowly after

it will be a little more resistant to running dry too
but no more resistant to contamination

#

what i still debate is making it a water seep after a certain level. 10 maybe.

#

i want it to be a challenge too (well, no real hurdle i guess - just levee some and add a fluid dump and it's safe)

#

yeah.. little benefit in working as a water source itself..
yet maybe nice flavour? ThinkingFT can't decide ShrugFT

tame sphinx
#

I like it, I think this will work well. What's your motivation/goal with incorporating the water seep?

maiden geyser
#

making it spread moisture, making the drought proofing and resist contamination better - a seep would put some pressure against badwater
would give water for 10s beavers too

maiden geyser
tame sphinx
#

I think those sorts of flourishes are a good opportunity to make it more thematic.

#

So if you can give it a narrative meaning, that could really shine. If it turns into a water source itself, then it drives players to use the tree as a central point to spread life throughout the map, that makes perfect sense lore-wise.

maiden geyser
#

yeah, also it forces terrain all below too

tame sphinx
#

From that perspective, you could also consider forcing the player to build the tree on or near water sources

maiden geyser
#

spreading a growth boost to plants, giving some moisture to farm, shrouded in mist haha.
really needs the flowers and fruits now..

tame sphinx
#

growth boost works great too, yeah

maiden geyser
tame sphinx
#

true

maiden geyser
tame sphinx
#

I was also thinking about some ways that your work could interact with mine. The question could be: is the tree of life something that spreads life in the level, or does it flourish because there's life in the level?

#

Or both

maiden geyser
#

both kinda i guess

tame sphinx
#

You could say: if you turn the entire map green and lively, that empowers the tree to grow faster

maiden geyser
#

yeah, might be fun. for now the boost is disabled for any but seedling.

#

hmm.. wouldn't be difficult to add it though if there was an interface

#

currently there's a modifier component on any plant in my scriptpack that can boost growth, dry resist and yield growth

#

but can fetch modfier from somewhere else (like your mod) too if present

#

am doing that for timbercommons already

tame sphinx
#

Yeah definitely.

#

I've done some prep work to make my level analysis system easier to poll from outside the mod. Could be improved upon a bit more, but should be quite doable.

maiden geyser
#

all i need is a float exposed and maybe some EventHandler to attach to updates

#

hmm. just checking but my code not exposes the full thing easily either.
LevelingNaturalResourceGrowthEffect.Effect has the growth boost modifier delta of the tree.
and LevelingNaturalResourceGrowthEffect.NaturalResource.EffectRange for range (square range, 2d).

not sure that's very helpful - overlapping tree ranges don't add too, only max of either would be used.

maiden geyser
#

tbh i'm not a fan of the game using 2d range for anything, assuming there's no vertical terrain at all

#

well, i'm using game logic here too to conform with user experience. just not happy with it

tame sphinx
#

I'm using multiple layers to understand the world. First I do a full analysis of the surfaces of the whole map to find 'regions'. Then I divide those regions into chunks of 4x4, and those keep track of what the environmental conditions and objects within their area are. The regions are updated on event basis (terrain created, destroyed, etc), and the chunks are updated on a cycle divided over a number of ticks.

#

Long story short, your mod could read that chunk data directly and ask it what the local environmental conditions are for any tile. I don't really do map-wide analysis yet, but that would be easy to add, the raw data is already there.

#

Oh and I did do a bit of ground work into how tiles with different heights interact, but I haven't fleshed that out yet.

#

Short version is: if they're the same height, they're automatically in the same region. If they have 1 point height difference, they can be connected

#

you can take a look by the way, I added some visualizers for the system as debug overlays if you use alt+shift+x

#

let's you see the most important data that it's tracking

maiden geyser
#

sounds too much to look into before competion ๐Ÿค”

tame sphinx
#

yeah agreed

maiden geyser
#

will have a look into it after for sure, especially to see if seasons can shift some or take advantage of data (it's currently missing analysis features - only can tell if tile is rain exposed (i.e. air above))

maiden geyser
#

looks like making something a water source is a breaking change.. (the entity loader will crash if it wasn't a water source before!!)

#

now how to fix that.. darn.. is there no way but to deprecate the existing tree ??

#

oh.. i could harmony patch the load game part? maybe? hmmm

tame sphinx
#

what about clearing the tile below the tree and spawning a water source there

maiden geyser
#

oh, the source itself works fine

#

it's only the savegame must have a watersource entry or it will crash

#

new games work fine

#

but i want to continue my game.. so i will just harmony-patch the WaterSource.Load thing and ignore the crash (it's just devs not bothering to add the check)

#

happily spawning water here

#

(testing - final version wont have this until high level. want to indicate that in some way too.. hmm)

tame sphinx
#

It could also be really interesting if you made a special map with a hill in the middle, and your district center is the tree of life. The only water source is the tree, and you have to upgrade the tree to get more water.

maiden geyser
#

sounds fun, just not happy with maintaining map mods (got 3 maps broken for it and there's few playing them either way)

#

given i use specs for almost anything it would be configurable easily actually

#

including the level and water source strength curve

#

hmm currently it would take 19'701 days to bring it to level 48 with a full 0.5 source strength (the default value) haha

tame sphinx
#

how does the water factor into the growth?

#

you mean the more water it gets the faster it grows to the next level?

maiden geyser
#

the higher the level the more water it puts out

#

to make it not replace a water source too early

#

(since it resists weather effects)

#

growth is stronger for low levels and it's barely any increase later (after 500+ days)

tame sphinx
#

I hope you don't mind if I'm brainstorming a bit, but: have you considered flipping it? Meaning, as the tree gets bigger you have to feed it more and more water?

maiden geyser
#

it would need to consume the water..

#

dry out the world..

#

not sure about that direction. can't imagine it right now really

#

sure if it was a giant thorn out to dominate all

tame sphinx
#

I think it would work on a lore level: it's a really large tree, so it makes sense that it needs water to sustain itself. And it would add an interesting challenge for the player: How can you bring in water sources from all over the map to feed it while also managing the rest of your colony.

#

And the reward is that you get an awesome centerpiece for the colony that makes the beavers happy

#

It would motivate the player to form their whole strategy around how to feed it

maiden geyser
#

sure. slaves to the tree? HappyFT

#

would be a very different direction and likely more complex

tame sphinx
#

Haha I was thinking more like caretakers.

#

Anyway, I don't want to overstep or anything, I was just throwing some ideas out there.

maiden geyser
#

for now it is just a cozy decoration. it takes care to get the most out of it, but not very demanding or critical to settlement

maiden geyser
#

also want to add more depth to my seasons mod after the competition

#

so likely will keep the scope for this mod limited and let others use it if they want a challenge out of it

#

your feedback so far helped a lot to make it more fun i believe. now only need to add the models and colliders that it misses and hopefully a fruit to bring a grand finale to it

#

hmm. dry resist is off.
the water source messages are confusing too, but that's not for now

#

at least everything seems to work as intended - and it can't be abused easily to irrigate far-off parts of the map

#

oh. 80% is right here. it's 1.8 days vs 1.0 for seedling. alright

tame sphinx
#

You mentioned fruit a couple times by the way, what's the plan for that?

maiden geyser
#

i want to animate a particle system and make the attraction give out the fruit for the last level (14 currently, might add 15th maybe).
the fruit would be a one-time consumable boosting life expectancy (doubling?) and give some minor boost to speed, carrying and well-being maybe.

maiden geyser
tame sphinx
#

Awesome

maiden geyser
tame sphinx
#

Can't believe you were able to get all those secondary effects out so quickly tbh. I wasn't looking forward to prototyping all that for my own mod.

maiden geyser
#

it's mostly ready in game or made available in my scriptpack before, so it's only a few lines for each

#

would have taken days to make the ui parts and figure things out otherwise

tame sphinx
#

How close are you to a stable first version you think?

maiden geyser
#

currently working on colliders. than description texts and minor ui things.

#

it's pretty stable otherwise i would say

#

or well, ironteeth support is pending and i would like to add the fruits

#

3 more trees and 7 grounds models to supply with colliders WorkHardFT

#

why asking?

tame sphinx
#

I want to start a new playthrough to take my mod through its paces. Wanted to take your mod along for the ride if it's ready

maiden geyser
#

should be ready for that

#

at most i'll add something after >250 days in-game.

tame sphinx
#

no need to wait for the colliders and such?

maiden geyser
#

depends on if you want to select the tree or see the latest models haha

#

will be out in 2-3 hours i guess

tame sphinx
#

I'll wait then ๐Ÿ™‚

maiden geyser
tame sphinx
#

Awesome

maiden geyser
#

someone shared a weird one that might trigger with your mod and IronTeeth
about a random spawn causing this weird exception.

could your mod modify vanilla plants and one of them for IT be missing a spec?

08:05:30 Timberborn.EntitySystem.EntityComponent.Awake() failed after 00:00:00
First uncaught exception at 2026-05-18 08:05:30Z

InvalidCastException: Specified cast is not valid.

(wrapper castclass) System.Object.__castclass_with_cache(object,intptr,intptr)
Timberborn.BaseComponentSystem.ComponentCache.GetCachedComponents[T] (System.Collections.Generic.List`1[T] results) (at <8807fc8a26d2416385ac376bd4506f25>:0)
Timberborn.BaseComponentSystem.BaseComponent.GetComponents[T] (System.Collections.Generic.List`1[T] results) (at <8807fc8a26d2416385ac376bd4506f25>:0)
Timberborn.EntitySystem.EntityComponent.Awake () (at <099646c74f38481892231dd5408a5c9a>:0)
Timberborn.BaseComponentSystem.BaseComponentUnityAdapter.OnEnable () (at <8807fc8a26d2416385ac376bd4506f25>:0)
UnityEngine.GameObject:SetActive(Boolean)
Timberborn.TemplateInstantiation.TemplateInstantiator:Instantiate(Blueprint, Transform, BaseComponent)
Timberborn.EntitySystem.EntityService:Instantiate(Blueprint, Guid)
Timberborn.EntitySystem.EntityService:Instantiate(Blueprint)
MonoMod.Utils.DynamicMethodDefinition:Timberborn.BlockSystem.BlockObjectFactory.CreateUnfinished_Patch1(BlockObjectFactory, BlockObjectSpec, Placement)
Timberborn.BlockSystem.BlockObjectFactory:CreateFinished(BlockObjectSpec, Placement)
Timberborn.NaturalResources.NaturalResourceFactory:Create(Vector3Int, BlockObjectSpec, Boolean, Boolean)
Timberborn.NaturalResources.NaturalResourceFactory:SpawnNew(String, Vector3Int, Boolean)
Timberborn.NaturalResourcesReproduction.NaturalResourceReproducer:SpawnNewResources()
Timberborn.NaturalResourcesReproduction.NaturalResourceReproducer:TryReproduceResources()
Timberborn.NaturalResourcesReproduction.NaturalResourceReproducer:Tick()
tame sphinx
#

Yeah that could very well be. I'll have to test with Ironteeth some more.

#

That is.. you're posting this under Tree of Life but I assume you were addressing me?

maiden geyser
#

got the wrong channel ๐Ÿ˜…

tame sphinx
#

Did they mention what they were doing when it happened or post a player.log?

maiden geyser
#

i don't know where this is from. random occurance and might have vertical spreading enabled. that's all i know

tame sphinx
#

Maybe we're both doing harmony patches on the naturalresources stuff. Would you mind sending me your harmony patch code?

maiden geyser
#

i not have a copy of that code (forgot to add it to git) only a working copy of a partial refactor.

it does patch

[HarmonyPatch(typeof(NaturalResourceReproducer), nameof(NaturalResourceReproducer.MarkSpots))]
[HarmonyPatch(typeof(NaturalResourceReproducer), nameof(NaturalResourceReproducer.UnmarkSpots))]
AccessTools.TypeByName("Timberborn.NaturalResourcesReproduction.NaturalResourceReproducer"), "CanReproduceAtCoordinates");
AccessTools.TypeByName("Timberborn.NaturalResourcesReproduction.NaturalResourceReproducer"), "AnyNeighborMarkedForDemolish");

which are all bool and not interact with anything in the error.

#

essentially all it does is add "can-spawn-to-here" to vertical neighbouring tiles

tame sphinx
#

It doens't look like mine either. The stack mentions a patch to BlockObjectFactory.CreateUnfinished and I don't patch that.

maiden geyser
#

me neither

#

i think? maybe.. need to check

#

nope, none of my scripts either

#

might be morelogs though or something unrelated

#

any chance it might even try and reproduce a 'fake plant'? do they have a ReproducibleSpec even? (or are NaturalResource?)

tame sphinx
#

My mod does do some funny stuff to enable spawning flora that normally belong to the opposite faction. It turns off the gatherability and plantability. I spawn mangroves for folktails so that they can be cut down for wood, but not planted.

#

But I've tried to target it to only do that to the base game flora, not other mods'.

maiden geyser
#

a mystery ShrugFT

#

since it is a Awake call and does query all components that might be an issue if you remove some components through code. if you removed them in a blueprint that should not cause any issue

tame sphinx
#

I load a few cross-faction blueprints at the start and remove the components I don't want.

#

and I have a patch for naturalresource because it would NRE if it fails to find one of its components (GrowableSpec)

maiden geyser
#

this will take a while to level to 42 ThinkingFT

tame sphinx
#

lol is that by design?

tame sphinx
#

I made the biome scores asymptotic too actually. Nice idea that they can never really reach the max and there's always a bit of growth potential

maiden geyser
#

wanted to nerf the bonus on plant growth and range some for levels beyond the defined models (>360 days)

#

growth rates on those effects and especially range been a little strong with linear leveling

#

a lvl 50 tree can replace a full water source, cover a 60x60 chunk of the map with blessings and a ~40% growth boost

#

instead of 1'000 days it now only takes 24'191 days to reach this ๐Ÿ™‚ (~80 years in game!)

#

should anyone really want to they wouldn't get much beyond a 50% growth time reduction and double water source strength even if the tree covered all the map with range

tame sphinx
#

Awesomeeee

maiden geyser
#

in terms of vanilla game it should be possible to have the tree in lvl 15-20 range around time of wonder

tame sphinx
#

There are always players who just like to keep going infinitely. Saw a youtube video from someone who was a couple hundred cycles in

#

I'm quite excited to have your mod work together with mine. Feel like brainstorming about that a bit?

maiden geyser
#

maybe after competition. pretty busy this week still

#

would be fun to have some additional effects with both mods enabled. or with seasons too

tame sphinx
#

What state is seasons in, would you say? in terms of completion

maiden geyser
#

hard to say really. it's working more or less so i have it on usually and enjoy the visuals.
visuals are very rough though and need a major overhaul.

effects are very limited too, just global effects and some rain on exposed (top-most) terrain.
it can change how much water / contamination comes from sources, change plant growth / yield / dry times, wind speed, moisture.. hmm

#

would say the feature it has are 50-80% complete, visuals 50%.
what it needs is some balancing and minor adjustment for those.

#

what it really misses is what your biome system does - split world into regions and apply slightly different effects on those

#

that's completely missing still

#

i want it to emulate temperature for snow (high levels) and maybe extra desert level (low, exposed flats)

tame sphinx
#

Ah I see.. That's a toughie. For me it'd be most intuitive to try and fold that sort of functionality into my mod directly as additional biomes. But I imagine you might feel differently ๐Ÿ™‚

maiden geyser
#

yeah, that would make sense

#

would be nice to hook into it to adjust some seasonal modifier on your biomes and read out some visual indicators for my seasons.
would save me from writing a region mapping

tame sphinx
#

I have tried to make my mod extensible enough that other mods could add new biome definitions and behaviors, so you could use Keystone as dependency and make use of that.

#

Makes testing and bug tracking more complicated, but it's doable

#

But it would be easier if I add the biome definitions and you read them, I suppose

maiden geyser
#

yeah, i guess your mod not really would care about seasons - the effects it has already influence it enough

maiden geyser
#

beside having a snow-biome and maybe a desert-biome (hot + dry) would there be any interaction?
would your mod use a factor for "temperature" like that even?

#

if it had it would likely make sense my seasons would hook into it and shift values some. no reason for your mod to be aware of mine otherwise ๐Ÿค”

maiden geyser
tame sphinx
#

I don't currently feature the idea of temperature anywhere in my mod. It would fit, but would take a lot of work to adjust all the biome calculations so they take it into account properly. Also, Keystone is currently relatively fragile to radical changes in the environment. Which is by design to some extent. I want healthy biomes to quickly die off when they get badwater or contamination. But that weather mod that sporadically irrigates everything does have the potential to kind of mess things up

tame sphinx
tame sphinx
# maiden geyser what did you expect of the tree mod to interact?

Well I see the tree of life concept as a kind of symbolic representation of the land. So it represents how healthy the land is and also makes the land healthier at the same time. So one thing that would be interesting is if you added barriers to building the tree of life based on how green the environment around it is. And that would be easy to do with my mod. You could ask my data layer how many healthy biomes there are on the map and use that as a gate for growing the tree to the next stage.

maiden geyser
# tame sphinx Depends on whether we can have a clear model of where temperature is coming from...

i simply planned to make it height-dependend, like top-most 20% of map are below snow threshold
not yet had a good idea for heat sinks (i.e. a desert exposed to sun/ sky?). could work similar for lowest 20% of map to have increased evaporation & desert factor if exposed to sun.

either would adjust moisture basically (cold is wetter, hot is dryer) and plant growth (negative growth).

winter would shift this line downwards, summer upwards basically.

#

so shifting some snow- and desert-biome factor would be plenty here i guess?

tame sphinx
#

It would be a lot easier for my system to add snow/desert biomes based on local effects/modifiers than to have map-wide settings

maiden geyser
#

even if it was the height-value of the tile?

#

i mean increasing evaporation and desert levels on moisture calculation would work already for your mod to shift towards desert. might not need any additional feedback

#

just snow crawling down from the top .. i would still need a terrain map to transfer that onto your biomes?

#

or maybe i could add a harmony patch to inject it ๐Ÿค”

#

could expose a snow-factor too, per tile. but that would mean your mod had to be aware of mine. or i wrote the snow biome and added it. hmm

maiden geyser
#

what might work

tree could give biome boost with range itself. that might be easy and transparent.
dead tree would reverse that. all locally. (range being 5-15 tiles from tree - so likely little effect overall)

would be a player choice to place them close enough to wild areas still.

gate-keeping levels is a fun idea. i might add that if keystone is enabled.

tame sphinx
#

height value can easily be incorporated, yes. I think the main problem for me is that I don't have an efficient/elegant way of handling diagonal hills. My mod works well with reasonably large flat surfaces. It doesn't produce very good results with single tile planes. But that's something I could try to look into in a future version.

#

But if the biome values are derived directly from height, that's not a problem.

#

In my earlier message, the concerns I had were more about differentiating different areas of the map based on temperature or doing that for the entire map even. That would be trickier. Also because I've tried to make the most of the vanilla assets that I could reuse to decorate stuff. If we add a bunch more different biomes based on temperature, then making that visible and mathematically stable becomes more difficult.

maiden geyser
#

would agree on that. just going slightly towards big deserts growing cacti or bones or something might be fun.
same with sea biome or mountain top / snow biome for extreme height

#

keeping it simple often is most fun

tame sphinx
#

I know I ask this a lot, but: What is your design goal for the seasons mod? ๐Ÿ™‚

#

In particular the desert area?

maiden geyser
#

ambient effects mostly.
also some meaningful, but not too deeply altering shifts in game behaviour over larger spans of time

  • spring gives some faster growth (kits, plants) and weather is milder, more rain etc.
  • summer is dry, thirsty and water management is slightly harder. plantable areas shrink some
  • autumn brings in minor contamination to water, lots of strong rain and wind.
  • winter brings moisture, but halves plant growth and increases hunger - better stock up some before or it will be a challenge
maiden geyser
#

balancing rain would seem a major task on my side - to make it work better with your mod

maiden geyser
tame sphinx
#

Interesting. In some ways it makes the same type of changes to the game as Keystone does, but with a very different philosophy behind it. I think it would be very hard to combine them in their entirety, but some parts are compatible.

#

I definitely understand the argument of drought/water/badwater cycles becoming predictable. Seems hard to combine that with the idea that winter would make it impossible to build crops though. If they hit/combine at the wrong time, it can cause a big spike in game difficulty.

maiden geyser
#

yeah, that's the point where it's on me to balance the winter. 50% less growth is managable - and it's predictable when winter comes and how long it lasts.
if i manage to add the height-relative-snow-level it might become more fun i hope, as low levels would keep higher growthrates than high levels. the other way round in summer - low areas might dry faster than high areas.

#

if i can balance it well with keystone in mind it might have interesting effects on it too. given a season lasts for 104 days it should be fairly stable for that part.

tame sphinx
#

yeah, having rather long seasons does definitely help.

#

I really liked your idea about adding sea/ocean biomes by the way.

#

Think there's heaps of unexplored potential in that for the game as a whole

maiden geyser
#

volcanoes too ๐Ÿ˜‰

tame sphinx
#

ooh indeed!

#

That sounds like it should be a DLC

maiden geyser
#

working out 'native plants' (supported materials) to decorate the attraction with for both factions - why IronTeeth have so few flowers SadIT

tame sphinx
#

I use mostly the seedlings for decoration

#

they blend in more

maiden geyser
#

yeah, doing weeds / grass is easy that way

#

just: i want flowers! a meadow style! that's more demanding with just ironteeth somehow

tame sphinx
#

there are also plenty of free unity asset packs if you want to go that route

maiden geyser
#

but i can use spadderdock model and put some eggplant or coffee or vertex paint on them

maiden geyser
#

so IT will go with small corn and kohlrabi for grass - add canola flowers with a contrast of eggplant coloured spadderdock maybe

tame sphinx
#

Disagree! Attention to detail is what elevates these things from 'cool' to 'classic'. Go for it

maiden geyser
#

coffee-red is great too, just not too easy to use with flowers? hmm

tame sphinx
#

re-texturing is probably the easiest way to get more variation, yeah

maiden geyser
#
1.4
IronTeeth preview (full tree, limited attraction).
Fixed most of the attraction colliders.
Some cleanup on first half of attraction models.
tame sphinx
#

I've tested my mod together with yours and some others for the past few hours. I'm pretty happy with the results

#

I think they could both really benefit from being coupled. That is.. if we wrote it so the tree's progression is gated behind having enough healthy biomes in the level, that would work well on both sides. It would give players an active way to contribute to the growth of your tree, keep them engaged with it. And for my side, it would offer a concrete reward to them for building more healthy habitats throughout the map.

#

No pressure intended by the way, you mentioned you want to finish other stuff first ๐Ÿ™‚ Just thinking out loud a bit

maiden geyser
#

sure. will take time, but sounds fun.
decorations mod needs some overhaul too and could work nicely with this approach.
maybe can come up with some ideas to make seasons have more favourable impact on healthy biomes too.
so many options ๐Ÿ™‚

#

for now i got 3 days to finish this one..
doing some update on the missing ground building models (especially for IronTeeth) and a little cleanup.
kinda want to go furhter and have the fake plants go dry and dead too.
no time for the fruit yet. . too bad for that..

tame sphinx
#

reckon you'll have everything you want finished before the deadline?

maiden geyser
#

but maybe i can fake some and go without the animation / particle system for those? ๐Ÿค” that might work out.. just put a fancy box next to the grounds and magic some fruit into them.. hmm

maiden geyser
tame sphinx
#

you mentioned you were also working on decorating the grounds more?

maiden geyser
#

yeah, it's a split thing: there's a "building" that evolves as attraction that protects and plants the actual tree.
that part only has 80% of models for Folktails yet and 40% for IronTeeth.

tame sphinx
#

Well, I think it's a good call. It will go a long way to making it feel more alive

maiden geyser
#

feels too limited yet as it only offers real growth till lvl 6/7 while tree goes to 13

tame sphinx
#

not too bad, after a while the tree gets so big you don't see the ground anymore anyway

#

it pulls the most weight on the first few levels when the tree is very small

maiden geyser
#

i made sure it will have almost 4m below it free to access anything below it easily enough ๐Ÿ™‚

tame sphinx
#

as in, water sources?

maiden geyser
#

but agreed. from lvl 10+ it's secondary given the tree grows very wide from there

maiden geyser
# tame sphinx as in, water sources?

as in the trunk being almost 4m high for later levels and canopy only starting from there.
so while tree covers much from above, from the sides it's pretty nice to see and reach anything below still

tame sphinx
#

Oh I see. Yeah that's useful. Did you do anything with the terrain level chooser?

#

hiding the top of the tree?

#

tricky if it's one big model

maiden geyser
#

not yet... would need to make uncovered models for it.. and copy 45 collider definitions haha

tame sphinx
#

ugh :/

maiden geyser
#

not difficult, just will likely take 2-3 hours to do and test, so .. not seeing me do that before deadline

#

it's not that big anyway. not sure it's really needed ShrugFT

#

anyway: good night and WorkHardFT

tame sphinx
#

Likewise ๐Ÿ™‚

maiden geyser
#

oh, just got a nasty bug reported:

  • dying tree will spread curse to it's full glorious range!
  • reviving tree will reduce range back to seedling - and only clear curse from that area ๐Ÿ™‚
#

effectively meaning not more breeding allowed for all that enter the former range!

tame sphinx
#

yep that's harsh HappyFT

maiden geyser
#
1.4.1

+ tree now removes curse on full range when revived
  a major curse still takes up to seven days to lift for afflicted beavers
+ mist now clears on dying tree and vanishes on dead tree (lvl 10+)
tame sphinx
#

I see you changed the color on the growth bar to teal instead of red. That's great actually, otherwise it keeps giving the impression that something is wrong when it isn't.

tame sphinx
#

What do you think of letting players name the tree by the way ๐Ÿ™‚

maiden geyser
#

could be nice, but not yet know how to enable it

maiden geyser
#

hmm.. looks like my IT preview is not as stable as i wanted .. fix will be out later today..
(might crash on early levels due to misnamed need collection.. )

maiden geyser
#

todo-list for next two days:

* push fixes for ironteeth (testing now)
* add missing colliders (tree lvl 7 to 9) - looks like i lost them somehow ๐Ÿ™

  • fix missing ground models (lvl 7+ FT, lvl 5+ IT)
  • try and make ground plants die with tree
  • maybe extend dead tree colliders (lvl 4 to 9 โ€“ low priority)
  • maybe fix saturation issue of lvl 10-13 trees
  • maybe try and make tree give out a few logs / fruit per day

long-term:

  • add keystone features to gate tree levels with biome goals
  • add 14th model and flowering particles
  • leafcoats support
  • maybe other factions (whitepaws should work with folktails and emberpelts with ironteeht copy)
#

(just for me to keep track of what i'm doing)

maiden geyser
#
1.4.2

+ made revive 'button' more visible
+ hid level progress for dead tree
+ fixed lost colliders for tree lvl 7-9
+ fixed ironteeth crash
+ add a few more ground model updates (1-6 for folktails, 1-4 for ironteeth)
+ tried to avoid a conflict with Adaptors mod (wont be able to test this, but might work)
maiden geyser
#

looks like this is working - fake grass can turn yellow when tree isn't healthy ๐Ÿ™‚

tame sphinx
#

Oooh! that's excellent. how did you do that?

maiden geyser
#

selecting the named child of active model and setting ?.SetActive(bool) on them depending on tree health

#

and in timbermesh i grouped the plants under those tags #alive, #dying, #dead

#

simplified what plants do

tame sphinx
#

Ah yeah, that's how I do my biome flourishes too actually!

#

And the ground effect?

maiden geyser
#

ground is a building

#

that can plant a named template at a specific positions

#

so it can query if there's anything at that position

tame sphinx
#

Ah, so you're not changing how the ground tiles are rendered? You put something else over them?

maiden geyser
#

oh, that: the grounds have many models and iterate them depending on level

#

each of these models can have the plant children and toggle them depending on tree health - as part of the active model

#

yep, no terrain changed, just put something over the hole

#

there's a 2m water column below the tree (which floats in mid-air)

tame sphinx
#

Sounds like we're doing some similar things!

#

I was hoping you'd figured out how to change the water/terrain effects as well, I've been wanting to get into that but am a little scared ๐Ÿ˜›

#

Your decoration of the base looks nice by the way. When are you releasing the update you think?

maiden geyser
#

late tomorrow maybe. need to make the ironteeth flowers and the uv-mappings for dead and dying plants, fix some models still.

#

just made the script part ready for now to see if it was easy enough to put in still

tame sphinx
#

still 3 days left

maiden geyser
#

1,5 days technically ๐Ÿ™‚

#

implementing an inventory is complicated.. where does the serializer come from? .. so many things needed for it..

#

looks like it would need to be a workshop .. which is .. no fun..

#

oh. there's a SimpleOutputInventory used by farmhouse and flags! awesome ๐Ÿ™‚

tame sphinx
#

For the fruit I take it?

maiden geyser
#

hmm. works. gives logs each day. just .. i need to implement the visualisation and ui part too it seems... ๐Ÿ˜’

#

might manage the list in the panel. no chance for a small stockpile of logs / fruit crates for tomorrow though..

tame sphinx
#

For stuff like this I pretty much ask Claude AI to decompile the relevant code and dig through it. Usually comes up with a good solution that way. Fiddling at it from the outside, trying stuff, is very labour and time intensive. Do I understand correctly that you're trying to extend the clicked tree UI window to show not just the fruits it contains but also the icons of those fruits?

maiden geyser
#

oh, that ui part is simple, but takes some time. can copy & past it well from other describers

#

the tricky part is making a stack of crates and logs at the position and in the way i want them

#

within the model grounds

tame sphinx
#

Hmm.. dynamically spawn 3D objects on top of your tree/grounds model then? I think I would either add them to the base blueprint and hide them dynamically, or just work directly with Unity.

#

The animals I spawn in Keystone pretty much circumvent the whole BlockObject system and create free entities.

#

I suppose the former would be more elegant, but means you have to predefine the decorations.

maiden geyser
#

yeah, that's the plan

#

must be dynamically generated - i want to specify goods and locations from spec

#

there's logic for all the tricky parts, just the glue is missing

tame sphinx
#

hmm

maiden geyser
#

it's just a nice-to-have in the end. so it's gonna have to wait a day or two

tame sphinx
#

How are you feeling about your progress?

maiden geyser
#

unsure honestly. working too many things at once.
if i finish the last 5 ground models (mostly improving things) it's fine as is

#

just want the blossoming animation and good visualisation in still.. so will likely take a few more days to fix those

#

how about your keystone mod?

tame sphinx
#

I think you've done an amazing job, honestly. Am glad you went to the trouble, because I think it's a great fit for the game.

#

It's a funny thing, with the contest. On the one hand it's really fun to have some concrete reward to work towards, and I think it kind of connects the modders too as a community. And then at the same time it introduces deadlines and stress and competition.

tame sphinx
# maiden geyser how about your keystone mod?

I'm very happy with the result, I got a lot done and I think the result matches my original vision quite well. Fun fact actually: I put an official 'advertisement' post on Reddit this morning and it's been pretty much a combination of 95% enthusiastic responses, and 5% hate because I used AI for the banner ๐Ÿ˜„

maiden geyser
#

looks odd in unity ๐Ÿ™‚

maiden geyser
#

a year in the life of a tree (folktails edition)

#
1.4.3

+ finished ground models (12 stages)
+ added more spots for beavers to admire the tree
+ slightly more slots too, fitting an extra beaver for most levels
+ tree now provides logs from lvl 7 onwards
+ ground and tree level now match
+ ground decorative plants now wither and die with the tree

matching models for IronTeeth etc tomorrow.
tame sphinx
#

Doing great!

maiden geyser
#

contemplating ThinkingIT

#

contemplating team haha

#

kinda happy with this

#

did i spend too much time on the vase? sure! haha

#

hmm. just realised the UI doesn't tell how many logs / fruit it provides per day or that it drops them at nightfall...
good thing i tested it again

#
1.5

+ grounds now visualize inventory (logs, fruits)
+ adjusted saturation and value of tree models
+ grounds UI now shows inventory
+ added fruit of life (lvl 12+) as a good
  the blessing lasts a lifetime - only a major curse can take it away
  (sadly not enough time for the animated blossoming yet)
+ added remaining ground models to IronTeeth
+ added a flower vase to table
maiden geyser
#
1.5.1 added to grounds ui to inform about gifts
tame sphinx
#

I got a bug report tonight that Keystone and Tree of Life together caused an exception on startup. I haven't tested the combination in a while. Haven't gotten the chance to look into it yet.

#

It probably has something to do with the fact that we both mess with standard specs on tree blueprints though.

maiden geyser
#

i just tested it and it worked

tame sphinx
#

Ah great. Maybe it was another mod in his mod list then

maiden geyser
#

just found a odd issue with the game crashing when a beaver was trying to block a spot at the tree while tree leveled up and attraction ui was open ๐Ÿ™‚

#

i considered to ignore that one for now

tame sphinx
#

yeah, you're cutting it pretty close to the deadline ๐Ÿ™‚

#

I've been too scared to update my version all day, lol

tame sphinx
#

You know, I've kind of been assuming that the Tree of Life could only be built once... but I guess that wasn't actually your intention, was it?

maiden geyser
#

initially it was. just it made more sense to not restrict it

#

rather now it would make more sense to plant multiple as they produce opnly few fruit

tame sphinx
#

I see

maiden geyser
#
NOTE: due to an oversight in last minute changes the competition version of my mod will need AppendVanillaResources mod to load with IronTeeth
tame sphinx
#

maybe you should drop a line with Mechanistry by the way

#

They might be forgiving of an oversight that basically comes down to forgetting to list a dependency.

maiden geyser
#

nah, up to them. it's listed on the mod's page, it's listed here. it's a obvious and easy to fix crash (most people wont experience even)

#

doing more would feel bad