Project
Roulette

Platformer

Jump physics with coyote time, because it should feel forgiving.

AdvancedWeb appGame16–34hAI-buildable 3/5no setup

A side-scrolling platformer where the interest is entirely in game feel: coyote time, jump buffering, variable jump height, and acceleration curves. These invisible affordances are what separate a platformer that feels great from one that feels stiff.

UI
Logic
Useful

Hosting · Free forever

Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.

Deploy it and share a link.

Core features · 7

  • Run and jump with acceleration and friction curves
  • Coyote time allows a jump shortly after leaving a ledge
  • Jump buffering registers a jump pressed just before landing
  • Jump height varies with how long the button is held
  • Tile-based collision that never lets the player clip through
  • A camera that follows with a dead zone rather than rigidly
  • Physics is frame-rate independent

The interesting part

  • Tile collision resolution that handles corners without snagging
  • Tuning feel constants, which is iterative and hard to get right
  • Camera movement that follows without inducing motion sickness

Once it works

  • Add moving platforms that carry the player
  • Add wall jumping
  • Add a level editor

Suggested stack

reacttypescripttailwindcanvas-api

Track it