diff --git a/projects/fire_works/shaders/generation.comp b/projects/fire_works/shaders/generation.comp
index aefc7dc902996e1aa2f9833e701499ccb4f7a89a..eb585236d993099350d0c0e6b97adcbfd28fdf57 100644
--- a/projects/fire_works/shaders/generation.comp
+++ b/projects/fire_works/shaders/generation.comp
@@ -109,7 +109,7 @@ void main() {
         return;
     }
 
-    lifetime = events[event_id].lifetime;
+    lifetime = events[event_id].lifetime * (1.0f + 0.1f * randomData[(id + 1) % randomData.length()]);
 
     vec3 direction;
     if (dot(events[event_id].direction, events[event_id].direction) <= 0.0f) {
@@ -152,7 +152,7 @@ void main() {
         smokes[sid].eventID = event_id;
     }
 
-    velocity += normalize(direction) * v;
+    velocity += normalize(direction) * v * (1.0f + 0.1f * randomData[(id + 2) % randomData.length()]);;
 
     const float split = pow(1.0f / events[event_id].count, 1.0f / 3.0f);