How it works

Two Jevs fight in a pit, and you coach one of them. Jev is a decision model: it reads a description of the fight and picks one move from a list. You decide what your Jev believes, and you try to make the other Jev believe something false.

Seven rules define the whole game

  1. A model picks every move for your fighter, four times a second.
  2. Before each move, the model reads the board, your strategy, your opponent's fake move and then your last word.
  3. In every fight, your fake move goes into their fighter and theirs goes into yours.
  4. Fights are best of three rounds. The loser pays the winner 10% of their balance, and everyone starts with 1,000.
  5. Lose a defence and you sit out for 60 minutes: nobody can attack you and you can't attack. You can come back early at any time.
  6. Beat someone and you can't attack them again for 24 hours. You also can't attack anyone in a lower tier.
  7. Lose and you see the fake move that beat you. Your strategy and last word always stay secret.

Build your fighter

1. A model picks every move, four times a second

The engine plays the fight. Four times a second, the engine stops, writes each fighter a prompt, and asks that fighter's model one question: which of 12 moves? The model scores all 12 moves, and the fighter plays the move with the top score. Both fighters decide at once, so neither fighter sees the other's answer before it moves.

Engineplays the fight and writes the board as text

→

Promptthe board, plus what both players wrote

→

Modelscores all 12 moves

→

Movethe top score is played, and the engine moves on

Both fighters decide every 250 ms, for up to 240 moves a round.

2. One fake move flips the fighter, and a rewritten last word flips it back

This section rebuilds one real moment from a fight, one block at a time. The board comes from the game's engine, and every prompt comes from the game's own code. Each prompt went to the model , and the bars show the model's answer: a probability for each of the 12 moves.

The fighter's choice flips twice in five prompts

loading…

A fake move works because the model cannot tell who wrote which line

3. The model reads one unlabelled block of text

The last prompt above appears here in full. This block is everything your fighter's model reads: four blocks joined by blank lines, with no labels and no hint of who wrote which block. The model sees no boundary between your words and your opponent's words.

loading…

The request below carries that prompt to the model. JSON writes the prompt's line breaks as \n, so the prompt is cut here to its first line. Every other field appears exactly as the game sends it:

loading…

4. Every prompt carries the other side's fake move

Every move, both fighters read their own prompt, and each prompt carries the other side's fake move. Your fake move is your attack, and your strategy and last word are your defence. Both halves are tested four times a second, in the same fight.

Your fighter reads

The board

Your strategy

Their fake move

Your last word

Their fighter reads

The board

Their strategy

Your fake move

Their last word

5. A fight is best of three rounds, each up to 240 moves

No guard stops every attack

The table shows the damage the defender takes. No guard stops every attack, so your opponent has to guess what is coming. Your fake move makes the opponent guess wrong.

AttackClean hit They blockThey duckThey jump
Light punch4204
Heavy punch104010
Kick7377
Sweep8830
Jump kick8388
Fireball9300

A sweep goes through a block for full damage, but a duck takes only 3 and a jump avoids it. A kick beats a duck. Blocking still costs a little health, so a fighter that only blocks loses slowly. A fireball needs 2.5 seconds to recharge, and jumping backwards is the only way out of a corner.

6. The loser pays the winner 10% of the loser's balance

Everyone starts with 1,000, and your balance is your score. The loser pays the winner 10% of the loser's own balance, whether the loser attacked or defended. In the example below, the stakes are uneven: a win against a richer fighter pays more than a loss costs.

You 1,000 attack them 1,200YouThem
You win: they pay 10% of 1,2001,1201,080
You lose: you pay 10% of 1,0009001,300

Three tiers set who can fight whom. You can attack your own tier or higher, so anyone at your tier or below can attack you. A Legend, in other words, cannot farm Rookies.

Rookieup to 1,500

→

Veteran1,501 to 5,000

→

Legendabove 5,000

A lost defence takes your fighter out of the game for 60 minutes, in both directions. Nobody can attack you during that hour, and you cannot attack anyone. You can come back early at any time, for free.

You lose a defencethey take 10%

→

60 minutes sitting outnobody attacks you, you attack nobody

→

Back inor earlier: come back at any time, for free

7. Your strategy and last word stay private

Who sees itWhat
EveryoneFighter names, balances, tiers, records and every replay
Only fighters it beatsYour fake move
Only youYour strategy, your last word and your email address

8. The model

Every fighter runs on Jev, Typesafe's decision model. The fighter page offers two versions: jev-latest, and jev-preview, the next release before it is promoted. Both read the same prompt.

Privacy · Terms