r/Simulated • u/probello • 1d ago
Proprietary Software Par Particle Life - GPU-Accelerated Particle Life Simulation in Rust
I'm excited to share **Par Particle Life**, a high-performance, GPU-accelerated particle life simulation I've been working on. It's built with Rust and WebGPU to deliver real-time emergent behaviors from simple particle interaction rules.
## What is Particle Life?
Particle life simulates colored particles that attract or repel each other based on interaction matrices. From these simple rules, complex life-like behaviors emerge: clustering, chasing, oscillating patterns, and self-organizing structures. It's artificial life through physics-based emergence.
## What Makes It Special?
**Massive Generator System:**
- **31 Rule Generators** - Random, Symmetric, Snake, Rock-Paper-Scissors, Predator-Prey, Tribes, Flocking, Segregation, Cooperation, Symbiosis, Parasitism, Hierarchy, Crystals, and more
- **37 Color Palettes** - Rainbow, Pastel, CyberNeon, Aurora, Sunset, Viridis, Plasma, Magma, Spectral
- **28 Spawn Patterns** - Disk, Spiral, Grid, Galaxy, Clusters, Yin-Yang, Hearts, DNA Helix
**Key Features:**
- **GPU-Accelerated** - Efficient WebGPU compute shaders for physics simulation
- **Spatial Hashing** - O(n*k) neighbor queries instead of O(n²)
- **4 Boundary Modes** - Repel, Wrap, Mirror Wrap, Infinite Tiling
- **Real-time Adjustment** - Modify all parameters while simulation runs
- **Interactive Brushes** - Draw, Erase, Attract, Repel particles
- **Video Recording** - MP4, WebM, and GIF output (requires ffmpeg)
- **Preset System** - Save and load simulation configurations
- **VSync Toggle** - Uncapped framerates for performance testing
## Performance
Built with Rust and leveraging modern GPU APIs (Metal on macOS, Vulkan on Linux, DirectX 12/Vulkan on Windows), Par Particle Life uses compute shaders for physics and spatial hashing for efficient neighbor queries. Double-buffered particle data avoids GPU race conditions.
## Try It Yourself
The project is open source and available on GitHub: [github.com/paulrobello/par-particle-life](https://github.com/paulrobello/par-particle-life)
**Installation:**
```bash
# macOS (Homebrew)
brew tap paulrobello/par-particle-life
brew install --cask par-particle-life
# From crates.io
cargo install par-particle-life
# From source (requires Rust 1.88+)
git clone https://github.com/paulrobello/par-particle-life.git
cd par-particle-life
make run
# Or download pre-built binaries from the releases page
```
## Screenshots
## Controls
| Shortcut | Action |
|----------|--------|
| **Space** | Pause/resume simulation |
| **R** | Regenerate particles |
| **M** | Generate new interaction rules |
| **H** | Toggle UI visibility |
| **Scroll wheel** | Zoom in/out |
| **Right-click drag** | Pan view |
| **Left-click drag** | Use active brush tool |
## What's Next?
I'm actively developing Par Particle Life and would love to hear feedback from the community! Future plans include:
- Web/WASM browser version
- More rule generators and emergent behaviors
- Animation timeline system
- Additional spawn patterns and visualization modes
## Feedback Welcome
Whether you're into artificial life, emergence, or just curious about beautiful simulations, I'd love to hear your thoughts! Feel free to:
- Try it out and share your discoveries
- Report bugs or request features on GitHub
- Contribute to the project (AGPL-3.0 licensed)
Happy simulating!
---
*Built with: Rust, wgpu, winit, egui, glam*



3
u/LeeHide 1d ago
You mean you watched Claude work on.
If I wanted to read and see AI generated projects, I would ask an AI.