View Issue Details

IDProjectCategoryView StatusLast Update
0008091Dwarf FortressDwarf Mode -- Jobs, Farming/Farmer's Workshoppublic2016-07-07 07:04
ReporterLoci Assigned Touser6 
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionreopened 
Product Version0.40.09 
Summary0008091: Conflict between seed caps
DescriptionThe per-plant seed cap prevents seed production if your fortress already has 200+ seeds for that plant. The global seed cap periodically removes the oldest seeds to remain at or around 3000. If you purchase seeds in bulk from one of the caravans you can easily go beyond 200, preventing new seed production for that crop while all the stored seeds age their way toward removal. If at some later point you brew 50+ stacks of fruit (producing 250+ new seeds) it seems possible that the entire remaining supply of seeds for a staple crop will be "removed", leaving your dwarves unable to plant that crop again.

I have not actually tested this since it would likely take several game-years, while a cursory check of the underlying code would probably take only a few minutes.
TagsNo tags attached.

Relationships

related to 0007869 assigneduser6 Dwarves compulsively store seeds in bags, even when no stockpile accepts those seeds 

Activities

user6

2014-08-20 12:58

  ~0029374

Even if this were confirmed behavior and not a hypothesis, it seems like an intrinsic, intentional limitation of the seed cap, which is a placeholder feature. The potential fixes seem like suggestions.

Loci

2014-08-21 12:40

viewer   ~0029433

I don't think you understand the issue.

Consider these three scenarios:

Scenario 1:

200 sweet pod seeds at the beginning of year 1
fortress produces 2000 new seeds during year 1
fortress produces 2000 new seeds during year 2
0 sweet pod seeds at the end of year 2

This scenario works as intended; seeds which remain unused will disappear.


Scenario 2:

200 sweet pod seeds at the beginning of year 1
fortress produces 2000 new seeds during year 1
fortress plants 10 sweet pod seeds, harvests 40 sweet pods, and produces 10 new sweet pod seeds
fortress produces 2000 new seeds during year 2
10 sweet pod seeds at the end of year 2

This scenario mostly works as intended, though the precipitous drop from 200 to 10 sweet pod seeds is less than ideal. If this were the only problem it might be acceptable.


Scenario 3:

220 sweet pod seeds at the beginning of year 1
fortress produces 2000 new seeds during year 1
fortress plants 10 sweet pod seeds, harvests 40 sweet pods, and produces 0 new sweet pod seeds
fortress produces 2000 new seeds during year 2
0 sweet pod seeds at the end of year 2

This scenario emphasizes the buggy behavior I am reporting. Starting with MORE seeds causes the fortress to end up with FEWER, and in some cases NONE, because of the conflict between the two seed caps. Note this was an actively planted crop, which from all appearances was amply stockpiled right up until all the old seeds expired at approximately the same time (since no new seeds were being generated).



As far as "potential fixes" go, I think the way to handle this would be to make the per-plant seed cap behave similarly to the fortress-wide seed cap. When the per-plant cap is reached, instead of producing no seeds jobs would produce new seeds and automatically remove the oldest *unplanted* seeds of the same type. That way as long as a fortress is actively planting a crop its seed supply will be continually refreshed and safe from mass expiration.


Also, I can find no reference of the seed cap being a "placeholder feature"; care to cite your source?

user6

2014-08-21 12:43

  ~0029434

Last edited: 2014-08-21 12:46

Has anyone empirically confirmed Scenario 3?

Toady's post here suggests that the limits will be more dynamic in the future: http://www.bay12forums.com/smf/index.php?topic=100851.msg5326971#msg5326971

Loci

2014-08-21 13:03

viewer   ~0029440

Yes. The problematic behavior is confirmed in 40.09.

I read that statement as suggesting that the fortress-wide seed cap *is* the dynamic limit that Toady is experimenting with, not a placeholder feature for a future dynamic limit.

TBeholder

2014-12-04 11:49

reporter   ~0031258

Last edited: 2014-12-04 11:57

Either way, since seeds got both total cap and FIFO expiration, it would be nice if the oldest seeds were dropped on appearance of new ones, rather than newest not produced - which is what leaves dwarves holding the bag.

Yes, lower limit per plant for seed removal would be nice, too. Perhaps simply (global cap)/(number of plant species) rounded up would do well enough for now?

Add Note

Note

Issue History

Date Modified Username Field Change
2014-08-20 12:50 Loci New Issue
2014-08-20 12:58 user6 Note Added: 0029374
2014-08-20 12:58 user6 Status new => resolved
2014-08-20 12:58 user6 Resolution open => no change required
2014-08-20 12:58 user6 Assigned To => user6
2014-08-21 12:40 Loci Note Added: 0029433
2014-08-21 12:40 Loci Status resolved => feedback
2014-08-21 12:40 Loci Resolution no change required => reopened
2014-08-21 12:43 user6 Note Added: 0029434
2014-08-21 12:46 user6 Note Edited: 0029434
2014-08-21 13:03 Loci Note Added: 0029440
2014-08-21 13:03 Loci Status feedback => assigned
2014-12-04 11:49 TBeholder Note Added: 0031258
2014-12-04 11:57 TBeholder Note Edited: 0031258
2015-01-24 14:45 user6 Relationship added related to 0007869
2016-07-07 07:04 Loci Summary Potential conflict between seed caps => Conflict between seed caps