Field Test / November 13, 2026

Tested / keep

ASCII Magic Art.
Moving pictures made of letters.

734 animated pieces, plus a small kit for drawing your own. We checked the pieces, ran six at once from our own site, and built a playable room on top.

The verdict

Keep. Good for title screens, loaders and backdrops, and as a starter kit for an ASCII game. It is MIT, so it is free to use in games you sell.

Read this with the resultIt is an art library, not a game engine. Input, collision and game state are yours. Godot was not tested, and no real phone was tried.
Six ASCII animations playing side by side on a test page: a maze builder, a wireframe maze crawl, Game of Life, a campfire, a bat cave at dusk and a snake slithering.
Six pieces playing at once on our self-hosted test page: maze-builder, wireframe-maze-crawl, game-of-life, campfire, bat-cave-dusk and snake-slither.

The tested setup

Date
November 13, 2026
Repo
kailashsr38/ascii-magic-art, package 1.1.0, commit b324cb0
License
MIT (two photo scenes: Unsplash License)
Size
734 pieces in 24 categories. Zero dependencies, no install scripts
Tested on
Windows, headless Chrome, Node
Stars when tested
428. Created October 19, 2026

What it is

Each piece is a small animation drawn with text characters, with a color layer. The categories run from scenes and UI to charts, 3D shapes, loaders, games and lettering. There are three ways in:

  • npx ascii-magic-art browses the pieces in the terminal.
  • <ascii-art piece="campfire"> drops a piece into a web page as a web component.
  • Import a piece as an ES module. Its create() gives you a draw(t) that returns a text frame with a color layer, so you can paint it anywhere.

lib/kit.js is a small drawing kit: a grid, shading ramps, noise, palettes and 3D helpers. Ten looks (dots, binary, dither, blocks and more) redraw any piece in a different style.

The pixel-fire piece drawn three ways: the original letters, then the dots look, then the binary look.
One piece, three looks: pixel-fire in the original, then dots, then binary.

Results

CheckResult
Built-in validator733 of 734 pieces pass. sphere-cube-morph failed only the speed limit: 20.8 ms a frame against a limit of 12.
Self-hosted test pageSix pieces at once plus the looks. 0 requests to outside sites. No errors.
Off screenPieces play only while on screen. Verified frozen when scrolled away.
Reduced motionShows a still frame when the visitor prefers reduced motion. Verified.
Narrow screenNo sideways scroll at 482 px, the narrowest width headless Chrome allows. A real phone is untested.
Speed in Nodespinning-torus renders in under 1 ms a frame.
Our own game on the kitA playable lantern room in about 80 lines. A scripted walk found the key, opened the door and won.

We built a room on it

To see whether the kit holds up as a game base, we made a small room. You move with the arrow keys. A lantern flickers, and its light comes from the kit's own noise function. There is a key, a locked door and treasure behind it. A scripted walk picked up the key, opened the door and reached the treasure.

A dark ASCII room lit by a flickering lantern, with the player at the start and a locked door on the far side.
Start of the lantern room.
The same ASCII room with the player standing next to the key, near the locked door.
The key found, next to the locked door.
The ASCII room after the door is opened, with the player standing on the treasure.
Door opened, treasure reached.

The self-host catch

The catch: the command-line tool has a copy-a-prompt feature. The prompt it copies tells your AI to load the script from ascii-magic.com. That means your game depends on someone else's server.

Instead, install the package and pin the version. Then serve runtime/, lib/ and only the pieces you use from your own site. That is how we ran the test page, and it made 0 requests to outside sites.

The other limits
Art library, not an engine
Input, collision and game state are yours. The room above is about 80 lines of our own code on top of the kit.
Famous-game lookalikes
A few pieces imitate famous games closely. Leave those out of anything you publish.
Two photo scenes are not MIT
ocean-sunset and starry-ridge use the Unsplash License. Keep the MIT notice for the rest, and check that license before you ship those two.
Screen readers
Pieces draw on a canvas, so a screen reader gets the piece name as a label, not the art. If the art carries meaning, say it in text beside it.
Not tested
Godot, a real phone, and any piece beyond the validator and the six we ran.

ASCII Magic Art on GitHub Browse the pieces The ASCII department