hessenfarmer
Joined: 2014-12-11, 23:16
Posts: 2646
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
Joined: 2016-10-15, 04:10
Posts: 2091
OS: Linux
Version: Recent tournament version
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
Joined: 2014-12-11, 23:16
Posts: 2646
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
Joined: 2014-12-11, 23:16
Posts: 2646
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.
only small speed up for iron. found barbarian to slow while doing and sped up as well.
anything else?
Top
Quote
|
|
|
Nordfriese
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
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
Joined: 2014-12-11, 23:16
Posts: 2646
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"
Top
Quote
|
|
|
JanO
Joined: 2015-08-02, 11:56
Posts: 177
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
Joined: 2014-12-11, 23:16
Posts: 2646
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
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
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
Joined: 2014-12-11, 23:16
Posts: 2646
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
|