Skip to content

ngutierrezp/runcar.dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

30 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ๏ธ RunCar.dev

Welcome to RunCar.dev! A colorful, parallax-rich ASCII animation served entirely over HTTP โ€” straight into your terminal. ๐ŸŒ๐ŸŽจ๐ŸŽฎ

Car Animation


๐Ÿš€ What is this?

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. ๐Ÿš—๐Ÿ’จ


๐Ÿ› ๏ธ How to Run It

No installation required! Simply open your terminal and run:

curl runcar.dev

โš ๏ธ Make sure curl is installed. It's available by default on most Unix systems (Linux/macOS). On Windows, you can use Git Bash or WSL.


โœจ What You'll See

  • ๐ŸŽจ 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

โš™๏ธ Customizing the animation

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.dev

Or, 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

๐Ÿงฐ Local development

# Install nothing โ€” it's pure stdlib Node (ESM)
npm start                       # run the server on http://localhost:3000

# Rebuild the animation frames deterministically
npm run generate

The 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.


๐Ÿค Contributing

We welcome your feedback, bug reports, and pull requests! Feel free to open an Issue or a Pull Request with your ideas.


๐Ÿงช Demo Preview

You can visit the main page to get more details and see the animation in action: RunCar.dev


๐Ÿงก Love It?

Support the project by starring โญ the repo or sharing it with your terminal-loving friends.


About

๐ŸŽ๏ธ RunCar.dev is a terminal-based ASCII car animation served over HTTP. Just run curl runcar.dev and enjoy the ride โ€” no setup, just pure retro fun!

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors