WebAssembly Doom on a Lattice grid

Doom, compiled to WebAssembly, rendering into a Lattice grid instead of a canvas. Each frame row is one grid row, and its line of pixels is written as a single gradient on that row's cell through the grid's formatting rules. Every frame is diffed against the previous one, and only the rows that changed are pushed into the grid.

Press Start to boot Doom.

←↑↓→ move / turn F or Shift fire Space use Esc menu Enter confirm 1–7 weapon