Agent-JEV-Tetris
Tetris where every move is a Jev Choice over seven legal moves, with the game pre-computing each move's outcome for Jev to judge.
Overview
Agent-JEV-Tetris hands every Tetris move to TypeSafe's Jev. The game itself never decides; each turn it sends the board state and a Choice over the seven legal moves and plays whatever Jev picks. The README's demo shows 363 pieces, 114 lines cleared and zero holes, with a panel showing the exact JSON sent and the probability for every move.
Because the jev-1.13 notes say the model is unreliable at counting, grids and arithmetic, the game does the maths: each option arrives with pre-computed consequences such as landing columns, row, lines cleared, new holes and roughness, plus whether it starts the best plan found. The README describes lessons that mattered more than prompt wording, such as offering one plan rather than per-direction hints, counting zero-slide placements, advertising only reachable targets, and measuring piece depth rather than board height.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which legal move should be played now? | left · right · rotate · drop · ... (seven legal moves) |
How it works
- Compute every legal move's outcome in code
- Describe each option with its landing, clears, holes and plan relevance
- Ask Jev one Choice over the seven moves
- Play the chosen move and show the probabilities
Strengths
- Clear example of keeping arithmetic in code and judgment in the model
- Probabilities visible per move
Caveats
- No licence stated
- Game-specific; no tests mentioned
At a glance
- Type
- Project
- Status
- prototype
- Runtime
- browser game
- Has code
- yes
Use cases and integrations
How curated lists describe it
Using the new model JEV to play the game tetris.
hellogumbo/awesome-jev
Frequently asked questions
Does the game ever override Jev?
No, it plays whatever move Jev picks.
Why pre-compute outcomes?
The jev-1.13 notes say the model is weak at counting and grids, so code measures consequences and Jev judges them.
How well does it play?
The README demo reports 363 pieces, 114 lines and zero holes in one run.
Related projects
Source for browser chess and Chess960 where code computes each legal move's facts and Jev picks one per turn as a typed Choice.
ProjectproductionTypeScriptBrowser 1v1 sniper arena where Jev reads match state about 9 times a second and chooses movement, aim, ADS, firing and jumping.
ServicebetaTypeScriptInstrumented 2048 web lab where every move is a Jev Choice over four directions, with probabilities, latency and cost shown live.
ProjectbetaTypeScriptFifteen live arcade games where Jev and LLMs play each other, led by WikiRace in which Jev picks only real links.
ProjectbetaTypeScriptReal-time bot battles where you write a fighter's strategy in plain English and a System One model pilots it several times a second.
ProjectbetaTypeScriptBrowser extension that lets Jev, local Laya or an OpenAI-compatible model take over a running ra2web (WannaFire) RTS match.
ProjectbetaTypeScript