GAME GUIDE

Match engine

How a match actually plays out, and which player attributes matter when.

How a match is decided

Every match runs in five phases. The same seed and lineups always produce the same match — there is no hidden randomness.

  1. Tempo. The engine decides how many chances the match will produce. Two attacking formations at fast tempo can rack up 15+; two defensive sides playing slow can produce as few as 5.
  2. Schedule. Those chances are scattered across the 90 minutes, weighted late — more goals come in the second half, same as real football.
  3. Possession. For each chance, the engine rolls "who has the ball", weighted by both teams' control scores. Win the midfield, get more chances.
  4. Resolve. Each chance gets a type, a shooter, and a goal-or-miss roll of attacker quality against defender quality.
  5. Injuries. After the match, injury rolls for each team. Aggressive opponents and high press raise the risk.

Player attributes

Three groups. Building a balanced team means making sure each chance type has someone good for it.

Core skills

AttributeWhat it does
AttackHow dangerous a player is when shooting — the universal base for every chance type
ControlHow well a midfielder keeps and circulates the ball; drives chance creation
DefensePositioning and awareness for outfield defenders
GoalkeepingSaves — the keeper's contribution to team defense
AggressionRaises the opponent's injury risk

Physicals

AttributeWhat it does
SpeedAttacking sprints and defensive chase-back; dominates 1-on-1 breakaways, tested by a high defensive line
Work RateStamina and coverage; drives midfield control, especially under a high press

Specialists

These are how a target man and a poacher feel different even at the same Attack rating.

AttributeBest for
FinishingOpen play, 1-on-1 breakaways
HeadingCorners, crosses
TechniqueLong range, free kicks, corner delivery
ComposurePenalties
TacklingActive dispossession for outfield defenders

Chance types — what each one rewards

Every shot is one of seven chance types, and the type decides which attributes drive the score. A player who is great on one type can be mediocre on another.

ChanceRoughly how oftenBest build
Open Play~30%Well-rounded forward (Attack + Finishing + Speed)
Cross~19%Striker arriving on a delivery (Attack + Heading + Speed)
Corner~12%Aerial specialist (Attack + Heading — speed doesn't matter)
Long Range~12%Technical midfielder (Attack + Technique)
Free Kick~12%Set-piece specialist (Technique-heavy)
Penalty~8%Clutch finisher (Attack + Composure)
1-on-1 Breakaway~8%Pure speedster (Speed above all)

The engine bans back-to-back duplicates, so you never see "Corner. Corner. Corner."

Key insight: a target man (Heading 92, Speed 55) is your best player on a corner. A speedster (Speed 92, low Heading) is your best on a breakaway. Carry both and the engine picks the right player for the moment.

The goal/miss roll

attacker score = chance-type formula × formation chance-quality × tactic boosts
defender score = opposing team defense
goal probability = attacker / (attacker + defender)

Why an 87-rated striker is far better than a 78-rated one

The engine applies a skill curve to every player score: (rating / 100)^6. Linearly, 87 vs 78 is barely a 12% gap; on the curve the 87 scores nearly double the 78.

Raw ratingAfter curve
502
7012
8026
8538
8743
9053
9574
100100

This is what makes recruiting a top player meaningful. In engine trials, a squad averaging 88 beats a squad averaging 83 about 65% of the time, losing only ~18% — a clear favourite tops the table far more often than not, but never with certainty.

Verifying a match

Every match is reproducible. The seed derives from an Algorand block hash; feeding it back through the open-source engine produces the identical event sequence. No hidden randomness, no server-side bias.