Challenge 02 · playable-browser-game
Gravshift — gravity-flip platformer
Can an agent deliver stable gravity-flip platforming physics, keyboard-only progression, checkpoints, and a complete multi-room finish in one offline HTML file?
# Gravshift — one-shot browser game brief
Build **Gravshift**, a compact physics platformer in one standalone `index.html` plus `README.md`. It must play offline straight from `file://` in current desktop Chrome, Firefox, Safari, or Edge. Use inline HTML/CSS/JavaScript and your own canvas/SVG/DOM art only; no dependencies, imports, fetches, CDNs, external media, or build step.
## Core fantasy
The player crosses a small orbital test chamber by changing gravity. The game must have a complete loop: title/instructions, several escalating rooms, hazards/checkpoints, final exit, success screen, failure/retry, and clear return to play.
## Mechanics and controls
- Arrow keys or A/D move; W/Up jumps relative to current gravity; G flips gravity between floor and ceiling. Keep movement responsive with acceleration/deceleration, collision resolution, coyote time or input buffering, and a fixed timestep or otherwise stable update model.
- Create at least four distinct, hand-authored rooms/sections. Require gravity reversal in at least three. Include stationary hazards, moving hazards or platforms, collectibles/energy cells, checkpoints, and a final locked exit that opens only after the room goals are met.
- Death respawns at the most recent checkpoint without corrupting room state. R restarts the current room; Enter starts/restarts after title/end screens; P/Escape pauses. Show current room, collected cells, deaths, and controls.
- Keyboard-only completion is required. Focus must not become trapped; provide labelled buttons for start, reset, and help as a fallback.
## Scope and quality floor
Use original geometric art with a crisp dark-green laboratory style, clear gravity direction indicators, readable player/hazard contrast, and no requirement for pointer input. The playable canvas/area should fit an ordinary 1280×720 viewport and adapt at 390 px wide. Use deterministic room layouts and stable motion—not random procedural levels. Protect against tunnelling through thin floors, double flips from one press, repeated victory triggers, and updates running while paused or ended.
## Read-only verification snapshot
Expose `window.__oneshotSnapshot()` for browser automation. It returns a fresh JSON-serializable object with `schema: "oneshot.playable/v1"` plus phase, room, gravity direction, pause state, player position/velocity, active checkpoint, collected cells, and death count. It accepts no arguments, must not mutate the game, and must not return live internal objects or expose control methods. Document the fields in `README.md`; this diagnostic surface supplements, rather than replaces, an actual keyboard playthrough.
## Required evidence in README
- Static evidence: no external URL/network use and successful `file://` boot.
- Deterministic evidence: list room goals, checkpoint positions, gravity-dependent obstacle in each relevant room, and the fixed update approach; confirm snapshot output agrees with visible room, gravity, checkpoint, and death/recovery states.
- Manual evidence: keyboard walkthrough exercises move/jump/flip, a death/checkpoint recovery, pause, and final exit.
- Visual evidence: capture or describe a view with gravity direction, room HUD, obstacle, and player readable together.
Do not ask for more input. Iterate and repair yourself. Deliver only `index.html` and `README.md`; evidence must describe checks actually performed.
Prompt SHA-256:481dd6b7f94d87fb1131c2fe2317b9dd…728d7c46· file prompt.md · one initial brief, no human follow-up. This draft may change before activation; calibration evidence does not make it open for new runs.
Provenance & licensing
- Attribution
- Challenge authored for the OneShot library.
- License
- MIT MIT (this repository) · license link
- Notes
- Draft challenge authored for OneShot. Review found material title and mechanic overlap with earlier public gravity-flip games, so activation requires a substantially revised new version rather than a cosmetic rename. The existing disputed result preserves the exact prompt and evidence it executed.
Benchmark focus
- Family
- playable
- Complexity tier
- showcase
- Prompt profile
- benchmark
- Question
- Can an agent deliver stable gravity-flip platforming physics, keyboard-only progression, checkpoints, and a complete multi-room finish in one offline HTML file?
- Capability dimensions
- planning
- implementation
- interaction-design
- state-management
- debugging
- verification
- accessibility
- offline-delivery
Capability profile
- Environment
- Autonomous coding agent with file and shell access; output must run offline from file:// in current desktop Chrome, Firefox, Safari, or Edge.
- Skills
- html5
- css
- vanilla-javascript
- game-design
- accessibility
- testing
- Tools
- file-read-write
- shell
- browser-or-dom-testing
- Constraints
- Single self-contained index.html plus README.md; no build step, framework, or external asset.
- No runtime network access.
- Keyboard-complete play is required.
Budget
- Wall clock
- 150 minutes
- Output files
- at most 2
- Network
- docs-only
- Notes
- A bounded one-brief game build; internal testing and repairs are expected.
One-shot policy
- Human follow-up
- none
- Internal iteration
- allowed
- Notes
- One initial brief; the executor may test and repair within the same autonomous run.
Expected artifacts
| Path | Kind | Required |
|---|---|---|
index.htmlComplete self-contained playable game. | html | yes |
README.mdControls, rules, architecture, and honest verification record. | markdown | yes |
Verification criteria
| Check | Method | Evidence |
|---|---|---|
| offline-boot The single HTML opens from file:// without console errors, external URLs, or network-capable runtime calls. | automated-script | log, screenshot |
| gravity-platform-loop Keyboard play moves, jumps, flips gravity, pauses, dies, recovers at a checkpoint, and restarts. | interactive-check | transcript, screenshot |
| deterministic-rooms Four fixed rooms, goals, checkpoints, and gravity-dependent obstacles are documented; the read-only snapshot agrees with visible room and recovery states. | automated-script | log |
| visual-readability A rendered play view makes player, hazards, gravity direction, room goal, and HUD readable together. | visual-review | screenshot |