---
title: Avoid
description: My first browser game, and later the handout for a small JS/Canvas workshop. Kept around so the timeline stays honest.
date: 2026-04-29
period: 'January 2018'
thumbnail:
  src: ./_assets/avoid.jpg
  alt: Screenshot of the Avoid web game.
article:
  tags: ['games', 'web']
  role: Game author
  stack: ['JavaScript', 'Canvas']
  outcome: My first browser game; kept for the timeline, reused for teaching
  audience: general
project:
  description: My first browser game, kept around so the timeline is honest.
  thumbnail:
    alt: Screenshot of the Avoid canvas game.
---

January 2018, my first browser game. You're a peach-coloured dot; red dots stream in from the edges and chase you; the score counts how many the game has dared to spawn so far. It isn't good. I keep it here because pretending the older work didn't happen would be revisionism, and because it marks the moment a `<canvas>` element stopped being mysterious to me.

It had a second job, too. The README isn't documentation; it's the handout for a small JS/Canvas workshop, in Hungarian: what JavaScript is, what a 2D context gives you, why a game loop wants `requestAnimationFrame` and a delta time, why `var` is past tense. The little game turned out to be the right size for explaining things to people who'd never drawn a pixel from code before. The process advice in that handout (write working code first, then make it pretty) is still roughly the only process I follow.

When I archived the repo in 2022 I allowed myself to fix the retina scaling and make the page vaguely responsive, and then made myself stop.
