| name | particle-systems |
| version | 2.0.0 |
| description | Creating visual effects using particle systems, physics simulation,
and post-processing for polished, dynamic game graphics.
|
| sasmp_version | 1.3.0 |
| bonded_agent | 03-graphics-rendering |
| bond_type | PRIMARY_BOND |
| parameters | [{"name":"effect_type","type":"string","required":false,"validation":{"enum":["explosion","fire","smoke","magic","weather","impact"]}},{"name":"platform","type":"string","required":false,"validation":{"enum":["pc","console","mobile","vr"]}}] |
| retry_policy | {"enabled":true,"max_attempts":3,"backoff":"exponential"} |
| observability | {"log_events":["start","complete","error"],"metrics":["particle_count","draw_calls","gpu_time_ms"]} |
Particle Systems
Particle System Architecture
┌─────────────────────────────────────────────────────────────┐
│ PARTICLE LIFECYCLE │
├─────────────────────────────────────────────────────────────┤
│ EMISSION │
│ ├─ Spawn Rate (particles/second) │
│ ├─ Burst (instant spawn count) │
│ └─ Shape (point, sphere, cone, mesh) │
│ ↓ │
│ SIMULATION │
│ ├─ Velocity (initial + over lifetime) │
│ ├─ Forces (gravity, wind, turbulence) │
│ ├─ Collision (world, depth buffer) │
│ └─ Noise (procedural movement) │
│ ↓ │
│ RENDERING │
│ ├─ Billboard (camera-facing quads) │
│ ├─ Mesh (3D geometry per particle) │
│ ├─ Trail (ribbon following path) │
│ └─ GPU Instancing (batched draw) │
│ ↓ │
│ DEATH │
│ └─ Lifetime expired → recycle or destroy │
└─────────────────────────────────────────────────────────────┘
Common Effect Recipes
EXPLOSION EFFECT:
┌─────────────────────────────────────────────────────────────┐
│ LAYERS: │
│ 1. Flash (instant, bright, 0.1s) │
│ 2. Core fireball (expanding sphere, 0.3s) │
│ 3. Debris (physics-enabled chunks, 1-2s) │
│ 4. Smoke (slow rising, fade out, 2-3s) │
│ 5. Sparks (fast, gravity-affected, 0.5-1s) │
│ 6. Shockwave (expanding ring, 0.2s) │
│ │
│ SETTINGS: │
│ • Emission: Burst only (no rate) │
│ • Start speed: 5-20 (varies by layer) │
│ • Gravity: -9.8 for debris, 0 for smoke │
│ • Color: Orange→Red→Black over lifetime │
│ • Size: Start large, shrink (fireball) or grow (smoke) │
└─────────────────────────────────────────────────────────────┘
FIRE EFFECT:
┌─────────────────────────────────────────────────────────────┐
│ LAYERS: │
│ 1. Core flame (upward, orange-yellow, looping) │
│ 2. Ember particles (small, floating up) │
│ 3. Smoke (dark, rises above flame) │
│ 4. Light source (flickering point light) │
│ │
│ SETTINGS: │
│ • Emission: Continuous (50-100/sec) │
│ • Velocity: Upward (2-5 units/sec) │
│ • Noise: Turbulence for natural movement │
│ • Color: White→Yellow→Orange→Red over lifetime │
│ • Size: Start small, grow, then shrink │
│ • Blend: Additive for glow effect │
└─────────────────────────────────────────────────────────────┘
MAGIC SPELL EFFECT:
┌─────────────────────────────────────────────────────────────┐
│ LAYERS: │
│ 1. Core glow (pulsing, bright center) │
│ 2. Orbiting particles (circle around core) │
│ 3. Trail particles (follow movement path) │
│ 4. Impact burst (on hit/destination) │
│ 5. Residual sparkles (lingering after effect) │
│ │
│ SETTINGS: │
│ • Emission: Rate + burst on cast/impact │
│ • Velocity: Custom curves for orbiting │
│ • Trails: Enable for mystical streaks │
│ • Color: Themed to element (blue=ice, red=fire) │
│ • Blend: Additive for ethereal glow │
└─────────────────────────────────────────────────────────────┘