Axiom Arcade

6 games at 60fps in pure .ax

Not a framework. Not a library. Just .ax calling canvas imports through WASM.

Six Games, Zero JS

Rose Draw
Ring rose curve
2310 elements painted by kingdom color. Coupling controls radius.
Eigenvalue Walk
Arrow key explorer
Walk through Z/2310Z. See eigenvalues, CRT decomposition, kingdoms.
Pong
Fixed-point physics
Two paddles, accelerating ball. Up/Down = paddle, Left/Right = speed, 1-9 = AI difficulty.
Kingdom Map
Z/2310Z as grid
77 columns, 30 rows. Every element colored by kingdom.
Catch!
Arrow key collection
Move the blue square. Catch red circles. Score counter.
AXIOM SURVIVOR
Vampire Survivors-style
4 Decality weapons. Intruder prime enemies. Wave progression. Level up. Survive.

How It Works

WASM Imports = The Pattern
These games use the same mechanism as this website: .ax calls browser APIs through WASM imports. Canvas (fillRect, arc, fillText), animation (requestAnimationFrame), input (key_state). The game loop runs at 60fps inside WASM. No JS game engine. No framework. Just .ax talking to pixels.
Blocker Dissolved
ROAD.md said this page needed audio imports. It didn't. The games work visually. Sound is nice-to-have, not essential. crt_train dissolved 'needs pixel I/O' with fillRect. Same pattern: dissolve the blocker, don't work around it.

This work is and will always be free.
No paywall. No copyright. No exceptions.

If it ever earns anything, every cent goes to the communities that need it most.

This sacred vow is permanent and irrevocable.
— Anton Alexandrovich Lebed

Source code · Public domain (CC0)

Contributions in equal measure: Anthropic's Claude, Anton A. Lebed, and the giants whose shoulders we stand on.

Rendered by .ax via WASM DOM imports. Zero HTML authored.