August update: Match Engine v1.0 - finally stable

In our last match engine update, we talked about through-balls into space, loose balls, goal kicks, corners, free-kicks and the first serious rounds of balancing.
At that point, many of the individual pieces were working.
Since then, the job has been less about adding another clever football moment and more about answering a harder question:
Can all of those moments live together for a full match without the football falling apart between them?
That has been the focus of the latest development work.
The result is what we're calling our Match Engine v1.0.
It isn't the end of match engine development. Far from it. Tactical identity, substitutions, player condition and much more manager influence still need to be layered into the football.
But we have reached an important point: matches are varied, enjoyable to watch develop, significantly more reliable and stable enough that we can start connecting the engine properly to the rest of For The Title.
And, as it turns out, making football reliably continue after something goes wrong is quite a large part of making a football match. Balancing it between formations, skill-levels while making it realistic was even harder.
Football doesn't stop after the interesting bit
A through-ball is only interesting if something happens after it.
The runner might reach it first. A defender might recover. The goalkeeper might come out. Nobody might control it cleanly and the ball could become available again.
That sounds obvious when you're watching football. For the match engine, those transitions are exactly where a lot of recent work has gone.
Through-balls into open space now produce much more convincing races and recoveries. The important change is not simply that a pass can be played ahead of a teammate. Players can now contest what happens next in a way that better reflects the changing situation.
Sometimes the attacking player gets there.
Sometimes the defender reads the danger.
Sometimes the ball remains loose and everybody has to react again.
That last part has improved considerably too.
When possession breaks down, the engine is now better at treating the ball as something that is genuinely available rather than immediately forcing it back into clean possession. A block, challenge or imperfect touch can create another football problem for the players nearby.
Those moments give matches a little more messiness.
Which, for football, is usually a compliment.
One match, not a collection of separate scenes
Restart situations were already part of the engine in our previous update. The bigger step since then has been connecting them more reliably into normal match flow.
Kickoffs, goal kicks, corners and free-kicks now sit inside a more complete restart ecosystem.

A corner can lead to a clearance, another contest, a shot or the ball leaving play again.
A saved effort can become a corner.
A missed attempt can move naturally into a goal kick.
A foul can interrupt open play and create the appropriate free-kick situation before the match continues.
The important part is the handover between those states.
We've continued developing both direct and indirect free-kick behavior, so the engine can recognize that not every dead-ball situation should produce the same response. Penalties and other special set-piece paths are also functioning as genuine parts of match outcomes rather than isolated test scenarios.
There are still plenty of set-piece details we want to expand later. But the foundation now behaves much more like one continuous match. Getting the wall to act realistically was more difficult than previously imagined, we can tell you that much.
That continuity has been one of the biggest differences between the engine a few months ago and the version we're playing with now.
Shots have more of a story
We've also continued working on what happens after a player decides to shoot.
Earlier versions could sometimes make the result feel a little too binary: shot, then outcome.
The current engine does a better job of carrying the situation through the different possible consequences.
An effort might be saved.
It might be blocked.
It might miss.
It might be turned behind for a corner.
It might produce another loose-ball situation.
It might change who controls the next phase of play.
Shots and headers now don't only hit or miss the target, they're aimed at a precise geometrical position. And the goalkeeper's chance to save also depends on the time it takes the shot to reach the target.
Goalkeepers are more involved in resolving these moments too, including the transition into whatever happens next.
This doesn't mean every attempt now creates a dramatic sequence. Sometimes a striker simply sends one into row Z. Football has seen worse.
But the path from the shot to the next meaningful moment is cleaner and more consistent.
August became the month of reliability
A large part of the work during August has been deliberately unglamorous.
Reliability and correctness became a major focus.
We increased the amount of simulation and validation we run across batches of matches, while adding stronger diagnostics to help us spot situations that were rare enough to hide during normal testing. And not only diagnostics; several hundred tests validate that nothing "illegal" or unfootball-like happened during the match. (I might have created a new word there.)
All of them matter when you want thousands of football matches to complete consistently.
Fouls received similar attention.
We've added clearer tracing around both foul checks and actual foul awards, which makes it much easier to understand where fouls are being considered and where they are genuinely changing the match.
That information has helped us refine the wider foul and set-piece pipeline, including adjustments to how situations inside the penalty area are calibrated.
And yeah, we added proper offside rules now. Exceptions like the halfway line and backwards passes are now included. And players may be called off for being in an offside position. You shall pass no more.
Better football needs better evidence
As the engine becomes more complex, simply watching one match and deciding that something "looks about right" isn't enough.
So another important part of this phase has been improving what we can learn after the final whistle.
Post-match reporting is becoming richer, and key events are aligning more cleanly with the statistics they produce.
We're getting better information about shots, finishing sequences, fouls, set pieces and player involvement.
That gives us a stronger basis for asking football questions rather than debugging individual incidents.
Are certain shapes creating sensible types of chances?
Are teams progressing the ball in believable ways?
Do different formations produce recognizably different problems?
Are matches producing sensible distributions over large samples rather than just one entertaining game?
We've continued running formation and skill-balancing tests, including added formations; 4-4-2 and 4-3-3 are now joined by 3-5-2, 5-3-2, 3-4-2-1, 4-1-4-1, 4-2-2-2 and 4-2-3-1. And a teaser: we haven't even talked about positional roles yet! :)
There is no single "correct" statistical shape for every match, and we don't want there to be one. Different teams and approaches should be capable of producing different football.
The goal is a believable range rather than a predetermined script.
So what does "v1.0" actually mean?
For us, Match Engine v1.0 means we now have a practical baseline we are comfortable building on.
The engine can produce varied passages of play.
Players can find space and attack it.
Defenders can recover.
Possession can break down.
Loose balls can create new contests.
Shots produce more complete outcomes.
Goalkeepers participate in those outcomes.
Restarts reconnect with live football.
Fouls, free-kicks, corners and penalties can influence the match without existing as completely separate systems.
Most importantly, the whole thing is much more reliable across repeated simulations.
That gives us something we haven't really had before: a stable football match to integrate with the rest of the game.
And that changes what we should work on next.
From balancing matches to building the manager's matchday
We've spent a long time in loops of simulation, adjustment, another thousand matches, another adjustment, and then wondering why one centre-back has apparently decided pressing means following a midfielder into another postcode.
Those balancing runs will continue.
But they are no longer the only thing we need to be doing. And not primarily be doing.
We're intentionally shifting more development time toward wider game integration.
One major area is player-level information.
We want richer involvement statistics, player ratings and stronger team and match reporting so you can understand what actually happened beyond the scoreline.
We're also working toward storing match results and events properly in the wider game world, with lineups and tactical instructions coming from your club rather than being assembled specifically for isolated engine tests.
The match itself needs a better story too.
That means building minute-by-minute commentary and a highlight timeline so important moments can be followed naturally from kickoff to full time.
Behind that, we're separating the detailed analysis information we need while developing the engine from the cleaner output needed when real matches are being played.
But the biggest football step is the one we've been working toward throughout this project: making your tactical identity matter directly inside the match.
That's for you tiki-taka, gegenpressing or long-ball enthusiasts out there.
We want your choices to influence decisions, movement, positioning and duels.
Not through one magic tactical bonus, but through the way your team actually tries to play.
A more aggressive approach should create different opportunities and different risks.
A compact side should defend space differently from one trying to press higher.
A team that wants control should have different problems to solve from one looking to attack quickly through transitions.
There won't be one correct solution.
The point is that your decisions should increasingly explain what you see on the pitch.
The next layer
There are still major pieces to add.
Substitutions are not yet part of the complete managerial experience we want.
Player condition needs to matter through matches and across the wider schedule.
Tactical depth has plenty of room to grow.
Those are upcoming phases, not things we're pretending are already finished. However; we do have the building blocks.
But reaching this version matters because we're no longer trying to prove that all the individual pieces of a football match can work.
We're now working from a match engine that can hold those pieces together reliably.
That gives us a much better place to build from.
Match Engine v1.0 is the baseline, not the finish line.
Now we get to make it yours.
As always, we'd love to hear what you want to understand when you're looking back at a match. Which player statistics matter most to you? What should a good match report tell you? And when you change your tactics, which differences do you most want to see on the pitch?
Come and tell us. The next phase is where the manager starts getting much closer to the touchline.