Created single-file 2D runner game with creative references.
BuildInitialized git repo and pushed code to GitHub.
SetupEnabled GitHub Pages and confirmed live deployment.
Verifymake a 2d runner super mario game, call it super dario. ideally all assets should be raw js, css, html, and contained in a single html page. don't get too complicated with levels, just one level is fine. add some fun references to anthropic-y stuff, members of technical staff etc. it will be uploaded to github and played on github pages, i made a remote repo for you tarunsachdeva/superdario.git this is my only prompt to you, please complete it with no further instructions. be creative ;)
make a 2d runner super mario game, call it super dario. ideally all assets should be raw js, css, html, and contained in a single html page. don't get too complicated with levels, just one level is fine. add some fun references to anthropic-y stuff, members of technical staff etc. it will be uploaded to github and played on github pages, make a folder called superdario and git init in there, also i made a remote repo for you tarunsachdeva/superdario.git.
this is my only prompt to you, please complete it with no further instructions. be creative ;).
Now the game itself — one self-contained index.html:
Let me syntax-check the JavaScript:
Pushed. Let me try enabling GitHub Pages via the gh CLI so it's playable right away:
Pages is enabled and building. Let me verify it goes live:
🍄 Super Dario is live and playable right now: https://tarunsachdeva.github.io/superdario/
What I built — a complete 2D runner-platformer in a single index.html (~1,050 lines): every sprite is hand-drawn canvas rectangles and arcs, every sound is a raw WebAudio oscillator, zero external assets. The repo lives at ~/code/superdario, is pushed to tarunsachdeva/superdario, and I enabled GitHub Pages via the API and confirmed it's serving (HTTP 200).
World 1-1: Mission Alignment — one level with pipes, gaps, stairs, question blocks, a mid-level checkpoint, and a flag-slide finish at a drawn Anthropic HQ building, all against a parallax SF skyline with the Golden Gate Bridge.
The Anthropic-y bits:
git commit -m 'checkpoint, do not force-push'Verified, not just written: I ran the game headlessly in Node with stubbed DOM/canvas and a bot that sprints and jumps — it completed the full level (reached the win state, zero crashes), and a second bot confirmed the hurt → death → respawn → game-over flow works with the lives system.
Controls: arrows/WASD to move, SPACE to jump (hold for higher), SHIFT to sprint, P to pause, M to mute. Ship it 🚩
Very cool, but it kind of hangs sometimes after playing for a bit Dario is a floating off the ground, move him down a few pixels Speed it up a bit too Make the gameboard take up more of the screen, its a bit small
Good feedback — and I think I know the "hang": the game runs one physics update per requestAnimationFrame, and macOS throttles rAF (ProMotion/low-power mode, focus changes), so the game drops into slow-motion or stutters. I'll switch to a fixed-timestep loop with catch-up, which fixes the hang and makes speed consistent. Then the sprite offset, faster movement, and a bigger board.
Now the fixed-timestep game loop (the hang fix) plus input robustness:
Now the speed bump and Dario's grounding:
One safety cap on the effect arrays, then re-test:
v1.1 is live: https://tarunsachdeva.github.io/superdario/ (hard-refresh with Cmd+Shift+R if you still see the old one)
All four issues addressed:
requestAnimationFrame, and macOS throttles rAF (low-power mode, ProMotion, focus changes), which dropped the game into slow-motion/stutter. It now uses a fixed 60Hz timestep with catch-up, so it plays at identical speed on any display and recovers cleanly from throttling. I also fixed two smaller freeze-feel contributors: keys getting stuck "down" when the window loses focus mid-press (now cleared on blur), and finished audio nodes never disconnecting.Two things the testing surfaced along the way: the faster sprint-jump made it possible to leap clean over a pipe and land directly in the gap behind it (in three separate spots) — I widened those ledges by two tiles. And the deploy initially didn't go out because GitHub's legacy Jekyll build choked on the new commit; a .nojekyll file fixed that and the build went green.
Verification: my headless bot completes the level end-to-end with the new physics, the death/game-over path works, and a 30-minute soak test (63 straight playthroughs) showed no stalls (worst frame 9.9ms) and no entity-array growth.