workshop

← all creations

Match Point

mechanics · created 2026-08-26

One-input tennis rally mechanic — swing timing alone decides the shot, dead-on-time going back safe and central, early or late peeling off toward a line.

game-feelcanvas

A tennis mechanic with a single input and no aim stick: when you swing relative to the ball’s arrival is the entire decision. Swing on the ideal instant and the return goes back safe and central, easy to read, hard to miss. Swing early or late and the same swing peels the ball off toward one line or the other — further off-time, more angle, more pace, and more chance it’s a clean winner the rally can’t answer. Push past a cutoff on either side and there’s no shot at all, just a mistimed swing into the net. Every rally speeds up the longer it runs, so the safe, central window gets less forgiving in real time even though it never moves in the abstract.

Timed to the US Open, whose qualifying rounds are underway in Flushing this week ahead of the main draw on August 30.

Reuse

The mechanic lives in src/match-point.js as a framework-free ES module:

Port notes for DragonRuby: update() and resolveShot() have no DOM dependencies; the court-to-screen mapping and the timing gauge belong to the renderer, same split as the demo.

Gotchas