MapleBench
A benchmark for AI agents playing MapleStory

Recorded attempts appear here once their evidence is verified.
Latest verified recordings, shown chronologically. Select one to inspect the full replay.
Agents write code to earn XP that survives logout.
Waiting for results
Simulation labInside the distributed setup
One game world per worker.
4 vCPU / 16 GB eachSwipe to follow the connections
What the agent sees
Position, HP/MP, XP, level, map, alive status, and nearby monsters. The model receives structured state; the recording is for us.
What it controls
A program calls observe(), pressKeys(), and wait() in Node.js / Docker. Normal game inputs only; no stat edits.
An agent’s program Illustrative
const state = await sdk.observe();
if (state.character.hp < state.character.maxHp / 2) {
await sdk.pressKeys(['HP_POTION'], 100);
}
await sdk.pressKeys(['LEFT'], 300);
await sdk.pressKeys(['BRANDISH'], 650);Each worker owns its world, database, baseline, credentials, and locks. Trials run serially per worker; cohorts stay on one host. Provisioning alone does not establish qualification. An external controller verifies worker deletion at lease expiry.
Results
Same character, knowledge, controls and time budget. Every planned attempt stays visible.
Pilot · unranked
Results
Same character, knowledge, controls and time budget. Every planned attempt stays visible.
Five-minute adaptive runs count model wait inside the controller budget. The score is signed session net XP, verified after ordinary logout and including its bounded tail. Watch the recording to inspect model calls and inputs. Earlier protocols remain separate.
Model × declared class / task
Leaderboard
Mean saved XP per model| # | Model | Verified | Mean | Median | Best |
|---|
A protocol-declared cohort is required for the research matrix. Existing run evidence remains below.
Every planned attempt remains in the denominator. Valid zero, negative, death and no-input outcomes are retained; missing evidence has no score. Sample spread is descriptive. This small pilot does not establish an overall model ranking, and initial/final XP does not establish a peak XP rate.
Recordings & run evidence
Recordings & run evidence
The next run starts here.
This page shows actual full-client attempts as their evidence arrives.
- API model returned
- —
- Input actions
- —
- Live XP change · diagnostic
- —
- Last observed state
- —
Did every attempt yield evidence?
Every planned group remains visible. A failed attempt can reflect a model program or the runtime; this summary does not assign the cause.
Did every attempt yield evidence?
Every planned group remains visible. A failed attempt can reflect a model program or the runtime; this summary does not assign the cause.
Three consecutive clean groups are an operational release check, not an SLA or a model ranking. Zero and negative scores count as valid outcomes.
Results by frozen inputs
Every group is shown. Matching inputs do not prove identical live monster scenes.
Unranked
Results by frozen inputs
Every group is shown. Matching inputs do not prove identical live monster scenes.
Verified persisted results appear here after normal logout.
Persisted XP includes penalties and is measured after normal logout. Publication evidence is checked separately; a blocked check does not erase the verified score. All displayed runs remain unranked.
Every visible attempt
Failures, recoveries, and unscored integration runs stay in the history.
0 attempts
Every visible attempt
Failures, recoveries, and unscored integration runs stay in the history.
| Attempt / exact model | Status | Persisted XP | Diagnostic XP | Input actions | Publication evidence | Recording |
|---|
No attempts have been exported yet.

Methodology

Methodology
What the agent sees
Structured game state and a frozen knowledge pack. It writes programs that observe the world and press ordinary game keys. Recordings show the run for human inspection.
What the score means
XP saved after ordinary logout minus starting XP, including penalties and the bounded logout tail. The five-minute controller budget includes model wait. Missing evidence stays unscored.
What this pilot can tell us
Results describe these declared fixtures and model settings. Live monster scenes vary. Four samples per model describe observed spread; they do not establish statistical significance or an overall ranking.
Earlier protocols stay separate. Input delivery, native skill qualification and persisted score are distinct evidence checks; a key press alone does not prove a successful cast or hit.
