Some bugs announce themselves with an error message. Others just make things slightly slower, slightly less reliable, and only show their pattern when you look at hundreds of cases together. This was one of the second kind.
The symptom
Every so often, completing a matchday took longer than it should. Occasionally, a few matches would not finish on the first attempt and would be picked up again moments later. Nothing was lost — results always landed — but the game was doing work twice, and players with large worlds noticed slower skips on busy matchdays.
Finding the pattern
When we gathered every one of these hiccups and looked at them side by side, all of them had the same shape. Several matches from the same league were finishing at the same moment, and each one tried to update the same league table — points, goal difference, positions — at once. They were politely waiting for each other, and occasionally one of them gave up and tried again later.
Matches from different leagues never collided. Only matches that shared a table did.
The fix
The solution was to change the order of work rather than the work itself. Matches are still completed side by side for speed, but never two from the same league at the same time. Each league's results are applied one after another, while different leagues carry on in parallel. The tables no longer have to wait for themselves.
At the same time we tidied up a related detail: one of the routines that reads league positions — the one AI clubs use to decide whether they are fighting for promotion or against relegation — was sometimes reading positions from the wrong season. It now looks only at the current one.
Why it mattered
On a quiet day you would never have noticed. But time skips in ManageFC often cross matchdays with hundreds of fixtures, and every repeated piece of work adds up. Fixing the order made busy matchdays faster and more predictable — and it removed a class of rare hiccups for good, rather than just retrying them.
Next in the diary: crises scaled to your division.
- 25AI clubs finally choose their tactics
- 26Why you start in division 3
- 27The day the league tables froze
- 28Crises scaled to your division
- 29Half the game is played on a phone
All 38 parts
- 1Why we're building ManageFC
- 2The first version — a world that ran on a clock
- 3Two-factor authentication for anything that touches money
- 4Why we deleted our battle pass
- 5Why ManageFC is English-only for now
- 6The inbox is the heart of the game
- 7Substitution plans, set-piece takers and a proper Christmas break
- 8The pivot — from one online world to a private world per save
- 9Rebuilding the game around private saves
- 10The bug that made time stand still
- 11Build your own world — 211 countries, up to 40 leagues
- 12Your money, your units — currencies and expense periods
- 13A security review in June
- 14A quieter month under the hood
- 15When registration broke — a post-mortem
- 16Players now age like players
- 17A season is 245 days
- 18Stepping into a live match
- 19One crest, everywhere
- 20From eight minutes to eighty-four seconds
- 21Recalibrating goals and morale
- 22Every word on screen, checked
- 23We audited our own website — and deleted what was not true
- 2415,000 matches to answer one question — do tactics matter?
- 25AI clubs finally choose their tactics
- 26Why you start in division 3
- 27The day the league tables froze
- 28Crises scaled to your division
- 29Half the game is played on a phone
- 30We redesigned the whole game — then rolled it back
- 31A stadium that grows with you
- 323D where it helps — the season rail and the tactics board
- 33The dressing room, and knowing when to start over
- 34Rewriting the guide and wiki with real numbers
- 35A new front door, and a blog
- 39ManageFC 3.0: why we closed the game, and what we rebuilt
- 40Your club's mailbox: everything that happens reaches you
- 41Objectives, a head coach and the end of a season




Comments
No comments yet — start the conversation.