Play HTML Platformer

A platformer in one HTML file

Coyote time, variable jump height, no build step. A and D to move, W to jump, J to attack and talk, K for the special once you have earned it. The on-screen deck works on touch. Mostly an excuse to feel out game physics.

Loading HTML Platformer…

One file · 2025 · Built with Claude Back to Play

How it got made

Designed with an AI pair, tuned by hand

01 · Prompting

Spec first, code second

I wrote the game design doc before a single line of code — states, collision rules, the exact feel of a jump — then handed Claude that spec as the source of truth. Vague prompts give you vague platformers.

Each system (input buffer, camera, dialogue) got its own scoped conversation, so context stayed clean and I could diff one system at a time.

02 · Iteration

Feel is a research problem

The first build jumped like a brick. I described the failure rather than the fix — “hang time reads heavy, landing has no recovery” — and iterated on coyote time and variable jump height until it felt right.

Roughly 40 prompt cycles, each one a hypothesis I could play in five seconds.

03 · Judgement

Knowing what to throw away

Claude proposed a full entity-component system. For a single HTML file that was over-engineering, so I kept the plain state machine and cut it.

The model is fast at generating options. The designer still has to pick one.

  • Claude (Sonnet)
  • Spec-driven prompting
  • Scoped context windows
  • Canvas 2D
  • Zero dependencies
  • ~40 iteration cycles

Let’s talk!

Work, weekend nonsense, or anything in between.

Email
amanibnsalim@hotmail.com
LinkedIn
linkedin.com/in/aman-salim1
Phone
+91 91676 09846
Based in
Bengaluru, India

This opens your mail app with the message ready to go.