A customizable particle system with interactive particles, connections, and various visual effects.
- initialParticles: How many particles to create when starting (default: 150)
- initialSpawnPositions: Where particles first appear (options: 'random', 'center', 'top', 'bottom', etc.)
- clearCanvas: Whether to clear the screen each frame (true/false)
- showDebugInfo: Show FPS and particle count on screen (true/false)
- autoSpawn: Automatically create new particles (true/false)
- autoDestroy: Automatically remove excess particles (true/false)
- minParticles: Minimum number of particles to maintain
- maxParticles: Maximum number of particles allowed
- adjustmentInterval: How often to check particle count (in milliseconds)
- type: Background style ('color' or 'gradient')
- color: Solid background color (hex code like '#111111')
- gradient: Gradient settings with colors and direction
- size: Particle size range (min/max values)
- color: Particle color (hex code like '#00ff40')
- opacity: How transparent particles are (0-1)
- shape: Particle shape ('circle', 'square', 'triangle', 'star', 'diamond', 'plus', 'hexagon', 'pentagon', 'char')
- shadow: Drop shadow effect with color and radius
- fading: Fade in/out effects with timing
- enabled: Whether particles move (true/false)
- speed: How fast particles move (min/max values)
- direction: Movement direction ('random', 'up', 'down', 'left', 'right', 'center', 'edge', etc.)
- spawnPositions: Where new particles appear
- spawningOffset: Distance from edges when spawning
- spawnGrid: Grid-based spawning (columns/rows)
- respawn: Whether particles respawn after dying (true/false)
- ttl (Time To Live): How long particles live before dying
- enabled: Whether particles have limited lifespan (true/false)
- min/max: Lifespan range in seconds
- bounceOffEdges: Particles bounce off screen edges (true/false)
- bounceOffParticles: Particles bounce off each other (true/false)
- enabled: Show lines between nearby particles (true/false)
- distance: Maximum distance for connections
- maxConnections: Maximum connections per particle
- color: Connection line color
- opacity: Connection line transparency
- lineWidth: Connection line thickness
- lineStyle: Line style ('solid', 'dashed', 'dotted', 'double')
- enabled: Particles attract/repel each other (true/false)
- attraction: Pull particles together (force/radius)
- repulsion: Push particles apart (force/radius)
- mode: Interaction type ('attract', 'repel', 'both')
- spawn: Click/drag to create particles
- enabled: Allow mouse spawning (true/false)
- amount: Particles created per click
- continuous: Keep spawning while dragging (true/false)
- delay: Time between spawns when dragging (milliseconds)
random- Anywhere on screencenter- Screen centertop/bottom/left/right- Screen edgestop-left/top-right/bottom-left/bottom-right- Cornersrandom-edge- Random edgerandom-corner- Random corner
circle- Round particlessquare- Square particlestriangle- Triangle particlesdiamond- Diamond particlesstar- Star particlesplus- Plus sign particleshexagon- Six-sided particlespentagon- Five-sided particleschar- Random letter/number particles
- Open
demo/index.htmlin a web browser - Modify settings in the JavaScript files
- Refresh to see changes
- Click and drag to spawn particles with mouse
ParticleSystem.js- Main system controllerParticle.js- Individual particle behaviorConnections.js- Particle connection linesdemo/- Example implementation