There is no game engine behind this site. Each game registers itself with a small runtime, receives a canvas, and then draws its own world every frame. No sprite sheets, no audio files, no physics library.

The runtime is deliberately thin

The shared code does four things: create and resize a canvas, translate mouse, touch and keyboard input into simple coordinates, play a synthesised sound effect, and provide a few drawing helpers (rounded rectangles, text with a shadow, a HUD bar).

That is it. Everything else — collision, gravity, turn order, scoring — lives inside the individual game. The cost is that forty games solve the same problem forty times. The benefit is that a game is a single file you can read from top to bottom in one sitting.

Drawing instead of loading

A typical browser game ships megabytes of art. Here, a tank is a rounded rectangle with two smaller rectangles on top. A fruit is a circle with a highlight arc. A zombie is a capsule with two dots.

This is not only about download size. Shape-based art is editable at runtime: a paddle can glow when it is hit, a brick can flash before it breaks, a character can squash and stretch for free. With sprites those effects need extra frames; with shapes they are three lines of code.

The trade-off is character. A drawn tank will never look like a designed tank. We accept that in exchange for instant loading and a visual language that stays consistent across a hundred games.

Sound without files

Every sound effect is an oscillator with an envelope: a frequency, a duration, a waveform and a volume curve. A hit is a short square wave plus a burst of filtered noise. A win is four notes in sequence.

Synthesised audio has two practical advantages: nothing to download, and every sound can be tuned at runtime. It also forces the sounds to be simple, which keeps them from becoming annoying — a real risk in a game you play for ninety seconds.

Why the constraint helps

Small games live or die on how quickly the first ten seconds make sense. When you cannot hide behind art, you have to make the rules obvious: big readable shapes, one control, a score that moves.

Constraints also keep the scope honest. A game that needs a physics engine to feel good will not survive this pipeline, so the designs that do survive are the ones whose fun comes from a single clear idea — merge, bounce, stack, slice.

Where it hurts

Some genres are simply out of reach. Anything that needs animation, character, or a narrative cutscene looks wrong in flat shapes. Racing games and platformers need level design that takes longer than the rest of the game combined.

And polish is expensive when you have no artists. A ten-second feedback loop — shake, flash, sound, score pop — takes as long to tune as the core mechanics.

What is left

What is left is a library of games you can open in a second, play with one hand, and close without losing anything. That is a narrow target, but it is a target worth hitting precisely.