Chairman 27 puts you in the boardroom rather than the dugout. You hire the manager, set the budgets and build the stadium, and the manager picks the team. That only works if the football underneath feels believable, so most of the engineering effort has gone into three systems: the match engine, the transfer market and the weekly finances. This article walks through how each one works in the current build.

One probability model, two speeds

The game simulates every fixture in a world of 1,602 fictional clubs across 88 leagues, but you only watch your own club. So the engine runs at two speeds. Your matches use a full simulation that you can watch live. Everything else uses a fast model. The design rule written into the engine plan is that both speeds share one probability model, and that the score is never drawn first and then explained afterwards. Goals have to come out of the play.

An older version of the game used a classic statistical approach: goals drawn from a Poisson distribution, tuned so home wins, draws and away wins landed at about 50%, 23% and 27%. It produced sensible league tables, but nothing in the match caused the result. The current engine replaced it and dropped the old "rock-paper-scissors" bonuses, where one style automatically beat another.

The full simulation

When you watch a match, the engine runs a continuous 2D simulation of 22 players and a ball on a 105 × 68 metre pitch, stepped five times a second (a fixed 0.2-second step). Simulation time is kept separate from the match clock and the on-screen clock, so the picture can slow down for a goal without changing the result.

  • The ball is its own object, and only one player can own it at a time.
  • On the ball, a player scores his options and picks the best: a shot first, then a dangerous pass, a dribble, beating a man, a safe pass, and finally shielding or clearing.
  • Off the ball, each attacker has one marker. Defenders make recovery runs, and the offside line is timed.
  • Success depends on the player’s rating, his fitness and how hard the action is, given the space and pressure around him.
  • A referee gives cards with reasons and can refer incidents to VAR.

Teams play one of 12 styles across 42 formations. Each style is a set of numbers rather than special-case code: how safe or risky it is, its width, its defensive line, how hard it presses, how direct it is, its tempo, its patience and how quickly it counters. Each style also tires players at its own rate, so a high press costs something late in the game.

The random number generator is seeded (a small mulberry32 generator), so the same seed always produces the same match. That makes replays possible, and it makes bugs reproducible, which matters far more during development.

The fast model for every other fixture

Every other match in the world goes through a quicker possession-chain model. A move runs from build-up to progression into the final third, then to a chance, and ends in a shot, cross, foul, corner or turnover. The odds at each step come from the same inputs as the full simulation: player quality and fitness, each team’s style, the competition’s profile, the referee and the state of the game.

Competitions and countries have their own profiles, stored as data. Adding a league means adding data, not writing new engine code. The same goes for each league’s rules: bench size, number of substitutes, suspensions, squad limits and loan caps.

Testing a football engine

Realism is hard to test with ordinary unit tests, so the project has an engine lab. It runs scenarios with pass or fail checks, plus a full-match statistics dashboard to compare the engine’s numbers against what real football looks like. Before an earlier release candidate, a bot played 100 seasons on a fixed seed to look for anything that broke over a long career. That run found 19 bugs, and every critical and high-severity one was fixed. It also confirmed that the save file stays bounded, at about 17 MB after 100 seasons.

What a player is worth

Transfer values start from wages. A player’s value is his weekly wage × 208 (four years of wages), multiplied by an age factor and a quality tier:

value = max(4 weeks’ wages, wage × 208 × ageFactor × tier)
ageFactor: 1.4 (23 and under) · 1.0 (to 28) · 0.65 (to 31) · 0.35 (older)
tier = min(1, ((rating − 20) / 60)²)

Squaring the tier is what makes the market feel right. A non-league player goes for a few thousand pounds and a star goes for a fortune. The four-week floor means even a part-timer costs something.

Haggling

Bids are only allowed when both clubs’ countries have an open transfer window, and some players are simply not for sale. When you do bid, the other chairman haggles:

  • He accepts anything within 5% of his asking price, or within 10% if he is keen to sell.
  • A fair offer moves him 30–50% of the way towards you on the first counter, then 20–30% on the second.
  • After a couple of rounds he usually names a final offer. From then on, only a bid within 5% of that figure will do.
  • An offer under 70% of his asking price is an insult. He does not move, and it costs you two of your attempts.
  • Under 45%, he walks away.

Loans work alongside this, with a loan fee of 8% of the player’s value and the right to recall him. AI clubs also buy and sell among themselves, so the market moves without you.

Where the money goes

The club’s finances run weekly. Money comes in from season tickets, match tickets, executive boxes, food and drink outlets, shops, merchandise, prize money, sponsorship and naming rights, and TV money (each division’s TV deal is paid out over 46 weeks). Money goes out on player and staff wages, win bonuses, stadium upkeep, the pitch, facilities and loan repayments. Debt costs 0.15% a week in interest.

There are three difficulty levels. Each one changes a money multiplier (1.3 on easy, 1.0 on normal and 0.9 on hard) and how patient the board is before it sacks you.

What is next

The engine specification lists what is still to come: preferred feet, separate player attributes, personalities and player roles, and AI managers that change their approach during a match. Chairman 27 is currently being prepared for Android testing. If you would like to hear when it is available, you can sign up for launch updates on the game page.