Welcome to RunCar.dev! A colorful, parallax-rich ASCII animation served entirely over HTTP โ straight into your terminal. ๐๐จ๐ฎ
RunCar.dev is a minimalist visual experiment that simulates a car driving down a road using ASCII art. Clouds, a glowing sun, distant mountains, alternating pine / round-leaf trees, lane markers and roadside rocks all scroll past at different speeds, giving a smooth parallax illusion โ all inside your terminal. ๐๐จ
No installation required! Simply open your terminal and run:
curl runcar.dev
โ ๏ธ Make surecurlis installed. It's available by default on most Unix systems (Linux/macOS). On Windows, you can use Git Bash or WSL.
- ๐จ A fully colored ASCII scene with a layered, parallax-scrolling world
- โ๏ธ Sky: clouds and a 3-row sun with rays above and below
- โฐ๏ธ Mountains: a distant gray range moving at half speed
- ๐ฒ Trees: alternating pine trees and round-leaf trees, four-row foliage
- ๐ Car: chrome-white roof, bright-red body, gray tires โ anchored at the center
- ๐ชจ Obstacles: sand-toned rocks (
( ),oo,()) zipping past the wheels - ๐ฃ๏ธ Road: white edges and a bright-yellow
==dashed centerline
You can tweak playback on a per-request basis with HTTP headers:
# Override frame interval (ms). Clamped to MIN_FRAME_INTERVAL_MS.
curl -H "X-Frame-Rate: 60" runcar.dev
# Disable ANSI colors for plain monochrome output.
curl -H "X-No-Color: 1" runcar.devOr, if you're running your own instance, configure it via environment variables:
| Variable | Default | Purpose |
|---|---|---|
FRAME_INTERVAL_MS |
90 |
ms between frames |
MIN_FRAME_INTERVAL_MS |
30 |
floor for X-Frame-Rate |
RUNCAR_COLORS |
true |
0/false/no/off disables colors |
NO_COLOR |
(unset) | Standard convention โ any non-empty value disables colors |
ANIMATION_WIDTH |
64 |
columns used by the frame generator |
ANIMATION_FRAMES |
32 |
number of frames generated |
PORT |
3000 |
HTTP port |
# Install nothing โ it's pure stdlib Node (ESM)
npm start # run the server on http://localhost:3000
# Rebuild the animation frames deterministically
npm run generateThe frames live in animations/car.txt and are built by scripts/generate-frames.js
from a few small pattern strings. Pattern lengths are picked so every parallax
layer loops seamlessly within ANIMATION_FRAMES.
We welcome your feedback, bug reports, and pull requests! Feel free to open an Issue or a Pull Request with your ideas.
You can visit the main page to get more details and see the animation in action: RunCar.dev
Support the project by starring โญ the repo or sharing it with your terminal-loving friends.
