Latest Posts

Topic: Frisian Balancing

hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2019-12-11, 20:04

Nordfriese wrote:

Oh. I just saw that the growth program has of course its own built-in remove=(chance) statement, so the additional remove=# statements in the bush programs are superfluous. Just remove them and the growth chances should go up drastically…

maybe. but not far enough I believe. especially on blackland there are vitually no bushes with a chance to survive. If you could provide me with a list of preferred world for each berry I can figure out proper values for our algorithm. we should have at least 2 bushes for every world with good probability (>90%)


Top Quote
WorldSavior
Avatar
Joined: 2016-10-15, 04:10
Posts: 2091
OS: Linux
Version: Recent tournament version
Ranking
One Elder of Players
Location: Germany
Posted at: 2019-12-11, 20:18

Additional idea: What about letting the berry farmer plant always the best possible berry, at least for the place which he chooses?


Wanted to save the world, then I got widetracked

Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2019-12-11, 20:26

WorldSavior wrote:

Additional idea: What about letting the berry farmer plant always the best possible berry, at least for the place which he chooses?

According to the code that should be the case. However there is a crux in the code. for each node the 6 best bushes are identified and then based on a weighted randomness one is chosen. so with one bush at 70% other around 1% we have a 25% chance of planting the wrong bush. And that is the good case. on a lot of terrains it is even worse then that. reason is the affinity values and the small number of different berry bushes. I learned that by myself just today.


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2019-12-11, 22:48

hessenfarmer wrote:

ok this is what I believe to be consensus

ok done most of it

to do

  • speed up honey bread bakery

only 5 sec slower then normal bread

  • eventually speed up mead brewery slightly

same sleep time as for beer 5 secs longer working time

  • make blacksmithy a small building with less input (would need a small graphics change from Nordfriese though)

canceled

  • make charcoal kiln a small building as well (graphics adaptation)

added sm all building only using logs and clay ponds (got the idea while implementing)

  • eventually make charcoal kiln a space consumer (only if Nordfriese can provide graphics for smoking coal stacks)

not using any space but ponds

  • reduce input of the aqua farm a bit

5 water 2 fruit now

  • harmonize timings of berry farms with collectors

not done needs investigation of growth prob first. however removed additional removes from work program

  • slightly reduce buildcosts for (smokery, reindeer farm, furnace, recycling center, large amor smithy, drinking hall

done. removed mainly bricks. sometimes added granite in exchange.

  • speed up furnace

only small speed up for iron. found barbarian to slow while doing and sped up as well.

anything else?


Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2019-12-12, 09:42

According to the code that should be the case. However there is a crux in the code. for each node the 6 best bushes are identified and then based on a weighted randomness one is chosen. so with one bush at 70% other around 1% we have a 25% chance of planting the wrong bush. And that is the good case. on a lot of terrains it is even worse then that. reason is the affinity values and the small number of different berry bushes. I learned that by myself just today.

How about implementing that the number of bush types is not hardcoded but only bushes with growth chances above a threshold are considered? like "plant=attrib:seed_berrybush min_chance:70"

Which terrains exactly needs significant berry growth improvements? If it´s only blackland, I could make another (fictional) shrub (most blackland trees are also fictional) with values optimized for those terrains by hessenfarmer


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2019-12-12, 10:04

Nordfriese wrote:

According to the code that should be the case. However there is a crux in the code. for each node the 6 best bushes are identified and then based on a weighted randomness one is chosen. so with one bush at 70% other around 1% we have a 25% chance of planting the wrong bush. And that is the good case. on a lot of terrains it is even worse then that. reason is the affinity values and the small number of different berry bushes. I learned that by myself just today.

How about implementing that the number of bush types is not hardcoded but only bushes with growth chances above a threshold are considered? like "plant=attrib:seed_berrybush min_chance:70"

needs to be thought carefully, as we are using code here that is also used for trees. However if we get to have 2 bushes suitable for each terrain, chances are very high that these get planted most of the time.
If we would fiddle with the code it makes more sense to get the saplingsearches attribute (or a similar) enabled for bushes as well.

Which terrains exactly needs significant berry growth improvements?

at least following terrains don't have berry bushes with high growth prob (>80%):
- summer mountain meadow
- All blackland terrains except hardlava and wasteland beach
- desert steppe
- desert meadow
- desert mountain meadow
- desert high mountain meadow
- desert forested mountain 1
- desert beach

If it´s only blackland, I could make another (fictional) shrub (most blackland trees are also fictional) with values optimized for those terrains by hessenfarmer

I also had this in mind and I have a candidate "Boscia foetida" face-wink.png


Top Quote
JanO
Avatar
Joined: 2015-08-02, 11:56
Posts: 177
Ranking
At home in WL-forums
Posted at: 2019-12-12, 11:49

If the growth-conditions are checked 3 times before the bush is adult, just reduce the pickiness for each later check. Plants have their hardest time when they are small, especially bushes. Maybe you could even give them a fifth or sixth growth-state, which makes it possible that the bushes plant their own offspring.


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2019-12-12, 13:03

JanO wrote:

If the growth-conditions are checked 3 times before the bush is adult, just reduce the pickiness for each later check. Plants have their hardest time when they are small, especially bushes. Maybe you could even give them a fifth or sixth growth-state, which makes it possible that the bushes plant their own offspring.

that is not how things are implemented. if we use the terrain affinity mechanism we have always the same values for each state change. what could be done as well is an intermediate between "grow" program which uses terrain affinity and transform program where we could set a probability for surviving at each state manually. However I'd vote for the terrain affinity.


Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2019-12-12, 13:08

Each growth stage has it´s own terrain affinity with 4 different values. They are currently unified for all 4 stages but this can easily be changed to have lower pickiness for older bushes.


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2019-12-12, 13:20

Nordfriese wrote:

Each growth stage has it´s own terrain affinity with 4 different values. They are currently unified for all 4 stages but this can easily be changed to have lower pickiness for older bushes.

you are right of course. I forgot that we could do so but this would change the values only slightly and won't fix the issue of the bushes.


Top Quote