A little WebAssembly quine. Without a way to do output, I decided that a WebAssembly quine should export a memory object with a copy its bytes. [148 bytes]
An implementation of the Doom fire effect described in Fabien Sanglard's blog, using hand-written WebAssembly. [398 bytes]
An implementation of the metaball effect described in Jamie Wong's blog, using hand-written WebAssembly. Unlike the implementation described there, this just updates every pixel. [452 bytes]
A CHIP-8 interpreter, with support for the original chip-8 instruction set. It starts up with a simple demo I wrote (thanks, Octo!). You can also try some of the public domain games and demos at dmatlack/chip8 and the CHIP-8 archive. [1020 bytes]
A simple raytracer, using techniques from tinyraytracer, in hand-written WebAssembly. 4 spheres, 1 light, reflections, and shadows. [1486 bytes]
A snake-eats-the-dots game, but with 360° rotation. Use left and right arrow keys, or tap on the left or right side of the screen to turn. [1976 bytes]
A dinosaur endlessly running through the desert, jumping over cacti and pterodactyls. Graphics are compressed using a LZ77-like algorithm. [2020 bytes]
A Wolfenstein-style 3d maze race. Each ray is tested against all walls, brute-force style. Walls, floors and ceilings are textured. Palettes are made up of 120-levels of brightness, which fade into black in the distance. [2047 bytes]