In pictures
What it looks like
Screenshots of the live site. Everything in them is generated, so every league looks different. Tap any screenshot to see it full size.
Generated
A new football world every time
Nothing in JONg Ball is hand-made. Press one button and the whole league is built from scratch, in well under a second: no two leagues are the same, and none of it is real.
Clubs and grounds
Twenty-four teams with invented names such as THE LANDFILL BEETLES, their own kit colours, a stadium (some a pun on a real one, like MOULDY KEBAB SHOP DOME), a capacity and a shirt sponsor.
People
552 players, 24 managers and a pool of referees, each with a name, a nationality, an age, a face, a personality on the pitch and a made-up life story. Players get attributes, positions, a preferred foot, squad numbers and contracts.
Competitions
The league and the cup get their own random names (THE GRIMSBY INVITATIONAL, THE SCARBOROUGH SHIELD), a national stadium for the final, a full fixture list with dates and kick-off times, and weather for every match.
Money
Every club starts with its own bank balance and status, season ticket sales, sponsor deals, and wages and contracts for every player and manager, so some clubs begin rich and others in debt.
It keeps generating
Each new season draws a fresh fixture list, replaces retiring players with new young ones in the same position and shirt, rolls a summer of events and injuries, and ages everybody a year. Every week brings new random events.
Regenerate whenever you like
Start over with a new league at any time and the results, the stars and the stories will all be different. Every match is played out from the players' attributes rather than scripted.
The matches
Every match played out, chunk by chunk
No dice rolled for a scoreline: each game is simulated minute by minute on a pitch, from the attributes of the 22 players on it.
Players on a pitch
Passes, runs, dribbles, tackles, shots and saves happen between real positions, so a fast winger, a good passer or a strong keeper makes a visible difference.
- Pace, passing, dribbling, dodginess, positioning, aggression, keeping and fitness
- Left, right or two-footed players, and a main position plus others they can also play
- Form that rises and falls with performances
Football as it is
Fouls, yellow and red cards, penalties, free kicks, corners, throw-ins, goal kicks and added time all happen, at rates close to the real game.
Substitutions and injuries
Managers use the bench, injured players go off and are replaced, and tired players are swapped. Players tire during a match and recover afterwards.
Formations
Teams pick from five formations each match (4-4-2, 4-3-3, 3-4-3, 5-3-2 and 3-5-2), valuing each player by how well he fits the slot. A side plays best in its favourite shape.
Weather, grounds and crowds
Every fixture has weather that follows the season: hot, rain, wind, fog, snow. Each ground has a size, a crowd that depends on the quality of both teams, and sometimes its own quirk.
Referees
Referees have their own styles, from lenient to card-happy, and a page of their own with how many fouls and cards they give.
Watching
Replays and a live match day
Everything that was simulated can be watched afterwards, on a pitch or as a scoreboard.
Match replay
Watch any match back on the pitch with the ball and every player moving, at normal speed or slowed right down for a goal or a penalty. Cards and substitutions are shown as they happen.
Live match day
A "Soccer Saturday" view of a whole match day: one clock, a goal ticker and every game with its live score and scorers.
- The league table is rebuilt every minute, with rows sliding as teams move and arrows showing the change
- Hover a game to highlight its teams in the table, and the other way round
- Cup days show the ties on their own
Match page
Line-ups on the pitch, a summary with goals, assists and cards, team statistics, the referee, the weather, the crowd and the shirt sponsors.
The season
A full English-style calendar
Twenty-four generated teams play 46 league match days, home and away.
Dates and kick-offs
The season runs from the first Saturday of August to May, with five international breaks, midweek evening games, Boxing Day, New Year and Easter fixtures and the bank holidays.
The week between
After each match day the week is simulated: a few random events happen to players (a holiday, a diet, an accident, a coaching boost), then the next day's line-ups and referees are picked. Longer gaps mean more happens.
Pre-season and close season
A summer of events and injuries before the season starts. At the end, the champions are recorded, every player ages a year, the young improve, the old decline, the oldest retire and are replaced.
Many seasons
Every season is kept. Switch season to see its table, fixtures, stats and replays, and see every past champion and top scorer on the Seasons page. The league is tuned so its overall quality neither inflates nor collapses over decades.
The cup
A knockout cup alongside the league
Every club is in it, and it has its own randomly generated name.
Round of 32 with byes
The bracket is 32, so with 24 clubs the top 8 in the table on the day of the first draw skip the first round. Then the Round of 16, quarter-finals, semi-finals and the final.
Watch the draw
Each round is drawn two weeks ahead, on a screen of its own: numbered balls come out one at a time, the first is at home. "Ball 7 will be at home playing ball 3."
Extra time and penalties
Single ties that go to extra time, then a penalty shoot-out if still level. Every kick is recorded.
Neutral final
The final is played at a national stadium holding around 80,000, with the gate split between the finalists.
It counts
Cup goals, assists and appearances count in player totals, and bans carry across the league and the cup. Clubs are paid prize money for each round they play, and more for winning.
Players
Every player is a person
Each of the 552 players has a name, a face, a nationality, a squad number, a contract and a career.
Names and nationalities
A hundred countries, with the commonest names of each, so a name makes a player likely to be from there. Flags show on the team and player pages, and every squad has a core of home nations players.
Faces and shirts
Generated portraits with dozens of haircuts, beards, glasses, scars and other features, and squad numbers up to 99, mostly under 30 with the first keeper nearly always 1.
Injuries
Injuries last a number of weeks, from a cut to a broken leg to a ruptured cruciate, and the games missed depend on the calendar. Dates show when it happened, when he is back in training and the match he is available for.
Suspensions
Red cards and every fifth yellow of the season bring bans, which show as an icon in the squad and as an event on the player's page.
A biography for every player
Each player page has a life story that reads like a short biography, closed until you want to read it.
- A made-up past: where he was born, how he was found, his boys' club and academy, and the clubs he went through before this league, with how many countries he has played in
- It carries on as his career does: every season adds a paragraph on his appearances, goals, his club's league and cup run, big injuries, red cards and milestones
- New players say whose place they took, and a retired player's story ends with his career figures
Player page
Attribute bars, an events timeline, contract details and a career table with a row for each season, including appearances, minutes, rating, goals, assists, passing and shots.
Clubs
Money, contracts and managers
Every club runs a budget, and every player and manager is on terms.
Club finances
Each club starts with a bank balance (from in debt to tens of millions) and a status from Bankrupt to Rich.
- Income: gate receipts, shirt sponsorship, broadcasting, merchandise, season tickets, cup and league prize money
- Spending: player wages, staff, stadium rent, utilities and matchday costs
- A balance for every match day, and a league-wide finance table
Contracts
Every player is on a contract of one to five seasons, with a wage that depends on rating, age and club. Contracts can include a yearly rise, bonuses for appearances, goals, assists and clean sheets, a bonus for finishing high and a release clause.
Sponsors
Shirt sponsors sign contracts of one to four seasons and change at the end of them.
Managers
Every club has a manager with a name, age, nationality, style (The Tactician, The Bus Parker, The Firefighter ...) and a favourite formation. The Managers page lists them with their results.
Stats and history
Look at it every way
Team pages
Squad tables that switch between attributes and statistics and sort on any column, a fixtures tab with scorers and cards, and a finances tab.
League stats
Leaderboards for goals, assists, ratings and more, with teams shown by their kit colours.
Players and injuries lists
Search every player, and see who is injured or suspended and when they are back.
About page
A change log with the date and time of each version.
Under the hood
Built to be dependable
Plain JavaScript engine
The game itself is a dependency-free JavaScript engine. A whole match takes a fraction of a second.
Postgres
League data lives in PostgreSQL, so it persists between visits. The site is one Node process serving the API and a React front end.
Heavily tested
A suite of around forty test files plays whole seasons and checks the results, from match balance to finances to the cup.
Have a go
Start a league, simulate a match day and watch what happens.