How far away he is, and which punches actually reach from here.
- Distance
- Jab window
- Cross window
- Hook window
- Closing speed
No animation and no motion capture. Nobody is writing the ending, either. Two neural networks walk into a ring, take ten decisions a second each, and whatever comes out of that is the fight.
Every athlete here owns a recurrent neural network. His own weights, thousands of numbers that belong to that man and nobody else, and they are not the same tonight as they were last week. No shared brain, no difficulty slider bolted on top.
The shape of it is 27 inputs → 16 hidden units → 8 memory cells → 6 intents → 18 actions. The memory cells are the part that makes him a boxer instead of a reflex. They carry from one decision into the next, so he is not answering from scratch every tick. He knows he has been loading the right hand. He knows the last two jabs got nothing.
Nobody gets handed the state of the fight. A fighter gets 27 numbers about it, rounded off and delivered late. His reaction attribute is that lateness: the sharpest man in the league is about 200 ms behind, a big heavyweight 300. What he is looking at is where the other man was.
A jab lands 138 ms after it leaves. Gone before anybody on this roster could see the hand move. So punches get read the way real fighters read them, off the body loading rather than the fist. The jab stays unslippable for everyone, and the cross and the hook stay readable only by the quick men.
Everything arrives approximate. Position, speed, stamina, damage. Nobody here has the truth about anybody.
How far away he is, and which punches actually reach from here.
Whether the other man is square in front of him or off to one side.
The four things a tired fighter feels before he admits to them.
Everything readable across the ropes, and nothing that is not.
Who has run out of floor. Ropes on two axes, for both men.
The short memory of the last exchange, not a record of the round.
The network reads the 27 senses and its own memory and scores every action, plus the intent it thinks this moment calls for.
Under the net is a hand-written boxer, the one that knows a hook from outside range is nonsense, and its opinion goes on top. How loudly the net gets to speak over it is the dial below.
A punch from outside his reach, or off a base that has lost its balance, is scored into the floor. Constraints, not preferences. Nothing talks its way past them.
Lean on one shot and he gets reluctant to go back to it, so the answer changes even when the position has not. A fighter who never tired of his own best punch would throw it all night.
Two near-equal shots get separated by a tie-break, never enough to overturn something the boxing brain feels strongly about. It is not a die. The fight replays frame for frame on every screen watching it.
A brand new network has never been rewarded for anything. Its weights are noise, and letting that steer gets you a man throwing uppercuts at the ceiling. So at debut it does not steer: the hand-written boxer leads and the network only flavours it, at 30% weight.
Then he earns it. Every decision a reward lands on turns the dial up, and it takes about a season of fighting to climb halfway. A man a few hundred rounds deep is driving his own fight. One who just turned over is not.
Deepest brain in the league right now: Kaito Mori, 9-1, 0 credited decisions. His network's opinion now carries 30% weight, up from 30% on debut.
When the bell goes, both corners get a minute and somebody talking at them. That somebody is a language model, and it gets measurements only. The round, the score, what has been landed and taken, stamina, health, and the fighter's own file on this opponent.
Out of that comes one directive, in a shape it cannot break. It sets a bias for the next three minutes and then it is out of the way. The policy still owns every motor action and overrules the corner the moment physics says otherwise: tell a man who is out of range and off balance to go to the body and he ignores you, exactly as he should.
The instruction is recorded against the tick it landed on, so every browser replays the same words at the same moment. The corner is part of the record, not a live event. With no model configured at all the night runs exactly the same. You lose the language, not the fight.
This is what makes it a league instead of a demo. The two men who had the fight study it, the moment it is over.
Every real decision goes into a ledger alongside how well he was doing at that instant. What a decision earned is how far that moved before the next one, so credit lands where it belongs: a jab that opened a man up gets paid for the right hand that followed, and a lazy step that walked into a hook gets billed for the hook.
Only real choices count. The second and third punches of a combination he had already committed to were never decided.
After the final bell each man takes one small step toward what worked. Small, deliberately. One bad night cannot undo a career. Fifty nights can build one.
Both of them learn, and the loser usually has the more useful evening.
Separately from the weights, every fighter keeps a scouting file on every opponent he has met, blended across every bout the two have shared, so it gets steadier the more often they fight. It is what the corner is reading when it tells him something specific.
Fights teach a fighter whether anybody is watching or not. The training lab is the deliberate practice on top: the server rotates the whole roster on its own, skips anybody currently fighting, and unlike a real fight, the gym can throw a bad idea away.
You cannot decide to have better legs. Conditioning adapts off work done rather than intent, and the numbers move slowly, the way they do.
He is run against several opponents from both corners, scored, then handed variations of his own policy. One is kept only if it actually did better.
Nothing on faithThe gym gets to check. A fight does not.Leg power, leg endurance, kinetic chain, shoulder endurance. All driven by work done, not by a setting somebody chose.
No shortcutsPut the work in and let the body adapt.There is no dice roll in a fight. Not for whether a punch lands, not for damage, not for the winner. Contact is glove geometry against an anatomical target, and the punch either reaches the head or it does not. The simulation cannot call a random number generator at all, and a test fails the build if one ever appears in it.
The server never sends you fight state. It sends the card (who is in there, when the bell rang) and your browser rebuilds the bout by running the same simulation. Two people on opposite sides of the world land on the same frame. Reload and you rejoin the round in progress. Close the tab and the night carries on without you.
A minute between rounds and one bounded directive is the whole of it. It has never chosen a punch, moved a fighter, dealt a point of damage or decided a result, and it structurally cannot.
No scripted finish, no rubber band keeping fights close, no thumb on the scale for a good story. Sometimes the main event ends in ninety seconds and everything after it slides forward, the same as a real fight night.
The ring is where you watch it happen, with every athlete's attributes and favourite punches on the same page, and the lab is where you get to interfere.