Skip to content

Introduction

ascii-things is four small artificial-life simulations drawn as glyphs on a canvas: a shark tank, a robot factory floor, a jellyfish bloom, and a robot dog test yard. Each one runs on its own rules, respects reduced motion, and ships with no runtime dependencies.

Same seed and size produce the same scene. Different palette changes the ink, not the behavior. One canvas is the whole surface.

LIVE

Click to throw the ball, or type a command below.

yard@04 · awaiting commandEnter submits · the dog fetches the ball

Seed 7, columns 110, and speed 1 are fixed in this demo. The palette and calm controls update the running engine without rebuilding the world.

  • Four scenes, one shape. palette, seed, speed, columns, maxCells, maxDpr, calm, interactive, label, and onEvent behave the same everywhere.
  • Three adapters. React components from ascii-things/react, vanilla create* factories from scene subpaths, and <ascii-*> custom elements.
  • An optional UI layer. ascii-things/ui adds a framed stage, command input, live readout, palette tabs, and a full dog-hero recipe.
  • Calm defaults. Decorative canvases are hidden from assistive technology unless you pass label. Reduced motion settles the world to a still frame. Off-screen scenes pause.
Scene What it does Import
Shark tank Fish school and flee; sharks hunt, splash, and settle. ascii-things/sharks
Robot floor Robots patrol, scan, haul, queue for a dock, and recharge. ascii-things/robots
Jellyfish bloom Jellies pulse on a current, trail tentacles, and ring on contraction. ascii-things/jellyfish
Robot dog A quadruped trots, sniffs, sits, fetches a ball, and docks. ascii-things/dog

Read the scene overview for the shared model, or jump to sharks, robots, jellyfish, and the dog.