AsciiDelic is an interactive ASCII art animation engine that renders colorful, dynamic visualizations using ASCII characters in your browser. Create mesmerizing patterns with various effects and styles for a unique retro-digital art experience.
- 6 Animation Types: Lava Lamp (default), Plasma, Nebula, Flow Field, Cellular, and Cloud Formations
- Interactive Controls: Easily change patterns, colors, speed, and density
- Dual-Mode Interface: Switch between automated and manual parameter control
- Randomize Function: Instantly create new visual combinations
- Multiple Color Modes: Rainbow, monochrome, complementary, and gradient
- Rich Character Sets: Various ASCII characters create different visual textures
- Responsive Design: Adapts to different screen sizes
- No Dependencies: Pure JavaScript without external libraries
-
Clone the repository:
git clone https://github.com/yourusername/asciidelic.git cd asciidelic
-
Open
index.html
in your web browser.
That's it! No build process or dependencies required.
Key | Action |
---|---|
↑/↓ | Previous/next animation pattern |
←/→ | Shift color hue (manual mode) |
Space | Cycle through color modes (manual mode) |
+/- | Increase/decrease animation speed (manual mode) |
S/D | Decrease/increase character density (manual mode) |
R | Randomize animation parameters |
M | Toggle between automated and manual modes |
asciidelic/
├── src/
│ ├── animations/ # Animation effects
│ │ └── plasma/ # Plasma-based animations
│ │ └── lavalamp/ # Lava lamp components
│ ├── config/ # Default configurations
│ ├── core/ # Engine components
│ │ └── automation/ # Automated parameter management
│ ├── ui/ # User interface components
│ │ ├── inputManager.js # Keyboard and touch input handling
│ │ └── uiManager.js # UI display management
│ └── utils/ # Helper functions
│ ├── color.js # Color manipulation utilities
│ └── math.js # Math helper functions
├── index.html # Main entry point
└── styles.css # Basic styling
New animations can be added by following these steps:
- Create a new file in the
src/animations/
directory - Implement your animation function that takes
grid
,time
, andconfig
parameters - Register your animation in
src/animations/index.js