New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Update performance helptext for farm-like buildings #6362
base: master
Are you sure you want to change the base?
WIP: Update performance helptext for farm-like buildings #6362
Conversation
Mirrored from Codeberg
I'm clearly for this.
Why? It's actually harder to make sure farmers can't use the farther fields than the closer ones. Don't forget that farms are big buildings, blocking 4 fields themselves, plus the flag. Most farms also have a workarea radius of only 2, which is measured from the main field of the building, but the worker always goes first to the flag, so this is much worse for farms than e.g. foresters.
IIRC I've presented the possible worst and best cases (also considering number of growing fiels needed for 100% performance) in the other PR's discussion, and they were different.
I can't see how anything else could affect this... How do the times from the |
Mirrored from Codeberg Adding image of number of steps here, as I didn't do it properly first time (still learning how to use codeberg)
I understand your point. My first impression when starting playing widelands was, that I should leave as much as possible free fields near farms, to have best production. Blocking some of fields was unlogical for me at that time. Average value is suitable for average player.
If you are reffering this: #6068 (comment)
So particular state changes (watching both as atlantean and barbarian): tiny->small according to script: "animate=idle duration:30s" small->medium according to script: "animate=idle duration:45s" medium->ripe according to script: "animate=idle duration:50s" |
Mirrored from Codeberg
Oh, sorry, I meant single field min/max, just like we did for small buildings. Doing it differently would be just confusing.
That certainly needs investigation... |
Mirrored from Codeberg When herbivore animals move onto a node with something tasty on it, they eat some of it, delaying the next growth of that field (or tree sapling, deer only) by several seconds. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mirrored from Codeberg
On Thu Feb 15 18:55:14 CET 2024, Benedikt Straub (Nordfriese) commented.
-- TRANSLATORS: Performance helptext for an Atlantean production site: Farm, part 1 | ||
pgettext("atlanteans_building", "The farmer needs %1% on average to sow and harvest a sheaf of corn."):bformat(format_minutes_seconds(1, 4)), | ||
-- TRANSLATORS: Performance helptext for an Atlantean production site: Farm, part 2 | ||
pgettext("atlanteans_building", "It is possible to decrease time to %1$s on average, if you leave %2$d fields near the flag free and other fields of work area occupied, e.g. by roads and buildings."):bformat(format_seconds(56), 5) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mirrored from Codeberg
On Thu Feb 15 18:55:14 CET 2024, Benedikt Straub (Nordfriese) wrote:
%2$d fields
needs an ngettext
call
Mirrored from Codeberg
Cautious +1 from me, could be handled with a new parameter to |
Mirrored from Codeberg
That sounds backwards... BTW the workarea radius is counted from the main field of the building, but walking distance counts from the flag. Does findspace consider that? |
Mirrored from Codeberg
The corn fields with following times were measured on map without animals How big is delay of field growth after eating of herbivore? |
Mirrored from Codeberg
Proposal for text of min/max alternative: The farmer sows and harvests one sheaf of corn between 56 seconds and 1 minute and 15 seconds, depending on how far the corn fields are from the building's flag. Original proposal was: The farmer needs 1 minute and 4 seconds on average to sow and harvest a sheaf of corn. Optional middle sentence (for both cases): In case of slopes in the way or fewer than 5 free fields, the time is increased. |
Mirrored from Codeberg
OK, or you could just use "how far the farmer has to walk" like the previous ones.
I'm not sure whether we should include such game tips in the performance texts, or just say that "The farm needs at least 5 growing fields to achieve 100% productivity."
Maybe we could omit slopes for most farms which can only be built on near-level terrain. Repeating the optimal number of fields is redundant IMO. |
Mirrored from Codeberg
Created on Thu Feb 15 14:47:55 CET 2024 by Pavol Gono (palino)
Type of change
Fix and add missing performance help texts in lua scripts. Subtask of #5268
First ideas here: #6068
Now I want to focus on farm-like buildings.
Initial proposal is for atlantean farm as an example (the same timings are for barbarian and empire farms). Not sure if 5 nearest fields is the correct number here.
First describing average calculation for single farm without nearby obstacles on flat terrain. Additionally describing the ideal (fastest) case and providing info how many fields need to remain free.
Alternative 1: describing ideal and worst cases, like for small outdoor buildings
Alternative 2: changing logic of "walk=coords" algorithm to use one of nearest possible fields instead of random field of working area
Advantages:
Disadvantages:
Question
What I am missing is understanding how often the field states change.
tiny -> small -> medium -> ripe
After few measurements, these 3 transitions together took between 75 sec - 189 sec
What is the possible time range here?
The files data/tribes/immovables/cornfield/*/init.lua contain certain durations, but I am not sure if they are used at all.