Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0008091Dwarf FortressDwarf Mode -- Jobs, Farming/Farmer's Workshoppublic2014-08-20 12:502016-07-07 07:04
Loci 
Footkerchief 
normalminorhave not tried
assignedreopened 
0.40.09 
 
0008091: Conflict between seed caps
The 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.
No tags attached.
related to 0007869assigned Footkerchief Dwarves compulsively store seeds in bags, even when no stockpile accepts those seeds 
Issue History
2014-08-20 12:50LociNew Issue
2014-08-20 12:58FootkerchiefNote Added: 0029374
2014-08-20 12:58FootkerchiefStatusnew => resolved
2014-08-20 12:58FootkerchiefResolutionopen => no change required
2014-08-20 12:58FootkerchiefAssigned To => Footkerchief
2014-08-21 12:40LociNote Added: 0029433
2014-08-21 12:40LociStatusresolved => needs feedback
2014-08-21 12:40LociResolutionno change required => reopened
2014-08-21 12:43FootkerchiefNote Added: 0029434
2014-08-21 12:46FootkerchiefNote Edited: 0029434bug_revision_view_page.php?bugnote_id=0029434#r11335
2014-08-21 13:03LociNote Added: 0029440
2014-08-21 13:03LociStatusneeds feedback => assigned
2014-12-04 11:49TBeholderNote Added: 0031258
2014-12-04 11:57TBeholderNote Edited: 0031258bug_revision_view_page.php?bugnote_id=0031258#r12473
2015-01-24 14:45FootkerchiefRelationship addedrelated to 0007869
2016-07-07 07:04LociSummaryPotential conflict between seed caps => Conflict between seed caps

Notes
(0029374)
Footkerchief   
2014-08-20 12:58   
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.
(0029433)
Loci   
2014-08-21 12:40   
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?
(0029434)
Footkerchief   
2014-08-21 12:43   
(edited on: 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 [^]

(0029440)
Loci   
2014-08-21 13:03   
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.
(0031258)
TBeholder   
2014-12-04 11:49   
(edited on: 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?