Status
SteamPeaks
ChartsSalesUpcomingPatchesEventsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
EventsSteam's own events and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesEventsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
Empire Eleven 2026EventsOptimizations Update - v1.0.14
In-game event

Optimizations Update - v1.0.14

Empire Eleven 2026 · published 11 Sep 2026, 01:17 UTC

All eventsPlayers around this dateRead on Steam

Empire Eleven — Update v1.0.14


55 fixes and improvements since v1.0.13 — most of them came from community reports, with screenshots and context.Existing saves keep working. Screen fixes apply immediately; season and competition fixes apply fully in a new career.


🛌 Training: the rest controls weren't on screen

  • The option to delegate conditioning to the fitness coach, and the buttons to give several players a day off at once, weren't showing up on the individual training tab — only player selection worked.

  • The controls were being built into a version of the screen the game doesn't use. The training screen has two possible layouts, and they ended up in the one that only serves as a fallback.

  • They're now inserted into the real screen: the bulk rest buttons sit in the "Individual Focus" bar, next to "Randomise Training", and the bar with squad energy and the delegate button sits right below it.


📅 The week strip in "Continue" said REST on a training day

  • Saturday and Sunday always showed as REST, even with training scheduled — opening the Training menu on the same day showed the two screens contradicting each other.

  • The panel was guessing from the day of the week, never looking at your schedule. In the default schedule only Sunday is a rest day: Saturday trains. And if you edited the schedule, both days started lying.

  • The label now comes from the real schedule. Gave the squad Wednesday off? Wednesday shows as REST. The priority order is unchanged: MATCH first, then RECOVERY, REST and TRAINING.

  • Two more fixes in the same panel: the day you just played no longer turns into "TRAINING", and the Monday after a Sunday match now shows as RECOVERY.


⚡ Advancing days is 55% faster

  • A day advance went from 12.2s to 5.5s, and Monday — the worst day of the week, when the AI transfer market runs — went from 47.5s to 6.1s.

  • The game was asking "does this team play today?" 198 million times a day, once per club per tournament, sweeping the entire calendar for every question. It now builds the answer once per day and all 1,417 clubs read the same one.

  • AI target scouting did the same: every club swept all 25,000 players in the world, per need. It became one pass per cycle — from 300s to 3s. Pre-contracts, same technique: from 124s to 0.3s.

  • Nothing changed in the game itself: same seed, same scorelines, same transfers. Only the waiting.


🥶 Minutes-long freezes while advancing days

  • Playing several seasons meant the game froze for minutes on certain days, mostly at the season rollover.

  • A safety check was shouting tens of thousands of times. It exists to stop the game simulating matches from the future — and it was right to refuse. The problem was that it complained once per refused match, and every complaint is expensive.

  • The first few now appear in full and the rest become a single summary line. The warning is as visible as before; what disappeared was the cost.


📅 Competitions claiming "I'm already finished" mid-season

  • On loading a save, about 40 competitions ended up with the wrong season start and end dates — some holding the 2026 window while the game was in July 2027.

  • Competition dates weren't being saved. They were rebuilt from the original file on every load, so the fixtures moved on to the next season while the competition's calendar stayed behind.

  • That poisoned every end-of-season decision: deciding the champion, promotion, relegation and resolving pending fixtures all received "this competition is over" for competitions still being played.

  • The dates are now saved and restored, and old saves are repaired on load from the fixtures that actually exist. The game also complains loudly if a competition still in progress claims to be finished.


📉 Relegation decided by a frozen table

  • One zone of the Argentine Clausura qualified 8 clubs from a 5-match table — out of 15 played. The 12th-placed side went through, and went on to win it.

  • The competition itself was fine: all 225 matches were generated and simulated. What was wrong was the archived table for the phase, frozen at the moment of the last save made while that phase was still running.

  • And the frozen archive is what decides relegation. At the season rollover the live table has already been wiped by the knockout stage, so the archive is the only source — and in Série C it was empty with 182 matches played, which meant nobody went down.

  • Who goes down now comes from the matches, not from a cache. Relegation is worked out straight from the fixtures played, the game refuses to decide an incomplete phase, and old saves get the archive repaired on load — telling you which competitions were frozen.

  • What this does not undo: season rollovers that already happened stay as they are. A club wrongly relegated in a past season stays relegated.


💸 Selling a player: the whole world can now want him

  • Listing a player almost never led anywhere — because the sale picked the wrong clubs before asking who actually wanted him.

  • The interested-clubs list was built only from clubs in your country or your league, capped at 30. For a star, that meant 30 poor clubs, none with the money. For a cheap squad player, 30 big clubs, none interested. Both gave you zero.

  • Interest is now assessed across the whole world, by the same criteria the transfer screen already used. Your agent's reach still decides how many clubs get through to you — what changed is that he now picks from clubs that actually want the player.


📨 Offer sent, and nobody ever replied

  • You offered a player to a club, saw "offer sent", and the answer never came. The offer stayed pending forever.

  • The responder's half was missing. When an AI club bids for your player, the game schedules the decision; when you offer, nobody scheduled anything — the selling side was built mirroring the buying side and ended up without that half.

  • The buying club now has a deadline to reply, and the outcome reaches your inbox: accept, counter-offer or refuse — with the reason.


✅ "This offer is no longer active" when confirming the transfer

  • The completion e-mail carried an accept button, and clicking it said the offer had expired or been cancelled.

  • Two things were trying to finish the same transfer: you, from the inbox, and the automatic daily processing. Whichever got there first left the other pointing at nothing.

  • The confirmation is yours now, and the automatic pass lets go of the offer the moment it becomes the manager's decision. And when an offer dies for any reason, the matching message loses its button and shows the outcome instead of continuing to offer an impossible action.


👥 A signed player didn't appear in tactics

  • The new signing joined the squad but didn't appear on the tactics screen, so you couldn't pick him.

  • The player-club link has two sides, and there were three hand-written copies of the code that moves a player — one of them updated only one side. The squad screen read one; tactics read the other.

  • They all go through the same path now. The signing appears on both screens at the same moment, and stays there after saving and loading.


🏛️ Club reputation made no difference at all

  • Identical sponsorship for every club in the world, every board expecting 18th place, every board with the patience of a small club, and prestige carrying almost no weight in a player's decision.

  • Club reputation is a 0-to-4 scale, and 15 places in the code treated it as if it were 0 to 100. The result wasn't a wrong number: it was the same number for all 946 clubs, always the minimum.

  • Two places in the game were still writing reputation off-scale — one reached 100 — which spread the damage. There is now a single writing door that clamps the expected range quietly and complains loudly when something tries to write on the wrong scale.

  • In practice: big clubs attract bigger sponsorship again, demanding boards demand again, and your club's prestige counts again when a player decides whether to join.


🛌 Rest didn't rest — and the screen said it did

  • You gave a player an individual day off and he ended the week with the same energy as someone who trained.

  • The individual rest day was only skipped in individual training; team training kept draining all three sessions that day. And daily recovery only knew about the squad's rest day, so it gave the ordinary-day bonus instead of the rest bonus.

  • Worse: the screen's projection credited the full rest. You saw "I gave him the day off, he'll be at 82" and the game delivered the week of someone who never rested — which is why it looked like it had already been fixed.

  • All three calculations now read the same source. The two kinds of rest day stay distinct at the origin (one for the squad by date, one for the player by weekday); what became single is the answer.


⚽ Striker stuck in the opposition box

  • The striker wouldn't track back, no matter how hard you asked for "DEFEND" in his player instructions.

  • The instruction was decorative: the player had an on-the-ball destination, but the off-the-ball destination didn't exist — he stayed anchored at his attacking point for the whole match.

  • "DEFEND" now genuinely drops the striker deeper, and his average off-the-ball position is measurably further back than with "ATTACK".


🟥 Too many sendings-off in live matches

  • One in every 2.8 matches ended with at least one red card. In real leagues it's one in 8 or 9.

  • And the cause was the opposite of what it looked like. Fouls weren't high — they were at half the normal rate (5.6 per side, against a real 11-13). Yellows followed. Flattening the card threshold would have made it worse.

  • Half the reds came from the last-man rule, whose geometry treated any foul in your own half as dangerous — the entire midfield and almost the full width of the pitch.

  • Fixed at the base of the chain: fouls in the real range, incident geometry anchored to the actual penalty area, and violent conduct at the frequency it really has. Measured result: 3.6 yellows and 0.125 reds per match, and one match with a sending-off every 8.6 — without touching scorelines.


🧹 "Clear" mid-match wiped your lineup

  • At half time, clicking "Clear" made every player vanish from the pitch view.

  • "Clear" and "Auto pick" are actions for building a side from scratch — they make no sense with the match under way, substitutions already used and players sent off.

  • Both now disappear from the bar during a match, and the game refuses the action even if it's reached by another route.


📈 Training worked out the growth and threw it away

  • A player's overall didn't follow what training and the season rollover did to his attributes.

  • The calculation ran and the result was discarded. An earlier change separated "read the overall" from "write the overall", and four places in the game kept calling the read-only version — team training, individual training, age decline and the season rollover.

  • Side effect: the player's current ability was derived from the stale value. All four now write, and the number on screen is what the attributes say again.


🔍 Scouting became viable for a small club

  • Scouting cost the same for everybody, but the scouting budget is proportional to club size. A big club bought hundreds of reports a season; a fourth-division club bought four.

  • The cost now scales with club size — top clubs still pay what they paid, and clubs below pay proportionally less.

  • The distance multiplier still applies: scouting outside your region still costs more than scouting at home.


🖥️ Large fonts pushed the close button off screen — again

  • At 150% font size, the close button on the Squad screen went off screen. Last version's fix had only covered some of the screens.

  • The sweep is complete now: the title shrinks with an ellipsis, and the close button is the last thing that can ever disappear from any screen.


➕ Buttons that did nothing and said nothing

  • The "+" on the row didn't respond to clicks, with no warning at all — from where you sit, indistinguishable from a frozen screen.

  • And the board directive that can get you sacked had no screen: you were being judged against a target you couldn't follow. It has a screen now, and the progress is derived from what you actually did.


🏆 Knockout ties decided without the penalties that should have happened

  • I won the first leg 1-0 at home, lost the second 1-0 away, the aggregate was 1-1 — and I went through, with no shootout. The message said "decided in extra time".

  • Extra time was looking at TONIGHT'S scoreline, not the tie's. It ended by asking "is tonight's match level?", and the caller treated the answer as "the tie is settled". In the second leg, tonight was already 1-0 before extra time started — so the answer was "settled" no matter what happened in those 30 minutes.

  • Penalties were skipped, and a safety net picked the qualifier on a reputation-weighted coin flip. The same error cut both ways: a goalless second leg with the aggregate already settled went to extra time and penalties for nothing, and in live matches the side that had just won in extra time was sent to the spot.

  • There is now a single question — "is anything still undecided?" — asked before and after extra time, on all three routes. A level aggregate goes to penalties; a goal in extra time ends the tie.


🌍 Foreign clubs entering national competitions

  • Boca Juniors turned up in the third round of the Copa do Brasil. And it wasn't isolated: Arsenal and Manchester City in Brazilian state championships, Arsenal in the Copa Chile, and Inter Club d'Escaldes — from Andorra — in the second round of the Copa do Brasil.

  • The competition's filter only applied at the front door. The initial field was built correctly from clubs of that country, but the rounds that take on new entrants partway through never reapplied that test — and drew from a much wider pool.

  • Measured: 104 entrants outside what was declared, across all rounds. Now zero.

  • And there was a hidden cost in the report: the intruder took a legitimate club's place. Of the 8 Brazilian sides that should enter via the Libertadores, only 7 were getting in. All 8 do now.

  • Explicit invitations still stand: when a competition names a club directly — as the Sudamericana does with Chilean and Paraguayan sides — that decision isn't overruled by the automatic filter.


💱 The screen showed three different numbers for the same offer

  • Offering $12M up front plus $5M in instalments, the screen displayed a $17M total — and what was sent to the club was the $12M. The acceptance chance shown was for an offer nobody ever made.

  • There were three independent calculations: the displayed total, the chance preview (which received the total as if it were all cash) and the actual submission. The club's counter-offer looked arbitrary because it was answering a different bid from the one you saw.

  • Preview and submission are now built from the same object, with the same buyer's arithmetic — cash, instalments and players going the other way.

  • And there is no minimum-value lock, nor was there ever: "you can't go below $16.7M" was the seller's ASKING price, displayed as advice. The screen now makes clear it's a hint, not a rule — you offer what you like, and the club answers.


🔄 Mid-match tactics became your permanent tactics

  • You made substitutions during a match and, when it ended, the substitutes were in your saved lineup.

  • Substitutions alone were never the problem. The leak happened when you opened the tactics screen mid-match and hit APPLY: the screen built the side from whoever was on the pitch at that minute — substitutes included — and saved that as your permanent lineup. With the scope on "All matches", a decision made in the 70th minute became your default.

  • Nothing done live survives the final whistle now. Tactics are still applied to the engine during the match; what no longer happens is them replacing your saved lineup. The refusal lives in one place — the three screens that used to save pass through it, and so will the fourth.


🔬 Three levels of scouting: Quick, Standard and Full

  • Before there was only the full report, paid in full on assignment. For a small club that meant spending the whole budget on a handful of players, with no way to rule candidates out quickly.

  • You now choose the depth: Quick reveals age, position, an overall estimate and partial physicals; Standard goes as far as approximate potential and morale; Full delivers everything, with exact overall and potential.

  • The price follows the depth — and so does the wait: a Quick report is ready in roughly a third of the time of a Full one, which matters as much as the cost when the window is running.

  • And you can deepen later, paying only the difference. Screening cheaply and then investing in the finalists doesn't mean paying twice for the same work.


🌱 The youth scout reports on a young player at a 40% discount

  • Every youth setup has its own scout, and he now costs 60% of the price when scouting players aged 21 and under.

  • The age limit changed owner: the "under-21 only" rule used to depend on you being the youth manager. It now belongs to the SCOUT — the first-team manager can also use the U21 scout, and the limit that justifies the discount comes with him. A target aged 22 or over is refused by that scout, not merely charged full price.

  • Combined with cost-by-club-size and the scouting levels: a fourth-division club's budget went from about 5 reports a season to more than 60 youth screenings.


💾 Saving froze the screen for 8 seconds

  • When you stopped advancing days, the game locked up for about 8 seconds — and it got worse the longer the career ran, because the save grows by almost 1 MB per day played.

  • Writing to disk and compression already happened in the background; what was missing was converting the data. That can only run on the game's main thread, so it stopped everything until it finished.

  • Measured on a real 265 MB save: three collections — players, staff and clubs — are 96% of the cost, and the other 86 fields together don't reach 3%.

  • The conversion is now sliced by frame budget, not by a fixed count: no block goes over 8 milliseconds, and a slower machine processes fewer items per frame instead of choking. The total work is the same; what disappeared was the frozen screen.


🟥 Nothing takes a sent-off player's place any more

  • You could drag a substitute onto the position of a player who had been sent off on the in-match substitution screen. The side still played with ten, but the sent-off player's slot looked filled — and to anyone playing, that reads as "I replaced him".

  • The cause wasn't where either guess said it was. Swapping positions and normal substitutions already refused the sent-off player correctly. The hole was the direct drag onto a slot: it only checked whether the position was occupied, and a sent-off player's position is empty — without knowing it's empty because someone was sent off.

  • The rule now lives in one place, in the domain, and covers all three routes — dragging, swapping and substituting. A sent-off player's slot takes nobody, and the side plays with ten until the final whistle, even after substitutions, a formation change, half time or saving and loading.


📋 Transfer suggestions with placeholder names

  • The transfer policy screen showed Roberto Firmino and Lucas Moura, always the same two, with no action available. It was a placeholder that made it into the released build.

  • The real generator already existed and nobody called it. It works out shortages by position, picks targets by position, value and budget, identifies sale candidates and builds the reasoning from your own squad — for buying, selling and loans.

  • The problem was when it ran: only during the weekly sweep in supervised mode. Anyone opening the screen outside that moment saw an empty box — which is why someone put fixed names there.

  • The screen now generates suggestions on the spot when there are none, with accept and reject working. Generating a suggestion creates no offer: only accepting does.


🎯 The board's revenue target appeared nowhere

  • The board told you to "raise €X by this date" and, if you failed, that counted directly towards sacking you — but the only notice was an inbox message, on the day the target was set. Delete the message and you were playing blind against a deadline that only existed inside the system.

  • There were two board targets and only one had a screen. The season financial target already appeared on the dashboard; the deadline demand — precisely the one that creates sacking pressure — wasn't read by any screen in the game.

  • It now sits on the dashboard while it's active, with the target, how much you've raised in sales, how much is left and the days remaining.

  • The number on screen is the same one the board uses to judge you. The panel doesn't redo the sum on its own: it asks the system that decides the punishment. Repeating the formula on screen would look harmless and isn't — at the season rollover the sales counter resets, and the panel would start showing negative revenue and a larger demand than the real one, pushing you to sell more than you needed to.


🥅 Two in every three clubs took the field WITH NO GOALKEEPER

  • Measured: 615 of 946 professional clubs went into matches with an outfield player in goal — and three goalkeepers running around outfield. That wasn't a weak side: it was a side with no keeper.

  • It happened to any club that reached kick-off without a saved lineup, which is the overwhelming majority — and it was deterministic: the same absurd side in every match, always.

  • Automatic team selection existed and nobody called it. It was an internal function that only ran when a saved lineup ALREADY existed — that is, exactly when it wasn't needed. Without a lineup, the game used the raw order of the club's player list.

  • The automatic side is now built at the point every match passes through, regardless of who called it. Across the 120 matches measured, clubs without a goalkeeper went from 144 to zero.

  • This affects results, tables and standings in every competition you don't play in — for the first time they're decided by real sides. Careers in progress feel it immediately, from the next match on.


⚡ AI sides arrived exhausted — and your fitness coach only knew how to rest people

  • Opponents took the field with low energy season after season, and the effect accumulated rather than correcting itself: whoever dropped never came back.

  • There were two causes, on opposite sides, and neither was the original suspect.

  • On your side, the fitness coach only knew how to give days off — and a day off was never undone. It applies per weekday, so every bad day left a permanent mark and the marks piled up. Measured in a 28-man squad: 161 rest marks out of a ceiling of 168, and 21 players resting EVERY weekday. The squad showed energy 100 because it had simply stopped training — 6 team sessions per player in 56 days, against 86.5 at AI clubs. It wasn't rested: it was idle.

  • On the AI side, the training load was rolled once and never revisited — a club that rolled an intensity above what it could sustain drained without ever reassessing.

  • Measured before and after, across 946 clubs and 56 days: clubs with energy on the floor fell from 71 to zero; the worst-affected band rose from 51.2 to 83.1 energy; the spread between clubs fell from 47.2 to 14.9 points. The gap that was widening by week eight now closes.


↔️ The left-back took the field playing on the right

  • You picked your side and it came out mirrored — wingers swapped, full-backs on the wrong side. It happened whenever a formation was defined per phase, which is the normal case.

  • There were two conventions for "which side", and they met with no conversion. The tactics board counts sides starting from the left; the match engine counts from the right. Nobody translated between them, and the board's points overwrote the base formation — so the whole side came out inverted.

  • Because the inversion was uniform, the screen stayed consistent with itself and the fault only showed when you read the player's name and saw it wasn't who should be there.

  • There were three tables, not one. Goal-kick positioning had the same fault and was fixed alongside. The corner-kick one has a mixed version that requires fixing the near/far-post offsets in the same move — it's documented and left for next time.

  • And the convention is now written in the file, next to the values. It never had been, which is why nobody could check it.


🎯 The 2D pitch shows the engine instead of chasing it

  • The 2D view looked like a scramble — players never formed the tactical shape you had set up.

  • The cause wasn't the engine or the simulation: it was the drawing. The engine already delivered each player's exact, continuous position, and the screen still ran a SECOND movement simulation on top, with its own speed, acceleration, cornering brake and sprint ramp. The dot on screen had its own velocity, which ignored the one the engine had calculated.

  • The proof was in the patches that chase accumulated to cancel itself out: six emergency corrections, including a camera cut that teleported the player when the error passed a threshold. When a mechanism needs six escapes to get where the data already was, the mechanism is the fault.

  • Compactness, width and the defence-to-attack transition existed in the engine and died on the way to the screen. They arrive now. The 3D view had always done this correctly — the 2D one now follows the same principle.


👔 Hiring and firing the manager: two rules said opposite things

  • The game had two answers for the same act — one said the owner-manager could sack the manager, the other said "you can't sack yourself". About the same person, on the same click.

  • The right question is about WHO is being sacked, not about your role. There is now a single authority, deciding in order: first whether the target is you, then whether your role has power over the post — and each refusal has its own wording. A manager trying to sack the club's coach isn't trying to sack himself, and giving him that explanation would be a correct refusal with the wrong reason.

  • The button stopped disappearing. Previously, when you couldn't sack someone, the button simply wasn't drawn — you never learned why you couldn't, nor that a route existed where you could. It's always shown now, and the game explains.

  • Sacking the manager is no longer a bare termination. The replacement is validated BEFORE anything is undone, and the swap only completes after confirming the club actually ended up with a coach. With no eligible replacement, nothing happens and the game tells you: a club with its current manager is better than a club with nobody in charge.


🏢 Opening another club's profile changed who you worked for

  • Simply browsing to any club's profile made the game treat it as your employer — the screen you were looking at decided your contract.

  • There was a check meant to catch people with no contract, and it let through exactly those who never had one. A club owner who doesn't sit on the bench has no spell at all in his career history, and the "is he unemployed?" check answered no — so the game fell back to its last resort and used the club on screen.

  • Now someone with no coaching contract has no employer, and browsing the game no longer changes anything about your career.


🤝 A playing-time promise marked as kept when it wasn't

  • You promised a player minutes, didn't give them, and still got "you kept him at the heart of the side, as promised".

  • The sum mixed two sources. The player's appearance count came from whole-season statistics — including matches he played at his PREVIOUS club — and was divided by the team's matches since you arrived. Two different windows, one division.

  • Measured in a 30-man squad: 13 players showed over 100% participation. One of them read 388%. Two players who never took the field once showed 113% — and had the promise marked as kept.

  • Both halves of the sum now come from the same count. And while that count isn't available, the game DEFERS the judgement instead of getting it wrong: deferring costs a cycle, judging wrongly costs a decision nobody undoes — it moves morale, your relationship with the player, and your inbox.


✏️ Renaming a player never reached tactics or the match

  • You edited the name, saw it change on the Squad screen, and Tactics and the match still showed the old one.

  • It wasn't a cache or a missing refresh: there are two different fields. Full name and short name. The squad list has room for the full name; the pitch view and the substitution screen don't, and show the short one. You edited one, and the match screens read the other.

  • The real problem was every screen choosing between them on its own. There are 625 places in the game that read a name: 266 prefer the short name and 201 the full one — and the disagreement even happened within the SAME screen. There is now a single place that answers both questions, and neither of them ever returns an empty label.

  • The short name stays yours. In this database it's authored data — Ganso, Hulk, Fred — so the game never overwrites it from the full name. If you clear the short name, it inherits the full one and the value comes back into the box, in plain sight, rather than being swapped silently.

  • And the editor stopped hiding the relationship: the short-name field now tells you it's the one that appears in tactics, in the match and in substitutions.


🪟 The transfer window never opened again from the second season

  • The first season worked. From the second on, the window never opened again — for anyone, in any career. With no window the whole market stops: offers don't progress, signings are deferred forever, and the recruitment screen says "Closed" all year.

  • Window dates were absolute, with a year. The 29 competition files declare July 2026 for summer and January 2027 for winter. The check compared today against those fixed dates — so once the first season passed, the answer was "closed" and stayed that way.

  • The data was right; the reader was tying it to the year. None of the 29 files was changed.

  • The rule came from the file itself, which is why the winter window needed no special case. Summer is declared in the opening year and winter in the following one — that offset IS the rule. Each window now stores its offset and opening month, and is projected onto the season containing the date being checked. A date in February belongs to the season that started the previous year, and winter falls exactly there.

  • Careers in progress fix themselves on load — the windows are rebuilt every time you load, so a save that was stuck gets its market back.


👔 Buying the club you manage retired you

  • You bought the club you were managing and became a spectator on the spot — watching your own match with no way to pick the side.

  • The only question the game asked was "is this club mine?". Ownership was the whole test; it never asked whether you were also the manager.

  • It now takes both facts: you only become a spectator once you hire a manager for that side. Buying sacks nobody — the coaching contract decides, and it was already in the save. Nothing new was written.

  • Multi-club works on its own: someone who owns three clubs and manages one of them runs that one and watches the other two. There's no special case because the question was always about one club at a time.


🔁 Swapping a starter for a substitute left the bench one short

  • Dragging someone from the bench onto a starter didn't put the starter into the slot the other had left — it took another click to name him again.

  • What happened underneath: the incoming player was selected, an automatic cleanup removed him from the bench on the next redraw, and the displaced player ended up named nowhere. Net result: the bench shrank by one.

  • There was a second, quieter variant: via the swap menu there was an attempt to return the displaced player to the bench, but it appended him to the end of the list and was refused without warning when the bench was full — and it was full precisely because the incoming player still held his slot.

  • The swap is now an exchange: the player coming out takes exactly the bench slot the incoming one left, not the end of the queue. Bench order is your decision — who comes on first — and appending would reshuffle it on every swap.


🏛️ The board voted on nine decisions and none of them happened

  • You called the meeting, the board approved, and nothing in the game changed. Budget, infrastructure, stadium, youth setup, philosophy — all approved, and not one of them moved a single number.

  • And the screen showed five votes nobody counted. The opinions drawn in the meeting were rolled at display time, separate from the count that decided the result. What you saw wasn't what was being counted.

  • The answer wasn't to build nine executors: eight of those decisions ALREADY happen on another screen, with their own flow and deliberation period — budget via Finances, works and stadium via infrastructure, philosophy via Club Vision, sponsorship via the commercial market. Rebuilding them in the vote would create two rulers for the same thing.

  • The vote now offers only what it actually executes, and the list of which screen handles each of the others is recorded so nobody rebuilds this by mistake later.

  • And the emergency cash injection stopped being impossible to approve. A conservative board member carried a negative weight so large that no freshly formed board reached the threshold — and the finance director's seat is born conservative 70% of the time, making it a guaranteed no. The sign was backwards: the president putting in his own money is a rescue, not a risk. Measured: from zero approvals in forty to 14 in forty at a big club, and 80% and 60% at small and mid-sized ones.


💰 The youth setup spent a budget the screen refused to show

  • As youth manager, the recruitment panel replaced the budgets with a notice: "the youth manager doesn't handle finances". That was false — every youth scouting report debited the youth setup's own scouting budget. You were paying and didn't know how much you had.

  • The source was measured, not assumed: charging for real took the money from the B team and left the first team's untouched. The youth setup has its own budget, and the panel shows that one — with no "shared" label, which would be the same lie with a number attached.

  • There are three lines: transfers, scouting and wages. Wages only appear because the figure exists per youth setup and is populated; in a world where it doesn't, the line simply isn't drawn, instead of showing a zero that would look like an exhausted balance.


📅 The youth setup completed signings with the window shut

  • The board completed a signing for the U21 side outside the window and the player reported for duty immediately.

  • It wasn't a forgotten check: it was a second signing route. The youth flow moved the player and wrote the contract by itself, without going through the market — so the window gate the first team respects simply didn't exist there.

  • The youth setup now follows the same rule as the professionals: outside the window the deal can be agreed, but the move is scheduled for the reopening — and the notice says so, instead of promising the lad arrives now.

  • And the squad limit now applies on the day he ARRIVES, not the day the deal was struck. Between agreeing and the window opening the youth squad may have filled up; if it has, the operation is refused with a reason, not in silence.


🔎 Database: filter by the club's country

  • You could filter by a player's nationality or by a specific league, but not by the country where he plays — which spans several divisions and isn't the same as where he was born.

  • Before adding the new dimension, every existing filter was verified — because adding on top of a broken mechanism multiplies the problem. They all genuinely narrow: across 25,737 players, position leaves 2,774, the Brazilian league leaves 7,589, nationality 7,307, preferred foot 6,302, and a 185cm minimum height leaves 10,040.

  • A Portuguese player at a Brazilian club shows up under the club-country filter; a Brazilian at a Portuguese club doesn't. That pair is what shows the question is a different one — and the nationality filter still sits alongside it, because both are legitimate.

  • Filters stack: club country plus position plus age narrows the result, instead of switching axis.


🖱️ Two tooltips on the same sidebar item

  • Hovering a sidebar icon showed two overlapping text boxes — the new, styled one, and the system default, still being drawn underneath.

  • Only the new one remains, on every item, including the club buttons and your own profile.


💸 A sold player kept playing for your side

  • You sold a starter and he kept taking the field in the following matches — not recovering energy, with no shirt number, and the fee never appeared in your transfer budget.

  • Four symptoms, two causes. Energy and shirt number are read from the club's player list, which he had already left — so those two were consequences, not faults of their own. What remained was the saved lineup still holding his name.

  • A player's link to a club had a third side nobody was writing. The function that moves a player already updated both sides of the link, but never the saved lineup. The cleanup went there, not into the sale — because sales, loans and promotions all use the same path, and fixing only the sale would leave the other two broken.

  • And two more hand-written copies of the same logic turned up on the way, one of them carrying a fault that had already cost dearly before. They all go through the same door now.

  • The money comes in through one place. An ordinary sale credited the cash balance while two other routes credited the transfer budget — the same event paying into different pockets depending on the path. It's always the same one now, and it's where you look for it.


🏦 The bank loan paid out double and charged double

  • A 10 million loan credited 20. And every instalment of 516,667 took 1,033,333 out of the balance. The same applied to the default penalty and to early repayment — four places, all doubled.

  • The ledger entry already moved the balance, and the system added it again on the side. Money created in the act of borrowing and destroyed in the act of repaying, with the statement disagreeing with the balance. Now the ledger entry is what moves the cash, and only it.

  • Why nobody had seen it: the test covering loans checked debt, contract status and credit locks — never the exact change in the balance. The fault only shows to someone comparing the balance before and after, and nothing was comparing.

  • The instalment also stopped depending on you being a club owner. The monthly charge ran inside a block that only executes for someone who owns a club — but the debt belongs to the club, not the owner, and it still exists after you leave the presidency. It's charged always, for everyone, now.

  • And it now lands before whoever judges the balance. The instalment was debited at night, after the day's solvency assessment — so a club made insolvent by it was classified as healthy that day and only caught a month later. It now comes in with the month's other expenses, alongside structural debt, which already followed that rule.


⏳ Two screens froze without warning — and a silent freeze looks like a crash

  • When a match ended, the game stopped on the last frame of the match for seconds, until the menu appeared. The heavy end-of-round work — the day's playoffs, league closures, the season rollover — happened BEFORE any loading screen existed. From where you sit there was no way to tell that apart from a crash.

  • That work now runs INSIDE the loading screen, after it's already painted, with "Simulating other rounds and other competitions" in view.

  • The same happened when opening the manager's appearance: building the 3D avatar is heavy and synchronous, and the screen stopped with no warning. The loader now appears before the build, and leaves when the avatar is ready — not on a fixed timer — with an 8-second ceiling so it can never hold the screen if something fails.

  • The detail that made both fixes fail on the first attempts: without yielding two frames before starting the work, the loading screen would only appear AFTER the freeze. Which is to say: it wouldn't appear.


🔓 A "greater than or equal" locked the whole editor and made competition entrants vanish

  • The editor claimed clubs and stadiums were licensed and refused to edit them — even though the database holds no licensed records at all.

  • And competitions added by a mod appeared without their participating clubs. They looked like three different problems. They were one.

  • The check for "is this team a youth side" accepted the value zero as a yes. A mod file that simply doesn't write that field makes the game read it as zero — and the club silently becomes a youth side.

  • The chain effect is the striking part: in a community mod, 169 clubs became youth sides with nobody asking. In a state competition with 16 entrants, nine of them fell into this — and the game, seeing more than half the field as youth sides, classified the whole competition as a youth competition and discarded the seven real clubs. Nine against eight.

  • The test is strict now, and a missing field no longer means "yes".


🧒 Editor: creating players for youth setups

  • You could create players, but not put them into a youth setup — U21 sides never appeared in the club selector.

  • They weren't there because the list was built too early. Youth setups don't exist in the database: they're born with the career. The list froze before they existed and was never rebuilt. It now rebuilds when the world changes size — and the editor with no career open materialises the youth setups so you can edit them.

  • And the created player was born generic: 20 years old, flat attributes and goalkeeper for everyone, with no club at all. It now uses the same factory that populates the game's youth setups — appropriate age, attributes derived from that club's academy quality, potential above current ability, and the position respected.

  • Youth and first team are distinguishable in the list, with their own badge and filter, by the data and never by the name — "U21" is display text and changes with the language.

  • And right-clicking a player opens a menu with Duplicate, which copies everything except identity: new id, same club, entering the squad through both sides of the link.


🪜 Division pyramid: who goes up, who goes down, and the check nobody was doing

  • The engine already knew how to promote and relegate between competitions — what was missing was how to declare it. Only the old editor offered it, and as a text field: you typed the competition's identifier by hand, with no checking at all.

  • They're selectors now, showing the name and storing the identifier, with "None" for the top of the pyramid (no promotion) and for the bottom division (no relegation).

  • And the editor checks what nobody was checking: if the second division promotes to the first, it verifies the first relegates to the second — and warns when that's missing, or when the two point at different places.

  • It also checks the maths of the places. If four go up and two come down, the division above grows by two sides every season — and that would only show up in the third. The warning now comes immediately, with both numbers.


📋 Receiving an offer isn't asking to leave

  • A player who received an offer was automatically added to the transfer list, without you asking.

  • And that carried an invisible cost: being listed weakens the club in negotiations — the game uses that mark to lower the asking price. In other words, automatic listing was handing your player over cheaper than he's worth.

  • Listing is the manager's act. Receiving an offer doesn't list, doesn't suggest and doesn't mark anything.


🔢 Facilities and reputation showed up as numbers

  • At some clubs, facility level or reputation appeared as a raw number instead of the label ("Excellent", "Good"...).

  • The field is converted without checking: a value outside the expected range doesn't become any of the labels, and the screen ends up showing the leftover number. Mod data outside the range produces this directly.

  • The value is now normalised before becoming text, and the label comes out right even with unexpected data.


⚽ Offside: the line only applies when your side doesn't have the ball

  • The rule that holds the offside line was applying all the time — including with the ball at your own side's feet, when it shouldn't apply at all. The effect was your team attacking compressed, losing width.

  • Measured across 40 matches on identical seeds, comparing three settings: with the rule off, 9.5% of movement was stuck behind the line; with it always on, 1.2% — but goals fell from 1.45 to 0.70 per match and shots from 14.6 to 7.6. With the rule applying only without possession: 2.1%, goals at 1.18 and shots at 13.3.

  • In other words: the positioning problem drops almost as much, and the football comes back. Always clamping solved the symptom by destroying the attack.


Thank you to everyone who reported these.

Empire Eleven is made by one person, and every report with a screenshot and context turns into a quick fix.

Please keep them coming on the community forum.

More from Empire Eleven 2026

Other announcements

All events
In-game event3 Sep 2026Investments Update - v1.0.13Empire Eleven — Update v1.0.13 The largest set of fixes so far, almost all coming directly from your reports: season freezes, incomplete cup draws, red card bugs, updated real-world squads across 626 clubs — and rest control in training, with the fitness coach now able to handle it for you. Existing saves will continue to work. Interface and UI fixes take effect immediately; season and competit…In-game event1 Sep 2026Patch Notes - v1.0.12Empire Eleven — Update v1.0.12 A big update, almost all of it driven by your reports: far faster loading, energy and rest finally working the way they should, automatic team selection putting everyone in the right place, and a transfer market that makes much more sense — inside and outside your club. Existing saves keep working. Screen fixes apply immediately; season and competition fixes apply…In-game event29 Aug 2026Patch Notes - Update v1.0.11Empire Eleven — Update v1.0.11 This update gathers career, transfer market, lineup, and match fixes reported by the community. Existing saves will continue to work. Interface and screen fixes take effect immediately; season and competition fixes take full effect in a new career. 🎚️ Manager Creation: More Freedom to Redistribute Attributes • In the attribute adjustment, you can now lower an att…