DEV BLOG / 22
Keeping long careers complete, fast and fair
A Dynasty needs to keep its history, and the next draft needs to keep moving.

Last week was about improving the screen in front of me. This week is about the years accumulating behind it.
A long career puts pressure on things that seemed manageable with a small save: detailed games, archived rosters, biographies, receipts and the time it takes to open them. I need that history to remain complete without making every menu visit an archaeological expedition.
What changed since the interface overhaul
- Save packages and archives use compression. Buffered Brotli JSON improves storage while retaining ordinary atomic backups and checksums.
- Detailed history can survive beyond fifty seasons. That replaces an earlier rolling retention choice; it doesn’t erase the original fifty-season coach career and New Game+ design.
- Summaries and caches stay manageable. The game can show compact information without discarding the underlying record.
- Recovery has clearer ownership. Save leases, checksums, rollback payloads and limited diagnostics help recover interrupted work.
- Pace and batching are saved. Long-running work has more explicit control instead of depending on a temporary screen state.
- Computer clubs reserve remaining draft funding. Unspent picks have obligations that can’t be treated as spare cash.
- Mandatory prospects get an affordability check. Legal surplus-bench releases can help resolve a shortfall without bypassing the cap.
- Existing financial rules still apply. Guarantees, prepaid wages and dead cap remain part of the decision.
The long run matters to me
Getting a season to finish cleanly is still a big goal for me. After that, I want to keep the same Dynasty going for all fifty years of a coaching career. At the moment, I’m doing the less exciting work that gives those runs a chance.
The save needs to keep its history, the next draft needs to finish and the league needs to cope when a club has made a poor financial decision. I’d like to spend more time watching football than rescuing the files responsible for it.
I’m more comfortable finding these problems than I was when I started. That doesn’t mean I enjoy discovering a new one in the middle of a run. My confidence has improved; the code has declined to become impressed by it.
A computer club has to pay its way
If a club spends the money needed for its remaining draft picks, it can block the rest of the league. The fix needs to respect the actual obligations, not manufacture a cheap player or quietly forgive a salary.
That’s why the reserve and release rules matter. They’re corrections to the way an existing system behaves, rather than a new football feature to put on a banner.
The performance work also needs sensible claims. Better compression doesn’t automatically prove a particular startup time or a dependable phone background session. I’ll report measured runs when I have them, rather than award myself a medal for a smaller file.
Memory and handle growth, archive size, draft-save pauses and accelerated commentary are still part of that check list. A faster calendar isn’t much use if the visible play log falls behind it or a long save quietly consumes more and more space.
Next week I’m shifting to presentation: making an important football moment feel important, while keeping the result itself intact.
