Playground/Arcade/Snake
API ACTIVITY

Usage & budget

PLAYGROUND SAFETY LIMITS

Steady requests. Visible limits.

0 active · 0/20 queued

Browser: one start every 1.2 seconds (at most 50/minute), up to 2 active calls and 20 waiting. Shared by examples in this tab. Waiting requests cancel when their run is stopped; a full queue rejects new work without an API call.

Server: 60 requests per rolling 60 seconds and 2 concurrent calls per key, per server instance. Other tabs using the same key share that instance’s allowance. This in-memory safeguard resets on restart and is not a distributed or account-wide quota.

Source: playground policy in lib/requestRateLimit.ts. TypeSafe may impose separate limits. Provider HTTP 429 pauses calls until its reported reset; without a reset time, retry requires your action. HTTP 402 is a budget/billing failure, not a pacing limit. No automatic retries or background replay.

Your TypeSafe API key

Import your key to override the shared server default.

Saved on this browser until removed or site data is cleared. Masked on screen; sent only with Jev requests through this app. The saved value is never displayed.

Connecting
Arcade

Jev plays Snake

Four directions, one cell per move. The game computes what each direction would do; Jev picks one and chases the apple.

WORKSPACE GUIDE

Snake

Steer toward the apple without hitting a wall or your own tail, one turn per decision.

Board featuresJev choiceNext direction

What you provide

A seed and a player: Live Jev, the scripted rule, the random baseline, or you on the keyboard.

What happens

Before each move the game computes every legal direction's result: crash, eating the apple, distance to the apple, and how many cells stay reachable. Live Jev receives those facts as structured state and answers one choice question over the legal directions.

What you get

The move played, who chose it, Jev's probability for each direction, and the apples eaten compared with the random baseline on the same seed. Runs stop at 200 moves or after 120 moves without an apple.

Walk through a run

  1. 01

    Pick a player

    Scripted demo and Random baseline run locally. Live Jev uses the configured key, one request per move.

  2. 02

    Play a seed

    The seed fixes apples, so every player faces the same board. Step one move at a time or press Play.

  3. 03

    Compare the score

    The scoreboard puts the result beside the random baseline on the same seed. Open any move to see what each direction would have done.

Try this

Run the scripted demo on seed 1, then Live Jev on the same seed, and compare the apples and any fallbacks.

Execution limits

The game computes each direction's outcome and flood-fill room. Jev chooses one offered direction. Forced and fallback moves are labeled and never counted as Jev choices.

Explore the example. Check the evidence.
Code computes the consequences. Jev picks the move.

Before every move, the game works out what each legal action would do: crash or not, distance to the goal, and a short look-ahead where noted. Jev reads those facts and chooses one action from the offered set. It is a reactive choice, not a planner, and a malformed answer plays a safe fallback that is counted separately. Scores are compared with a random baseline on the same seed, which sees the identical world.

Scripted demo

Ready · move 0 of 200

Scoreboard

seed 1
Apples0
Random baseline, this seed
0
Random baseline, mean of 20 seeds
0.7
Scripted rule, this seed
19

Setup

A short hand-written rule plays locally. Not Jev, and no model call.

The seed fixes the whole world, so every player faces the same game. Live runs are capped at 200 moves and send at most one request a second.

The decision

Board featuresJev choiceNext direction

No moves yet

Press Play or One move. Each move shows the facts the game computed for every legal action and the choice that was made.

Move log

0 moves
Board featuresJev choiceNext direction

No moves yet

Every move lands here with who chose it: Jev, a forced move, a fallback, the scripted rule, random, or you.