I based this piece on stylized spark-and-firework bursts that appear in many action games, especially when abilities collide and leave bright, short-lived trails. One reference I used was this gameplay montage for timing and density cues: Gameplay reference video. I did not try to copy one exact game effect frame-by-frame; instead, I focused on emulating the feeling of clustered bursts, quick cooling, and gravity pullback.
The simulation uses a GPU compute pass to update several thousand particles each frame. Each particle stores position, velocity, lifespan, and a random seed. During each update it applies gravity and drag, moves forward using the frame timestep, and respawns when life expires or the particle leaves the visible area. Respawn can happen from a default launcher near the bottom center, or from the pointer area when the mouse button is pressed. This produces a stream-like fountain by default and denser local explosions during interaction. A second render pass draws particles as additive blended quads, where color and alpha depend on speed and remaining life to produce a warm/cool energy gradient.
I exposed four controls: gravity, drag, burst energy, and burst radius. Gravity changes arc shape and fall speed; drag controls how quickly movement decays; burst energy sets initial velocity spread; and burst radius controls how large the spawn region is for pointer-triggered emission. Together these controls let me shift the look between tight sparks, airy confetti, and heavy meteor-like drops while keeping the same core system.
Classmate feedback: the current version successfully reads as “game-like impact sparks,” especially with low drag and medium burst energy. Suggested improvements included adding occasional larger particles for visual hierarchy and introducing a subtle color mode toggle for different moods. I agree with both points; the next iteration would likely add a second particle layer for embers and a palette switch preset.
Project: Run A5 particle piece