A tiny set of single-file HTML/Canvas mini-games. You are the blue dot. The red squares want to ruin your day. Survive as long as you can.
No build step, no dependencies — just open any .html file in a browser.
This started as a weekend thing — me vs. my friends, passing the laptop around, trash-talking each other's best times. Whoever holds the high score on localStorage holds the bragging rights until next weekend. That's it. That's the whole pitch.
If you and your crew need a new way to argue over who has the steadiest hand, you're in the right place.
Seven red squares lock onto your cursor and accelerate toward you. They get faster the longer you live. One touch ends the run.
Pure pursuit. There is no safe corner — only the next move.
Seven squares roam the field with smoothly changing random headings. They are not aiming at you, but the chaos compounds — and they speed up over time. Read the flow, find the gap.
Each square picks a heading at spawn and only ever changes it by bouncing off walls. Predictable in theory, brutal in practice. The trajectories are simple, but seven of them weave a net.
No player, no collisions, no game-over. A pure motion sandbox that runs for N minutes and stops. Useful for staring at, tweaking parameters, or comparing how the same field "feels" without anything to dodge.
| Action | Input |
|---|---|
| Move | Mouse |
| Pause | P |
| Restart | R or the Restart button |
| Retry | Click the canvas after death |
Best times are saved per-game in localStorage.
# any of these works
xdg-open chasers.html
google-chrome bouncers.html
firefox drifters.htmlOr serve the folder if your browser blocks local files:
python3 -m http.server 8000
# then visit http://localhost:8000/chasers.htmlchasers.html # pursuit AI
drifters.html # random-walk movers
bouncers.html # wall-bouncing movers
simulation.html # watch-only sandbox
screenshots/ # the images above
A running list of games in the same spirit: one screen, one button, one bruised ego.
- Reflex — a dot blinks somewhere on the canvas; click it before it disappears. Tracks average reaction time over 10 rounds.
- Snake-vs-friend — classic snake, but you both share the same board on the same keyboard. Last tail standing wins.
- Tug — mash
Avs.Lon one keyboard. First to drag the rope past their line wins. Best of 5. - Aim Trainer — targets pop up at random; 30 seconds, highest score wins. Add a "precision" mode where misses cost points.
- One-button platformer — hold to charge, release to jump. Same level, lowest completion time wins.
- Color Memory — Simon-says with four quadrants. Each weekend the sequence gets longer.
- Gravity Wells — your dot orbits planets; touch the goal without crashing. Par for the course = bragging rights.
- Mirror Mode — Chasers, but your cursor controls a mirrored dot. Embarrassing, on purpose.
- Daily Seed — every game gets a daily deterministic seed so scores are comparable. Post screenshots in the group chat.
- Leaderboard page — a single
index.htmlthat lists every game + your local best. No backend, justlocalStorage. - Two-player split screen — same html, two cursors (mouse + trackpad), survive longer than your friend.
Pull requests welcome. Bring a friend.



