Jev plays Doom.
Ten actions. One tiny decision at a time. Play the maze shooter, then hand the controls to Jev.
Sector 01 · maze shooter
Focus the arena: W/S move · A/D strafe · Q/E or ←/→ turn · Space shoot · F door · R item.
Changing controls or chaos starts a fresh run. The map shows the whole arena; Jev gets only the inspectable visibility features. No Doom assets or emulator are required.
Inside the decision
Throughput = valid classifications ÷ measured API time, including network. The 200ms target is a demo challenge, not a claim about human perception. One newest decision can control the arena per batch.
Switch to Jev control to watch live classification.
All ten allowed actions
Inspect exactly what Jev sees No request yet
Deterministic geometry supplies these features. Jev receives no pixels, source code, or hidden map. Visible targets must be within eight tiles, a 120° field of view, and an unobstructed line of sight.
enemy_visibletrueenemy_distancemediumenemy_bearingcenterhealth_pct100ammo_pct80wall_aheadfalsewall_leftfalsewall_rightfalsedoor_aheadfalseitem_visiblefalseitem_nearbyfalseitem_kindnoneitem_bearingnonelast_actionidleCurrent live features
{
"enemy_visible": true,
"enemy_distance": "medium",
"enemy_bearing": "center",
"health_pct": 100,
"ammo_pct": 80,
"wall_ahead": false,
"wall_left": false,
"wall_right": false,
"door_ahead": false,
"item_visible": false,
"item_nearby": false,
"item_kind": "none",
"item_bearing": "none",
"last_action": "idle"
}Decision trace 0 batches
Only the newest frame may set the action, and only if at most two ticks old. Older frames demonstrate batched classification; they never execute delayed commands. Held actions expire after 8 ticks. The last eight batches are retained.
Same arena. Three controllers.
| Controller | Kills | Damage | Survival | Accuracy | Jev decisions/s |
|---|---|---|---|---|---|
| Human | — | — | — | — | No model call |
| Jev | — | — | — | — | — |
| Random | — | — | — | — | No model call |
Same seed, 200ms simulation ticks, 90s limit. Jev holds its latest valid action between batches; network delays can leave it idle. These are session observations, not a controlled model benchmark. Jev decisions/s counts valid frame classifications per second of API time, including network; only the newest frame can control the arena. Switching mode saves this run and resets the arena.